Rear Wheel Steer Controller
Please enjoy the 2-minute summary gallery below, or scroll further to explore my work in greater detail
This page details the progress of my personal 2020 Winter project. While it is incredibly unfortunate that the UK has fallen victim to a new variant of the Coronavirus, the new national lockdown has given me plenty of time at home to sharpen my tools and learn new skills!
I have always been interested in the opportunities brought by electrification to improve vehicle performance through active vehicle dynamics control, and really just control systems in general. I believe my Controls course at Clemson University did a fine job of teaching the fundamental tenets of linear system control, but the concepts were only presented in a theoretical setting, and I found trouble retaining any valuable insight without seeing a practical application.
This project represents my attempt to address these gaps in my knowledge. What better way to reinforce my learning than by applying it to vehicle dynamics? With that in mind, it's important to remember the context when considering the scope I decided to take with this project. The primary goal, first and foremost, was to improve my fundamental understanding of control systems - and hopefully I could improve vehicle performance somewhere along the way!
The TU Graz 2018 challenger, "Giulia", was the first Formula Student car I saw with rear wheel steering, and very much served as an inspiration to this project.
Summary of Methodology
The vehicle used for this project was based on the 2020 Clemson FSAE car. For the first phase, I represented the vehicle as a simple linear two degree of freedom bicycle model. This would be inadequate for real-life implementation, but is perfect for taking a crash course in control system basics, and asking questions like "What is a lead compensator, and when would you use one?" Before jumping into optimization, I focused on design explorations to capture significant trends and insights. From there, I performed sensitivity analyses to evaluate the robustness of different control strategies to changes in parameters such as vehicle balance or tire cornering stiffness. Only when that was complete did I piece together my first "optimal" controller.
Once I felt comfortable with the basics, I graduated back to a full non-linear vehicle model. For this step, I essentially replicated the model I used for my differential project, but in Simulink. This ended up being great practice in syncing MATLAB with Simulink to automate the analysis process, which was a great set of skills to add to my toolbox. Once I had a more realistic model, the first focus was to recognize how control schemes would have to change to adapt to nonlinearity and tire saturation. Next I analyzed specific vehicle maneuvers, such as ramp-steer and sine+dwell inputs, to explore the versatility required for a real-life implementation. Lastly, I played around with more optimization, as well as exploring broader questions about what optimal vehicle control should look like. This is a really open-ended question that goes beyond the scope of this project, but was certainly interesting to investigate, even if on a surface level.
The 2020 Clemson FSAE car, Tiger22
Part 1: Linear Bicycle Model
Starting with a linear bicycle model enabled me to leverage the full MATLAB capability of transfer function analysis, enabling fast and efficient design explorations. I modelled the vehicle using a state space representation, with outputs yaw and sideslip velocity as a function of inputs front and rear steer angle.
One important detail I wanted to account for immediately was the effect of actuator dynamics on the response of the rear steering angle. Even though the focus was more on learning controls fundamentals and less on absolute modelling perfection, assuming instant steer response was far too unrealistic to leave unaccounted for. I searched through several research papers and other online resources, and none I found would divulge the way they modelled the actuator dynamics in their models. With nothing else to go off of, I decided to represent the actuator using a first order plant with a time constant of 0.1 seconds. By no means a perfect representation, but at least something a little more realistic to move forward with.
Next I had to select a variable to control. With a single input (being the rear steer angle) control system, I could only select one output to control, between the options of lateral acceleration, sideslip angle, and yaw velocity. Each has it's merits - lateral acceleration is the purest indicator of vehicle performance, sideslip is an important factor in the qualitative driving experience, and yaw velocity has the largest impact on the trajectory of the vehicle. Since yaw and sideslip are the more direct quantities derived from the bicycle model, and my interest is in controlling path heading and maneuverability, I decided to control yaw velocity for this project.
The first controller I played with was a proportional feedback controller, where the rear steering angle adjusts proportionally to the error between the observed and desired yaw rate. The effects of a proportional controller are pretty well known; increasing the control can minimize steady state error and improve response time, at the expense of overshoot and oscillation. This effect was outlined in a basic parameter sweep shown below.
The following plots compare different proportional control values (Kp) and the effect on vehicle yaw response. The two left-most plots describe the response to an instantaneous step-steer input, and the response/overshoot relationship s easily apparent. The two middle plots describe the frequency response of yaw velocity to steer input. This outlines another key influence of proportional control, where Kp values above 0.3 created significant overshoot near on-center frequencies. At higher frequencies, the yaw/steer phase difference was also significantly larger. Both of these could harm driver confidence and keep them from exploiting the full performance of the car. The right-most plots show the open loop frequency response, which describes the behavior of the controller and vehicle to a given yaw-demand without any feedback. While there is not much insight at the moment, the open-loop gain and phase margins provide critical information about the total system stability which will come into play later on.