Skip to content
This repository has been archived by the owner on Jan 29, 2021. It is now read-only.

yconst/burro

Repository files navigation

Burro is a platform for small-scale self-driving cars.

Build Status BCH compliance

Requirements

Using Burro you can build either a RC-style Ackermann steering car, or a Differential steering car (like a three-wheel robot). Depending on your hardware Burro will automatically select and setup the right kind of vehicle each time you run it. Thus you may share the same SD card among different vehicles without any changes.

Hardware

RC-Style Ackermann Steering car
  • 1/10 or 1/16 RC car with PWM connections for throttle and steering
  • Raspberry Pi 2 or 3
  • An SD card with at least 16Gb capacity
  • RaspiCam, Fisheye model (something like this)
  • NAVIO2 HAT or NAVIO+ HAT
  • Either a Logitech F710 Gamepad (NAVIO2 and NAVIO+ support) or a PPM or SBUS-compatible RC receiver (NAVIO2 support)
Differential Steering car
  • Differential steering robot kit with two motors
  • Raspberry Pi 2 or 3
  • An SD card with at least 16Gb capacity
  • RaspiCam, Fisheye model (something like this)
  • Adafruit Motor HAT, NAVIO2 HAT or NAVIO+ HAT
  • Either a Logitech F710 Gamepad (Adafruit Motor HAT, NAVIO2 and NAVIO+ support) or a PPM or SBUS-compatible RC receiver (NAVIO2 support)

You could also use Burro with a RasPiRobot Board V3 to make a differential steering car, but this requires to edit code and is untested.

Software

Burro runs on Raspbian. We recommend the latest Raspbian image from the folks at EMLID. Here are the instructions to get it installed and running on an SD card. You will need to expand your filesystem.

If you don;t use NAVIO2 you can also use a vanilla Raspbian image. If you do so, you'll need to enable Camera and I2C.

Installation

Burro includes an installation script that handles installing necessary libraries, setting up the Python virtualenv and configuring submodules. To download and run on a Raspberry Pi:

wget https://raw.githubusercontent.com/yconst/burro/master/install-burro.sh
chmod +x install-burro.sh
./install-burro.sh

If you would like you can take a look here to find out more about the libraries and packages that the script is installing.

Running

Connect up a Logitech F710 gamepad to the RPi USB port or a RC receiver to the NAVIO2 receiver pins. cd where your install-burro.sh script that you downloaded earlier is, and:

cd burro/burro
./start.sh

Visit your Raspberry local network address to bring up the web interface. If you've chosen the EMLID image, it will be http://navio.local. Otherwise it will be http://raspberry.local.

Choose your driving method (by default it is either gamepad or RC, based on availability). Choose if you want to save images while moving (for training models); the background color of the steering indicator will change to green to indicate standby, red once recording.

Next Steps

Please take a look at the Burro Wiki for more information, including help on configuring and controlling your car.

Regular news and examples are posted in the Unmanned Build blog.

Contributing

Contributions via merge requests or opening issues are always very welcome. Please also take a look at the Code of Conduct

License

MIT