So what’s the big idea?

I’ve split the Andii project into two basic phases: Phase 1 – simple locomotion, remote control, and telemetry; Phase 2: autonomous operation, path finding, and obstacle avoidance. This post will focus on the details of Phase 1. I should mention that I’m still in Phase 1 and expect to be here awhile longer.

Phase 1
Putting all the parts together is pretty much a given. I bought a $3 piece of ABS plastic from a local surplus store: SkyCraft. (I”ve gotta plug these guys; their store is awesome for a robotics hobbyist.) This is definately not the final enclosure for all the electronics, but I wanted to get going and this was the quickest way. I cut the sheet in half, drilled holes for a bunch of stand-offs and for mounting it to the body posts of the E-Maxx, then mounted the VIA mini-ITX mainboard, the Acroname BrainStem, and a couple of battery packs to the first level. I intend to mount the GPS, the Wireless Ethernet adapter, and the camera assembly on a second level above the first, connecting the two levels with some longer stand-offs.

Here are a few images:

Level 1 Level 1 Level 1

I think the VIA M10000 is an excellent motherboard, particularly with the iTuner power supply. A 1GHz processor in a 17cmx17cm package — and the 4 USB ports are all USB 2.0. I actually get faster video through this machine than through my 3GHz laptop (really about the USB 2.0 ports). A quick install of Windows XP Pro to test out the hardware and I’m up-and-running. I started tinkering with Windows XP Embedded and got an image running on a second hard disk, but after Ghosting the image to the compact flash disk it hangs on boot. (That topic deserves a lengthy post on it’s own, so I’m gonna save that for a little later.)

So now with a basic development platform setup, I can get to what I find most interesting: the software. I’m going to devote several posts to each of the software components, but for now I’m just going to list off the pieces that I’ve started with:

  • A .NET Acroname BrainStem library
  • GPS.NET from StormSource Software
  • A video capture library using DirectX 9
  • A higher-level library to abstract away these lower-level details
  • A remote control and telemetry library

The BrainStem library is where I’ve made the most progress and is where I’ll pick up during the next post. This was a logical place to start because it’s there we gain basic locomotion.

8 Comments so far

  1. nagi on January 17th, 2006

    Hi Paul,
    I had a couple of questions on your robot project you’re doing w/ Traxxas e-maxx. I am planning on getting the e-maxx but want to make sure I am getting something that will work for me in my robot project. Can you please help with these questions. I appreciate your help in advance

    1. The e-maxx has 2 motors. What is the purpose of 2 of these. Is one dedicated for reverse motion.
    2. As you might know, I ended up getting brainstem gp as well. I want to control the speed on these motors using my stem. How are you controlling the speed on these motors, Can you point me to the electronics/hardware you’re using to doing this. I am hoping I could do this w/o the MOTO board.

    3. anything that I should be aware of before getting the e-maxx.

    many thanks again

    Nagi

  2. Paul on January 17th, 2006

    Hi Nagi,

    1. The two motors just provide more torque. They move in tandem — either both forward, or both backward. Neither is dedicated to reverse motion.

    2. The Traxxas E-Maxx includes an electronic speed controller from Novak (http://www.teamnovak.com/) that takes the same signalling that normal servos do. This means that you can connect the E-Maxx motors to one of the BrainStem GP servo pins, and the steering to another — connecting them through to the Novak ESC. This leaves two free servo ports on the BrainStem. Bottom-line, you can control the E-Maxx with just a BrainStem GP and the Novak ESC — you don’t need a BrainStem Moto board.

    3. Anything else you should be aware of… I’m not sure what your project is, so I don’t know that I can fully answer this. One thing I’d suggest is that you concern yourself with the amount of weight you intend to put on the E-Maxx. I think the max weight is somewhere around 10-12 pounds. Additionally, you might consider stronger springs, to keep the E-Maxx suspension from bottoming out. Lastly, the E-Maxx is seriously fast. I’m mean really, very fast. I’ve found that speed to be a disadvantage for real-time video analysis, and this could likewise be a problem for sonar. I also get pretty nervous about letting $1,000 worth of gear go cruising around at 25 mph. Your software just needs to take this speed into consideration, and slow down the vehicle as you see fit.

    Good luck!

  3. nagi on January 21st, 2006

    thanks Paul.

    I ended up getting the e-maxx. I have a t-maxx – definitely, e-maxx looks a lot easier to work with comparably.

    I am running into an issue lowering the speeds to really low. I tried setting the servo cfg to different pos and posres settings and thereafter, set the abspos to really low like 0. With that low of a setting, the motor seems to run fairly fast. Any recommendation on how to slow it down really low.

    thanks, Nagi

  4. nagi on January 21st, 2006

    Hi Paul,
    never mind. I figured this out. Just took a few more trials. I gotta learn to be patient :)

    Thanks, Nagi

  5. nagi on January 23rd, 2006

    Paul,
    I spoke too quickly. I was able to get the speed to slow down. But, very inconsistently. I’m seeing two issues:
    1) stop and go behavior on low speeds
    2) inconsistent control over speed. Meaning the same POS, POSRES and ABS settings don’t seem to always work.

    Have you run into similar issues, How did you resolve those. What would be your recommendation to solve this.

    Thanks again for your input and help!

    Nagi

  6. […] It’s been quite a while since I’ve posted anything on the Andii navigating robot project. For most of 2006, as often happens with hobby projects, I shelved the robot. I picked it up a couple of times to present to the Orlando .NET Users Group, and for a Seminole Community College (SCC) open house event. But otherwise, the project was dormant. […]

  7. =] on October 25th, 2010

    which battery are you using to power the via in the picture? -it looks like you are using a standard 9v battery!?

  8. Paul on October 26th, 2010

    This picture shows an early build which uses a regular 9V battery to power the Acroname BrainStem (the microcontroller) and a set of 4 AA batteries to power the servos. The VIA motherboard, for this early build, wasn’t being powered by batteries — but by a 12V AC adapter.

    In the final build, pictured and discussed in posts at http://www.bespokesoftware.org/wordpress/?m=200608 the motherboard’s battery is a BG 10-14-88 and the BrainStem’s is a BG 6-12-44 both from batterygeek.net.

    Paul

Leave a reply