Autonomous RC Car

1. Hardware Components

Since the RC car is built for the purpose of study and research, it is convenient to leave some flexibility for possible extensions when choosing components. I also try to reuse parts I bought for my quadrotors, due to my limited budget. The goal is to set up the platform as fast as possible so that I could start developing software early. I try my best to make a good balance between cost and performance. But the project just hasn’t reached the point for hardware optimization yet.

a. RC Car Chassis and Basic Electronics

Note: 1. Some servos may expect control signals other than PWM, for example SBUS. For simplicity, only PWM servos are supported by the firmware now.
  1. I use FrSky Taranis radio because I own one for my quadrotors. It is used for manual control of the car and emergency brake during autonomous driving. You need at least 2 channels to control a car(steering and throttle). But more than 2 are planned to be used in the firmware for arm/disarm, mode switch etc. 6 or 8 channel should be enough.
  2. You can optionally upgrade some parts and the upgrade of aluminum front C-Hub carriers is highly recommended.

b. Power System

Note: 1. Most FPV quadrotors use 3S, 4S LiPo batteries but for RC cars 2S batteries (with a lot more mAh) are more common.
  1. RC Car batteries mostly come with Deans T plug, while it’s more common to see XT60 connectors on LiPo batteries for multicopters. I add an XT60 adapter on the car because I want to keep the compatibility across all my toys, batteries and the charger for easy maintenance.
  2. A power distribution board (PDB) is used because I need to distribute power from the battery to ESC (which powers motor and servo), microcontroller, single board computer and sensors.
  3. This PDB could support 20A continous current and 30A peak current from each channel. To avoid overheating and board damage, you should use the output pads closest to the input pads for the ESC connection and make solid/complete contact points when soldering.
  4. The PDB could be a bottle neck for the power system, but I didn’t know any better choices designed specifically for RC cars. A custom-designed PDB could be considered in the future. But this off-the-shelf choice works without any problem so far.
  5. The embedded 5V BEC on the PDB is used to power the MCU. A 5V UBEC supporting 6A continuous current is used to power raspberry pi or UP board. If a nvidia jetson is used in the future, an extra 4S battery and 12V BEC may be added.
  6. The 12V BEC on the PDB should not be used because it would require a 4s battery as input. It will not work properly with a 2S battery (7.4V).
  7. If using multiple battery design (2S + 4S), it might be a good idea to power the MCU and servo/motor from the same power source. By doing so you could still maintain manual control if the battery for SBC and sensors dies first.

d. Control System

Note: 1. Pixracer is a flight controller board for multicopters. I choose it because it is compact while having a rich set of sensors (2 sets of IMU) and hardware interfaces.
  1. Available interfaces on pixracer: serial, I2C, SPI, CAN, 6 channels of PWM output (2 of which can be used for servo/motor control and the rest can be used for input pulse capture).
  2. Raspberry Pi 3 and UP board are used for experiments now. The final choice of single board computer is to be determined.

2. Assembly Notes

a. Tamiya TA07 Pro Chassis

It is quite straightforward to follow the assembly instructions of the chassis.

Additional information from the Internet:

Note: 1. Don’t forget to buy instant glue, which is required but not included in the package. Other than that you get everything you need to put this chassis together.
  1. A PPM receiver was chosen for its small size. But it’s convenient if you have a receiver that outputs PWM signal. You can test the servo and DC motor conveniently using only your trasmitter, without the MCU.
../../../_images/chassis.jpg

b. Motor and Servo Installation

Follow the instructions.

Note: 1. Don’t tighten servo related parts before you finish adjusting the neutral position of servo. You could adjust the control signal for a neutral position but you don’t want to get off the mechanical neutral position too much during installation.

../../../_images/chassis_motor.jpg

c. Wheels and Tires

Note: 1. Make sure you don’t skip using glue on the tires to attach them to the wheels. They’re going to get off during the high-speed driving if you don’t. And I tried that.

../../../_images/wheels_on.jpg

d. Lower Mounting Plate

A mounting plate is very useful for attaching all parts to the chassis nicely. The current design tries to keep the lower plate as close to the chassis as possible but leave enough clearance to moving parts.

Note: 1. Currently the ESC and PDB are connected using a pair of XT60 connectors. In the future this connection point could be removed and the wires from the ESC could be soldered to the PDB directly.
  1. The receiver is attached to the plate from the bottom but the antenna are left above.
  2. The receiver wires and ESC/servo signal wires go below the plate and the connectors could reach the MCU through reserved holes on the plate.
  3. Make sure the wires don’t interfere with the belt/gears below the plate. If organized properly, they shouldn’t move underneath the deck.
  4. See the soldering joints I made in the following picture. The input wires from the battery are almost directly connected to the wires to the ESC. Remember to use a wider soldering tip. A very fine tip will not work.
../../../_images/pdb.jpg

And what the car looks like after installing the mounting plate.

../../../_images/with_deck.jpg

e. More Electronics

In the following image, an Udoo Neo Full, a Pixracer and an racing version of Revolution are installed. Other boards include the voltage regulation modules and CAN bus tranceiver modules. The final combination will be decided later.

../../../_images/udoo_neo.jpg