Projects:2017s1-185 BMW Autonomous Vehicle Project Implementation of a Steering Angle Controller on a Lab Test Bench
- 1 Abstract
- 2 Objects
- 3 Aims
- 4 Motivation
- 5 Background
- 6 Hardware Design and Installation
- 7 Steering System Analysis and Simulation Design
- 8 Future Work
- 9 Conclusion
- 10 Project Team
- 11 Reference
Autonomous driving is now becoming a new popular technology in the vehicle industry. To achieve this goal, people need to control the vehicle movements especially the steering performance with corresponding pre-set algorithm. The main part of the steering system is an Electrical Power Steering system(EPS). EPS is a product widely used in the field of vehicle steering to save energy and create a safety, make a comfort performance with high efficiency and low power consumption.
This project focus on designing the steering unit control system of autonomous vehicles and by testing and verifying the performance and reliability to make a vehicle can steer by itself. Since the DC motor of EPS can be re-programmed in order to create different steering performance, people start to research on how to modify it to achieve the autonomous driving technology. The model and the dynamic behaviour of the EPS can be built and simulated on Matlab and Simulink hence designers can implement the simulation to analysis the impact of the steering system and find the method to handle these factors. By establishing PID controllers to adjust the outputs coming from the EPS to control the torque, speed and position of the rack of the system.
Finally, designers will test the steering performance with the help of the MicroAutoBox on the steering rig test bench of the laboratory, compare the tests results and the simulation results to adjust the parameters of the PID controllers to get a more reasonable steering model.
Keywords: Electrical Power Steering, Dynamic Behaviours, Simulation, Reliability and Stability, Self-driving System
- Development of a steering angle control
- Implementation of the EPS on the testbench
- Complete the communication with EPS using the MicroAutoBox
- Implementation of steering rack controller on the test bench
- Achieve accurate angle controlling
This project aims to construct a simulation model for the EPS and design three controllers, toque controller, speed controller and position controller for optimizing the dynamic performance of the steering system. A test bench will be implemented on a base associated with two springs on both side. This will be used to test the algorithm, verify the operations of the EPS and measure some important parameters. By completing all those steps, a primary level of autonomous vehicle steering system is developed.
Nowadays, city traffic conditions are becoming more and more complex. Traffic jam is one of the most significant problems in the urban planning and administration. Urban constructors need to consider how to manage the vehicles running in the city area. The autonomous driving is an efficient method to control traffic. If all cars on the road can be managed by electronic system, the driving surroundings will be smooth because human mistakes can be limited with the electronic assistance.
The EPS system has been developed for more than 50 years and more and more popular owing to its special aspects. In different driving conditions, this steering system will perform in variable and adjustable working status. The assisted force and torque generated by the internal motor can be adjusted with the changing of the human driver’s operation. If the motor of EPS is able to analyses and modify the required torque and force automatically according to the surrounding driving environment, it will provide the required forces to rotate the steering rack, so it is unnecessary for the driver to act on the steering wheel which makes self-driving technology possible . Many program languages can build some algorithm to control the power steering system, so after optimizing the performance of the algorithm, the automatic steering angle controller will work better on autonomous vehicles. That is what this project wants to complete.
Electrical Power Steering
The vehicle steering system is a specific module in the vehicle which is used to keep the car in the track or change its movements when a car is running on road. It cooperates with the automatic transmission system to ensure the movement stability and used to change driving directions with the driver’s actions. With the development of technology, some power assistance steering equipment are assembled on vehicles to provide extra force for the drivers to easily control the vehicle.
Temporarily, there are two types of steering system used. One is hydraulic steering assist equipment and the other is the electrical power steering equipment . The hydraulic is the old design system which has a hydraulic pump and a system of valves inside. It will activate the pump to generate a hydraulic pressure and pump fluid into the hydraulic lines to create an assistance force to drive the steering wheel. Although, this equipment is quite cheap and easy to product, it still has a lot of drawbacks. The pump of the system is always running during the car motion hence it has a high-power consumption. The hydraulic fluid needs to be maintained periodically and replaced eventually thus users have to spend much money in daily life. For those reasons, the EPS is designed.
EPS is the up-to-date steering system technology across people’s daily life. This steering system is able to control the front wheel direction to control the vehicle movements. It also offers the proper amount of effort to turn the wheels.  The steering system is installed on the current steering column and equipped with an electrical motor as well as a torque sensor. The sensor will detect the torque coming from the steering wheel firstly, then the rack and pinion coverts the driver torque to rack force. The electronic torque sensor sends the signal to the Engine Control Unit (ECU) to calculate the on-demand electrical power. Afterwards, the ECU sends the command to the brushless DC motor to generate a required assist torque. Belt and ball nut will transmit the torque to rack screw to assist force.  Compared with the old designer device, EPS saves more power and it is more reliable when it is running.
Current State of Autonomous Vehicle
An autonomous vehicle is a car with the capability of moving on the road without human input by detecting its surroundings and controlling itself. It will consist of many subsystems to achieve this goal such as vehicle controlling system, self-steering system, camera detecting system, navigating system and so on. The first autonomous vehicle was developed in 1980s  and then, several vehicle companies and organizations started to develop the technical prototypes.
The autonomous vehicle driving levels are classified from 0 to 5. 
- Level 0: Basic level, no self-driving system equipped, all controls are coming from human.
- Level 1: Most operations of the vehicle are controlled by the driver; however, some specific terms will be done by the car such as steering and accelerating.
- Level 2: The system provides the driver with assistance in the field of steering/acceleration/deceleration according to the surrounding information automatically.
- Level 3: Drivers do not have to operate the vehicles most of the time. The car can complete almost every basic operation for the driver and the driver only needs to react to the emergency.
- Level 4: Fully autonomous, the vehicle can cover every driving scenario. It can perform not only driving functions but also safety monitor functions for the driver to ensure the security.
- Level 5: The vehicle’s performance is reliable all the time even in some extreme environment. All the vehicles running on the road will be driverless, so the transportation issues will be handle in the future.
Most of the cars on the road equipped with autonomous driving steering temporarily are between level 2 and level 3. Some companies such as Tesla, BMW, Volvo have developed the autonomous vehicles on level 3. However, owing to the potential hazards in self-driving system, it is difficult to break the big technical demarcation between level 3 and level 4.  A large amount of on-road experience need to be done to test how the autonomous vehicles react to the unknow driving scenario. Nevertheless, the autonomous vehicle is the future in the vehicle industry and researchers will try all their best to ensure a safer full-autonomous driving.
Hardware Design and Installation
MicroAutoBox is a real-time system to communicate with the EPS ECU then control the steering angle. It cooperates with the Matlab Simulink model to achieve real-time condition monitoring and parameters control. This device can be used to perform a rapid control prototyping on different aspects such as chassis control, body control, electric drives control and X-by-wire applications control. In this project, after we implement the test bench and installing the electrical wire connections, we can run a platform on dSpace Control Desk to monitor the real-time input signal export to the EPS and do the adjustments to control the EPS performance.
X-By-Wire or Drive-By-Wire is a new type of fly-by-wire technology applied to vehicles. It is used to perform vehicle functions in wide fields such as increasing the precision in electronic engine controls. This technology transforms the mechanical operations from drivers to electronic signals then applies the signal to Electronic Control Unit (ECU) to control the vehicle’s performance. As a result, “it replaces the mechanical or hydraulic systems with electronically controlled systems to provide the control, power and communications required for the automobile system” .
FlexRay bus is one of the transport protocols used in the X-By-Wire system on vehicles. It is developed to replace the traditional Controller Area Network(CAN) bus because it’s satisfactory robustness and low delay in data delivery .
Because of the numerous vehicle control signals and sensor signals, and the complicated control algorithm, the processing tasks of the internal controllers are increasingly aggravated. The working efficiency and processing speed will be inflected concurrently. The steering system requires stability and reliability so that is the reason FlexRay is chosen to be used in the steering system. Compared with the CAN bus, FlexRay has a better performance. It offers higher data rates, flexible data communications, versatile topology options and fault-tolerant operation. 
Spring Test Bench Design
The spring test bench is used to test and verify the performance of the designed angle controller. The EPS used on this bench is the same as that one installed on the vehicle. Hence, with this independent spring test bench, we do not have to use the whole vehicle to be the test environment. This helps us eliminate other factors except the errors happened to the controller, so it offers a great flexibility and an easy access to the specific parts.
The springs assembled on both side of the EPS are used to simulate the resistance factors in real life such as frictions and inertia. However, the springs are not connected with the EPS directly. Instead, two levels are placed on both side of the steering system so that we can limit the length of the bench. Several holes are cut on the bar which is ready to be linked to the spring. Springs are placed parallel with the steering rack which will use the bench space as much as possible.
This design has an advantage which is we do not have to know the spring constant of the two springs because the position of the spring terminal is adjustable. We can control the spring displacement by fixing the springs to different holes. If the external force is much greater than our expectation, we can install them to other places we pre-set.
The electrical wiring diagram for the whole spring test bench is shown above. The system consists of a host PC, a MicroAutoBox, an electrical power steering and a 12V car battery.
We chose a 12V car battery to supply voltage for all parts inside this system. The power connector of the EPS is the high-power terminal MAK 12. This connector has a compact size and it can perform an excellent electrical feature. It can bear a high temperature (up to 80 °C) and a high current application(up to 160 A) hence it offers a safe condition for the steering system.
Owing to the high current of the electrical circuit, we cannot put a simple switch here to turn on or off the power supply. Firstly, I put a replay to act as the switch in this circuit. A relay is an electrical operated switch which uses an electromagnet to mechanically operate a switch.  It can let the low-power signal to control a high-power circuit. High-power circuit is very dangerous to operators, so the delay can isolate the operator from the high-voltage circuit, let them control the small voltage wiring and switches to ensure the security. There is a cross coil inside the relay. When the applied the current exceeds the threshold value, the cross coil will control the armature to open or close the contacts. Then a magnetic force is generated to turn on or off the high-power circuit.  The working principle of the relay will be shown below.
Steering System Analysis and Simulation Design
Steering system analysis
Three are many complex and variable factors in real world when a vehicle is driving, thus these factors have a great influence on the mechanical properties of the steering system. The simplified EPS mechanical structure is shown below to do the force analysis to the whole system.
PID controller is a type of control loop feedback equipment used in the industrial control systems. It is used to achieve the continuously modulated control for some specific applications.  Its name PID is the abbreviation of proportional-integral-derivative, so that means it is a controller based on proportional, integral, and derivative coefficients to get an optimal response. The controller will calculate the error value e(t) which is the difference between the desired setpoint and the process variable continuously, and then add them together to get the result.  P:Proportional gain to improve the reaction speed, so normally set P very small and keep increasing to get the best reaction speed. I: Integration makes the steady value closer to the setting value, also set I small, and keep increasing to see if the steady value can be closer to the reference value. D:Derivative lessens the adjusting time, normally set D=0 as the PI controller. So the PID controller can be added to get more steady output with torque, speed control and position control.
Design a torque controller to let the BLDC output the Requested Torque output, which is very close to the Reference Torque. Because BLDC can only have limited gain and time constant, which needs the torque controller to compensate for these effects.
Design a Speed Controller to deal with the Reference Speed of steering rack, and use the closed loop to deal with the Speed(error) input in cooperation with the torque controller and BLDC motor.
Design a rack position controller to deal with the Position(ref), in the position output, there are multiple situations to model, countering force in the process of steering rack movement like friction in each component of EPS, the Spring force (modeled as the static wheel countering force), the elastic force in the belt, gear between the motor and rack, such kind of components in the EPS. Add the position controller in front of the Speed Controller, Torque controller and BLDC to get the Position(Ref).
In this project, although the Simulink model of EPS has been built and the three PI controllers have been designed, the outcomes are not satisfied. For a commercial solution of the autonomous vehicle, all those parameters of the steering system need to be verified and the performance of the three PI controllers must be tested on the spring test bench to make a more accurate result.
However, the EPS provided was broken down during the implementation process for some unknown reasons, so the test bench cannot be completely assembled to verify the reliability of algorithm. The project is forced to stop at this current step.
In the future, the spring test bench needs to be implemented for testing tasks. In additional, the design of the current model would be modified to ensure the system security. The host PC communicates with the MicroAutoBox and sends the input signal into the EPS to control the operations of the motor. If the rack reaches the most left side, assemble a spring on this terminal. Then compress the spring by moving the rack to the most right side and set a nut here to fix the length of the spring which is aimed to make the system stable and safe. Next assemble the other spring and move the rack to the middle position.
The end stop detection and protection system would be design in Simulink too. This system is based on the finite state machine(FSM) in Matlab Simulink. Firstly, feed an activated signal to allow the motor works. Once the position of the rack reaches its threshold value, the state “end stop found” is activated, the current position will be recorded as one terminal. Then a reverse signal will operate on this model to find the other stop position of the rack. When both the end stop positions are found, the rack will be driven to the center point. Therefore, the three significant position points are found. When the rack reaches its end stop position, the speed controller will limit the its velocity and reduce to zero. That is the end stop protection system for the EPS.
In the real world, there are a lot of unexpected influencing factors affect the performance of the steering system. Building a more specific motor model and tyre model to analyze the friction shall be a good plan to research the friction influence coefficients. In additional, a vehicle will have a vehicle roll angle when it is steering, hence this factor shall be considered in the future too. After finishing all these steps, we can integrate the EPS ECU, the MicroAutoBox and the vehicle together to monitor the actual performance of the steering system.
Throughout the final year project, a lot of researches were done to understand the basic concepts of the autonomous vehicle. The steering angle controller must be designed, implemented and tested before it is integrated into the vehicle. In the first step, it is necessary to analyse the mathematical model of the EPS system. All these parameters about the steering system can be used in the state space equations and generate the A, B, C and D matrices. These matrices are the key point to build the steering simulation model in Matlab Simulink. Amount the input and output values, there are some important ones that can be used in designing the torque controller, the speed controller and the position controller. With the help of the Matlab SISO tool to determine the P and I values of these controllers and get the reference value and the estimated value of the whole system. By comparing the input and output signals to verify the reliability of the three controllers. The torque controller in my design performs well because the shape of the input and output torque signal are similar. However，in terms of the speed controller and the position controller, the output signal is highly different from the expectation. The parameters of the steering system are estimated and not accurate, if the spring test bench is assembled, the performance of the EPS can be verified by the bench cooperate with the MicroAutoBox. However, there is an unknown issue happened on the provided EPS, the test can be done at the current state. In the next period, once the bench is built, the related test shall be started, the parameters of the EPS shall be adjusted in order to obtain a more accurate result. The Simulink model shall consider more complex scenario such as different types of friction or car body sideslip.
Dr.Cheng Chew Lim
 M. Harrer and P. Pfeffer, Steering handbook, 1st ed.
 Power steering system. Gandhinagar: Pavan Narkhede, 2015, p. 5.
 S. Crowe, "Back to the Future: Autonomous Driving in 1995 - Robotics Trends", Roboticstrends.com, 2017. [Online]. Available: http://www.roboticstrends.com/article/back_to_the_future_autonomous_driving_in_1995. [Accessed: 26- Oct- 2017].
