Rules
Self-management:
The course has a strong emphasis on self-management, which makes it different from a normal course.
Teachers are available for advice, but in principle you should self-manage your team, i.e., find out how the robot works, debug you own code, etc.
This approach is similar to the 'student teams' that are often present at technical universities.
Shared & group-specific parts of the challenge
The course contains challenges at two levels, on which the approach differs:
Hardware & ROS (shared): A general challenge is to get all hardware and ROS software working, so you can actually reach the robot, use all sensors, control all actuators at the right level, etc. This is not the focus of the course, and therefore a shared part: all groups collaborate to make progress here (through the wiki, codebase, and meetings)
AI algorithms (groups): This is the main goal of the course, where you develop your own AI algorithm to beat the other groups in the challenge. Here you don't share your code/methods with other groups, although you are of course free to discuss.
Monthly meetings:
The monthly meetings are intended to exchange information among groups.
Each group has a 10 min presentation slot, in which you informally:
Share progress & issues on the robot hardware & ROS (shared between all groups), and/or,
Demo your robot's current behaviour, live or in a video (individual AI part of each group)
Robot environment:
The robots come with an Ubuntu installation with ROS installed
In principle, you only develop Python code, and always in a virtual environment
When you think you really need to install a system package, contact the teachers
This way we ensure that all robots maintain the same system level environment, and every group should be able to use every robot
Eligible software:
You can only use freely available packages/software
At the final event your code has to run locally (at the robot hardware)
Passing the course:
The course has a PASS/FAIL grade. In order to pass the course, you should:
Participate in the final event with a robot that does more than straight line driving
Have attended all meetings (if you are sick, notify us in advance)
Hand in your group code in the shared Github
Should a group member along the way drop from the group, than notify the teachers along the way.