Skip to main content
GameDev.net gamedev.net
🔒 Locked 🤖 Godot

Autonomous RC Car Hack (Day ...)

Started by bzroom Dec 23, 2006 at 8:04 PM 46 replies 14.4k views
Original Post
bzroom
bzroom
I was shopping at Wal-Mart and I saw this RC car and of course like any normal human being I thought how I could put a computer on it. I knew I had a Basic stamp 2 just sitting around at work attached to a GPS receiver. So I picked it up for $50 bucks. I plan on using my sister's Compaq because it has a serial port. Until eventually I can get a stripped down laptop and permanently mount it to the chassis. Also later tonight my buddy will drop of a webcam which I plan to use for vision. The chassis appears to be driven forward and backward by a DPDT relay. While the steering is controlled by what looks like a stepper motor (identified only by the 2 common, and 4 control ribbon cable coming out of it). That bummed me out and I thought of hard wiring the RC Remote to the receiver and controlling the input switches with relay. Then I noticed that the receiver chip appeared to be this tiny vertical board soldered onto the control board. With convenient pin out labels as you'll see in red. The new plan is to whack this RF board off and control the chassis with two DPDT relays as originally anticipated. The goods: Photobucket - Video and Image Hosting Photobucket - Video and Image Hosting Basic Stamp 2, Garmin GPS receiver, 7.2 volt battery: Photobucket - Video and Image Hosting Some electronic stuff I brought home from work: Photobucket - Video and Image Hosting The chassis: Photobucket - Video and Image Hosting Closeup of RF board connecting to control board: Photobucket - Video and Image Hosting Mock up: Photobucket - Video and Image Hosting [Edited by - honayboyz on January 9, 2007 1:58:06 AM]
Luckless
Luckless
Tell me, have you ever actually FINISHED a project? Or are you like me, and basically have your work spaced covered in nearly finished projects?

Sounds like fun, and at least your projects are impressive.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
Ravuya
Ravuya
How are you planning to get around the resolution limit of civilian GPS?
bzroom
bzroom
Quote:
Original post by Talroth
Tell me, have you ever actually FINISHED a project? Or are you like me, and basically have your work spaced covered in nearly finished projects?


Can't say that I have.. though there have been so many. Yes, who isn't like you? And is any project really every finished? I have many projects that are so close to finished that I tell people they're finished, yet every week I delegate time to making improvements to that particular project.

Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


Simple answer, vision. Complex answer, experimentally determine the best solution including dead reckoning, vision, and GPS. The GPS will mostly likely be used as a wake-up awareness convenience to answer the questions "where am I?" and "what time/date is it?"
capn_midnight
capn_midnight
Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


is that restriction still up? I thought it had been removed again.
Luckless
Luckless
bah, I went to rate you up for all the cool projects you do, but sadly I've already done so.

Are you going to build some sort of protective cage around your sister's laptop? Also, how did you convince your sister to let you use it? Mine has never let me use something of hers in robotics.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
bzroom
bzroom
Quote:
Original post by Talroth
Are you going to build some sort of protective cage around your sister's laptop? Also, how did you convince your sister to let you use it? Mine has never let me use something of hers in robotics.


The cage: Probably not, Hopefully I will have a dedicated machine for it before it gets permanent. I'm looking for a 20 dollar Win98 machine with a busted screen. Until then, it will probably get carried behind the machine or strapped with a sturdy bungee cord haha.

The convo:

Me: I'm taking your laptop and putting it on my robot.
Her: NO!
Me: It's ok I'm just going to plug stuff into it and program on it..
Her: Well is it going to put a bunch of junk on it?
Me: Trust me, It will be in better condition when you get it back then when I got it..

