Git Product home page Git Product logo

barc's Introduction

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

  • docs
    • Overview about the mechanical, electrical, and software deign of the vehicle. Descriptions of the vehicle models used for some control algorithms
  • CAD
    • DWX files for fabricating the deck and side brackets for the chassis, and STL files for fabricating the sensor mounts (e.g. hall effect sensor, camera, ultrasound) and the cover for the odroid.
  • Dator
    • Web server for cloud robotics. Provides a standard way to record data and events from one or more local computers for later analysis. Based on this repo from Bruce Wooton
  • arduino
    • Files to program the arduino to (1) send commands to the electronic speed control (ESC) unit and the servo, and to (2) acquire measurements from the encoders and ultrasound sensors
  • scripts
    • Bash programs that set up environment variables and launch the local server upon boot
  • MATLAB
    • Useful MATLAB scripts for processing ROS bag file. The bag files store all the message data (time stamped sensor measurements, actuator commands, etc) during an experiment
  • workspace
    • Robotic Operating System (ROS) workspace that contains the barc package. This package holds the source code to control the vehicle using the ROS framework

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

barc's People

Contributors

jonmgonzales avatar heyinucb avatar kietdlam avatar tonyhzheng avatar chenliulu avatar grmarcil avatar urosolia avatar francescoborrelli avatar eltonbear avatar ych09041 avatar barcproject avatar ai6ck avatar charlott-me131 avatar maxb91 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.