Has the GoPiGo been used to build a donkey car?

What is needed to use the GoPiGo as a donkey car?
donkey car github repo is https://github.com/autorope/donkeycar

Why not?

The best way to find out is to get one of the GoPiGo beasties, decorate it with a foxtail or fuzzy dice, and program it.

Please give it a go and post results/videos.

Jim “JR”

@jimrh I do have a GoPiGo. I asked the question in this forum to check if anyone has done it, so that I can learn from their experience.

1 Like

Sorry if you took it wrongly. All I wanted to suggest was that:

  1. I’d never even heard of that before!

  2. Since (AFAIK) it hasn’t been done, this is a Golden Opportunity for you to step up and give it a try.

  3. (Since I sent the last reply) I noticed that Dexter has an Inertial Management Unit for their 'bots. Sparkfun has several I2c GPS modules that aren’t that expensive along with other interesting sensors. They might be worth a look.

A thousand apologies if you thought I was being sarcastic or breaking your chops.

Jim “JR”

No issues JIm. Thanks for pointing out the Dexter IMU and Sparkfun I2c GPS modules.

As I already have the GoPiGo, What I want to accomplish initially is to make Donkey car work on the GoPiGo.

One of the things I will have to do at a minimum to begin with is

  • Identify in the Donkey software, the ports that are used to move the motors
  • Make changes, if needed to see that they match the hardware of GoPiGo
  • Compile and download to GoPiGo and test

I will be looking at the code to see where to make changes.
However, if anyone has done this before and can point to where in Donkey Car code to make the changes, it will be helpful.

I understand that both DonkeyCar and GoPiGo use differential drive and control the speed and direction of motion by the commands it sends to these two motors.

When I check the hardware diagram of the GoPiGo, I see pins on the RPi associated with the motors. For the right motor - MRC1, MRC2, MR_DIR, MR_INT and MR_PWM on pins 5, 6, 23, 25 and 39. I am guessing these will somehow need to be configured in Donkey Car software. Any ideas how I can figure out what to do? Any pointers to documentation where I can find more information also appreciated

@RobertLucian - Can you help with this?


Perhaps you need to backup a little before “driving” forward with this project.

The donkey car “roll your own” docs explain the requirements a platform needs to run the donkey car software. It seems to me that it does not bode well for you to have chosen a platform which does not meet those requirements.

First of all, the donkey car software expects to be in direct control of the motors (using a high performance PWM speed controller), not sending commands to the GoPiGo3 processor to “go forward”,“set speed to xyz.”

Very important donkey car requirements:

  • Your car needs to have a speed controller for the motor (ESC) that takes a standard RC 3-pin control signal (RC PWM style)
  • Your car needs to have a steering servo that takes a standard RC 3-pin control signal (RC PWM style)

Thanks @cyclicalobsessive for confirming that the GoPiGo cannot be used with the donkeycar as it does not meet the Donkey Car requirements.

1 Like


cyclicalobsessive, is correct, in an of itself, the GoPiGo isn’t compatible with DonkeyCar.

There’s another option, depending on how much work you want to invest.

You can try to make a clone of the DonkeyCar with the GoPiGo - not by using the DonkeyCar software directly - but by duplicating the software’s functionality and the ultimate DonkeyCar specifications on the GoPiGo.

It won’t be a trivial task, but if you REALLY want to use the GoPiGo, I think it might be doable and it would be a phenomenal project, worthy of publication. “Masters Degree thesis” anyone?

I wish I had half the talent and a quarter of the guts to challenge it!

Thanks @jimrh for the note. Given the level of support and the uncertainty of the result, I have given up on it now :frowning:

Surely you don’t mean the level of support HERE do you? So far the only thing they haven’t done is donate body parts!

In all seriousness, were I to try it anywhere, I’d do it here because of the level of support they offer.

Do what you think is best.

Jim “JR”

The basics concept of the donkey car is to use Tensorflow to process images from the Pi Camera to control the robot speed and direction based on an image training library and a test-run-calibrated set of tuning parameters. The donkey car racing community creates events with a winding track comprised of two solid white borders and a broken yellow centerline.

There are online study courses, websites, meetups, and forums for learning about the donkey car and the technology understanding needed to participate in this exciting discipline. (There are also alternative self driving car technologies and enthusiast communities that folks might want to evaluate before jumping directly into the donkey car camp.)

To help understand WHAT HAS BEEN DONE in the area of using tensorflow to drive a GoPiGo, here are a couple interesting videos that came up from a Google search of “tensorflow gopigo”

GoPiGo Tensorflow Demo (Columbia University Robotics Lab)

Self Driving GoPiGo Using TensorFlow

GoPiGo autonomously driven by Tensorflow

Disclaimer: I feel the DI forums, (or “fora” for the pendants), are to assist in learning about the GoPiGo robot and other Dexter Industries products and services, and for sharing user experiences, accomplishments, and discoveries. Youth should seek local mentors to guide in selecting projects, and assist them to have successful learning experiences regardless of the outcome of the project. (I commend @tnkumar for his mature response in this thread.)

Suggestion: Freeze this thread

@cyclicalobsessive - Thanks for the pointers and your observations. I agree with your suggestion to freeze this thread. Do I need to do it or an administrator? I do not know how to do it.

@jimrh - I am very happy with the level of help provided in this forum

Yeah, I can do it now. Hold on. And @jimrh and @cyclicalobsessive, thanks for your kind words :slight_smile: