Jon's Place

Wednesday, June 18, 2008

MicroRaptor Together

I haven't had much time lately to do any work on MicroRaptor, but I finally got it put together using my servos, from the Bioloid kit I bought. I've got the PCB mounted, with all the electronics hooked up (except the JPEG camera), and the 3-cell Lithium Polymer battery mounted underneath.

Right now its being supported by the tool chest, because the tail is too light compared to the head. I need to add some weight to the tail to balance it all out.

Next up, I need to get my development image running again, and get it running on the Hammer, so I can have it start walking again.

Friday, April 11, 2008

MicroRaptor PCB

So, I finally ordered some more FT-232's, and I was able to reflow the PCB, and get the rest of the components mounted. To the right you can see the board, fully populated, with the Hammer actually running. I've got a BlueSMiRF connected to the console serial port, and I've got a console running on my PC over a bluetooth serial port. The board got a little roasted in the oven, but it doesn't affect the functionality at all.

So, on this board I have:
The Hammer is a great single-board computer - I plug it into my 40-pin DIP socket, power it up, and everything just works...

Monday, March 24, 2008

MicroRaptor Board

So, over the past few days I've been designing a new PCB to use for MicroRaptor. It will use my Hammer single-board Linux computer to talk to the Bioloid bus over an FT232 USB chip. I really like working with the Hammer - its basically like designing with a 40-pin DIP microcontroller, except its a whole lot more powerful, and you only need to provide it with power and ground.

To the right is the current PCB design, done in Rimu PCB. It has the Hammer, the FT-232 plus support chips & components, one of my six-axis IMUs, two power switches, a Dimension Engineering 5 volt switching regulator, and a couple serial ports. One will be used with my serial Jpeg camera, and the other is connected to the console, and will interface with my BlueSMiRF bluetooth module.

Friday, February 15, 2008

New IMU

Last night I managed to build and test the prototype of my revision 2 IMU board, along with part of the new sensor board. In the image to the right, you can see the new IMU on the bottom, and my new sensor board on the top. The sensor board only has the 1-axis gyro mounted on it, because I already tested the other two chips (2-axis gyro and 3-axis accelerometer) on an earlier prototype.

So, with this, like the new foot pressure sensor board, I should be able to build the IMU boards easier, and I no longer have to buy the two sensor boards from Sparkfun.

Thursday, February 14, 2008

Lessons Learned

So, I've been selling 6-axis IMUs and USB bus interface boards since August of 2007. I've built a lot of very small surface mount boards in that time, and I've learned a couple hard lessons that have cost me a lot of time and money. I've also built a bunch of foot pressure sensor boards, almost none of which worked, and haven't managed to sell more than a handful of them.

Lesson 1 - Don't use MLF packages. The pin spacing (0.5 mm) is way too small, and its far too easy to get bridges between pins, and also between pins and the ground pad. Since all the pins are tucked under the board, its almost impossible to fix these kinds of problems, and wastes large amounts of time in the process (not to mention money in wasted boards and components).

Lesson 2 - Don't put components on the bottom of your boards. If you're just building one, then fine. But when you're trying to do small scale production, having components on the bottom doubles the amount of time it takes to make a single board. Having them all on top means you only need one stencil, you only apply solder paste once, you only place components once, and you only need to put the board in the oven once.

So I've now redesigned both my IMU and my foot pressure sensor boards to take heed of these lessons learned. I'm using the same microcontroller, the ATmega168, but now its in a slightly larger (and more importantly, all pins visible) TQFP 32 format. All the components are on the top of the board. This required making a few changes, including using a non-standard programming pin layout, but the space savings are worth any extra trouble that causes.

With the foot pressure sensor boards especially, building the wires that connect the sensors to the board is as time consuming as building the boards themselves. I did a lot of looking, and found out Digikey sells small pieces of 28-gauge wire with Hirose 0.050" crimp terminals already attached to one end, in various colors and lengths. This greatly simplifies the amount of work I have to do to build these wire connections, and thus the total amount of time spent building the entire package. Time spent is a critically important metric to consider when you're building boards to sell in a low profit margin area like hobby robotics.

I don't make much money off these boards - not even enough to cover my time in building them. But, since you can't buy these boards anywhere else, I consider it a worthwhile Bioloid-community service.

Here's a picture of my new foot pressure sensor prototype board, next to one of the old (green) boards. You can see the larger chip on the new board, as well as the connectors with all the wires leading out to the sensors.

What this all means is that within two or three weeks, I should be able to start selling foot pressure sensor boards finally...