(I can't say that much about its physical condition but at least it will be functional inside. [she’s one of those limewire types..]).
SticksandStones
SticksandStones
Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


Can you explain this to me?

On topic: Cool project. I wish I knew something (anything) about engineering to do something like this. If you finish it let us know.
hippopotomonstrosesquippedaliophobia- the fear of big words
bzroom
bzroom
Update:

I desoldered (ok I really just broke it off) the RF unit and soldered on a some leads. I powered up the chassis and touched the leads together to confirm that I could indeed operate it with 4 digital signals.

I also got a nice 4 digital channel 27mhz receiver and transmitter out of it. I'll probably re-use this as a remote control for the device (but not in the directional sense).

Needed information:

I want this thing to be driven primarily by vision which is rather new to me. The only image processing program I ever made was about 5 years ago. It loaded an avi into a picturebox (vb6) and let the user select a pixel to identity a color range. Then for future frames it searched an area around the last found match looking for a pixel closest to the reference color.

It was a far shot from what I am trying to acheive here but like I said it was 5 years ago. I'm going to have to process an image and identify the ground plane. I figure it would start with a lower resolution de-sampling, then an edge detection. Then I would some how have to identify the lines that would converge in the horizon and use these as my boundaries. Any suggestions?

SticksandStones:
From what I know, the military is the only ones who are provided with the full capabilites (resolution/precision) of GPS. Whether its due to some consipiracy or the fact that their equiptment is a $1,000,000.00, I don't know.

What I do know is that I was standing in the parking lot with the GPS setup till it got a fix, plugged it into the computer got the LAT and LON dump, plugged it into TerraServer and got an image centered right in the parking lot.

In other words the GPS is probably not much use navigating the inside of your home. But anywhere in the front and back yard is fair game.

Also, you don't need to know anything about engineering to do this stuff. Engineering is planning and reporting and all the bullshit that slows you down (and saves you money) when you start a project. You just need to aquire something, strip it down, and mess with it.


Pictures:
Leads soldered on:
Photobucket - Video and Image Hosting

27mhz receiver:
Photobucket - Video and Image Hosting

Photobucket - Video and Image Hosting
LilBudyWizer
LilBudyWizer
Use two GPS receivers. One in a fixed location and the other on the mobile device. You can find the relative position between two receivers much more accurately than the absolute position of one within the world.
Keys to success: Ability, ambition and opportunity.
Luckless
Luckless
Quote:
Original post by LilBudyWizer
Use two GPS receivers. One in a fixed location and the other on the mobile device. You can find the relative position between two receivers much more accurately than the absolute position of one within the world.


If you are going to use a fixed base somewhere that can communicate with the unit, why not just use it as a base point, and triangulate the position of the unit from that? Should be easier to get a fix, I also don't see how taking two units of imprecise data can net you a better single data point.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
Ravuya
Ravuya
Quote:
Original post by SticksandStones
Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


Can you explain this to me?
In the United States, civilian GPS units are accurate to 10-15 meters. The military GPS units are accurate to sub-meter resolution in many cases.

I don't know if this restriction has been lifted; I'm waiting for the Galileo project to gain traction before purchasing a civilian GPS device.
Luckless
Luckless
Quote:
Original post by Ravuya
Quote:
Original post by SticksandStones
Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


Can you explain this to me?
In the United States, civilian GPS units are accurate to 10-15 meters. The military GPS units are accurate to sub-meter resolution in many cases.

I don't know if this restriction has been lifted; I'm waiting for the Galileo project to gain traction before purchasing a civilian GPS device.


The Confederation bridge was built with GPS assisted cranes, with placement down to a fraction of an inch, (I think fraction of a millimeter even) back in 94. I think civilian handhelds aren't perfect simply for cost reasons more than military. Also I don't think there is much demand for per millimeter GPS outside of the military and engineering. If I'm out backpacking, getting inside of 50m is more than enough really. From there you should be able to find anything big enough to get marked on a map.
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
capn_midnight
capn_midnight
Quote:
Original post by Talroth
The Confederation bridge was built with GPS assisted cranes, with placement down to a fraction of an inch, (I think fraction of a millimeter even) back in 94. I think civilian handhelds aren't perfect simply for cost reasons more than military. Also I don't think there is much demand for per millimeter GPS outside of the military and engineering. If I'm out backpacking, getting inside of 50m is more than enough really. From there you should be able to find anything big enough to get marked on a map.


No, for a while there was definitely an error level introduced in civilian GPS units to specifically make their accuracy lower than possible. It was called Selective Availability, and it's been disabled since 2000.
bzroom
bzroom
Quote:
Original post by Talroth
Quote:
Original post by LilBudyWizer
Use two GPS receivers. One in a fixed location and the other on the mobile device. You can find the relative position between two receivers much more accurately than the absolute position of one within the world.


If you are going to use a fixed base somewhere that can communicate with the unit, why not just use it as a base point, and triangulate the position of the unit from that? Should be easier to get a fix, I also don't see how taking two units of imprecise data can net you a better single data point.


He's assuming the receivers are precise yet not accurate. They both tell you the wrong answer, but they're off by the same amount. It would allow you to determine the error in the fix but you'd have to know the true position of the reference receiver. It dosn't seem cost effective to have a dedicated "error interpreter" receiver. I don't think it's worth it.

I got the relays hooked up between the microprocessor and the chassis. One thing I'm growing concerned about is the speed of this thing. This thing is FAST!! If it is tracking a person in a room, and it needs to reorient it is going to be a rather surprising maneuver.
etothex
etothex
Quote:
Original post by Ravuya
Quote:
Original post by SticksandStones
Quote:
Original post by Ravuya
How are you planning to get around the resolution limit of civilian GPS?


Can you explain this to me?
In the United States, civilian GPS units are accurate to 10-15 meters. The military GPS units are accurate to sub-meter resolution in many cases.

I don't know if this restriction has been lifted; I'm waiting for the Galileo project to gain traction before purchasing a civilian GPS device.


With free public WAAS corrections, you can get down to 3 meter accuracy >95% of the time most places in north america. Most newer quality GPS recievers have a waas channel.

If you need more accuracy, or worldwide coverage, a commercial service like omnistar or navcom can give you accuracy down to 10-15 cm in real time, for only several thousand dollars for a receiver plus an annual subscription.

It is possible to get accuracy down to millimeters, but usually that's using survey-grade equipment costing mucho dinero, and doesn't give you real time results - usually you need to record the signals and do postprocessing, as well as having multiple receivers set up in a differential GPS setup like someone described above.
LilBudyWizer
LilBudyWizer
Quote:
Original post by honayboyz
Quote:
Original post by Talroth
Quote:
Original post by LilBudyWizer
Use two GPS receivers. One in a fixed location and the other on the mobile device. You can find the relative position between two receivers much more accurately than the absolute position of one within the world.


If you are going to use a fixed base somewhere that can communicate with the unit, why not just use it as a base point, and triangulate the position of the unit from that? Should be easier to get a fix, I also don't see how taking two units of imprecise data can net you a better single data point.


He's assuming the receivers are precise yet not accurate. They both tell you the wrong answer, but they're off by the same amount. It would allow you to determine the error in the fix but you'd have to know the true position of the reference receiver. It dosn't seem cost effective to have a dedicated "error interpreter" receiver. I don't think it's worth it.

I got the relays hooked up between the microprocessor and the chassis. One thing I'm growing concerned about is the speed of this thing. This thing is FAST!! If it is tracking a person in a room, and it needs to reorient it is going to be a rather surprising maneuver.


No, it wouldn't allow you to fix a position. You would not know your absolute position within the world any better with two receivers. Rather you just know where one receiver is relative to the other far better than you know the absolute position of either receiver. If you know where the fence or storage shed in your backyard is relative to the fixed receiver then you can tell pretty accurately if the mobile one is getting close to either. That's how they build bridges using GPS. What WAAS does is gather the information needed for correction off the internet, calculates a correction factor and broadcasts it.
Keys to success: Ability, ambition and opportunity.
bzroom
bzroom
Update:

In the past three days I've worked on the robot once..

In my previous post I mentioned how the RC car was way too fast. Well to work around this I decided to modify the 6 cell battery into a multi-voltage power supply by taking positive leads in between certain cells.

GND --{  }-- 1.33v --{   }-- 2.66v --{   }-- 4v... etc.


I control the drive of the robot with 5 relays, 2 for reverse and 3 for the 3 different speeds. (2.66v, 5.33v, 8v) I drive the relays with 4 diode protected transistor driver circuits so the most I ever blow up is a 15cent transistor. The relays are SPDT automotive relays.

Note: If you ever attempt to modify a multiple cell RC car battery *MAKE SURE* you drain alllll the power first. When I unwrapped it, and the cells touched each other they nearly welded themselves together. It stunk real bad and the power output of the battery dropped significantly.

Vision: I have read these two papers Monocular Vision, and Color Image Segmentation, and I think I have a pretty good understanding of what needs to take place.

1.) Convert image into YUV space for more intuitive color comparison.
2.) Interpret every pixel and categorize by color.
3.) Project scan lines from the reference point (bottom center of image)
4.) Determine objects along scan line.
5.) Detect intersection of object with ground plane by finding the closest point to the reference point.
6.) Plot these objects in some map for avoidance

