I’ve got a new robot in the pipeline:
Read below for more details, and watch the latest video on it here:
It’s a mostly 3D printed four wheel drive off road robot called Rover. Why a rover? Well, after I built the robot arm joint, I needed a way to drive the motor.
I started working with motor controllers, built a test fixture, and eventually started playing with planetary gearboxes. Bonus slow motion video of the fixture here.
Once I started to look at mounting a motor in a planetary gearbox, it became clear that a) I could make a four wheel drive robot by just putting some wheels on such an assembly, and b) I’d prefer to use planetary gearboxes in my robot arm.
Thus, my new robot “Rover” was born.
It’s still very much a work in progress. The suspension design is currently “how can I get all four wheels stuck together?” and I really made no effort for the suspension to work properly. I’ll improve that in the coming weeks, but what I’ve got for now is enough for me to mount the electronics and start writing software.
The robot will use a Raspberry Pi with a real-time kernel patch running a motion control loop that sends out motor commands over a CAN bus. That way all four wheels will be closely controlled. It will use four VESC motor controllers which are designed in KiCAD and are totally open source. They support CAN bus natively and I’m using an open source CAN bus adapter called CANable from Protofusion for comms. While I could have used the onboard USB, CAN is really a superior protocol here due to lower latency and better high speed behavior. I’ve tested the adapter with the VESC and it works well. Note that linux users will want to upgrade the firmware on the CANable to show up as a native CAN device - it ships with a serial based firmware to satisfy Windows users.
My current next steps are to mount the last two motors (more of my 3D printed stainless steel shaft adapters just arrived from Shapeways) and bring up the drive system electronics and software.
After basic remote control is functional, I’m going to use a Movidius/Intel Neural Compute Stick to run NVIDIA’s TrailNet for trail following. That just requires a monocular camera and I’m hoping will be relatively easy to bring up. Beyond that I’m interested in using an NVIDIA TX2 and a stereo camera for some more advanced work. I have no plans to run ROS on the robot but I may go that route depending on how I end up using it. If it’s just doing trail following ROS isn’t necessary.
Ultimately I’ll be happy if I can make the robot follow me on hiking trails, but it will be fun to see what else I can do with the platform.
I’ve got a gallery of more pictures here:
And you can fork and edit the design yourself for free using OnShape in the browser. https://cad.onshape.com/documents/456d1f84fb77a5beb824aec7/w/15d52f59f17284e440ab75b8/e/94c90c27c21ba943d069e251
The design is open source and licensed CC0.
You may also notice that Rover is beginning to seem a little like R34. I’m building robots you can build in a small shop so that we can have a new kind of socialism. Read more about this in The Machine.