MPC-Berkeley / barc

Main branch for BARC related code
MIT License
215 stars 289 forks source link

Berkeley Autonomous Race Car (barc) Repo

The Berkeley Autonomous Race Car is a development platform for autonomous driving to achieve complex maneuvers such as drifting, lane changes, and obstacle avoidance. A 1/10 scale RC car and an embedded Linux computer make up the hardware platform of the project. This project aims to be fully open-source. The data collection process is cloud-based and brings new dimensions to the Vehicle Dynamics and Control Theory teaching and research world.

This site is home to the repository. The main site for the project is here. Although several directories contain their own README files, all of this information has been consolidated in the Github Wiki.

Organization

The primary folders in this repository include

All software to control the vehicle resides in the Arduino and Workspace folders.

Getting started

  1. Get the parts, list
  2. Flash the odroid, instructions
  3. Assemble the car, instructions
  4. Charge the battery, instructions
  5. Connect to the RC remotely, instructions

You can also scroll through the material under our docs section to find other useful information

Useful resources

Recommended reading and resources

Student projects

Potential issues

Bad IMU magnetometer readings

The magnetic field around car, perhaps from the motor or aluminum deck, may interfere with the magnetometer readings, meaning the roll, pitch, yaw measurements may be off

Wrong internal clock time / date

The time and date settings on the odroid may be incorrect. This may be because the Real Time Clock (RTC) battery is not connected or has a loose connection. To update the date / time settings, ensure the RTC battery is firmly connected, and ensure you are connected to the Internet via wifi or ethernet. Next, open a terminal and run the following network time protocol (ntp) commands

sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start

If you have a "no server suitable for synchronization found", your hosting provider may be blocking ntp packets. Refer to this community question for more information