Quadruped robot nearly together, and MRDS simulation work
Hi everyone, here's an update on the recent work I have been doing on assembly of the quadruped robot design, and also some adventures using the Microsoft Robotics Developer Studio package. I also talk a bit about some experimentation with casting plastic parts using silicone moulds.
As you can see from the picture, the robot is getting near completely assembled now, the only parts remaining are the mounting of the two cameras on the head. No wiring up of servos has been done yet, and the battery pack hasn't yet been mounted (or purchased), but still it's looking more and more complete. The shoulder brackets you can see attaching each leg to the body are actually urethane plastic parts cast in a silicone rubber mould which I made using the original milled plastic version of the shoulder brackets. The milled HDPE version took me about 3 hours to machine, so I was looking for a faster way to make a few of these things. I have never done any plastic casting before, and this is a fairly tricky part to start with I think, as it needed a two part mould and had features like counter sunk holes which I chose to try to include in the casting. The brackets didn't come out as good as I'd hoped, with difficulties around the holes, bubbles in the casting and various imperfections all over and they needed a lot of cleanup, but they are functional.
As an interesting aside, since making these I discovered an interesting company on the net, Shapeways, who have an online 3d printing service where you can upload a 3d model, and get an almost instant quote to have it 3d printed in a choice of a few different materials. If you click on the Gallery and search for AX-12 you can see my parts... Price seems fairly reasonable, so I have actually got an order in for a set of shoulder brackets for the quadruped robot, as a concept test to see if the material is strong enough and whether this could be a good robot prototyping resource.
The feet for the quadruped are a simple design based on half a squash ball (would you believe!) which will give a uniform contact area with the ground during movement. I had originally intended to use some force sensors I have within the feet, however I have instead made a simple variety of the foot which has no sensor at present. During the construction of the feet I did have a good idea (I think) to use a low cost gas pressure sensor and make the squash ball hemisphere airtight - that way force from any direction on the ball will result in a pressure change and should be able to be sensed. That's an idea for the future at the moment.
I have been working recently on desktop software support for the quadruped, specifically Microsoft Robotics Developer Studio services to support the quadruped. Although I don't plan to limit the PC end software to MRDS alone, I did want to evaluate the use of Robotics Studio as a means of simulation (especially to develop some simple walking gaits initially) and also perhaps as a rapid software prototyping platform which might enable me to get some interesting behaviours going quite quickly using services developed by other people linked to the hardware of the quadruped robot via a custom MRDS service I would write. It is early days and still very much a work in progress, especially since C# is not my native tongue yet, but I got a physics simulation going and also a very simple walking motion (using the crawl gait).
Here's a video of the simulation environment running;
The crawl gait I have used is pretty unstable, and it doesn't take much to knock over the robot in the sim. However I intend to improve it by adding some inverse kinematics and a better method of controlling group moves of servos. I also need to add proper support for the differential drive service in MRDS which will enable simple steering and control of the robot using xbox wireless controllers and even the nintendo wiimote. Of course all this is just essentially to demonstrate the capabilities of the robot platform (and have a bit of fun with it) - eventually I would like to implement a brain like hierarchical memory network with the grand aim of teaching it to walk without classical control concepts.