Thursday, February 25, 2010

Update on MARVIN

I snapped this picture today as MARVIN was chewing me out for not completing him by now.

#!%@% Chris!!!!

Here’s what is going on with MARVIN. This is by far the toughest challenge I have ever taken on, but it is sooo much fun. I literally keep a “to do” list at my work table as I think of things to add and things I need to fix. I have six “scripts” put together. A script is just like it sounds, a series of actions and sounds based on user interactions. Most are pretty short, like raising a gripper and waving while saying “Hello.” A couple are more complicated and still need some work. I have a long list of scripts I would like to program.

A few web sites have taken notice of MARVIN and are eagerly waiting to see the final robot in action. This is good because it motivates me to do my best work and not slough off. One of those sites is Singularity Hub. Check out the last line of this post and you’ll see what I mean.

The problems are too many to list here, but here are a couple.

I chose the wheels because they are not pneumatic and can handle higher loads; well at least I thought they could.
I am finding that the weight of the robot is causing the rubber to come off the hubs. Not sure how I am going to deal with that, but it may require a significant rebuild.

RobotC doesn’t support multiple NXT communications, so I have had to improvise by using LEDs on the Master NXT and light sensors on the slave NXTs. This means that communications is a one-way street, so all my scripts have to take that into account. Plus we all know how finicky Bluetooth can be.

Getting the grippers to work has been a real challenge. Each arm requires three servo motors so there is no extra port to operate the gripper. I overcame this obstacle by using a IRLink with a PF receiver with medium PF motors running the grippers. So I have to communicate between the NXTs when I operate the gripper when the IRLink is on the other NXT. The timing is a real trick. I am still perfecting that problem.

MARVIN may not be done soon, but I am confident that when he is done, he will be something you will remember.


  1. I'm not a programmer, so you're on your own there. But for the wheels, why not just add a bunch more wheels? May require your "rebuild", but the more supports (read: wheels in this case) you have, the less weight each one has to take. Can you substitue 2 or 3 or 4 for each one that you currently have? Sounds clunky, but engineers do that in real life all the time. Otherwise, maybe just add more wheels in general. I don't know how mobile this guy is supposed to be (i.e how many sets of wheels need to turn when he turns or maneuvers), so perhaps the former is the better idea?????

  2. Looks like the idea of adding more wheels is what I will have to do. There are a couple of minor problems, the wheels are buried, so it means really tearing the robot apart just to get at them.
    Plus I am concerned about the wheels fighting each other. There is so much down force on the wheels, if the wheels aren't exactly working together, they will fight each other and cause stuff to be under high stress. Something along the reason why differential gears are used in the drivetrain of cars.