Shop OBEX P1 Docs P2 Docs Learn Events
My latest 'project' - CAT, a Java+laptop controlled autonomous vehicle — Parallax Forums

My latest 'project' - CAT, a Java+laptop controlled autonomous vehicle

Joshua SiegelJoshua Siegel Posts: 51
edited 2006-07-05 19:49 in Robotics
Hi everybody,
I've had this project done and under wraps for a while, since we wanted to surprise our competition at a recent event [noparse];)[/noparse]. After the competition, finals came up and I sort of burnt out on the whole thing, but now I'm ready to work again!
I want to say thank you very much to Parallax for their great products, and show some other people here what can be done with some patience and perseverance! I've been using basic stamps and Parallax products since 6th grade now (I'll be a senior this year), and you guys are always really helpful, whether it is in the form of source code, documentation, sales, or just plain encouragement. Keep it up!
Here's the gist of my project - you'll have to forgive me if I neglect some details; this is the most complicated project I've ever had the pleasure of working on, and some of the little bits of code/hardware Easter eggs get left out.

Note for those easily bored: There’s a PowerPoint with pictures linked to towards the bottom [noparse];)[/noparse]

What it can do:
-Fully autonomous:
--Parking
---Park angle
---Park parallel
---Remove from parallel
---Remove from angle (soon)
--Drive by GPS/avoid obstacles
-Partially autonomous:
--Auto-hold a lane by vision and line sensors
---With adaptive cruise control (never exceed set speed, but slow/stop to avoid accidents)
---With collision avoidance (slow/stop/swerve when an obstacle suddenly appears)
---Blind spot notification, only when turn signals on
-Non-autonomous:
--drive by wire (local, allowing disabled peoples to drive, or remote over wireless, for war zones/etc)
---gives real-time feedback of distance of objects from sensors surrounding robot
---feeds back video real-time in greyscale/120*160
-Additional:
--Use laptop for information (GPS, OBDII, reverse camera, data logging, ECU tuning, media center, displaying messages for tailgaters, etc.)

The hardware/sensors:
A modified power wheels jeep platform (junior, so no metal frame)
--rubber tires/aluminum wheels
--dual 12v motors instead of 16v
--18v drill for steering
--eight IR range finders
--two line detectors
--one potentiometer
--one digital video camera
--steel reinforced frame
--redesigned steering linkage
--integrated folding tripod
--gps receiver
--one MPC laptop (won last year for an autonomous hovercraft)
--encoders (but currently unused)
--several limit switches

The electronics:
--sensors as listed above
--laptop
--motors as listed above
--dual Phidgets 8/8/8 interface kits (also acting as USB hubs)
--dual victor 883 speed controllers
--parallax psc
--quick disconnect cables (one cable/25 pin connector for all digital switches, clip-ons for analog)
--ability for relay switching/easy USB LCD output

The software:
--this is where I went a little nuts, so I wont explain everything - though I’d be happy to answer any questions
---uses simple neural networks, prioritizing, sensory filtering, PIDS, condition evaluation (as part of filtering), all in simultaneous threads
---image processing using edge find, grey scaling, filtering, maximum clear path finding
----will eventually add derivative image processing and inertial bugs to check for false positives
---sensor analog value to distance converter, with 1cm accuracy @ 1.5m
---real-time GUI to inform end user of what is occurring - could be turned into text and sent to an LCD
---PID threads as a means of correcting for bounce steer, etc., running all the time
---redundancy in terms of limit switches, potentiometer, etc. to prevent any oversteer issues - we already burnt out a drill

For more information, my PowerPoint is available at www.spline-designs.com/CAT/CAT_1_6.ppt . I’m not currently posting my full source code, but if you’d like snippets, I can email/PM those to you.

I think that covers up the majority of my project. It is far from complete, and now I'm looking for more to do, especially in the way of sensors (I was awarded a $500 grant to continue work on this projects).

I’m currently looking into a new steering system (servo motors, rather than a software emulation of a hardware servo), a metal frame to eliminate flex from side to side, especially in steering, accelerometers to prevent drift, and other range finders – laser range finders that offer a wide FOV are especially interesting, and I’d love if anyone has ideas on how to find one in my price range or build one… Serial/USB interface would be best. Speed of updating is critical, and I’d like a range of at least 10m. Sonar has too wide a cone per sensor, it seems, and IR is too narrow.

Does anyone have comments? Criticisms? Suggestions?

Thanks for taking the time to look at my project and read about it!

Post Edited (Joshua Siegel) : 6/18/2006 3:43:15 PM GMT

