Older blog entries for ROB.T. (starting at number 13)

9 May 2002 (updated 11 May 2002 at 12:35 UTC) »

I laid out the board I call the controller. This board simply has an AT90S8535, support components, and 8 connectors one for each port on each side of the board. I'm going to give it a once over and send it off to a board house and see how it goes. Since I have to build 8 of these 3'' boards, It's going to cost me $327 just for the controller boards and I still have many boards left to lay out. Here is a list of the boards I need to assemble just to get the platform to walk -

8 controller boards

8 motor boards

8 leg-stack test boards

8 strain gauge amplifying boards

1 SPI communication board

1 communication controller (probably the same as the leg

controller boards)

1 RF modem board

1 communication test board

1 power board

1 Emulator board

I haven't worked out the single boards yet, and I still need to lay out the motor boards and the stack-test boards - they're next.

I've completed the prototype board that amplifies the output of a strain gauge for A to D processing by the microcontroller. Time to start working on the next version of the boards.

I'm looking at making the boards modular with the microcontroller and it's support hardware being the only thing on one board. Another board will have the motor drivers, and a third smaller board will host the amplifier for the strain gauge located in the ``toe'' of the leg. These boards will stack, I need 8 of each and a controller board.

2 May 2002 (updated 5 May 2002 at 18:07 UTC) »

I have completed a crude motor controller prototype. Tomorrow my Digikey order with parts for a prototype strain gauge amplifier will be arriving and I'll be working on that all weekend. Once I get the amplified signal into the microcontroller A to D, I'll order the real controller boards.

Naturally life is interfering yet again. School starts up for me in less than 2 weeks and I've got 2 hard classes. That will probably push robotics out of my life for at least 8 weeks. At least I can say I'm still on this project and the project is still moving forward.

The motor count for the base module is currently at 46 motors. All the motors are in, and the brackets are 75% done. Both tables are developed and will be fairly easy to assemble. I go on vacation next week so I'm shooting for fully assembled <mechanical> base by the end of April.

A proto-type motor-driver board has been tested and works fairly well. There is, however, some start-up interference between motors that I will have to work on, I'll probably try bigger caps.

For the modules that control the legs, I've decided to modularize them. This is more expensive and more time consuming, but motor modules allow me a lot of configuration flexibility, and if I design part of the circuit incorrectly I minimize how much I have to scrap.

I've had to make a few compromises as far as the parts I want to use, but the project is moving along smoothly.

All right, I've thought about it A3I2 is probably more than I can handle right now, and it's producing stress as a change my building methods to accommodate the March 1st deadline. I really want to go, but I have got to give this robot my best effort - even if that means I don't make A3I2.

