Loading

Donkey Self-Racing Car

by aconway, published

Donkey Self-Racing Car by aconway Apr 20, 2017
4 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Contents

Design Tools

Fusion 360

License

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

3663Views 1208Downloads Found in Robotics

Summary

This is reference hardware design for the Donkey Self Driving car which is being raced in the diyrobocars.com league. For directions on how to build, BOM and setting up software go to https://github.com/wroscoe/donkey

9/12 edits - Changed screw hole size for servo driver board and gave more clearance for chassis pins. This should make assembly easier

8/23 edits - I modified the parts slightly to allow more room for the pins on the base plate, added battery straps, and enlarged and moved the screw holes for the camera (Note - the camera hole pattern now matches the wide-angle camera and is now wrong for an official RPI camera)

Printing tips - Print in PLA or ABS. The roll cage should be printed with the "legs" up in the air. Depending on your printer holes may need to be drilled after printing.

Also included is a .dxf file if you want to laser cut a top plate.

For original Fusion 360 Files go to: http://a360.co/2pf3Dam

If you are doing a bulk build consider this version: https://www.thingiverse.com/thing:2566276

More from Robotics

view more

All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

I'm not sure how these parts were originally modeled, but if there's any chance the author could provide OpenSCAD files for this model I'd be quite pleased to use them. Thanks in any case, I had a wonderful print!

Unfortunately I did the parts in Fusion360. As far as I know there is no way to translate between the two.
Best,
AC

Ok, understood. It's a really nice design in any case - love how it serves as a handle for the car as well as roll-cage.

The Roll_Cage prints better upside down( dead bug style ) and I used OpenSCAD to do the positioning:

module rotateCamMount () {
translate([10,0,83.0])
rotate([0,8,0])
rotate([-90,0,0]) import("Magnet_Roll_Cage_v2.stl");
}

The Plate needs re-positioning too:

module rotatePlate () {
translate([25,0,0.0]) // -75 works get just the camera mount above 0,0
rotate([0,0,0]) //-2.9,0,0 is close
rotate([90,0,0]) import("Magnet_Plate_v7.stl");
}

But it also needs the clip slots deepened and widened since a few members of the club had problem and had to grind the plate width at the pins. I deepened the slots from 1.5mm to 2.0mm deep.

module rPiPlate() {
difference() {
rotatePlate();
addPlatePinClearance();
}
}
module addPlatePinClearance() {
platePinH=3.0;
plateH=5.0;
pinSlotW=10;
pinSlotL=25;
//end 1
translate([90,-12.5,plateH-(plateH-platePinH)/2]) cube([pinSlotL,pinSlotW,plateH-platePinH],center=true);
translate([90,12.5,plateH-(plateH-platePinH)/2]) cube([pinSlotL,pinSlotW,plateH-platePinH],center=true);
//end 2
translate([-85,-12.5,plateH-(plateH-platePinH)/2]) cube([pinSlotL,pinSlotW,plateH-platePinH],center=true);
translate([-85,12.5,plateH-(plateH-platePinH)/2]) cube([pinSlotL,pinSlotW,plateH-platePinH],center=true);
}

Top