Comments

  • steve_bsteve_b Posts: 1,563
    edited 2006-06-18 15:58
    Sounds cool....was there a video anywhere?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·

    Steve

    "Inside each and every one of us is our one, true authentic swing. Something we was born with. Something that's ours and ours alone. Something that can't be learned... something that's got to be remembered."
  • Joshua SiegelJoshua Siegel Posts: 51
    edited 2006-06-18 15:59
    There's one that's 60mb, but I dont have time to upload it right now... Maybe the competition website has some footage, I'll check that out in a couple.
  • Jim RicheyJim Richey Posts: 82
    edited 2006-06-19 13:24
    Hello Joshua
    Your project is truly awesome! I'm jealous. It is an example of determination.
    Hey- the powerpoint photos were great.You must go to Harbor Freight for some of your stuff.
    The wheels won't take much side load without fracturing,I found out the hard way!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Thanks, Parallax!
  • blindlizardblindlizard Posts: 7
    edited 2006-06-21 19:14
    That is great.· I am working on the same kind of project with my kids.· We are using their Eliminator Power Wheels car.· So far we have a BS2 and HB-25 motor controller and the bot moves forward and back.· I wanted to start working on the streering soon.· Can you give me some specifics on the drill?· That is a great idea. (I even own that exact same generic blue drill).· How did you mount it and how are you running it?·

    I was going to mount a sprocket on the steering wheel and use a chain to a smaller sprocket mounted to a servo, but that drill idea is awsome (and less dangerous to nearby hands which is a concern doing this with a 8 and 5 year old)
  • Jim RicheyJim Richey Posts: 82
    edited 2006-06-26 20:19
    Hello Blindlizard

    Attached is a photo of the steering arrangement used on my R/C lawnmower.
    As you can see,the drill turns a threaded rod,which drags the center link back and forth,turning the wheels.I used several other devices to do this and they all broke in heavy use.The clutch in the drill keeps bad things from happening when overstressed.Power to the drill is provided by a simple mechanical forward/reverse switch,activated by a small servo.The photo shows the chuck with the plastic covering cut off which allows better tightening.The steering is very rugged and reliable,but it will overshoot the intended position easily.
    I don't know how Joshua is able to maintain precision steering control,sure would like to see.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Thanks, Parallax!
    640 x 480 - 123K
  • blindlizardblindlizard Posts: 7
    edited 2006-06-26 21:19
    Thanks for that! That looks like one rugged machine you built, I would hate to get in its way [noparse]:)[/noparse] I am hoping to beable to just turn the rod that the steering wheel is mounted on like Joshua did and use the steering linkage that Power Wheels provided, but I am not sure how to mount it. Also, I have never taken a drill aprt, so I am not sure how the forward and reverse is achived. Is it a switch litterally moving the the positive and negative leads from the battery to opposite ends of the motor? I guess that would be easy enough to hook up a weak servo to switch them. And yeah, I guess the big question is how to know wheel position. Maybe a couple of switches (one at center, one full right and one full left) that can litterally "kill" the drill. I don't need really fluid steering at this point, so that might be the easiest to get started.

    Post Edited (blindlizard) : 6/26/2006 9:22:44 PM GMT
  • Joshua SiegelJoshua Siegel Posts: 51
    edited 2006-07-04 03:42
    I'm sorry I haven't been able to respond in awhile, it stopped emailing me when people replied, I guess...
    I can get pictures soon, but I'm going to be redoing the steering system when I get a chance anyway (reducing it another 10:1 or so). The physical linkage is quite simple, with the drill being mounted such that it cannot rotate. The mounts 'grab' the handle, so that the load is distributed over a large area. The steering shaft was cut and ground so that the chuck would close well, though if you simply remove the wheel and replace the chuck with a 1/2" instead of 3/8" (mine didn't want to change), it can grab the machined 'nubs' on the shaft that attach it straight to the wheel.
    The control is precise, but the movement isn't [noparse]:)[/noparse]
    It moves too fast to be reliable, and can even hurt itself if I'm not careful about speed values I send it. That's part of the reason for futher reduction, along with the total weight of the vehicle (near 150lbs, if not more).
    I pretty much tape the switch in place, and use my motor controller to flip the voltage when I need to reverse direction.
    If you have any more questions, just ask!
  • StuartttttStuarttttt Posts: 45
    edited 2006-07-04 19:54
    Hi Joshua,

    Nice project, I'm nearly about to embark on a similar project but probably not as elaborate. I've just bought an Jupiter OEM GPS and will be testing it soon. What GPS module are you using and what accuracy have to managed to achieve ?

    Regards
    Stuart
  • Joshua SiegelJoshua Siegel Posts: 51
    edited 2006-07-05 19:49
    I'm using an earthmate LT-10 from DeLorme and have been able to get fair accuracy, depending on the conditions multiplied by some random number between 0 and 1 [noparse]:)[/noparse]. A good run would be about a meter, though I hope to improve that with multiple receivers.
Sign In or Register to comment.