I'm sort of in one of those funks that builders get in when they tackle large projects. This project is pretty big and it is not without its share of problems. I've been building the first table (remember I call them tables because that's what they look like - fat tables), and one thing I've noticed is that it's heavy! As in ``try and keep the robot under 80 lbs.'' heavy. In fact this table weights around 40 lbs., but I'm also trying to include all the batteries in this table so the center of gravity stays low. During testing I managed to split one of the nylon gears in my protoleg - NOT a good sign.

I'm having a hard time isolating parts of the project. The right thing to do would be to build a leg, test it, build a table, test it, add legs. Etc. What's really happening is I'm starting to build the entire robot. I've almost completed the first table, and soon I'll be building the second table. But maybe this isn't so bad since the tables are fairly unsophisticated.

At the same time I have yet to get a motor running, and that's bad. Part of this problem is I don't have any experience with strain gages/current sensing. Also instead of testing the different elements I just threw together the main board (minus amplifiers) and now it looks kind of daunting. Another problem is, because my memory is so poor, every time I sit down to program I have to relearn everything, language, how to hook the emulator up, everything. Luckily I keep notes, if only I can remember where I put them...

Yet another item that will make my life difficult in the near future - I haven't figured out how to test the base module in an incremental mode. In other words, the best thing that could happen is I set the beast on the floor, tell it to walk, and it walks. What's really going to happen is a series of balance problems, problems figuring out how to make the robot take steps, etc. At this stage if I mess up too bad, I break gears/motors and there are no replacements because my motor source dried up.

What you are witnessing is a project with the potential to spiral out of control.

So I came up with this plan.

First thing I need to address - I need control over my electronics... I need to get my boards working. But I don't have to get an entire board working, just a subset. So I'll put a motor controller on one and learn to work with it. On another board I'll add a strain gage with amplifiers. Right now it's all about the baby steps to raise my confidence and keep me focused, so I'm going to keep the challenges bite-size.

Because of the way life has allocated my free time, I need to finish this table and start building the next one - without going into detail it's just a lot more efficient. Table bodies are nice modules so I'll just concentrate on that and worry about adding the legs later. This will occur simultaneously with the control board development.

Lastly, in the background, I need to be questioning how I'm going to test the base module adequately without destroying it. This might be the most difficult problem of all.

Something I've been thinking about lately -

AAAI-2002 Mobile Robot Competition and Exhibition 28 July - 1 August 2002 Edmonton, Alberta http://www.cs.uml.edu/aaairobot/

I brought my partially functional biped to AAAI-1998 in Rhode Island. I had a great time, met some great people, and got a lot of love for my robot even though it couldn't repeat the same first step twice.

So I ask myself -

Can I complete Predecessor to the point I can take it to A3I2 for exhibition? It hardly seems possible, there is so much left to do...

Alright, the deadline for registration is May 1st. Lets see, thats less than 2 months and I've got to run off and get married for a couple weeks somewhere in that time (thats a good thing :-D ). I would have an additional 2 months before I had to actually appear, but I need to go take a couple summer classes too.

What would be the best situation to show up to A3I2? A fully functional robot of course. What would be the minimum I would require? The base module finished with an rf communication link and some demo functions. Don't forget the manditory blinky-LEDs (every project needs at least a few).

OK, in order to consider going to A3I2, I need to finish (or at least be real close to finished) the minimum to participate in A3I2 exhibition. And I need to have this done by the end of April. This is the first hurdle.

Right now I still haven't gotten a leg completely together.

I had better start building!

In order to fully understand what a leg is going to be able to do, I've started working on what I call the lower ``table'', the base body that will manage 4 of the legs - when all 4 legs are on the ground it looks like a table. I've had a rough idea of what the rest of the base would look like beyond the legs, but I'm only now starting to sit down and understand all that needs to be done. Placing 4 leg-segment in the space I've allocated won't be easy, but I've pushed out the width dimension which should help.

I have a sega game pad hooked up to a transceiver which I plan to use to control the base module. What I really need is a hack for the 802.11A ethernet PCMCIA cards so I can interface my robot directly to a home network. I've been talking to my robotics group and doing a lot of research, but I'm just not finding a decent hacks/products/docs on wireless ethernet using the 802.11 standard. I don't know if I want to put forth the effort to make a WLAN happen, but man it would be cool.

My thoughts are still coming together for my robot. I've decided I want my robot to be able to climb stairs at the very least. Naturally this means I need more motors. I really need some sort of rapid turning screw for linear motion to extend the legs, but it looks like I'm stuck with worm gear motors. What I plan to do is dedicate two motors to the linear motion of each leg, bringing the total number of motors per leg to 4. This is actually working out well - I will need 7 of 8 ADCs from the microcontroller and I will build the entire leg and leg-control board as one sweet unit. I'm also going to try and place the batteries into the base module of the robot (into the tables). The advantage is that the system is more compact, the disadvantage is that I won't be able to us the batteries as counter weights, like a tail. This design might change after I build the first prototype. I might need to purchase new, thinner batteries.

Speaking of prototypes, I'm still working on the first leg. All the mechanics are done for two joints, now I have to incorporate the design changes and add two new motors. The slop in the two joints I built is definitely going to be a factor, but I am still confident I can program around it.

The total number of motors for the base module is now up to 34. I keep track of this number because it gives me an indication of how heavy my robot is going to be. Rough estimates put the robot weight at around 60 pound. I've got a feel for what the power consumption is going to beand it looks like more batteries = good power, bad weight ratio.

For the casual reader -

I know these journal entries look pretty cryptic without the actual components to reference them to - I'm working with Jeff Sampson to get some pictures on my page.

My crude use cases uncovered the need for an IR sensor on each leg. By making some of the proximity sensing local, it seems I actually simplify the decision making process.

Who knew.

I need to add cables, a strain gage, and the pots, and the mechanics for the first leg will be complete. A potential problem is that the leg cannot obtain absolute rigidity. This is a common issue and I've had it before, I will simply plan for it during the programming phase. Once again the leg when complete will have 2 motors, two pots for motor positions, and a strain gage for the toe (which I need to test). I have the leg suspended from a clamp so I can raise or lower it depending on the experiment.

The prototype leg controller-board is also almost done, I need to add a 24V power-supply and look for shorts. Right now it's a kludge on a copper-clad bread board - I'm trying to get away from this method or prototyping, maybe someday when I find time. I've added 4 LEDs to observe L298 position, an LED for 5V power, and an LED to ensure the processor is working. I have current sense resistors, though I still need to get the amplifiers for them and the strain gage. I don't think I need to journal errors at this level so the programming for the leg module should be fairly easy (famous last words?).

Hopefully this weekend I will have figured out what the command set for the leg module and maybe even the encompassing base module. What would be the coolest would be to figure how to program the robot so that it will learn how to move all by itself. I better make some use cases.

4 older entries...

Share this page