My first attempt of self-driving race car was based on Himoto Spatha E10SC:
It was "cheap and fast" option. I only changed brushed motor ESC to $6 PWM controller and plugged in Orange Pi 3 with Arduino. So, I have installed ros-comm, wrote chassis and control packages, then tested teleop. It worked fine. But when I started trying to follow trajectories in fully autonomous mode, I have faced following problems:
Odometry. At these steps I have had only GPS and no more sensors, so, without odometry, I could not perform good localization. Motor and controller didn't allow to get any information about shaft rotation, as well as adding gears for encoder wasn't good idea. My experiments with magnets on shafts and hall sensors didn't give me sufficiently accurate solution.
Bad steering lever quality. Default servo gave a weak torque, and I thought that this was the only cause of steering errors. But after replacing it, problem still exists because of bad steering mechanism. Actually, it was ok for RC, but horrible for autonomous mode. Wide tires and one lever system can't reach couple of degrees precision with hobby servo.
Suspension. The car is quite tall and have soft suspension parameters, which gives large slopes on turnings. It brings more instability and difficulty in control problem.
All of these pushed me to buy a new one chassis and hardware. So, this project is about my second attempt of building self-driving race car.
For the beginning I have ordered a simple chassis from here. It arrived to Russia in 3 weeks and I started assembling it instantly. Advantage of prefabricated models over RTR (ready-to-run) models is that you can modify it at build stage.
But I quickly faced new troubles with this. Firstly, hole in the rear gear axle wasn't centered, so I could't assemble main gear system at first:
To continue, I have grinded off part of the fastener surface, after this I was able to finish assembling the reducer. Later another surprise was awaited me: a huge backlash in the main gear: