I need to test my computer vision stack written in C++ on a mobile robot and I need to control the robot from a Linux ARM board (which can be a Raspberry Pi). Since the specialized wheeled robot platforms are quite expensive (RobotShop lists few, usually chassis only without motor, steering servo etc.) and since I would like to use a normal 4-wheeled platform with steered front wheels I am thinking about using an ordinary ready-to-ride RC car. I am all new to both RC modelling and electronics hacking, could someone give an introduction of what I need to buy and do?
Can I use a Himoto RTR car for instance? I inspected few of them, the most affordable ones seem to have the RC receiver and steering servo integrated into one piece (like this car) and I really do not know if that is an issue since I guess I will need to replace the RC receiver with the RPi...
I need help with how to interface from the RPi to the car (motor + steering servo). I read about following:
- PWM (Pulse Width Modulation)
- PPM (Pulse Position Modulation)
- brushed and brushless motors
- ESC (Electronic Speed Controller)
Seems like servos and brushed motors use PPM while brushless motors use PWM. I am interested in both brushed (cheap) and brushless (good endurance) motors. Can someone suggest a hardware I need to use for both RC model part and RPi part? Do I need a special shield for RPi because of the motor/servo?
On the software side, since my vision stack is in C++ the best would be to be able to control the RC car from C too (no Python etc.).
I plan to use a gamepad with 2 joysticks to be able to control the car, either connected directly to USB on the RC car's RPi or on another RPi and using wifi transmission. I think I can deal with this gamepad part alone... just need help with the motor/servo stuff.
Thanks for help in advance!