Author Topic: My robot progress thread...  (Read 9168 times)

0 Members and 1 Guest are viewing this topic.

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
My robot progress thread...
« on: February 06, 2007, 10:40:18 PM »
Hello,

I posted here several months ago about my robot building project. Well, I'm starting to plan it some more. I will be completing it during the summer. Basically, it's going to be a mobile robot. The goal is to experiment with vision. As such, I plan on using my laptop (running linux) to do the processing, as it will offer alot of power (It's a Core Duo T2500, dual core, with 1 GB RAM). The laptop also has the nice benefit of offering me wifi access, which will allow easy remote control, as well as remote development directly on the robot, through my desktop.

I plan on doing things simple. I have no metal working tools, so I will build it out of wood. The base will essentially be made of wood circles (about 18 inches in diameter and 1 inch thick) stacked and linked together by little wood poles (so the assembly will have multiple stages). I plan to have one level for the motor, battery and power management systems (most likely a deep cycle marine battery, about 30 pounds, ~30-40AH, 12V). One stage for the control circuits (USB phidget interface board, relays, etc). One stage for my laptop, and a final top level, above which will be a mast, atop which will be the "head of the robots", containing two webcams, for stereoscopic vision. The movement will be done with two wheels attached to two independent motors (differential drive). The robot will have its components exposed. I think wood might look odd to a few people, but it should actually look OK.

I might also attempt to build an arm later on, but the main goal of the robot will be to explore and map the environment, as well as recognize people, map objects, etc. The robot will include *no* sensors other than the cameras. No range finders, no accelerometers, no sonars. The goal is really to base everything on vision processing. I don't plan on having pan and tilt for the cameras. I'm thinking that the robot can simply rotate to view things around. I will put the camera high enough (say, 4.5'), so that the robot can easily people, obstacles, and the ground in front of it.

What I have bought so far:
- The laptop (Core Duo T2500, 1GB RAM)
- Ubuntu linux, server config, console only (hey, it's free)
- Two motors, wormgear drive, 108 RPM, 12V, 4A
- A 175W inverter to power the laptop (to avoid wasting its battery)
- Diodes, voltage regulators, breakers, switches to build power distribution circuits
- A few bosch 12V/20A relays
- A 4 port USB 2.0 hub (unpowered)
- 0-15V 25A variable regulated DC power supply (to test parts, power robot, charge battery)

What I still need:
- A marine deep cycle battery, 30+ AH
- Wires, shrink wrap, metal casings for parts
- Wooden base and wooden poles (my mom will make those for me, heheh, no joke)
- 6" wheels and rotating caster wheels
- Two USB 2.0 640x480 webcams that with with linux (with full USB 2.0 speed)
- A phidget USB 0/16/16 interface board
- Some 3000+ uF 25V+ electrolytic capacitors for mypower assembly
- 5/6V and 16V power regulators
- Pieces to build a robot arm (still being designed)

I might actually need more,but this is a minimum. I will buy things as I get the money, basically. I don't really plan on using any microcontrollers, servos, or parts designed specifically for robotics.

I'm pretty confident that I can make this work, but feedback, comments, support and hardware donations are always welcome ;)

Edit: Just ordered two Quickcam Notebook Pro 1.3MP, USB 2.0. They are supported under linux with the UVC driver. Also have a built-in microphone. So that pretty much settles the vision hardware part ;)
« Last Edit: February 06, 2007, 11:11:20 PM by Nyx »

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #1 on: February 08, 2007, 02:47:28 PM »
Soo, yeah, I ordered two USB 2.0 webcams... Refurbished, but they seem to be of very good quality. 1.3 MP each (not SW enhanced), made for notebooks. I got them for $50 each, shipping included. I also bought two windshield wiper motors, and alot of parts destined to build my power regulation circuit.

I'm not a pro at electronics, so I'm going to go simple. I will simply hook the motors using relays, so in an on/off configuration. Perhaps I will have two speeds, to allow for more precise movements when needed. I want to build some kind of circuitry so that when both the forward and reverse relays are turned on, the thing doesn't short. I don't know what's the easiest way to go about this, perhaps just having one relay turn off the other... Perhaps just programming it so that doesn't happen, and having some breakers in place to avoid anything bad.

I had a friend who might have been able to help me. He is a mechanical engineer and had access to some metal cutting equipment. Unfortunately, the guy is maniaco depressive, on medication, and very unstable... Last time I spoke to him he was yet again telling me about 911 conspiracy videos, and how the US government is out to get us, even though we both live in Canada. Sooo..... I'm going to have to revert to my wood building project. It doesn't really matter that much, since this robot is really meant as a vision experiment platform. Perhaps I can build a prettier robot later, if I can get some help.

As I said, my mom (!) is going to cut wood pieces for me, according to a plan. She works in a place where they build/repair/restore furniture, and she's offered to help... So I will be able to get some good quality wood parts... And give my robot a nice antique finish :P

One of my main problems is that i'm not well equipped to fix the motor to a wheel, and to fix the motor to the chassis. The motor has its screw-holes on the front, where the axle comes out to attach the wheel.... In the worst case, I might make a hole in a wood block, stick the motor in it, and fill the hole with glue (yes, I know, how ghetto eh?). I guess the best strategy would be to find some kind of metal bracket of the exact right shape and drill holes in it... But even there, the bracket would need to have a strange shape. Like I said, I'm also not sure how to attach the wheel to it. I'm going to see if I can find some wheels that have a hole exactly the diameter of the axle, which I could also solidly glue in place, if that's possible. This is actually the most complex part of the assembly process of my robot.... Building the motor-wheel assembly and attaching that solidly enough to the platform so that everything doesn't just fall apart.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: My robot progress thread...
« Reply #2 on: February 08, 2007, 02:54:58 PM »
Nyx,

Where abouts in Canada are you? I live a couple hours west of Toronto, and have a Sherline milliing machine/lathe setup, so I can machine small parts (like axle-wheel hubs) from brass/aluminum/plastic.

If you have some cash to spend on this, I would strongly recommend you get a commercial, serial-controlled motor speed controller. There are any number of places that sell them, depending on how much current you need to push...

- Jon

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #3 on: February 08, 2007, 07:07:03 PM »
Nyx,

Where abouts in Canada are you? I live a couple hours west of Toronto, and have a Sherline milliing machine/lathe setup, so I can machine small parts (like axle-wheel hubs) from brass/aluminum/plastic.

If you have some cash to spend on this, I would strongly recommend you get a commercial, serial-controlled motor speed controller. There are any number of places that sell them, depending on how much current you need to push...

- Jon


I live in montreal. I might have money to spend, if the prices are reasonable ;)

As far as motor controllers... I would need something I can directly hook to a PC, and that can be used on linux. I also need it to support up to 6 amps per motor, at 12V.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: My robot progress thread...
« Reply #4 on: February 08, 2007, 08:18:22 PM »
http://www.dimensionengineering.com/Sabertooth2X10.htm

You will need either a serial transceiver chip or a USB -> TTL converter.

USB: http://www.sparkfun.com/commerce/product_info.php?products_id=198

I don't know where you would get a serial converter (max232), but there are a ton of places that sell them.

- Jon

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #5 on: February 09, 2007, 12:24:45 PM »
http://www.dimensionengineering.com/Sabertooth2X10.htm

You will need either a serial transceiver chip or a USB -> TTL converter.

USB: http://www.sparkfun.com/commerce/product_info.php?products_id=198

I don't know where you would get a serial converter (max232), but there are a ton of places that sell them.

- Jon


That module is interesting. Can you hook it directly to a computer's serial port and start sending commands? If so, I can most likely get a USB/serial adapter and it could do the trick for my robot.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: My robot progress thread...
« Reply #6 on: February 09, 2007, 12:39:03 PM »
With the USB -> TTL converter, you could hook that directly up to the Speed controller I linked to before (from DimensionEngineering). Then, by sending simple commands over your serial port, you can control the speed and direction of your two motors.

- Jon

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #7 on: February 09, 2007, 02:17:51 PM »
With the USB -> TTL converter, you could hook that directly up to the Speed controller I linked to before (from DimensionEngineering). Then, by sending simple commands over your serial port, you can control the speed and direction of your two motors.

- Jon


What do you mean by TTL, is that the same as serial? Will a USB to serial adapter do the trick?

Something like this: http://www.tigerdirect.ca/applications/SearchTools/item-details.asp?EdpNo=1104139&CatId=464

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: My robot progress thread...
« Reply #8 on: February 09, 2007, 02:27:09 PM »
No, that won't do it - that device (and a normal DB-9 serial port on a computer) produce what is known as RS-232 level voltages. which vary anywhere from -12 to 12 volts. TTL level voltages are 0 and +5 volts, and are what micro-controllers typically deal with.

The speed controller I referenced has a TTL-level serial interface, which means you must use a USB -> TTL converter to talk to it. The part I referenced from Sparkfun is that. You're not likely to find something like that at a consumer-level electronics store, because most non-electronics people don't know the different between RS-232 and TTL.

- Jon

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #9 on: February 09, 2007, 02:29:36 PM »
No, that won't do it - that device (and a normal DB-9 serial port on a computer) produce what is known as RS-232 level voltages. which vary anywhere from -12 to 12 volts. TTL level voltages are 0 and +5 volts, and are what micro-controllers typically deal with.

The speed controller I referenced has a TTL-level serial interface, which means you must use a USB -> TTL converter to talk to it. The part I referenced from Sparkfun is that. You're not likely to find something like that at a consumer-level electronics store, because most non-electronics people don't know the different between RS-232 and TTL.

- Jon


Well, I don't like the idea of soldering directly on the board... I found this, however (see link below). The ideal find would be one of those USB->TTL adapters with some screw-in connectors.

http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=47&title=Cables:+TTL-232R
« Last Edit: February 09, 2007, 02:31:50 PM by Nyx »

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Crane-like arm
« Reply #10 on: February 10, 2007, 11:48:19 AM »
Here is a very preliminary plan of my robot:

http://www.xgameproject.com/images/plan1.gif

Not quite pretty I know, especially considering it will be built out of wood.

The interesting thing I added on this plan is a drawing of the arm. I am looking for a simple, yet strong design. For this reason I thought it might be nice to build the robot's arm in a crane-like fashion. That is, a DC motor will pull the first arm section using a metal wire and a simple pulley. The first arm section will in turn have its own motor and pulley system that will serve to move the second arm section. On the second arm section will be mounted a custom gripper and gripper rotation system, as well as a camera, to facilitate alignment with target objects. I am not sure yet how the gripper is to be rotated, probably using a servo. The gripper will probably be activated using a spring that keeps it open by default, and a DC motor to exert pressure to close it when needed. I will most likely use some switches on the arm to detect then the arm has reached its maximum extension.

This design has the advantage that it allows for a long arm, requires no servos to move the first and second arm sections, and could possibly lift some heavy weights (2-3 kilos), which is alot more than most robot arm kits can do. It should also be able to go low enough to reach the floor, and high enough to reach the surface of a table. I also think it would be neat if the arm could be used to press elevator buttons, for example.

The main disadvantage might be the risk of disequilibrating the robot. For this reason, the robot's battery should most likely be placed towards the back.

When I get the money, I should be buying the dual motor controller JohnHylands suggested, as well as the USB->TTL cable I found. This should do the trick to control the motors of the differential drive.
« Last Edit: February 10, 2007, 11:49:45 AM by Nyx »

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: My robot progress thread...
« Reply #11 on: February 10, 2007, 08:23:27 PM »
Well, I don't like the idea of soldering directly on the board... I found this, however (see link below). The ideal find would be one of those USB->TTL adapters with some screw-in connectors.

http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=47&title=Cables:+TTL-232R

That looks perfect.

Since the speed controller has screw-terminals, you can just cut the connector off that cable, strip the ends off the two wires you need (ground and Tx), and plug them into the board...

You might want to just get this instead:

http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=67&op=catalogue-product_info-null&prodCategoryID=47

Just cut the exposed wires (other than the two you need) back to their insulation, and then tape them all together.

Alternately, if you prefer to keep the cable in the state it is in, once you get it, send me the spec for the pin connector (which pin is what), and I'll solder you up a quick jumper cable that will go from that to the screw-terminals of the speed controller.

- Jon

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: My robot progress thread...
« Reply #12 on: February 11, 2007, 03:34:43 PM »
oh man i got so much to say on this one . . . so what you are doing sounds very much like my very first robot (the one that mostly failed). one day ill document the darn thing, i think it can give you some good ideas . . .

Quote
A marine deep cycle battery, 30+ AH
I think you should get NiMH battery packs - cheaper per Ah, and lighter too.

Quote
my mom will make those for me, heheh, no joke
my mom refuses to even touch a computer :-\

Quote
One of my main problems is that i'm not well equipped to fix the motor to a wheel, and to fix the motor to the chassis. The motor has its screw-holes on the front, where the axle comes out to attach the wheel.... In the worst case, I might make a hole in a wood block, stick the motor in it, and fill the hole with glue (yes, I know, how ghetto eh?).
look into keyed shafts and setscrews for motors, wheels, and wheel hubs. this is the best method. dont use glue! ive tried (when i was a beginner), and it doesnt work for any robot above ~2lbs . . .

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: My robot progress thread...
« Reply #13 on: February 11, 2007, 03:53:58 PM »
just found this by accident/coincidence . . .

wheel hubs:
http://www.servocity.com/html/hubs___adaptors.html
(the four holes screw into your wheel, and the other screw is for the motor shaft)

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #14 on: February 20, 2007, 11:23:17 AM »
just found this by accident/coincidence . . .

wheel hubs:
http://www.servocity.com/html/hubs___adaptors.html
(the four holes screw into your wheel, and the other screw is for the motor shaft)

You suggest NiMH battery packs, but don't those suffer from memory effect? Also, how expensive are we talking? I can get a 90 AH 12V deep cycle battery for $80 or so.

Offline trigger

  • Full Member
  • ***
  • Posts: 115
  • Helpful? 0
  • It's an op amp, not a gun part.
Re: My robot progress thread...
« Reply #15 on: February 20, 2007, 12:13:12 PM »
You suggest NiMH battery packs, but don't those suffer from memory effect? Also, how expensive are we talking? I can get a 90 AH 12V deep cycle battery for $80 or so.

NiMH batteries do not suffer the memory effect; only NiCads do. NiMH, however, will gradually lose their charge over time. That's why you should charge them regularly.
« Last Edit: February 20, 2007, 02:39:21 PM by trigger »
There are 10 kinds of people in this world: those who can read binary, and those who can't.

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #16 on: February 20, 2007, 07:57:03 PM »
Well, having looked into it a little, it seems it would be difficult to get NiMH batteries for a total of 40+ AH for under $100. So I will probably stick with the original plan.

On another note... I just got my inverter replaced (the one I got originally blew up when I first tested it). This one works fine. It seems my laptop consumes about 5 amps at 12V when idle, 7-8 amps when under load. There seems to be very little energy loss in the inverter, which is good. I also received my two motors. It appears they have ports that will allow me to measure their rotational speed using a digital input, which is pretty neat.

Offline Brandon121233

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 320
  • Helpful? 0
  • "Genius is %1 inspiration and %99 perspiration"
Re: My robot progress thread...
« Reply #17 on: February 23, 2007, 02:21:52 PM »
Based on that picture that you have, it looked like you were planning on making somekind of "crane arm", but just as a warning to you, unless you planthat thing out to the last detail and make every part on a CNC mill, out of plastic or aluminum; its just not going to work! If you plan on making it out of wood I give it a 99% chance of failing, simply because: it need to be light and yet strong (compared to other common materials wood isn't even close to either of those), and it needs to be precision made so it doesn't fall apart when you put it together(wood is not very good at keeping its shape exact because of warping due to moisture content). Your plan also looks a bot sketchy, I once tried something like that and it ended up working however it was so in-precise that it turned out being pretty much useless. The two things I would suggest ( depending upon what exactly you need the arm for) would be super high torquer servos, or hydraulics (that might be overkill, but a very small hydraulic piston can life incredible amounts of weight). I'll try to think of some other designs you could use, but it would be easier if I knew what you planned on lifting with the arm (drinks or people).

Edit- Unless you have alredy started, I would suggest that you keep the robot a little lower to the gound, I thnk the way you have it there would be a lot of wasted space on each of the levels
Is this kinda what you want to build or am I totally off?
« Last Edit: February 23, 2007, 02:29:51 PM by Brandon121233 »
Hell, there are no rules here—we're
   trying to accomplish something.

                                                                              —Thomas Edison

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #18 on: February 23, 2007, 04:22:37 PM »
The robot being tall is something I see as an advantage. It avoids the risk of people ever walking on it, makes it easier to interact with people or grab objects placed on tables... Or use elevators, or any equipment made for people.

As for the resistance of wood... Surely I can build something solid enough to lift 3-4 pounds using wood.
« Last Edit: February 23, 2007, 04:39:27 PM by Nyx »

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
Re: My robot progress thread...
« Reply #19 on: February 23, 2007, 05:10:44 PM »
you want the robot arm to be as light as possible, as the base motor has a lot to carry. i used HDPE (plastic) on mine. the shape of the materials can also increase strength while reducing weight (think of the aluminum frame of a car).

Quote
it needs to be precision made so it doesn't fall apart when you put it together
my first (non-lego) robot arm was totally not precision made, with holes drilled almost randomly, but it still assembled/functioned fairly well. :P

Offline NyxTopic starter

  • Robot Overlord
  • ****
  • Posts: 204
  • Helpful? 0
Re: My robot progress thread...
« Reply #20 on: February 23, 2007, 06:59:20 PM »
I agree that the arm should be light, if I don't want the base to just fall over when it's fully deployed. But I will have to do without precision, and the total weight of the robot isn't really such a big concern for me. I bought two 40W DC motors to make it move, and the battery alone will weigh over 30 pounds.

 


Get Your Ad Here