What’s provided
Fully-assembled model vehicle
Teams selected for the competition will receive a 1:10 model vehicle at the kick-off (or around that time).
The provided vehicle comes fully assembled and equipped with essential components necessary for the development of core functionalities, including:
Chassis for structural support
Brushless DC motor with Electronic Speed Control for vehicle speed control
Servo for steering control
IMU (Inertial Measurement Unit) for orientation and speed feedback
Control unit board for low-level interaction with the car
Brain unit board for controlling states
Wide-angle camera for scene understanding
Power distribution board to manage system power and provide usage feedback
Battery for power supply
Carcase for concealing components
Demo code for the embedded platform
The code for the control unit board is written in CPP and uses a real-time operating system. The code is open source and allows teams to modify it while providing full functionality to use it as it is. The code provides the following facilities:
Drivers for motion control (speed and turning angle).
Monitoring of instant current consumption and battery voltage, with safety features (such as low battery warning and automatic shutdown).
Power states manager (KL0-system off, KL15-system on for readings, KL30-system on for control).
IMU data readings.
Communication with the Brain unit board via UART interface
Demo code for the Brain platform
The Brain Unit Board Python code uses several libraries and is open source. The code leaves room for improvement or can be used as it is, and teams are expected to develop the autonomous driving functionality:
The project uses multi-processing and multi-threading functionalities.
Featuring a subscription-based way of communication between the threads.
Interprets commands to the control unit board for car movements via UART interface.
Reads data from the control unit board via UART interface.
Offers Interaction with the camera for live feed, recording, continuous calibration, and much more.
Offers API for communication with the Traffic Communication Server (available on-site and online).
Offers API for receiving streamed data from the semaphores.
Communication with the Dashboard application via WEB.
The Brain project includes the Dashboard and here are some details about it.
The dashboard application that simulates the cluster interface and facilitates real-time setup, control and monitoring of the vehicle. It features:
Diverse driving modules: manual control. Automatic control for technical run. Automatic functions for legacy run.
GPS positioning, Speed odometer, steering wheel feedback.
Camera live feed.
Dashboard indicators (stop sign seen, pedestrian seen, etc.)
Battery level.
System info.
Flags reading and setup (similar to CANalyzer table)
Computer apps and scripts
A semaphore streamer simulation, which simulates the sending of messages from semaphores. This aids teams in validating data reception from this service and helps adapt the API to it if needed.
A traffic communication server simulator. It simulates the server that will be present at the venue, to which each vehicle developed by the teams will have to send monitoring data such as vehicle speed, vehicle rotation, vehicle position and, in the case of an event, the obstacle encountered. The app also manages the connection between the team’s vehicle and a simulated tracking device (which in our case will be a real one) placed on the vehicle itself, which will transmit data about its position on the track. A more detailed description of the system can be found in the “The track” section.
Demo code for the simulator
The Gazebo simulator replicates the competition environment for integration and testing of code functionalities. It’s recommended for integration testing rather than code fine-tuning because of its reduced noise compared to the real environment. The simulator and its demo code are open source and open to further improvements. Support for the project is no longer available, but some variants have been done by former teams and are available but not tested.
Some other code examples
Additional code examples for the Brain board, written in CPP or organised for the development of the ROS platform, are provided for reference. Support for these projects is no longer available.
Courses and general documentation
Bosch organizers will hold a series of code review sessions, where each aspect of the provided code will be explained. Participants are encouraged to prepare themselves (read the code prior to each session) and attend those sessions in order to better understand what’s provided.
A collection of comprehensive documentation and papers related to challenge topics will be available. These cover subjects such as Linux, Python, OpenCV, ROS (Robot Operating System), image processing, and many more.
Housing and meals
During the Challenge, all semi-finalist teams will be invited to the competition venue in Cluj-Napoca, Romania. During t hese days, accommodation and meals will be provided by the organisers, while the teams will be responsible for their own travel and additional accommodation (before or after the event, if necessary). Teams may seek external sponsorship, subject to specific competition restrictions (see the Additional Aspects section).