|
SECAN-Lab Home News Projects SECAN-LAB Mesh Sequencer U-2010 NARTUS EFIPSANS IRMA SECRICOM The Group Members Publications Theses Teaching Presentations Topics Mobile Computing Ad-Hoc Networks Ad-Hoc Protocols Mesh Computing Trust Related Stuff L-101 Laboratory Systems AS28 Systems 802.11 Network Simulator Internships Conferences Publications Standards Projects Links Partners OSTN Miscellaneous Contact About Job Opportunities Search |
Workshop E4a (WS2008)
Lego Minstroms NXT WorkshopResponsible: Prof. Dr. Thomas EngelTutors: Raphael Frank & Thomas Scherer OverviewIn last two Mindstorms Workshops, the focus was set on the sensing capabilities of the robots. Using the Labview Development Kit for Lego Mindstorms, the students had to implement different algorithms in order to complete a track with a given number of obstacles (cf. former Workshops).The Labview API was a good way to start developing programs for the Mindstorms Robots. Basic commands are easy to implement without needing any programming skills. However to implement more complex algorithms, Labview quickly becomes unhandy and difficult to use. Another drawback was the difficulty to use low level mathematical operations that are sometimes needed to implement capabilities beyond the simple sensing functions of the robot. In order to be able to use such operations in a more convenient way, the API of Mindstorms need to be changed. RobotC developed by the Carnegie Mellon University offers a robust platform to perform more advanced operations using a "C like" programming language. Even for student who do not have programming skills, RobotC provides a complete step-by-step documentation. In this workshop the focus will be set on secure communication between the robots. Cryptographic functions will be used to enforce secure routing. However the sensing functions used in the former Workshops are still needed and will be extended in order fulfill the new requirements. DetailsOrganization:The class will the divided in "3 or 4 Teams" depending how many students will participate. Each team is composed of "2 Groups" with "2 Students" . Each group is in charge of "1 NXT Robot" . Description of Work: (Updated) The first think that needs to be done is to get in touch with the RobotC programming environment. Confer to the reference section below to to find the needed information. Note: It is recommended to have a look at those documents/links before the actual start of the Workshop in order to get a basic knowledge. After having done some basic tests, the implementation of the different operations can start. The realization sequence of the different operations does not matter and can individually be chosen by the groups. However, be sure to cooperate with the other group of the same team to define common encryption/routing pattern etc. The pictures below illustrate the different steps that should be realized. One team is assigned to one track. The track will have a similar setup as shown below and can change from team to team. This track can be subdivided in two different parts:
Arrived at the entrance of the labyrinth, the robots continues straight ahead until it reaches a wall (use the touch or ultrasonic sensor). Again it needs to take a decision which way to take (only two possibilities: left or right) and memorize it! Arrived at the GOAL, the fun really begins! After having defined a common "routing message" between both groups of the same team, the routing information which was memorized by R1 during the trip needs to be encrypted using the RC4 stream cipher and saved in a file (unfortunately, the bluetooth functions are not yet available in the 1.05 release of RobotC). This file needs to be transferred via USB to R2 which decrypts this message and evaluate the received routing information in order to complete the track without any errors! Note: The track properties have changed! Refer to the requirements below for more details. The operations that the robot need to perform can be summarized as follows: (Updated)
![]() MarkingThe final marking will be composed of:
Timetable
ToolsRC4 Test Vector ToolReferencesUseful information can be found on the websites of the former Workshops:Workshop E4a (WS2007) Workshop E3a (SS2007) Related References: RobotC Homepage RobotC Forum RobotC Quickstart Guide The C Library Reference Guide RC4 Stream Cipher (Wiki) Tree Search Algorithms (Wiki) Bluetooth Transmission Protocol (Wiki) "Workshop E4a (WS2008)" is mentioned on: Christophe Weis | Raphael Frank (Teaching) | Teaching | Telecom Workshop I (SS2008) | Thomas Scherer (Teaching) |