Introduction: Traction Control System for RC Car
The traction control system is the feature available in the car as well as Motorcycles avoid tire slip while accelerating.
To achieve the best acceleration of the vehicle, one needs to press throttle optimally. If it is not pressed enough, it will underperform. If the throttle presses hard, the vehicle may slip and that is a safety concern. The active system is required to set throttle value in such a way that vehicle always remains in a stable (safe) zone while achieving the best acceleration.
A presentation/video (35 mins) explaining complete project is attached. Both instructable and video contains almost similar content.
Step 1: Concept
For typical tyre, slip ratio is given as ratio between difference of wheel velocity and vehicle velocity to vehicle velocity. For most of the surfaces, slip ratio of 0.1 to 0.2 best possible acceleration can be achieved. After that by increasing the slip tendency of vehicle getting unstable increases. As it is never the case of having constant surface properties, open loop system cannot maintain the vehicle into the green region highlighted in figure. A close loop control system need to employ to ensure the vehicle operate in the green region itself.
The typical traction control system takes input from the front (free) and reads the wheel (driver). Ideally, the freewheel rotates without any resistance, while the driver wheel undergoes force interaction. This force interaction causes some value of tire slip (due to the elastic nature of rubber/tire). This interaction is very much dependent on tire geometry, inflation press, and rubber material. However, the typical traction force to slip value is given by the figure. If the vehicle operates within the band of around 10-20% slip vehicle gets the best acceleration without losing stability. Below this limit vehicle is not utilizing the power and above this, there are chances of stability loss.
For any given surface the traction value can be represented as a function of the tire to road slip ratio. The function of the control system will be to maintain the value of the wheel slip (here rear wheel) within a predefined band to ensure the best possible acceleration and stability. The band was chosen in such a way that it caters to most of the surfaces on which the vehicle is intended to use. The control system will also ensure that the slip ratio will remain in a stable region.
Step 2: RC Car Preparation
There are two optical encoders used for sensing along with a DC motor. Typically for such applications Hall Effect-based sensors are desirable but require targets made of ferromagnetic material. For the project, the optical sensor is used such that the target wheel (encoder) can easily be fabricated. DC motor directly drives the rear wheel of the car and the front wheel is free to rotate (corresponding to vehicle velocity). For sensing initial idea was to use spoke of the wheel as a target. As it had 5 spokes the best resolution that can be achieved is a pulse for every 30mm of movement. As this value was quite small, a new encoder was prepared to have 12 divisions. In this case, the resolution is improved to a pulse for every 11mm. This sensor module gives analog as well as digital output (with configurable sensitivity). The digital output is directly used as input for the digital pins.
The overall dimension (in mm) of the vehicle is shown in the figure. Overall chassis is borrowed from a generic toy RC car. Complete electronics of the RC car are removed and replaced with mentioned sensor, motor driver, and microcontroller (Tiva C). The suspension and steering mechanism are blocked to constrain any movement. The Center of gravity of the car is low enough that no change in wheel reaction occurs due to acceleration.
Sensor and Actuator:
· Wheel speed sensor (TCRT5000 + inbuilt amplified)
· DC Motor (Generic inbuilt),
· Motor Driver: IRF520
Step 3: DC Motor Dynamics
The vehicle is having an inbuilt motor that needs to be mapped for the application. Motor torque, RPM, and voltage supplied are correlated with each other and needed to develop for control implementation.
The model can be given as (ref: https://nptel.ac.in/courses/112/101/112101304/ )
From the above equation (first image), it is clear that the torque is a function of the linear combination of voltage and speed of the motor (all terms in the bracket are constant for a given system). Data were also taken for free rotation.
To measure these constants, two sets of data are being taken. The first set of data was taken with the motor in stall condition. Force is measured in stall conditions using load cells (second image). The vehicle is restricted to move and various voltages are applied intern of PWM signals. Further torque value is calculated from the force. Similarly, Speed data is taken for various voltages in freewheel conditions (third image). as the data is plotted in fourth figure, it can be seen that data is having linear trend. Using these data a linear fit was developed using the MatLab regression function. one may you various online tool as well. "linear fir" function from wolframapha is one them.
Step 4: Control System
Sensor data from the front and rear wheel is used as feedback to calculate the control input. The control input is applied to the front motor connected to the rear wheel. As discussed previously, in our case the job of the controller is to maintain rear-wheel speed in such a way that the wheel slip value remains within the specified value. As shown in first figure,
Desired rear speed block uses the front velocity and desired slip values to calculate the required rear wheel speed. Error is calculated from the required rear speed and current rear speed. PI controller calculated desired torque require to be given on the rear wheel. The equation obtained in previous step on the relation between torque, speed, and voltage is used to calculate the desired voltage. Calculated voltage is given to the motor in terms of PWM signal.
Step 5: Testing
Once the control system is implemented in a microcontroller, the vehicle is tested on various surfaces. All mentioned videos within this section can be seen in the presentation available at this hyperlink.
The vehicle is tested in three different conditions. It is compared with the open-loop condition. The open-loop condition is at which the motor is given 100% power from start itself (step input). While the testing vehicle is allowed to accelerate for 2 seconds. As an onboard logging system is not available, all kinematic data is measured using video footage. Video clips were analyzed using tracker software. All video of these test can be fount on video (27:45 onward): https://youtu.be/3WSH7KwbZBU?t=1666 .
- Good surface
The vehicle accelerated in good road condition and below is the plot for the acceleration data. Videos are available on presentation available at the mentioned link. For both of the cases acceleration was around 3.5 m/s2 for the acceleration phase. In this case, the motor was not overpowered enough to get the vehicle into a slip. And typically open-loop control gives similar or better performance than closed-loop control.
- Slippery Tire
As in the previous case, the wheel was not getting into the slip. To make control more visible tire was made slippery. The plastic tape was applied to the rear wheel. Due to the addition of the tape wheel became extremely slippery. By adding tape is it almost impossible for vehicles to run in an open loop. Rear-wheel will simply skid and get into an unstable region. Due to very low traction between wheel and surface, the control system seems to give continuous correction in the wheel speed.
- Irregular surface
The vehicle also tested on irregular surfaces (off-road). Due to the small size of the tire and lighter chassis, it is extremely difficult for the wheel to maintain the right contact between road and wheel. As it is difficult to maintain contact between wheel and surface, acceleration is not constant. The Control system maintains the torque according to changing road conditions.
Step 6: Conclusion
As discussed previously this project had various limitations that one needs to work out to apply to RC cars.
- Speed-sensing with optical sensors is not a good idea for outdoor use. Sunlight and other statics noise will ruin output, as it needs to be calibrated for such situations. Other external contamination may also cause issues with calibration. For such kind of operation, usage of hall-effect based sensing is recommended.
- This setup was prepared for linear motion only. When a vehicle is cornering there will be some changes in slip calculations. Idea way is to use a speed sensor with each wheel. That will give much more control over vehicles. It will also enable various other features to be enabled. I.e. vehicle stabilization while cornering.
- While tuning I was not able to track various parameters of the vehicle. Like wheel speed, throttle, errors, etc. the tuning is mostly done using visual feedback of vehicle performance. Using wireless data logging systems can be helpful for proper tuning.
If you find any mistakes or have any suggestions/questions do let me know by comment or mail.