Sunday, January 20, 2008

Jpeg Camera Module Mount

So, the printed camera mount came from Xardas, and (as always) the service and product were excellent. Here it is, with the camera module mounted inside, and the mount attached to the Bioloid frame piece.

I love 3D printers...

Thursday, January 10, 2008

MicroRaptor is Back

So, with a little servo shuffling, and some machining (new body), MicroRaptor is back...

I've put on a couple AX-S1 sensors on the head, and there's a spot in the middle for my new serial Jpeg camera, with a custom mounting case I designed and got printed (by my friend John at Xardas) which is enroute at this moment.

I have a lot of coding work to get my motion editor back in shape well enough to use, and of course I have a bunch of electronics work to do, including getting a board together with the Hammer on it.

Exciting stuff!

Thursday, January 3, 2008

A Hammer for MicroRaptor

The good folks over at Tin Can Tools have kindly provided me with a Hammer kit to try out in one of my robots. I also got invited to give a talk at the Embedded Systems Conference in San Jose in April 2008, on "Three Mobile Linux Robots". The three robots are MicroSeeker, BrainBot, and MicroRaptor. MicroSeeker and BrainBot both run on a gumstix, and I was originally going to put one on MicroRaptor also, but decided to try out this Hammer board instead.

Its a pretty amazing little board - the size of a DIP-40, which is even smaller than a gumstix. The other real win is it actually plugs into a regular 0.1" DIP-40 socket, so you can use it with a solderless breadboard. On the left is a picture of the Hammer sitting next to one of my gumstix XL6P boards. The perspective of the image is funny, but its actually a bit narrower than the gumstix, and a lot shorter.

Anyways, I'll be documenting my progress here on this blog, as well as on the MicroRaptor project page on the Bioloid wiki. With any luck at all, MicroRaptor will be walking around completely autonomously by early April...

Saturday, December 29, 2007

BrainBot - Voodoo Control

One of the things we're trying to do is build demos of BrainBot* doing interesting tasks. We're doing this to show that the hardware platform is capable, and thus is worth writing extensive software for. The easiest way to control a platform like BrainBot at this stage is remote control. However, controlling arms and grippers using a joystick doesn't work very well for performing complex tasks.

One of the researchers at the Brain Engineering Lab came up with the idea of "voodoo control", which basically involves manipulating a second BrainBot robot to control the first one. You move the arm of one robot, and the other robot's arm moves in the exact same fashion. I spent the last couple days building a "voodoo server", which allows this to work. In the following video, the tracked-base BrainBot is fully wireless, running off battery and with the bus communications done through wifi. The second robot is connected directly to a USB port of my PC.



*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Sunday, November 18, 2007

The next mini-sumo

So, this is supposed to be a blog on AI and biped robots, but hopefully most of the people reading (is there anyone reading?) are interested in robotics in general as well...

This will be my last mini-sumo post in a while, I promise... I decided shortly after winning this year's mini sumo competition that I was going to build a new one for next year, and after spending an hour or so chatting with my brother about new motors and mini-sumo design, a new design was born.

I always model new robots in CAD before building them. Here's a couple renders from the new design, Seeker //x... The first one, at the top right, shows the view from the rear quarter. This new robot of course carries the same lines as Seeker 2, but is 33% lower. This robot is 1" high, and should be more than twice as fast as Seeker 2. Since it will have a much more powerful microcontroller onboard (ATmega128), I will have lots of code space to experiment with advanced algorithms and such. The second render (to the left) shows the front quarter view.

More Mini Sumo

So, here's a few more videos of some practice runs I did with Seeker 2 after the competition with some of the other guys:





Thursday, November 15, 2007

Seeker 2 versus Slice

My friend Jerome from Montreal filmed the final match between Seeker 2 and Slice, his robot.

Monday, November 12, 2007

MiniSumo Fun

So, this past weekend was the Canadian National Robot Games (which used to be the Eastern Canadian Robot Games). I entered Seeker 2, my autonomous mini-sumo robot, in the masters mini-sumo event. In total there were six masters mini-sumo robots there, and Seeker 2 managed to grab first place.

Not bad for a robot that is five years old...

Monday, October 15, 2007

BrainBot Tracked Base - Wireless At Last

So, one of the big pushes behind all this work I've been doing with the Brain Engineering Lab is to build a robot that is controlled using wireless from a PC through wifi. Last night I finally reached that goal, and BrainBot* is now able to move around anywhere in range of my router.

