Embedded Motion Control 2013
Guide towards the assignment
'A-MAZE-ING JAZZ'
Introduction
This course is about software design and how to apply this in the context of autonomous robots. The accompanying assignment is about applying this knowledge to a real-life robotics task in which ROS will be the standard software framework.
Course Schedule
Lectures will be given on Mondays from 10.45 - 12.30 in Gemini-Zuid 3A12. The course schedule is as follows:
September, 4th | Introduction | Assignment and basic computer setup |
September, 11th | Localization | C++ and ROS Concepts |
September, 18th | Navigation | Software design |
September 25th | Corridor competition | |
October, 2nd | Separation of Concerns: the 5 C's | |
October 9th | State estimation | Whole-body motion planning and control |
October 16th | Intelligent agents | |
October 23th | Final competition |
Pico test schedule, maze
In order to test your software on the Pico robot, each group has one one hour time slot a week available, on either Wednesday or Thursday. You can reserve your test slot in the table below. Make sure to keep at least one hour in between you slot and the previous and next ones, since Pico needs some time to recharge in between the time slots!
Date | Time | Group |
Wednesday June, 13th | 09:00 - 10:00 | Group 9 |
Slides
The slides of the various lectures will be available a.s.a.p.
Goal
The goal of the assignment is to get the real-time concepts in embedded software design operational.
The concrete task that has to be solved is to let the Jazz robot find his way out of a maze. The final demonstration by each participating group of 4-5 students will be performed during a contest, the winner of which is the group that exits the maze in the shortest amount of time. To prepare for this competition the following guidelines have to be considered:
- to test with Jazz and to prepare for the final contest, a simulator will be made available that mimics the in and outputs to the real Jazz robot. Specifics of this simulator will be presented in the first lecture on September 4th
- the maze of the final competition will be constructed just before the competition. The maze presented in the simulator is therefore different from the real one used in the final contest.
- both on the real and simulated Jazz robot, three sources of sensor information will be available to perceive the environment and to derive the state of the robot:
- laserdata provided by the forward pointing laser scanner,
- images captured by the monocular camera,
- odometry provided by the base controller
- the robot can be actuated by sending information to the base controller
- during the final contest, it is highly imperative that the Jazz robot refrains from colliding with the walls in the maze. Colliding with the walls will result in severe time-penalties.
- the walls of the maze will contain several types of pointers to the exit, which can potentially help Jazz to speed up execution of the task. Click here for a pdf file containing the arrow we will use. Also, we have uploaded a zip file with multiple images of these arrows captured on the real PICO robot. Furthemore, we captured PICO's camera topics in a bag file while the robot was looking at the arrow. You can play this bag file as follows:
rosbag play pico_camera_arrow.bag
The topics /robot/body/head/camera/camera_info and /robot/body/head/camera/image_raw should then become available. For example, while playing the bag file, userosrun image_view image_view image:=/robot/body/head/camera/image_raw
to view the camera images.
An intermediate review will be held on September 24th, during the corridor competition. During this challenge the students have to let the robot drive through a corridor and then take the first exit. The precise location of this exit will not be given in advance.
During the final contest, the groups are expected to give a short (5 minute) presentation about their progress and design decisions.