"Updated: Autonomous driving levels 0 to 5: Understanding the differences", TechRepublic, 2017. [Online]. Available: https://www.techrepublic.com/article/autonomous-driving-levels-0-to-5-understanding-the-differences/. [Accessed: 26- Oct- 2017].
 dSpace, MicroAutoBox® II Compact and robust prototyping system for in-vehicle applications. 2016.
 Next Generation Car Network-FlexRay. Shanghai: Fujitsu Microelectronics (Shanghai) Co.,Ltd, 2006, pp. 3-6.
 F. Li, L. Wang and C. Liao, "Network Optimization of X-by-Wire System Based on FlexRay Bus", Applied Mechanics and Materials, vol. 734, pp. 220-223, 2015.
MAK Terminal&Connector Overview. LEAR Corporation, 2009, pp. 5-9.
"Relays: principles of operation and application choices", Pc-control.co.uk, 2017. [Online]. Available: https://www.pc-control.co.uk/relays.htm. [Accessed: 23- Oct- 2017].
 Benjamin Wieÿneth ,“Closed-loop Steering Angle Control for Automated Lateral Guidance in a Road Vehicle Using Signal Manipulation on the FlexRay Bus”, University of Applied Sciences, Augsburg, Germany, May.2016
 MicroAutoBox Hardware Installation and Configuration. Germany: dSpace, 2016, p. 714.
 M. Hassan, N. Azubir, H. Nizam, S. Toha and B. Ibrahim, "Optimal Design of Electric Power Assisted Steering System (EPAS) Using GA-PID Method", Procedia Engineering, vol. 41, pp. 614-621, 2012. 47
 A. O'Dwyer, "A Summary of PI and PID Controller Tuning Rules for Processes with Time Delay. Part 2: PID Controller Tuning Rules", IFAC Proceedings Volumes, vol. 33, no. 4, pp. 211-216, 2000.
"X-By-Wire: For Power, X Marks the Spot", Electronic Design, 2017. [Online]. Available: http://www.electronicdesign.com/automotive/x-wire-power-x-marks-spot. [Accessed: 15- Sep- 2017].
"PID Theory Explained - National Instruments", Ni.com, 2017. [Online]. Available: http://www.ni.com/white-paper/3782/en/. [Accessed: 26- Oct- 2017].