What I learned!
- The robot currently stands well enough - essentially it is a table! :)
- When trying to play with the motion of the legs, the table is naturally unstable => un-table! which means it falls over easy.
- I started with basic motion of a single leg. This was fine, helped tune the bugs out of the Arduino code. however, since the other legs were not powered, they could not hold their position well.
- Idea! Teach the robot how to stand first! Then we will move on to a lean in one direction and back.
- The Chassis needed some feature upgrades - so I started the next iteration
- a cable hook for the servo power - power for the servos comes from a 5V 2.5A phone charger and USB cable. I cut off the end and use the power and ground to power the PCA9685.
- The PCA9685 has all the servo connectors going to it. I need to mount it. For this iteration I just screwed it in to one of the empty servo braces. good for today, but next design will have a mount.
- The Arduino Mega I am using to prototype with also needs to be on the chassis. right now I have a 'helping hand' hold it. But the jumpers are a tangle and mixed in with the servo tails. So, I have added braces and screw mounts for the board. (unfortunately the Mega2650 has really weird screw hole alignment. I will print just a couple of the posts for now.
- I will have a tether of the servo power and the Arduino connection (to the PC) for now, but I need to anchor them so they don't jerk the robot around.
- Also in this build, added the hind leg knee servos.
- Lengthened the robot, to account for extra spacing needed by the knee cams.
- Finally, I added a "roll bar" to the top of the bot, 1) protect the boards, 2) to grab when it is falling, 3) because it looks cool.
- What did not make this iteration:
- Battery holders for servos and boards
- button braces for on/off and override button
- When testing I noticed that I needed to either 1) pull the plug on the servos to get them to relax. or 2) upload "blink" to stop the Arduino controlling the legs. This is leading to the need to put the robot into a 'safe mode' when testing. I figure this can be done two ways
- add an interrupt to the Arduino code and a subsequent push button to the bot, that will put the code into a 'safe' loop while i reset legs etc.
- add a simple power switch to the servo motor power line, to disable the servos quickly and safely.
|next iteration of the body|
Latter, after printing... there is a slight attenuation between the 3D CAD and the printed result. Not all of the rollbars printed, and the gcode on the braces needs to establish the servo rail before crossing. Raising the brace by 1mm should solve this. The mounts need to be imbedded more in the brace as well - they came right off with any pressure. Good notes for the next iteration.
With everything screwed back on, and a power switch thrown in. Here is the current version of Mojo The Compliant Quadruped Robot! Good enough to go back to the Kinematics!