[ Home | Comics | Robots | Humans | Projects | About | Account
RobotsAustralia is currently certified at Journeyer level.

Name: Murray Cox
Member since: 2007-07-24 23:51:46
Last Login: 2008-07-24 00:11:31

FOAF RDF Share This

Homepage: http://robotsaustralia.googlepages.com

Notes: My interest in robotics goes back to secondary school where I struggled with mounting the Z80 based home computers of the time onto aluminium chassis with underpowered scrounged motors.

Nowadays, after working as a professional electronics/systems engineer for over 10 years, I can apply modern tools and techniques such as parametric 3D CAD design to my robot building.

I have constructed several robots in the past, including a vision based wheeled mobile robot capable of identifying chair legs and other obstactles and navigating across a room. I have also built test platforms and controllers for pneumatic cylinders, and DC motor controllers for cordless drill motor/gearbox combinations.

The current project is a robot imaginatively called Quadruped4 which uses a custom controller I have designed with two Atmel micros and small networked servo motors (Dynamixel AX-12+) to implement a four legged robot about 20cm high and 30cm long with stereo vision and other sensing capabilities. Control is via bigger computers over a WiFi link. The current status of the project is about midway - construction is nearly complete with just a few custom milled parts yet to make, and a lot of firmware to write!

Projects

Recent blog entries by RobotsAustralia

Syndication: RSS 2.0

12 Jun 2008 (updated 8 Jul 2008 at 02:22 UTC) »

Quad4 robot getting assembled

Well, it's been a good 6 months since I received the laser cut acrylic panels for the quadruped robot and last posted progress on this blog. In that time I've got married, moved house, and starting fixing up both the old and new houses (still in progress)! Hopefully I can be forgiven for slow progress on the robot...

Finally I have machined a couple of the plastic parts I needed to assemble the robot and made a start on assembly. First I needed to move the milling machine from the old house (no small job) and get it set up.

These two images show the assembled progress versus the cad model of the whole assembly. I have made two of the custom plastic brackets for the AX-12 servos and have fitted them to the front left shoulder. There are two matching brackets required for each shoulder (click on these images for higher resolution).

I've also done the angle bending on the top acrylic cover and used velcro patches to hold it on. I was very happy with how the bends came out, though the job is a lot simpler than the bending needed for the head. I was also happy with the machining on the shoulder brackets, though it was very tricky to do, involving a lot of planning ahead of how to best grip the part in the vice so it was held firmly enough. Took about 3 hours each for the two I've done so far, and there's 8 needed in total...



Here is a close-up of the HDPE shoulder brackets. The two brackets needed for each shoulder are a mirror image of each other forming a left and right pair. While the standard Robotis brackets available in the Bioloid kits might do the job, these custom brackets allow for the minimum gap between the two servos, just enough for clearance as the shoulder swings outwards.

Just to check on how much weight he's gaining; the scales say 857 grams so far. The target weight for the whole robot including battery is around 2kg.



The next steps involve machining the other 6 shoulder brackets needed, thermoforming the head plate, drilling the holes needed in the shin parts, and making the feet. Because I have a fair bit on the go at the moment, it is just a matter of grabbing an hour here or there to progress the build, but at least it's getting exciting with real physical assembly taking place!

Syndicated 2008-06-12 01:26:00 (Updated 2008-06-12 02:09:44) from Robots Australia

3 Mar 2008 (updated 3 Mar 2008 at 02:31 UTC) »

Apologies for the formatting in this syndicated version of my blog - the page width comes out really really wide

and the embedded images and video don't appear correctly either. The issue is known, and hopefully will be fixed sometime!

In the mean time, to read my blog please visit;

http://robotsaustralia.blogspot.com

and to visit the web site with background info;

http://robotsaustralia.googlepages.com

16 Jan 2008 (updated 17 Jan 2008 at 00:01 UTC) »

Acrylic panels for the Quadruped robot arrived!

The nice people at Pololu have produced the laser cut acrylic panels which make up most of the body components of the Quadruped4 robot, and they arrived here in Melbourne yesterday.

I put together the base plate and side walls, and mounted on the robotics controller board, so I could get an idea of how it will all come together.

These two images show reality versus cad! There's a bit of catch up to do... But the slots in all the panels aligned well, and the PCB fitted in place correctly, as did the WiFi antenna tail.

I have a bit of precision acrylic bending to do to create the aesthetic bends in the top cover, and especially the head with its "Johnny 5" eyebrows.

I also have to purchase the rest of the AX-12 servos (I only have two at this point), and cnc cut the shoulder brackets which are custom designed offset brackets for the Ax-12's.

Syndicated 2008-01-16 04:17:00 (Updated 2008-01-16 23:55:21) from Robots Australia

21 Oct 2007 (updated 21 Oct 2007 at 11:01 UTC) »

First servo moves over WiFi, and Asimo in Melbourne

It has been a full two months since the last post here, it has been difficult to find much time recently to work on the Quadruped4 robot.

Finally though I reached a point where I felt I had achieved enough progress to warrant a blog post. I have written enough firmware for the two Atmel processors on the Dynamixel Robotics Controller to get AX-12+ servos moving under control of a laptop connected via WiFi.

<object width="320" height="266" class="BLOG_video_class" id="BLOG_video-17168ab7368d8bfa" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAAJRKzAPfu3a7ks9WIkYJqTFIMCprFzPFaGXYQBoJSjPIG9TEc9aw6YRnrXNFWh0UVOglXV_rFZK2eUG8iOEV6Dz2VufCQSCTV7Gp5cTwid0Q8lBJ4Q07vhpJdJkquOlwjraMfpbN5VeS0JX29P1Cv_vUu6q9IjW3i6eh5PbrGO2lQBzi7nr5S45QGObfzy_PFZ5KkcAPxHVDWyVAhBZ6UqGjnp-IrYueazcsRqgAA8Tx%26sigh%3DUILHOL8BGBqIg6FreiS1Lv8Lp00%26begin%3D0%26len%3D86400000%26docid%3D0&nogvlm=1&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D17168ab7368d8bfa%26offsetms%3D5000%26itag%3Dw320%26sigh%3DZUhlbDcKRayg94_68C6RFb0Kxhs&messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"> <param name="bgcolor" value="#FFFFFF"> <embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAAJRKzAPfu3a7ks9WIkYJqTFIMCprFzPFaGXYQBoJSjPIG9TEc9aw6YRnrXNFWh0UVOglXV_rFZK2eUG8iOEV6Dz2VufCQSCTV7Gp5cTwid0Q8lBJ4Q07vhpJdJkquOlwjraMfpbN5VeS0JX29P1Cv_vUu6q9IjW3i6eh5PbrGO2lQBzi7nr5S45QGObfzy_PFZ5KkcAPxHVDWyVAhBZ6UqGjnp-IrYueazcsRqgAA8Tx%26sigh%3DUILHOL8BGBqIg6FreiS1Lv8Lp00%26begin%3D0%26len%3D86400000%26docid%3D0&nogvlm=1&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D17168ab7368d8bfa%26offsetms%3D5000%26itag%3Dw320%26sigh%3DZUhlbDcKRayg94_68C6RFb0Kxhs&messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"></embed></object>

I also had to change the small test application I had written to send AX-12 commands via serial to use a TCP/IP socket connection, but once this was done, I had a servo happily moving back and forth as I dragged the mouse over a dial control. May not seem like much, but this is a pretty important milestone I think. If you look really hard at the fuzzy video, you can see the temporary wires tacked on to add a JTAG interface on the secondary micro (secondary micro handles the 1Mbit/s servo comms). I had a fair bit of trouble getting the SPI link between the two micros going well, and a borrowed JTAG debugger was very handy.

<object width="320" height="266" class="BLOG_video_class" id="BLOG_video-bb12bb1e543a5fff" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAABqQx1oQmSnIaATdhug8I96yl37Zb6Zn1W2FwH_IoSHpQfeqGG2yYhQsDdJJ_o_0KFiEJmvAqWd3ZFVFnioZJk9sbp_m9LJR9j0XjbwbX1594BFmBnABdyfL83n3uAaQhYOkfAh6ovuyFnmzCF5wWbgllo2wkJeFitRscj4Z76kUFOwRhzSeBy43YXhbqMQFqZAxST5h3Pz294iT3S3RQbNcBy2wPpcH2PAk3vQXWR4k%26sigh%3DpVbRtoQ8v6DcoyRWDBW5SgHMar4%26begin%3D0%26len%3D86400000%26docid%3D0&nogvlm=1&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Dbb12bb1e543a5fff%26offsetms%3D5000%26itag%3Dw320%26sigh%3DnRCICs9vCgOqiPrWp7laYc2pchM&messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den"> <param name="bgcolor" value="#FFFFFF"> <embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fvp.video.google.com%2Fvideodownload%3Fversion%3D0%26secureurl%3DqgAAABqQx1oQmSnIaATdhug8I96yl37Zb6Zn1W2FwH_IoSHpQfeqGG2yYhQsDdJJ_o_0KFiEJmvAqWd3ZFVFnioZJk9sbp_m9LJR9j0XjbwbX1594BFmBnABdyfL83n3uAaQhYOkfAh6ovuyFnmzCF5wWbgllo2wkJeFitRscj4Z76kUFOwRhzSeBy43YXhbqMQFqZAxST5h3Pz294iT3S3RQbNcBy2wPpcH2PAk3vQXWR4k%26sigh%3DpVbRtoQ8v6DcoyRWDBW5SgHMar4%26begin%3D0%26len%3D86400000%26docid%3D0&nogvlm=1&thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3Dbb12bb1e543a5fff%26offsetms%3D5000%26itag%3Dw320%26sigh%3DnRCICs9vCgOqiPrWp7laYc2pchM&messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den" type="application/x-shockwave-flash"></embed></object>

On another note, this week Honda's ASIMO robot appeared in Melbourne as part of an Australian tour. Of course I had to go see it even though the show would have pretty much zero technical content! Here is a bit of a sample of some video I took during the show as I sat among all the kiddies.


Back to the Quadruped4 robot, and the next step in construction. Now I have enough electronics and firmware going to move servos over WiFi I think it is time to start on the physical build. I have the design finished to a buildable level I think, and in the interests of getting something going sooner rather than later, I will start on construction. I am quite happy with the attached render of the latest cad model - it looks kind of like it is on the surface of Mars...

Syndicated 2007-10-21 06:28:00 (Updated 2007-10-21 10:01:35) from Robots Australia

21 Aug 2007 (updated 21 Aug 2007 at 04:01 UTC) »

WiFi module tested sucessfully!

Today the Lantronix WiPort wifi module on the Dynamixel Robotics Controller board was successfully tested!

Initially I had quite a time getting the wifi module going - mainly due to confusion regarding the two serial ports (3.3V logic level) the WiPort provides. On the controller board I had designed port 0 to run directly into the main AtMega2560 micro, and the secondary port 1 to run through a RS232 level converter IC and to a DB9 serial connector on board. This port was intended to be used as a serial configuration port only, a means to initially configure the wifi module, and to act as a fall back connection for fault diagnosis if the wifi link was not working for any reason.

Unfortunately the Lantronix documentation for the module, although it mentions both serial ports, doesn't really draw any distinction between the operation of them - as I read the documents, either port could support their serial configuration console.

So, when I fired up the board and tried to enter the 'xxx' required to drop the module into console mode from the DB9 connector - nothing. I went through all sorts of debugging steps because I didn't know whether module, my pcb or the RS232 level converter circuitry was at fault, all to no avail. I did think that perhaps the serial configuration console feature was only available through port 0 (which is connected to my Atmel micro, which currently has no firmware in it to speak of...), however this was harder to test.

I resolved to write some firmware to just pass through a connection from the FTDI USB chip on board to the WiPort module transparently. This way I could use hyperterminal to talk to Port 0 of the WiPort as if I was connected directly to it. I then ran into more difficulties - the USB port was not working - not even getting recognised on the PC at all!

Eventually I found an incorrectly loaded resistor (wrong value...) in the USB circuitry that was preventing the FTDI chip from functioning correctly. Once that was fixed, the USB sprang into life, and I could open Hyperterminal connected to com4 (assigned to the USB serial). Wrote some quick firmware for the transparent link from USB to the WiPort - basically any characters received from either port are passed across to the other. Turned it all on, entered the 'xxx' to jump to the WiPort console, and voila! Success. I could access the menu setting up all the parameters in the WiPort. Next came some rapid learning about AdHoc and Infrastructure modes in wifi networks. I had initially wanted to use an adhoc connection between my laptop and the robotics controller so the whole setup would be portable outside my house, however I couldn't get this to coexist with the infrastructure mode I use at home with my wireless router. Basically I would have to reconfigure my laptop wifi everytime I wanted to use the robot... not very satisfactory. So I ended up just configuring it to use the home network router, which I suppose I will have to take with me if I want to demonstrate the robot elsewhere.


Now I had the WiFi module basically going, I thought of the next test... Since I had firmware in the Atmel to pass through comms from USB<-->WiPort I could telnet from my notebook using hyperterminal to the WiPort Port 0, which would get passed through to usb, which I had open again in hyperterminal on the laptop. This worked! I effectively had an elaborate loopback between hyperterminal windows, and could type in either window and see the results in the other. I then wanted to see whether the WiPort would support simultaneous connections to Port 1 at the same time as port 0, so hooked up a serial cable from the laptop to the DB9 connector on the board, another hyperterminal on com1, and a fourth hyperterminal window telneting to the WiPort Port1. Amazingly, all this worked as well! The image above has this crazy scheme illustrated, two simultaneous telnet sessions, one looped back through an FTDI usb serial connection, the other looped back through the DB9 connector onboard the controller to the laptop com1 serial port!

So now I have tested some large slabs of the Dynamixel Controller, it is time to get it to actually do something halfway useful. I think the next step is to write firmware to link to the Robotis Dynamixel AX-12+ servo network, and then get some software on the laptop to move a servo over the wifi (or even the usb) link. When that happens I am sure I will have to post an blog entry (even though others may not be as excited about the event as I am...).

Syndicated 2007-08-21 02:05:00 (Updated 2007-08-21 03:30:21) from Robots Australia

7 older entries...

 

RobotsAustralia certified others as follows:

  • RobotsAustralia certified cschur as Master
  • RobotsAustralia certified devscott as Journeyer
  • RobotsAustralia certified SomeoneKnows as Apprentice
  • RobotsAustralia certified dwhall as Journeyer
  • RobotsAustralia certified jkkroll as Apprentice
  • RobotsAustralia certified ausrobotics as Apprentice
  • RobotsAustralia certified motters as Master
  • RobotsAustralia certified facontidavide as Master
  • RobotsAustralia certified davidbuckley as Master

Others have certified RobotsAustralia as follows:

[ Certification disabled because you're not logged in. ]

X
Share this page