The ORCA (Optimal RC Racing) Project developed (and improves) a test bed consisting of a race track, a infrared camera based tracking system and modified 1:43 dnano RC cars, in order to study control algorithms allowing high-speed, real-time control. On the test bed different fast MPC algorithms are implemented, allowing the cars to online plan their trajectory only based on the track layout and avoid other cars. To allow competitive racing between automatically controlled cars, game theoretical methods are used to derive new control strategies, suited for competitive racing.
The hardware of the ORCA project is consisting of control loop fully build by students.
Control Loop Overview
The vision system captures the cars on the track, and is estimates the position and velocities of all cars.
The working principle of the the ORCA Vision system is the same as the working principle of the Vicon Motion Capture Systems. The difference is that the ORCA Vision System works just for two dimensional tracking, where the tracked objects move in a plane.
Beside the camera an infrared LED spot is mounted, the light from the spot is then reflected by retro reflective markers on the cars. In front of the camera an infrared light filter is mounted such that only the reflected infrared light reaches the image sensor. Thus only the markers are bright spots in the image and they can be easily found using a simple threshold technique.
By using different unique marker patterns, the position and orientation of the different cars can be calculated using the blobs in the thresholded picture.
7 unique marker patterns
Thresholding and marker detection
Car identification using patterns
Extended Kalman filter for position and velocity estimation
The current set up allows for many different control platforms.
The key point of the set up is the Vision System, which distributes the data over a Ethernet network to all attached platforms. The control platform then has to send the control inputs to the Embedded Car using Bluetooth.
Thus the control platform needs a Ethernet port and a USB port or another serial port to communicate over Bluetooth. The operation system of the control platform needs to be real time compatible, currently two systems are used for this purpose
C++ control frame work, which runs on any Debian Linux operating system
Matlab Real-Time Windows Target
The C++ control frame work is very flexible and can be used on powerful desktop PCs or on low cost embedded platforms, such as:
The original electronic only has very limited capabilities. The main problem is the proprietary communication, as well as the internal control loops which are unknown and introduce a lot of uncertainties. Furthermore, original electronics do not have any sensing capabilities, which is emphasized for a good state estimation.
Thus, the original electronics is replaced with a custom board which has exactly the same dimensions as the original board, but eliminates the problem of the original electronics.
ARM Cortex M4 Microcontroller
Drive train motor
The embedded board has a powerful microcontroller, which allows on board low level control, a Bluetooth chip for communication in both directions at a known sampling time and all necessary sensors for advanced state estimation. Additionally, further sensors, as for example a wheel speed sensor, can be added using external connectors.
There is one main track fix mounted in the ETL D12.
Beside the fix track there is mobile RCP-Track, for external demonstrations, and a 2 x 2 m area with the same track material as the fix track, for system identification. Everything is placed at the ETL D12.