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

Robots Australia Menu

Robots Australia Home 

Quadruped4 Robot

Biped Concept Discussion

Earlier Work

Robots Australia Blog on Blogspot

My Workshop 

Servos for Robotics 

Dynamixel AX-12 

Useful Links 

Contact Robots Australia

Jan 2009 Latest News...

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

Concept

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.

Why a physical robot at all instead of a simulation?

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.

Evolution of a robot...

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

Dynamixel Robotics Controller

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.

 Features include;

  • USB Connection to a host PC (capable of 920.6k). Note that this will really only be used for local connection/debugging without the WiFi link.
  • Lantronix WiPort Module (capable of 920.6k) as the primary communications between robot and PC.
  • 2 x AX-12 Dynamixel Servo TTL multidrop ports. Each one is capable of supplying about 7A.
  • 2 x RX and DX series Dynamixel Servo device RS-485 ports which can operate concurrently with the AX servos. Each port can handle about 7A.
  • Separate MOSFET switched power supply input connectors for the two AX ports and the two RX/DX ports, allowing externally connected power supplies to be switched on and off.
  • The main battery power can be switched on/off via an on-board MOSFET and passed to a switched power output connector. This can be used to supply other electronics such as servo power supplies.
  • Total current draw from the Lithium Polymer battery pack measurement, auto turn-off when voltage limits are reached – low bat warning LED.
  • Monitoring of the individual cell voltages in the 3 to 5 cell LiPoly battery pack.
  • Total system power soft switch control – push button turn on, processor controlled turn off (either from pressing power button, WiFi command, or low battery condition).
  • FRAM non volatile storage for firmware parameters
  • Serial interfaces to two separate off the shelf serial digital camera C318 modules which are 115.2kbps TTL. This will provide two JPEG encoded video streams (stereo) at approximately 160x128 resolution with approximately 3fps.
  • Provision of 8 analogue inputs with buffering suitable for pressure sensitive resistors.
  • Provision of 8 general purpose protected digital inputs/outputs, primarily for tactile switches.
  • On board 3-axis MEMS accelerometer
  • On board 1-axis gyro and 2-axis MEMS gyros for full 3-axis sensing.
  • Piezo transducer for simple sound output.
  • A basic audio codec has been included onboard, with 8 bit resolution at 8kHz sample rate full duplex buffered audio input and output. An onboard microphone and onboard speaker with software volume control are also present, in addition to connectors so that off-board microphones and headphones/speakers can be connected up.

Mechanical Design

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.

Body Materials 

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.

Power System and Actuators

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!