Got an old RC car platform that wasn't in use for around ~10 years. Project goal is to implement algorithms for localization, lane tracking, steering etc. and creating a tiny nitro self-driving car.
Detailed log below explains the mechanical, hardware, and software needed to start creating this tiny car by yourself.
Hopefully will create a small community to share ideas to improve this project.
Getting the RC Car ready to go after ~10 years, engine compression seems to be good, carburetor is completely cleaned. Found out the car didn’t start because of a small pin between the crankshaft and the backplate, when pulling the cord, it rotated only the shaft at the backplate. Instead of ordering a new spring/pull mechanism (didn’t have the patience) just put some Teflon tape between the crankshaft and the small pin, it worked perfectly.
Next, designing the parts, I’ve separated this to three major units:
Rear Unit: Webcam, Lights(Later).
Center Unit: Power Regulators (5V and 3.3V), Power Distribution Board, RC Receiver.
Front Unit: Battery, XV11 Lidar, Orange Pi.
Hardware
Rear Unit:
1x Logitech C170
Center Unit: Main power supply – LIPO 7.4 2200mah, several components at this design works at 5V/3.3, will use two different regulators: 1xLM2596 – 5V 3A Buck converter 1xAMS1117 – 3.3V 800mA Buck converter
Front Unit: 1x Orange Pi Lite(Allwinner H3) 1x XV11 Neato Lidar 1x STM32F103C8
Wrote a ROS package in python for processing the image from the Logitech C170 (Code available on GitHub). In most example codes available online it's easier to detect the lane by filtering out the lane colors(white, yellow), here i did it in a narrow street so i didn't have many colors to filter out.
I had to record some bagfiles to start working on the lane tracking, auto steering of the car. To make things easier i thought of connecting the Flysky RC to a simple python code and by toggle the switch on the remote start and pause the rosbag record process. Connecting the Flysky RC to OrangePi sounds like an easy task, had some issues with sampling the PWM signal from the remote at frequency high enough to determine the switch state(This can be done easly on Raspberry Pi using pigpio), if you have some ADC to I2C you can do it easly, something like ADS1115, or just playing with RC circuit. I didn't have enough time to spend on it, so a simple Arduino Nano was perfect for this task. Routing the SWD on Flysky to CH6 on the reciever and connecting it to PIN 6 on the Arduino. The python code for reading values for Arduino and starting the record sometimes doesn't end cleanly(will be fixed later), need to run this on the bags -
Got the XV11 lidar work on the Nitro RC, example of the Laserscan:
Next weeks:
Check how slow can the car move, XV11 lidar works at really really low speed compare to the speed of the car, will need to see if we can use this lidar or just replace it with a better RGB camera.
Stress test the poor Orange Pi to see if we can use this or will need to change to a better one.
DIY Electric starter.
Record some videos form the webcam so we can start working on the lane tracking, and autonomous steering.
Getting the RC Car ready to go after ~10 years, engine compression seems to be good, carburetor is completely cleaned. Found out the car didn’t start because of a small pin between the crankshaft and the backplate, when pulling the cord, it rotated only the shaft at the backplate. Instead of ordering a new spring/pull mechanism (didn’t have the patience) just put some Teflon tape between the crankshaft and the small pin, it worked perfectly.
Next, designing the parts, I’ve separated this to three major units:
Rear Unit: Webcam, Lights(Later).
Center Unit: Power Regulators (5V and 3.3V), Power Distribution Board, RC Receiver.
Front Unit: Battery, XV11 Lidar, Orange Pi.
2
Hardware
Hardware
Rear Unit: 1x Logitech C170
Center Unit: Main power supply – LIPO 7.4 2200mah, several components at this design works at 5V/3.3, will use two different regulators: 1xLM2596 – 5V 3A Buck converter 1xAMS1117 – 3.3V 800mA Buck converter
Front Unit: 1x Orange Pi Lite(Allwinner H3) 1x XV11 Neato Lidar 1x STM32F103C8
Got the XV11 lidar work on the Nitro RC, example of the Laserscan:
Next weeks:
Check how slow can the car move, XV11 lidar works at really really low speed compare to the speed of the car, will need to see if we can use this lidar or just replace it with a better RGB camera.
Stress test the poor Orange Pi to see if we can use this or will need to change to a better one.
DIY Electric starter.
Record some videos form the webcam so we can start working on the lane tracking, and autonomous steering.