In order to participate successfully in the Carolo-Cup of the Technical University of Braunschweig, the vehicle has to find its way independently in a realistic street environment. The aim is not only to keep its lane at high speeds and follow a specified target trajectory, but also to overtake other vehicles, detect intersections, obey traffic signs and park in narrow spaces. While navigating traffic comes naturally to the average human, a robot must go through multiple layers of decisions to perform even the simplest of actions. Take avoiding an obstacle, for example. An autonomous vehicle must first recognize the object, analyze the situation, determine the new target trajectory, set the turn signal and then, finally, perform the actual lane change to avoid the obstacle. Therefore, we have to carefully consider all aspects of the vehicle in its driving environment, from the mechanical components and electronic systems to the software that brings the car to life.
At Phoenix Robotics, we particularly value good software engineering. The modular structure of our software enables us to develop and exchange individual modules independently from one another, all while using common version control tools. This allows our software to cover a broad spectrum of applications, from hard real-time systems based on microcontrollers to particularly processor-intensive machine learning or image recognition algorithms. The latter is particularly important to maneuvering the car, because the cameras are the primary sensors for the environmental perception of our vehicle, e.g. for detecting lanes, obstacles, intersections and parking spaces. The data from the image recognition is fused with the data from the other sensors to generate an environment model. Using this model, an optimal trajectory is determined.
An autonomous vehicle needs various sensors to monitor its status and perceive its environment. Among other things, we use a rotary encoder to measure the speed as well as other sensors to determine the acceleration and angular acceleration. These sensors help keep the car on track and make it possible to regulate the trajectory with a follow-up controller. For obstacle detection and parking, the vehicle requires distance sensors to the front, rear and sides. The sensors are read out with the aid of a microcontroller on a home-made circuit board. In addition, the actuators, such as the motors for driving or steering the vehicle, are also controlled and regulated by microcontrollers.
The mechanical design of our system is of enormous importance, as a robust structure is the basis of any vehicle. Furthermore, we love to test unconventional concepts and ideas, often pushing the limits of what was considered possible at the Carolo-Cup. A special feature of our latest vehicle is its ability to steer each of its four wheels individually, thus giving us unprecedented maneuverability. Furthermore, each wheel has its own, integrated motor, thereby allowing us to make use of torque vectoring. In order to realize this setup, many of our components have to be designed and manufactured in-house. These include, among other things, a base plate for the chassis, the body, the battery holder, the tower for the cameras and a bracket to fasten the encoder.