Here's a quick video we shot at lunch today, in my driveway, with BrainBot controlled from a joystick attached to my PC.



Needless to say, I'm pretty happy now...

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Wednesday, October 10, 2007

BrainBot (Mobile Edition)

So, I now have a second and third BrainBot* robot built...

The second one has legs, a lightweight printed chest, and will be heading down to the Brain Engineering Lab eventually. The third one, pictured to the right, is mounted on a tracked base like the one I made before. The main difference with this one is the chest, camera mount, and waist pieces are all printed in ABS instead of machined from Delrin.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Friday, September 21, 2007

Printed Chest

So, we decided to try printing a new chest compartment for the next BrainBot*. It came out really nicely, and the parts fit perfectly. The main reason for printing the chest is to save a lot of manual labour. Even with the CNC mill, it takes 15-20 hours to build a BrainBot chest from Delrin. With a 3D printer, we can print a lightweight, very strong one-piece chest with all the holes pre-drilled, with virtually no labour from me past building the initial model.

We also printed a new camera mount for some lighter-weight Swann Blackhawk wireless cameras. Having two of those cameras versus two of the green cameras saves about 400 grams from the head, which is significant when trying to make a walking robot. Plus, since the mount is custom made for the specific camera, it is much more rigid, and thus more useful for doing stereo vision.

This chest also has the new wifi board mounted on the gumstix, which needed to get relocated sideways somewhat to fit the longer board with an ethernet plug on the end.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Tuesday, September 11, 2007

Tracked Base

So, after an incredibly busy weekend, I finished up the tracked base on Sunday night, and shipped it down to the Brain Engineering Lab. It worked out pretty well, all in all. The tracks are controlled with one of my Bioloid bus I/O boards, using a Dimension Engineering Sabertooth 2x10 motor driver. I'm actually driving the robot using a virtual joystick on a simple GUI in Squeak.

Here's a movie of it, testing the waist rotate and tilt functionality:



And here's a movie of it moving around:



*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Friday, August 24, 2007

Another chapter for BrainBot

So, the grippers mentioned in my post yesterday are for a new BrainBot* robot. Well, not exactly a new BrainBot, but one with a significantly different movement protocol. We saw the new Johnny-5 robot at Lynxmotion, and decided that would be an ideal base for BrainBot, so they can concentrate on vision and manipulation without having to worry about locomotion.

Of course, walking is still important, so the robot will have an interchangeable base plate that can transform it from a tracked base robot to a walking robot. The motor control for the tracked base will come from my general I/O module, so the entire tracked base will become just another bus device.

In case you're wondering what the funny face pictures around the camera are, they are to allow BrainBot to express emotions. Of course, each LCD panel will be just another bus device on the Bioloid bus.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute at Dartmouth

Thursday, August 23, 2007

Catching up Again

Wow, time really flies... I spent a big chunk of July catching, and recovering from pneumonia. I opened my web store for Bioloid accessories - http://www.huvrobotics.com. People are buying IMUs and USB bus interface boards. I'm still waiting on a new stencil for my foot pressure sensor board, so I can start making them again without wasting 2 boards out of 3.

Oh yeah, and I got the first prototype new gripper working. This new gripper is designed to use a couple AX-12's as the actuators, just to make things simple.

Here's a movie of it working: Gripper-Working (5.9 MB)

The Brain Engineering guys are going to use these grippers on a new version of BrainBot that I'm working on.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute

Friday, July 13, 2007

Catching Up

Wow, I can't believe its been six weeks since I last posted here. A lot of stuff has happened, including delivering the first BrainBot* prototype to the Brain Engineering Lab, and me spending a couple weeks in bed being sick as a dog.

There are lots of things happening - new gripper being designed, new bus interface board, new generic sensor board, and a few other neat things.

Here's a picture of a prototype of the bus interface board. It has a power socket, a fuse, a power switch, the USB socket, the USB & support chips, and 6 Bioloid bus headers. This one has a few mistakes on it, including getting the D+ and D- lines mixed up on the USB socket, but with some creative trace cutting and rewiring, it works fine. The board is 1.5" x 2" in size.

This is the new sensor board I have built. It gives me 6 analog inputs, 4 digital I/O's, and 2 PWM channels (with corresponding direction pins). It is 2" square, and runs an ATmega168 running at 8 MHz. This board allows me to interface to a variety of digital and analog sensors, as well as control a couple motors.

*The BrainBot project is directed and funded by the Brain Engineering Lab and Neukom Institute