larsll / deepracer-pi

A port of the DeepRacer software stack for the Raspberry Pi 4.
MIT License
5 stars 7 forks source link
deepracer raspberry-pi robotics ros2

The effort has moved to DeepRacer Custom!

DeepRacer for Raspberry Pi 4

This repository provides a port of the DeepRacer software stack to the Raspberry Pi 4. It runs on Ubuntu 22.04 with ROS2 Humble, but with most of original code. To make the image smaller the server image is recommended.

Features

Main features of the port:

Parts

The following parts are needed:

¹ The Waveshare hat comes with a step-down converter from 7.4V to 5V, and will power the Pi via the GPIO header. Other similar cards will require separate power.

Optional

Software Install

Installation of software is reasonably straight forward, as pre-built packages are provided:

Once installed you can start the stack with sudo /opt/aws/deepracer/start_ros.sh. To ensure a smooth start a camera needs to be plugged in. The launch log will now display in the console.

To automatically start at boot do sudo systemctl enable deepracer-core and to start the service in the background sudo systemctl start deepracer-core.

Changes

Some changes have been made to the code to enable access to GPIO as sysfs layout is different on the Raspberry Pi than on the custom Intel board.

Improvements

Details

PWM Outputs

Channel Purpose Notes
0 Speed controller Remove red cable for stock DeepRacer ESC
1 Steering servo
2 RGB LED Tail light - Red
3 RGB LED Tail light - Green
4 RGB LED Tail light - Blue
5
6
7 RGB LED
8 RGB LED
9 RGB LED
10 RGB LED
11 RGB LED
12 RGB LED
13 RGB LED
14 RGB LED
15 RGB LED

NOTE: Remove the red cable on the stock DeepRacer from the speed controller into PWM channel 0, otherwise you are putting 6V into the servo hat.

LiPo can power both the board and car, 3 pin (balance lead) gets wired to VIN (black and red cables only) to power the board and RPi. The 2 pin power cable goes to the car as normal.

GPIO layout:

USB host mode: To connect the USB-C port on the Raspberry Pi 4 to a USB on your computer, then you need to perform two changes:

With this you will see a new network connect appear in Windows (and Mac?). The Raspberry Pi will have IP 10.0.0.1; you can connect to the console via https://deepracer.aws. This will require your computer to be disconnected from all other networks (given a DNS priority issue). SSH directly to the IP will work.

What does not (yet) work