Wednesday, January 26, 2005

An excellent Q & A from the Seattle Robotics Society mailing list (updated)

Jeff Birt wrote me a great email on the Seattle Robotics Society mailing list and I thought I would share his questions and my answers to the blog community as a whole:

Are you pleased with your choice of EPIA mb?

I'm pleased with my Via EPIA 5000. While it is "only" 500 MHz, that's more than enough CPU for my needs. The only reason I would change would be to move to the smaller 10 cm x 10 cm Nano-ITX form-factor when it comes out. Even then, I'm going to have to evaluate it first because the Nano-ITX promises to be more expensive and more power hungry than the Via EPIA 5000.

Does the fan-less 500 MHz board perform well analyzing two video feeds, etc.

I haven't attempted to analyze two video feeds off of it. Light video analysis (1 fps, orange cone color and shape detection) is working well and that is all I needed to accomplish for Robo-Magellan so that is all I tried. It should have enough CPU to exceed this level of processing by a significant margin, but video processing can get expensive very quickly so you could easily overwhelm the CPU depending upon how complex your algorithm is and how efficient your code is.

What things are you including in your XPe build? What components do you consider essential?

I've just recreated my image to take advantage of the new XPe SP2 bits. I've carefully cataloged the choices I've made and I intend to write it up thoroughly on my blog. I haven't had a chance to write the article yet though and I have a lot of other stuff going on in my life at just this moment so I won't get it written until next week. If you're in a hurry, drop me an email directly and I'll sent you my rough notes.

Any gotchas?

There are unfortunately plenty of gotchas when going through the learning process of how to set up your environment and how to get features such as the Enhanced Write Filter (EWF) working and getting XPe to boot off a Compact Flash card. Again, I'm planning on writing this up in an blog article next week. Unfortunately, I don't have clear rough notes on this yet so you'll just have to wait

I was planning on putting TAP on a BartPe cd. How are you handling this?

I have a hard drive that I attach to my motherboard that I use to download the XPe image and run FBA (First Boot Agent) off of. This hard drive has two partitions, C: contains my XPe image and D: contains a full XP Pro image. I boot to the D: XP Pro image to run TAP.

Lee asks, "What about i2c or SPI? Does this board have those?"

I use an Acroname Brainstem for my IO (it attaches via RS-232 to the motherboard). The Brainstem has two headers for I2C.

Fred Kerr asks, "How are you powering the board?"

I use two Sub-C RC card battery packs (6 cells each) wired together to make 12 cells total, a PW-80 DC to DC power converter (90+% efficient) from ITuner, and an Electrifly Triton charger.

Sunday, January 23, 2005

Look at that, control the ER1 wheels without the ER1 software...

I've rebuilt my Windows XP Embedded image using the updated XPe Service Pack 2 release. All the basic electronics are mounted, including my repurposed ER1 stepper motors/wheels and the ER1 control box that drives them. I was getting excited that I was pretty close to finishing my indoor chassis.

Ah, but another wrinkle appears -- the ER1 software really, really doesn't want to sit on top of XP Embedded. First it insisted that it needed ~150 MB of free space to install although to my measure, it only takes up about 20 MB and 15 MB of that are graphics and sound files it uses for vision and audible feedback. After I managed to trick it into place, it started working for a while and then started throwing GPFs. Sigh, it started looking like I was going to have to chuck the ER1 motors and start over.

While I was reading Evolution's forums to see if there were updated drivers I should be using, I stumbled upon a fortuitous post. A gentleman by the name of Yau Lam Yiu had already reverse engineered the ER1's serial control protocol, complete with a nice Visual C++ program demonstrating how to control the ER1 motors! Very nice work, the code is simple and readible. Now to port it over to Managed C++ and add it to my library of devices...

Thursday, January 20, 2005

Some forward progress!

Below are a couple of snapshots of the "mostly finished" chassis rework for Cylon. I've finished the cabling to attach a USB device, the Brainstem, and the on button as well as added a few mounting areas to the sensor plane.

OK, I'm ready to test -- I connect the power, press the on button, and....nothing. Hmm, it seems like I'll have to go through and do some additional wire testing, line by line. In all fairness, this weekend I snapped a few cables off my ATX power supply cable while working on the chassis. While I have replacement parts on order that I can use to make a more solid power cable, I did a little "questionable repair" last night that I was hoping would hold me over until the parts arrived. Perhaps that didn't work out as well as I had hoped...

Side view of the same Posted by Hello

Aerial view of the finished brain & sensor planes of the new Cylon chassis Posted by Hello