Networking Cars
Overview
The goal of this project is to build a remote controlled car which can be toggled to home to a stationary base. This project is a first step in to creating a network of remote controlled vehicles which can also autonomously move and do specific work. The base car of this project is a PiCar, an open source remote controlled car project developed by Prof. Xuan Zhang and her lab. On the base PiCar platform, which is essentially a remote controlled car which can be connected to an Arduino/Raspberry Pi, we installed an Arduino Uno and an IR beacon to, and wrote code to enable the homing functionality. Near the end of the project, we decided to add an additional feature of having the car be able to follow black lines on the floor using IR obstacle sensors.
Team Members
Curtis Hoffman
Deep Jyoti
Andrew O'Sullivan (TA)
Objectives
- Design sensor system to communicate relative location between two objects.
- Integrate sensors in order to allow Pi Car to interpret signals into usable commands.
- Assemble Pi Car Chassis with Arduino and all required sensors mounted.
- Build install killswitch mechanisms for safety.
- Add code to enable the car to toggle back and forth from being remote controlled to autonomously run.
Challenges
Safety
DC Motor Accelerates and Drives too Quickly
Solution:
- Program the ESC to artificially limit the speed and acceleration of the DC motor
- Create a manual override killswitch, so a human operator can stop the car remotely with the RC Controller
Ease of Use
Implement Reliable Communication with the Pi Car
Solution:
- Program the ESC throttle, neutral, and brake functions with the RC Controller
- Use the RC Controller and receiver to communicate with the Arduino, and Interpret inputs as commands.
- Interpret PWM output from the receiver, and remap the outputs to a value that can be used by the ESC.
- Add a toggle function between remote control and homing modes, create a switch condition that can be sent from the RC Controller.
- Optimize killswitch and toggle to work reliably and quickly at any time
Function
Not All Components are Properly Powered
Solution:
- DC Motor and ESC are on a separate battery than the Arduino and connected sensors.
- Switched 9V battery with a LiPo battery for better capacity and amperage (The Arduino would occasionally lose power when too many actions were called simultaneously).
- Limited the number of sensors we used on the car to help regulate the power use.
Implement Homing Function
Solution:
- Mount IR Sensor above the car with line of sight in all directions. Route wires so there are no obstructions to the sensors.
- Solder all connections to IR sensor, and make secure to reduce any chance for interference or jitter.
- Add real-time direction sensing and direction adjustments.
- Add IR Sensors to bottom of chassis to use as black line sensors, then marked the "home zone" with black tape.
Budget
- Pi Car Hardware - Provided by Dpt.
- 3D Printed Chassis
- Wheel Assemblies and Axels
- Trackstar 1/18th Scale 12T Brushless power System (5050kv) - $43.77
- HOBBYMATE 180Pcs Assorted Nylon Standoff Spacers - $7.90
- GoolRC TG3 2.4GHz 3CH Digital Radio Remote Control Transmitter with Receiver - $28.99
- Pololu IR Beacon Transceiver - $27.95
- Osoyoo IR Infrared Obstacle Avoidance Module - $9.99
- Arduino Uno - $29.95
- Adafruit Proto Shield for Arduino Kit - Stackable Version R3 - $10.45
Total Cost: $159.00