Saturday, September 15, 2018

Bug: Rapid Prototyping the Bug (#1)

In my imagination, there is an epic battle in my Garden between "The Gardener" Robot and Slugs that eat my Marigolds! "The Gardener" will be one of the many members of my Totally Not Evil Robot Army.  Now, I just need to render the gap between imagination and realization.

The Gardener vs. Slugs!
To get there, "The Gardener" will need a good set of Quadruped legs!  Getting a Dynamic gait with a Compliant Quadruped can be tricky. I wanted to have some form of quick success in getting "Mojo" to walk. Perhaps it would be best to quickly build a 'Static' Quadruped and learn to make that to walk first.  This would provide an opportunity to work on the software for the gait sequence and understand a little more about getting a quadruped to walk - albeit slowly. And it will be really cool!

I decided to build a Quadruped with only 2 servos (2 degrees of freedom) per leg. These types of robots look anthropomorphically more like Spiders or Bugs rather than Dogs or Cats.  So, I will use a working name of "Bug" for this beast!

From imagination to Sketch - the pantograph leg
Once I have an idea in my imagination about what it will look like, I like to create a basic sketch on paper of what the main mechanism will look like.  Then I with some basics in mind, move the sketch/idea into OpenSCAD to design the 3D parts.

OpenSCAD image of the Bug Leg with two pivots
In this design a simple 'pantograph' linkage will be used to move the leg up and down. a single servo can perform this action. one benefit of the pantograph design is that not all of the weight of the robot will be put on the servo. I feel this will be very important for all servo designs.

pantograph leg for the Quadruped

The design is moved from OpenSCADA to Slic3r to gcode and the 3D printer.  Parts are printed and tested.  I cycle through a few design iterations this way, to fine tune locations of the servo braces, clearances, and sizing. It is very easy to overlook placements, and having incorrect tolerances.

Physical prints next to sketched ideas
Here the legs are connected with servos and the microcontroller

The design is checked along the way to make sure each part fits correctly. Having the physical piece is extremely important to the design process. It is hard to realize the small corrections needed from just a CAD program.  For instance, the ball pivot of this construct  was too small in the 3D printing process to handle the forces of the screw that was used, forcing it causes it to split. This leads to modifications in the design before I print the next set of legs.

Printed leg connected to controller and battery

Early tests with the servos, driver, and microcontroller, are essential for validating the mechanism.  it is also useful for starting the code base that will be used to control the legs.  Once satisfied that 1 leg will work properly, I printed the remaining 3 legs of the Quadruped.

OpenSCAD drawing of the complete Bug - version 1
Using OpenSCAD it is easy to create a drawing with each of the pieces in the correct locations. With this approach, it is possible to draw out what the finished robot will look like.

Bug Quadruped almost assembled
Here on a messy workbench is the almost (3 of 4 legs) assembled prototype.  Fitting all the pieces together and making room onboard for the battery, microcontroller, and servo driver board.  

From idea to prototype quickly!  Most of the design was done on a Sunday morning, while printing was done every few hours during the week.

The next task will be to create a stable walking gait, this is surprisingly non-trivial.  I will share that in a future post.  Time to get this beasty walking!!

No comments:

Post a Comment