Wednesday, December 16, 2009

Coming Soon: NUKE, and other ramblings....

It's been a bit quiet here, but that means stuff is getting done. NUKE: the Nearly Universal Kinematics Engine under development throughout this fall is nearing release -- a beta version should be out this weekend! This is the same software that powered all 3 of the winners of CNRG's Walker Challenge.

As we approach release, I've been adding a number of things into my code. Most people have probably noticed that I've putting a voltage divider circuit onto an analog port to measure the battery level (LiPOs don't like low voltage levels...). Up at CNRG, I had a bit of "duh, why didn't I think of that" moment when Jon Hylands suggested using the AX-12's onboard voltage measurement. So, without further ado, here's a snippet of code from Jon that will save your LiPOs (it's also at the startup of the default NUKE sketch):

float voltage = (ax12GetRegister (1, AX_PRESENT_VOLTAGE, 1)) / 10.0;
Serial.print ("System Voltage: ");
Serial.print (voltage);
Serial.println (" volts.");
if (voltage < 10.0)

If you are running this code at startup, you'll want at least a 1000ms delay beforehand, or you won't get a real voltage reading.


Friday, November 27, 2009

CNRG Report, And A New Robot

So, Issy didn't fare so well in the Fire Fighting competition, he had a hard time staying off the walls, and in the one run he made it into the room his power connection broke off -- as they say at NASA, we've had an anomaly.

However, Issy did win the walker challenge, with an awesome time of 17sec.

2 other ArbotiX powered walkers took 2nd and 3rd in the walker challenge, so it was an awesome weekend for Vanadium. The bot that took 3rd was only finished minutes before the competition, we used NUKE to put an IK based gait on it less than an hour before game time, in the end, there wasn't enough time left to get the sensors mounted so it did the course with dead reckoning.

Since CNRG, I've been cleaning up NUKE code, and working on the Mammalian 3DOF template. I'm working on a new walker inspired by Little Dog, he's about 2/3 scale:

As for NUKE, a beta release should be out in 2-3 weeks, it'll be Alpha-release available via SVN late next week. We're shooting for PyPose V1.1 with NUKE to be out in early January.


Sunday, November 8, 2009

Issy Goes Fire Fighting -- The Video

Issy is finally fighting fires, here's a video of one of his practice runs this afternoon:


Saturday, November 7, 2009

Introducing Sally

I've posted a number of 'teaser' pictures along the way, of my latest bot coming together. So here she is: Sally, a salamander-inspired robot. Here's a video of her first steps.

Over the next several months I'll be working on her kinematics and weight distribution to make the walking more refined. And for anyone scared: No reavers were hurt (or disassembled) during the construction of this robot...

On other fronts, CNRG is just 2 weeks away -- but Issy is almost ready for fire fighting... video soon.


Thursday, October 15, 2009

Bioloid Build Tips, #4

More SES Assemblies

I've been assembling a new robot this week, it's using a combination of Bioloid and SES parts.

The photo shows an assembly using SES tubing, SES HUB-08 parts, and the aluminum cubes from SES. I had to enlarge the holes in the red Bioloid parts in order for them to connect to the cube. The HUB-08 fits perfectly on the back of the Bioloid bracket.


Sunday, September 27, 2009

Reaver Demo

I've been working on assembling a Biped for mech warfare for a little while now. I finally attached an ArbotiX to it, and started doing pose and capture:

More pics of Reaver:

Wednesday, September 23, 2009

Bioloid Build Tips, #3

Where to Buy Stuff, Part Two:
There aren't a lot of places to get M2 hardware these days. Your local hardware store likely won't carry it (most don't even carry #2-56 screws, 4-40 being the smallest they stock). Luckily, your hobby store probably has them. The 1/18th scale car craze is great for us robot builders: a number of the models use M2 hardware. The picture to the right shows Reaver's feet attached, using M2x4mm screws from a hobby shop.

Speaking of Reaver's feet, they look familiar, eh? Much of the SES stuff that doesnt specifically hold servos, is compatible with Bioloid if you're creative. The Bioloid brackets hall have 5/8" x 5/8" patterns, which align with many of the SES add-ons. Reaver is using a pair of BRAT feet, and I'm sure everyone has noticed that Issy has SES tube-style legs.


Saturday, September 19, 2009

Beta Testing and Future Work

While the hardware of the arbotiX has been stable and ready to go for months, we've still been working to expand and refine the software suite. Tonight I'm uploading what will probably be the fnal beta release (Beta3b) of the arbotiX/PyPose suite. This latest release features a now fully functional PyPose, with pose and sequence manipulation, the ability to run sequences live in PyPose, and the ability to export the poses and sequences to the AVR. The full download is available on our google code site:

I'd like to send out a big thanks to all of our beta testers. They've been hard at work testing the heck out of the arbotiX libraries and PyPose. I spent some time the other day working with Seth and Ben to refine the PyPose interface. One of the major changes we've made is to lock the servo position sliders when a pose is not selected for editing, this has made the interface much more intuitive to new users.

This evening I spent a while working with Jodie to get her board working with an STK500. I've been using an AVRISP in house for a while, but one of the things I've been doing is carrying over my heavily modified boards.txt and programmers.txt files from release to release... Apparently, somewhere along the way many things have changed in what the stock file now is, which caused a great deal of confusion tonight. Needless to say, I'll be revisting my boards.txt and programmers.txt files tomorrow, and updating our wiki with a better walk through of setting up programmers.

Anyone who has tested PyPose will notice we have a menu called Tools, which really only has the Pose Editor and the Sequence Editor. Looking towards the future, I'm working on two major tools that will be in future releases of PyPose later this Fall. The first is NUKE, the Nearly Universal Kinematics Engine. NUKE will allow users to setup and export an Arduino project comprised of a complete IK engine, custom tuned for the quad or hex, and a periodic gait engine. The second tool will be a command line style interface within PyPose that will allow you to query and edit anything connected to the Bioloid bus on your arbotiX.

A final note is that we're actually running ahead of schedule here at Vanadium, on both the hardware production and software testing fronts, so you should see the arbotiX on shelves at Trossen by the end of the month!


Tuesday, September 15, 2009

ArbotiX Beta 3 Released!

It's finally here! PyPose V0.91 is a complete rewrite of the software, using wxPython as the GUI package. It's world's better than the old release.

One of the great new features is that we finally have a sequence engine.

Features coming later this week (hopefully):
  • Live sequence playback
  • Drop-down selection of serial ports
  • Pose & Capture over a USBDynamixel
  • Encoders library
All of these features have been in the works for a bit, just need finishing touches. I'll also have a video shortly walking through the whole process of creating poses and sequences to make a little droid walker.


Monday, September 14, 2009

Issy Goes Fire Fighting

I've been talking lately about building a walking fire fighter, but I've now finally started transforming Issy from a mech into a Fire Fighter.

Issy's new body is about 2" shorter in both the width and length direction, a necessary adjustment to get him under the 12"x12" rule (yes, I know the Trinity contest allows walkers to be 12"x18", but I intend to take Issy to CNRG, and possibly RoboGames next year, and neither contest has a walker division, so the 12"x12" rule had to be followed).

Issy has a head similar to what I had on GMR. The head has an IR ranger for 99% of his navigation, a sonar ranger mainly for approaching the candle (since the IR gets wiped out), an IR photodiode for fire detection (similar to Crater's sensory), and a ducted fan for fire extinguishing. Issy is sporting a new arbotiX robocontroller, and power is from an 11.1V 2200mAh LiPO. Early tests with IK have shown quite a bit of promise as far as odometry from walking - I've still got a ways to go as far as implementing a geometrically stable gait.

Issy's code will basically be another rework of Crater's (cause heck, it works).


Thursday, September 10, 2009

Bioloid Build Tips, #2

The Bioloid kits from Robotis are amazing. They're an excellent prototyping tool, but there are also a few improvements that could be made. My biggest gripe (and I think most people agree), are the tiny little screws... eesh. 2MM phillips heads are not fun. I've taken to replacing all of my screws with socket head cap screws, this lets me use a hex driver during assembly, and saves a ton of time. Unfortunately, each screw will run you $0.03-0.07, but it's well worth it in the long run. I've been buying my 2mm SHCS in 6mm and 10mm length, and also 3x10mm for the big screws opposite the servo horn, from McMaster-Carr:

M2x6mm: (the most common ones you'll need)

These fairly cheap upgrades save a lot of time, I think I've cut the amount of time spent on assembly by at least 50%. Just make sure you have a GOOD set of hex drivers.


Wednesday, September 9, 2009

Bioloid Build Tips, #1

How to install nuts in the servos:
Line the nut up, use a flathead screwdriver to push the nut into place.


Sunday, August 30, 2009

arbotiX Prototypes

The first full batch of arbotiX prototypes is finally done after a summer of development and testing with the 2 original prototypes (1 of which was used in IssyDunnYet, champion at Mech Warfare 2009).

While prototype boards have gone out to early adopters, we're still working on some of the desktop software. A V1.0 release of PyPose is expected around late September, or the same time that boards should be available from Trossen Robotics.

More information can be found here.


Saturday, June 20, 2009

Report from Robogames

Robogames 2009 is now over. Both of my bots faired quite well.

IssyDunnYet, my entry into the inaugural Mech Warfare event, won the gold medal. We didn't ever get in a real ladder competition, too many bots had major issues, but Issy really did quite well in all of his matches. I've posted a tutorial on how Issy was built, over at the Trossen Robotics Community.

GMR made another appearance, taking second in the Fire Fighting Competition. I'm not too disappointed about that second, he lost to a team from an Indonesian University. They were greeted at home by the Minister of Education apparently. GMR was using a reworked version of Crater's code, including head panning and all sorts of other audience pleasers....


UPDATE: I've posted a tutorial over on the Trossen Robotics Community, that walks through building IssyDunnYet, and is a fairly good reference on building an AX-12 based mech:

Sunday, April 12, 2009

Viva La Crate

Trinity 2009: What a whirlwind... It was not the weekend I had expected.

The Green Machine Reloaded won the poster contest. I finished first in the Olympiad. But then the wheels fell off the whole operation... GMR didn't complete a single of his competition runs on Sunday. I was disappointed to say the least.

While I'd spent countless hours working on GMR, on the side I had built Crater, what was supposed to be a contender for the low-cost prize. I didn't expect much from a robot built out of $118 in parts, built out of a small crate, using a single distance sensor. He was slow. Really slow. Like almost slow enough that the judges would fall asleep. But he ended up being reliable. Really reliable. He finished all 3 of his runs. He hit the candle each time, which make his scores appear to be even slower (who knew such a thing was possible).

The senior division was split between 2 arenas for competition day. Crater's score was 3rd on the leader board, then 5th. It then became apparent that our arena was running quite a bit faster than the other arena, even though all three of Crater's runs were over, some bots in the other arena had only made 1 run.

As the afternoon continued on, bots in the other arena failed their runs. Suddenly Crater, was back to third on the leader board. But wait! That includes both robots in the Unique and Kit division.. a quick look at the entry list. #1 and 2 on the leader board are KITS! Crater, the cheap, slow, really slow, painfully slow robot had won the Senior Division. He outperformed robots that probably cost 10x as much. He outperformed robots that probably got 10x as much attention from their creators. As would be expected, Crater also won the cost-effective prize. His 189 second final time for three runs probably couldn't have won any other year in the past decade, but this year it worked just fine.

I should have noticed something going on Saturday. The "crate on wheels" was hugely popular.. the little green guy got almost no attention (his custom controller board, and wireless debugging turned some heads, but he got no love...). There's just something people like about animating everyday objects. His moving head, required by his lack of sensory, was also popular.

This just further exemplifies, that reliability generally trumps speed in robotics, and that reliability in robotics is really hard to come by. And of course, if the robot can look cute or anthropomorhize itself all the better.


Sunday, March 29, 2009

Green Machine Reloaded

Trinity is just 6 days away. GMR is looking pretty good right now. Most of his code is completed, he is completing 90% of his runs, with an average time of about 15-20s after bonuses and the room factor.

Overall, I only hit about half of my goals with this robot. The overall speed is only about half as fast as I had originally wanted, but is still about 30% faster than LGM3 was at the Canadian National Robot Games. The room search is much faster and more reliable than LGM3 was, but I really hope to still improve some other points.


Sunday, February 22, 2009

Green Machine Reloaded, Part 2B

There's always gonna be some setbacks... such as the robot falls over when it comes to a stop. Or that you mounted the IR sensors at a 45 degree angle rather than 60 degrees. And occasionally, you find out your bot likes to climb the wall.. I really wish a video camera was running right then.

Anyways, I'm quickly changing the lower frame to move the battery backwards 1/2", move the motors up about 1", and put smaller wheels on. I'm also not entirely sold on this TPA-81 thermopile nonsense... its really kinda slow compared to some good old IR photodiodes... or a pyroelectric.

Tuesday, February 17, 2009

GMR Part Duex

I've nearly finished the mechanical & electrical assembly of GMR. I have to redo the front plate of the head as the mounting holes aren't quite correct for the TPA-81. I also have to rig up the UVTron in the back.

So far the navigation software is pretty solid, since its a small revision of the code that won the CNRG in the fall. The room entry code needs some work, as well as the fire fighting itself -- mainly to address the move from a pyroelectric to a TPA-81. I also plan to rework the cornering code, so that the robot makes a smooth turn through the corners, rather than stopping and turning 90 degrees. This was where LGM lost the most time, his run at CNRG would have been good for about a 64 second final score at Trinity. That time would have beat the 2009 senior division winner, but would have been about 3x slower than the winner of the HS division. I'm hoping that with these improvements I can cut the final score to about 20 seconds...

Friday, January 9, 2009

Building GMR

I've made quite a bit of progress on GMR. The motor mount plate is finished, the head is shaping up, the controller board is finished. I've written all of the drivers for the new I2C devices, and I am working on building the head board. I've still got to mount the caster, make the upper deck out of EPVC, and mount all the sensors in their final positions.