|Quadruped Robot - "Pedro"|
Four legged creation based on Dynamixel servos, a custom controller, and a WiFi link.
"PEDRO" - Plastic Electric Dog RObot (grin)
Return to the home page of Robots Australia
Things are getting exciting now;
The physical robot is now fully assembled and wired up except for the onboard battery which will be purchased and fitted after some testing confirms the bot can take the weight comfortably. Individual joints can be moved under software control from a WiFi connected computer.
The robot is already walking around in simulation land using Microsoft Robotics Developer Studio and a set of software services written for the MRDS environment. I've written a generic contract for the control of the robot, so that the same software (for example a walking algorithm using differential drive signal inputs) can be used to control either the simulated robot or the real physical robot. This makes development and testing much easier (and less prone to damaged servos due to software bugs!). Work is underway on the MRDS service which will interface the physical robot to the robotics studio environment, and is progressing quite quickly, so hopefully should see the real robot walking around very soon. Currently the high level control is just remotely done by me using an Xbox wireless controller and the Dashboard service of MRDS.
For the latest blog posts describing the developments, please visit http://robotsaustralia.blogspot.com
The Quadruped4 design (Pedro) is a small four legged robot, with three degrees of freedom on each leg, a two degree of freedom head with stereo vision, and a variety of sensors. The robot is approximately 2kg in weight and is about 30cm long, standing 20cm high at the shoulders. The actuation is via Robotis Dynamixel networked servo motors, controlled via a custom designed control and WiFi communications board. Sensor inputs will include stereo colour cameras (quite low res and low frame rate to limit the necessary bandwidth), force sensors on the four feet, joint loading and position feedback on all joints, and overall power usage.
This robot is intended to form the hardware platform on which I would like to test out implementations of 'cortical like' software. The higher level software will be run on standard desktop or laptop computers with WiFi communication to the Quadruped4 robot. The onboard controller really only acts as little more than a communications hub, though I may extend its role to handle some more real time control tasks, sort of analogous to the nervous system of a biological creature.
I have two main reasons for building a physical robot. The first is the concept of 'embodiment' whereby true intelligence may be easier to achieve with the rich sensory input and unpredictability of a real environment and physical body in contrast to a simulated, perhaps quite simplified environment. The second reason is a bit more practical - any meaningful results or indications of intelligence will be a lot easier to demonstrate (and a lot more fun) on a real little creature.
The Quadruped4 name came about because it was the fourth concept (fully formed concept anyway) I had for a quadruped robot. The first three concepts were never constructed, although Quadruped3 almost got there. For more of the history see the page on Earlier Work
The specially developed Dynamixel Robotics Controller for the Quadruped4 creature has evolved from the PWM Servo Robotics Controller design created for Quadruped3. Some features were kept, and others were added or adjusted in light of the knowledge gained during the construction and testing of the older controller. The old concept of host/robot communications via the Cablefree USB connection allowing USB web cams to be used has been dropped, and the controller now uses a WiFi link that effectively operates at 920.6kbps full duplex over which control and sensory information including two low resolution image streams from TTL serial connected JPEG camera modules will be buffered and sent.
The Robotis Dynamixel AX-12 Servos which are the sole actuators in this design are rated at 16kg.cm torque at 9.6V, however that is listed as holding torque, and I have tested real working torque limits of 8kg.cm or less. This really limits the final weight of the robot, and Robotis themselves have a recommendation of 2kg maximum robot weight. Also important is the actual configuration of limb lengths and weight distribution so that servos are not overloaded.
For the body of the robot I came up with the idea of using plastic panels, either acrylic or polycarbonate (preferable), in an interlocking fashion to hold the whole thing together. I have used the online laser cutting service offered by Pololu which is aimed specifically at robotics experimenters to cut the panels, which has allowed precise tabs and slots to hold the robot together and complex curves to soften the look of the robot. I also have aluminium rods with internal threads tapped into them at key points to hold the side panels together and the battery in. These might be replaced with plastic at a future stage to lower the weight a bit.
Although aesthetics probably shouldn't be top of the list, I think a complete design should have had thought put into how the robot is perceived by others as well. These CAD images are pretty much from the final design stage of the robot, though the image below right is missing the nicely folded acrylic eyebrows.
The legs themselves are mainly formed via the AX-12 servos themselves, and the injection molded plastic brackets which are supplied with them. The Robotis supplied brackets are lightweight, very strong, and really too good to ignore. The feet use rubber half spheres (actually squash balls cut in half), eliminating the need for ankles, as the sphere will always present a consistent contact area to the ground, regardless of the joint angles. The rubber however will mean that a high amount of friction between foot and floor will occur, which might make effective walking gaits harder to achieve.
The battery technology of choice is Lithium Polymer. There have been great advances in this type of battery in the last few years, and what's more it has been adopted by the model RC aircraft hobby industry. This means high performance batteries are quite readily available. The best energy density option I could find was an 11.1V 3 cell 8000mAh Thunderpower brand battery which weighs in at 474g. Using this weight and the calculated mass from the CAD model, I expect the weight of the robot to be approximately 2kg. This weight is quite high considering the AX-12 servo torque rating, which is listed at 16kg.cm at 9.6V holding torque. I performed some testing on the servos, and worked out that the 11.1V can be tolerated by the servos (perhaps with reduced life), and that the actual usable working torque limit is approximately 8kg.cm. I had to make sure that this torque on the knee and hip joints would be sufficient to allow the robot to rise from a crouching position, so I created a simulation with the free package FreeCad8, within which I could apply mass to components, and various torque levels to different joints and observe the effect against gravity. The animation above is a result of using 7kg.cm of torque on two knees and two hip joints, and shows that the simulated robot struggles a bit, but manages to rise. With all four limbs participating, the robot should comfortably manage getting off the floor!