Jon's Place

Wednesday, June 24, 2009

More BrainBot

So, here's where BrainBot is right now...

Things are more or less together, voodoo is working (in a fairly basic way), and the mechanicals are more or less sorted out. I've started building three "production" robots for one of the researchers at Dartmouth College.

The production bots will have the printed parts done in white, instead of this pukey-semi-transparent yellow.

Thursday, April 9, 2009

Mini-ITX

So, I'm posting this blog message using BrainBot. Currently, BrainBot has a Mini-ITX onboard, with a 2.83 GHz Core 2 Quad processor, and a 32 GB Solid State Hard Drive (SATA).

I'm really impressed by how all this has come together...

In the picture to the right, the mini-itx is mounted to the bottom plate, along with the solid state hard drive. The top part of the chassis is sitting upright, as if the bottom plate had been hinged down. I've been pretty careful with wire management on this robot, to try and make everything as robust as possible.

I've got my 23" LCD monitor plugged in (DVI), and a USB keyboard and wireless mouse, along with an 802.11n wifi dongle to get network/internet access.

Sunday, March 29, 2009

New Chest

In order to fit the RX-64 shoulders into BrainBot, we needed to design a new chest. Given the cost of printing the chest in one piece like we were doing before, we decided to make this new chest modular, with six sides (like a cube), and have everything screw together.

The new chest looks neat - we have a different 3D printer now, and it prints semi-transparent material. The tolerances are actually better than what the ABS printers do, although the material is not nearly as nice to machine or to tap. All in all, I'm pretty happy with how it turned out.

We also printed a gripper with this new printer. The structural parts of the gripper (specifically, the shaft and offset crank arm) are machined from aluminum and Delrin respectively. We use the foot pressure sensor board to provide feedback from four sensors on the grip.

Wednesday, March 25, 2009

BrainBot - Getting Bigger

So, I've been working full time on BrainBot for six weeks now. Things have changed somewhat - the researcher who wants us to build a bunch of these wanted a Core 2 Duo class onboard cpu, so we had to redesign to allow for a mini-itx. As it happens, we can now put a Core 2 Quad onboard, since the board is the same size...

In order to handle that, we needed to add more batteries, so the chassis has gotten quite a bit wider - we can now fit four 12 volt 4.2 amp-hour NiMh battery packs inside the chassis, two on each side of the motherboard.

We upgraded the chassis panels to be 1/4" Delrin, and the standoffs between them are 49mm long, in aluminum.

The motors are 12 volt 200 RPM gearmotors, with 100-tick encoders, which feed into a pair of LSI LS7366R 32-bit SPI quadrature encoder counter chips.

Its pretty funny when your robot has more onboard processing power than your development laptop...

Thursday, February 19, 2009

Big Changes

Well, a lot has changed over the last six months... For the past two years, I've been working at IBM on a large telecommunications monitoring system (PROVISO). A few weeks ago, IBM decided it needed to downsize significantly, and I was laid off, along with about half the people working on the project.

However, it turns out that this has been a blessing in disguise. The same day I found out about it, I was on the phone with my contact (hi Andrew!) in the Brain Engineering Lab at Dartmouth College, and within a couple weeks we had come to an agreement where I would work full time under contract (as I have, strictly spare time, for the past couple years) doing some major enhancements to BrainBot.

So, now I find myself in the position I've wanted for the past twelve years - working full time on robotics work. Its pretty amazing to be in the right place at the right time for something like this to fall into place.

A lot of the work I'm doing over the next six months will involve making BrainBot more robust, reliable, and usable, from both a hardware and software perspective. This includes:
  • switching from gumstix to pico-itx
  • replace all battery packs with a single 12 volt battery
  • replace motors with 12 volt versions
  • add encoders to the motors
  • add sonar and a laser pointer
  • replace cameras with USB webcams
  • replace shoulder AX-12 servos with RX-64 servos
  • redesign printed chest to be more modular
  • redo all PCB's to use better cables & connectors
This is all pretty exciting, and I'm going to start posting here a little more often now with status updates and such.

Right now, my plans for Mech Wars are on hold, since I'm too busy in my spare time working on my house and doing gardening and stuff like that.

Tuesday, July 29, 2008

MicroRaptor - Mech Warrior

So, my friend Andrew is organizing a new biped competition for next year's Robot Games in San Francisco, called Mech Wars. I'm helping him with a few things, and also building my own mech for this. Well, to be more specific, I'm converting MicroRaptor to be a mech.

On the right you can see MicroRaptor, with an airsoft cannon taped to his head. Of course, I'm going to be building a new mount for this, and may even end up machining a new cannon, using some of the parts from inside this one.

This competition will give me a chance to play around with a lot of autonomous behaviour (like balancing and walking), while still maintaining direct overall control of the robot. Eventually, although probably not for the first year, I want to make MicroRaptor be fully autonomous in this competition...

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