Practical Course on Simultaneous Localization and Mapping
The goal of this practical course is to develop a complete mapping system for laser-based robots. This includes scan-alignment techniques, tools for closing loops, an optimization engine, as well as a user interface.
Given the topics at hand, it is strongly suggested to have participated in the lecture "Introduction to Mobile Robotics" (even if this is not a hard constraint). Furthermore, programming skills are definitively needed and we expect a significant amount of own motivation. Note that students participating in this project will have to work in teams.
General Information
- Organizer: PD Dr. Cyrill Stachniss
- Co-Organizer: Henrik Kretzschmar
- We will meet Wednesdays at 10h in building 51, room HS 03 026.
- The 1st meeting will be on Wed, 27.10.08, 10h (ct)
- Prerequisits: It is strongly recommended to have attended Introduction to Mobile Robotics. Having attended Robotics 2 can be helpful but its not expected.
- Language: The course language will be English (or German depending on the participating students).
- Registration: See online system!
- The course is restricted to 10 students (for master students only). In case there are not free places left, contact me via email and I will put you on the waiting list (or seek for an alternative solution).
- Registration-policy: First come, first serve.
- Check this page for updates frequently.
Slides
Important Notes
- Operating System: We will develop based on Ubuntu 10.4 LTS (download). Please make sure that you have a Ubuntu installation running on your Notebook/PC which you will use for the developments. This should have happend before the first meeting.
- ...but I don't have space to install Ububntu on my notebook! What should I do? Consider to install Ubuntu on a 8 GB USB stick and use that for your developments (regular install using the casper-rw filesystem for USB sticks). This solution is slower but will not affect the data on your harddrive.
- Teams: You will probably have to work in groups of 3 or 4 students. The group assignment will be done in the first meeting.
- Programming language: We recommend and support the usage of C++. If a whole group/team of students plans to use Java, we will not have serious objections against that - however, be aware that you have to code JNIs to external libraries and similar. Furthemore our support on Java is limited.
Some Potentiall Useful Links
- Ubuntu homepage
- CMake tutorial - A good makefile framework
- QT (4.6.x) - Library for building user interfaces
- STL reference - the standard template library
- Another STL reference
- CSparse - A Concise Sparse Matrix Package
- CARMEN - Robot Navigation Toolkit