The GPS will be used to look up old maps to "remember" objects.

Learning: The robot will have to be taught what colors it should avoid. I plan on implementing this with a blue tooth headset and Microsoft’s Speech SDK.

The robot will enter a new environment and scan the colors. Using a histogram it will determine what objects it believes are the ground and immovable (large) objects. It will then confirm its suspicions via voice.

Robot: Am I correct in assuming the ground is an dark grey color?
Me: Yes

Robot: What is the large white object?
Me: That is the wall.
Robot: Should I avoid it?
Me: Yes (the answer "wall" could generate this response automatically)

Robot: What is the small black object?
Me: that is my shoe
Robot: should I avoid it?
Me: no, follow it


Some pictures:

Motor drive relays:
Photobucket - Video and Image Hosting

Relay drive circuits:
Photobucket - Video and Image Hosting

schematic: (dont remember where I printed the drive schematic, sorry)
Photobucket - Video and Image Hosting

The hand drawn schematic on the left will not work.. should be scribbled out :). The one on the right has a flaw, above the two reverse relays the inputs should be reversed on one of them (to create the flip flop reversing effect). They are in the real thing, the image just dosn't correspond (also one relay is not purchased yet).

[Edited by - honayboyz on December 27, 2006 3:14:25 PM]
Rixter
Rixter
Sounds like a cool project. As far as vision stuff goes, a lot of people have done similar stuff (although less complex) with Sony AIBO's to make them play soccer against each other. I don't have any links at the moment, but it may be worth tracking down some of those papers as well.

You may also be interested in looking at papers that talk about difference of Gaussians and salience as interest point selectors, which are often used in object detection.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.