Introduction

Formula Student Germany is a student engineering design competition in which student teams design, manufacture, test and race their own formula style race-car. In 2022, the competition added a driverless event in which teams had to implement self-driving capabilities on their race-car. This project was a part of working for the team - Orion Racing India.

The event has many dynamic events which the teams have to complete successfully. The vehicle has to navigate around the track by itself using inbuilt sensors and computers.

Goals

The primary objective for the 2022 season encompassed the development of a comprehensive software stack. Then later test it through simulation and reduced-scale model. This software stack will then be seamlessly integrated with the hardware implemented on the vehicle in future iterations.

1. Design of control-actuator system
2. Implement lateral and longitudinal path following control

The focus of my involvement was within the controls sub-team, which aimed to devise and validate fundamental lateral and longitudinal control algorithms through simulation. The ultimate aim was to incorporate these algorithms into the overall pipeline.  

Work Done

Considering this to be the team's inaugural year, a decision was made to compromise on controller performance by employing a simpler bicycle model to represent the vehicle dynamics, rather than a more intricate model such as Ackermann steering models. This approach facilitated simplified calculations and expedited the establishment of a foundational framework. The controller necessitated three outputs, enabling control over brakes, acceleration and steering. Work was done on the following:
1. DC servo motor for steering, Linear Actuator for pedals
2. PID for longitudinal control
3. Pure Pursuit for lateral control 


 The team opted to employ a simple but reliable controller design, incorporating a Proportional-Integral-Derivative (PID) controller for longitudinal control. We tried pure pursuit and Stanley controller for lateral control of the vehicle but found pure-pursuit to be slightly better. All of the control algorithms were written in python from scratch. The controllers were tested with ROS based FSSim and FSDS simulators obtained from the formula student community. The PID parameters were tuned on a center-line of the competition track.


Results

Our initial testing was on FSSim developed by AMZ Racing from ETH Zurich. We were able to tune our PID parameters as well as look ahead distance for pure pursuit but we ended up not doing much work on this simulator. We then tried to test our controller in FSDS simulator. Unlike FSSim, this simulator has an inbuilt integration with ROS and connects with the topics within ROS. We were able to successfully implement Pure Pursuit, PID on this simulator and tune our parameter values for the constants and look-ahead distance.

Before testing the results on the actual vehicle, the team decided to test them on a small scale prototype. This had a drivetrain and steering similar to that of the vehicle. It was powered using a DC motor and was controlled by onboard Raspberry Pi. This helped us resolve a synchronization error between steering and throttle in the original controller.

FS Simulator

Contact me!

๐Ÿ“ž(404) 388-3944    ๐Ÿ“Atlanta, GA, 30309   ๐Ÿ“งbhushan.pawaskar@hotmail.com

ยฉ Copyright 2023 Bhushan Pawaskar - All Rights Reserved