Shop OBEX P1 Docs P2 Docs Learn Events
Which sensor to use? — Parallax Forums

Which sensor to use?

LuckyLucky Posts: 98
edited 2010-02-01 23:30 in Accessories
I'm currently in the progress of making a tennis ball retriever robot and I was wondering if anybody had some good suggestions as to what would be the best way to track the position of my robot on the tennis court. I've considered GPS, but I have found out that it is not accurate enough for my application. Using line sensors is a possibility, in order to follow the·standard white lines. IR beacons look interesting, but I'm not sure as to how I would use them. Right now, my plan is to use the encoders I have made for my wheels in order to implement dead reckoning. The only problem with dead reckoning though, is that the error in your calculated position builds up over time as your robot moves. Maybe I could use a combination of line sensors with dead reckoning in order to update/ recalibrate the position of my bot. Does anyone else have an opinion as to how to do this better? Does anyone else have some sort of past experience involving a problem like this?

Comments

  • FranklinFranklin Posts: 4,747
    edited 2010-01-18 23:05
    Cameras at the four corners of the court would give you fairly precise position information.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • LuckyLucky Posts: 98
    edited 2010-01-18 23:17
    Yikes! Wouldn't that be expensive to have 4 cameras? Plus there would be the cost of the wireless units, if your talking about having the cameras send information wirelessly to the bot on the court
  • FranklinFranklin Posts: 4,747
    edited 2010-01-18 23:57
    No, the cameras would be connected to a computer that would track the bot and send it correction data.

    Also, unless you know where the balls are what difference does it matter where the bot is?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
  • LuckyLucky Posts: 98
    edited 2010-01-19 00:10
    "Also, unless you know where the balls are what difference does it matter where the bot is?"

    I thought about that question, but I decided it was necessary in order to make sure the whole court was covered and to be able to return to a certain starting position.

    I have considered the ideas of cameras, but the cost starts to get too high for me and the ability to process the images on the computer are outside of my "know-how". Also, I wanted to keep most of the sensors on the robot. At most I will go for a single camera mounted on the robot itself, but I was really looking for a solution that did not involve cameras and off site computing.
  • kwinnkwinn Posts: 8,697
    edited 2010-01-19 02:41
    Led beacons in the corners and a scanning sensor on the robot.
  • LuckyLucky Posts: 98
    edited 2010-01-19 02:49
    Does anyone know how far an ir beacon would work? (one side of a tennis court is 39ft long)
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-01-19 04:33
    Outdoors in daylight, I wouldn't count on this as a viable solution. Sunlight will saturate any IR recever, rendering it virtually blind.

    -Phi
  • LuckyLucky Posts: 98
    edited 2010-01-19 04:44
    Even if I pulsed the ir beacon at 38khz? My ir receivers that I already have contain a built-in 38kHz filter, so it rejects all other frequencies. Wouldn't this by sufficient enough? Plus, if I put a tube on the receiver, it would narrow the field of view and block direct sunlight. (Most ir receivers used with beacons have some sort of tube from what i've seen). So... with the 38khz filter and tube, do you think that it would work, even in the middle of the day?
  • kwinnkwinn Posts: 8,697
    edited 2010-01-19 13:22
    If you put a beacon in all 4 corners and pulsed them it should work. Of course you need an IR filter and a narrow field of view on the detector along with a narrow band pass filter for the pulse frequency. Since you only need to see 2 beacons to triangulate position being unable to see one or two due to sunlight should not be a problem. Each beacon should send a unique id code.
  • LuckyLucky Posts: 98
    edited 2010-01-20 02:24
    Thank you for all the ideas and suggestions.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "You do not really understand something unless you can explain it to your grandmother."


    -Lucky[size=-1][/size]
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-01-20 02:53
    Try it first in direct sunlight before committing to it. I still think you're going to experience sensor saturation, in which case no amount of modulation will help.

    -Phil
  • LuckyLucky Posts: 98
    edited 2010-01-20 03:27
    I live in Virginia, and this whole week looks like its goin to be cloudy. [noparse]:([/noparse] Would setting up an array of ir leds from above help simulate the radiation of the sun?
    I see this robot mostly being used during the summer though, when it is hot and bright outside. If this IR beacon doesn't work, then I'm going to just have the robot follow the lines on the court and temporarily leave the line to scan in the middle of the different boxes. Then the bot can just turn around and head back for the line and wait till it comes to an intersection of two white lines while line following in order to recalibrate its position.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "You do not really understand something unless you can explain it to your grandmother."


    -Lucky[size=-1][/size]
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2010-01-20 03:57
    Lucky said...
    Would setting up an array of ir leds from above help simulate the radiation of the sun?
    Not even close. The question to ask is yourself is this: "Would such an array warm my skin like the sun does, no matter where I'm standing within the tennis court?"

    -Phil
  • LuckyLucky Posts: 98
    edited 2010-01-20 05:32
    I know that was kind of stupid, but I'm pressed for time right now and the skies are not permitting a sunny day for the rest of the week. I guess I'm just going to have to use the other method I mentioned. Now for using IR leds and receivers for line sensors, thats a whole different matter right, considering that the assembly is under the robot and that the sensor is close the the ground + you can shield it with black electrical tape, which I've heard works quite well for blocking IR from reaching your line sensors.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "You do not really understand something unless you can explain it to your grandmother."


    -Lucky[size=-1][/size]
  • IRobot2IRobot2 Posts: 164
    edited 2010-01-21 20:05
    This is kind of stretching it on the "ease of implementation" side, but you could use a decent sized bright object (like a blaze orange road cone) and place that in the center of the court. Use a color imaging camera to fixate and keep a constant eye on the center object then either A) have known size object at the top of the cone and calculate the size that you are referencing it at. Using some good math you can get a decent guesstimate of your distance. General localization should give you your direction and heading. Or B) have a highly reflective flat object at the top of the cone and try and hit it with some type of sonar or other range finder. Then use general localization and you should be able to cover the area pretty reliably. If you did some kind of crazy math, I am sure going in a spiral pattern starting close to the cone and working your way outward would be the best. End it with a square pass along the outside and you cover just about every thing. (This is assuming you did one side at a time, the net poses a problem)

    You would have to calibrate the unit before you use it, especially outside. But that takes just a second. It is harder to use a camera like this in the sun, but not impossible. It will still pick out certain colors fairly easily.

    BTW, not to get slightly off topic, but how are you picking up the balls exactly? I made a similar robot last year that picked up those little green and yellow "Nerf" balls. The hardest part was getting a reliable device to actually pick them up.

    EDIT: If you do go with the camera, I wonder how easily it would pick up the color of a tennis ball? If you have a known number of balls you can have it do a random pattern (think roomba style) and if I green/yellow ball came within the cameras view it would go after it. It could then start the random pattern again. When all the balls are picked up it sounds an alarm. -- That is if it can see the balls...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Alex Burke
    "It is not how smart you are rather, it is how you are smart." -Jon Campbell

    Post Edited (IRobot2) : 1/21/2010 8:11:48 PM GMT
  • jeff2.0jeff2.0 Posts: 24
    edited 2010-02-01 05:53
    I know this doesn't help much but I'd rather get one of those cute chicks with the pink hoodies to run and get the balls like I see on the TV.

    Seriously though, you could manually control the robot to near the ball and then have a ping sense it an go from there automatically.
    j
  • RoboticsProfessorRoboticsProfessor Posts: 54
    edited 2010-02-01 19:01
    Here is a way you can use a rotating laser on your bot. You only need 3 passive reflectors on the ground:

    http://www.richardvannoy.info/laser-navigation.pdf


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Richard Vannoy

    Programming and Electronics Instructor
    www.RichardVannoy.info
    ·
  • Robert TRobert T Posts: 71
    edited 2010-02-01 23:30
    If your goal is to retrieve tennis balls you really don't need to know the robots exact location in relation to the court, you just want to keep it in the court. What you really need is a way to locate the tennis balls. You could scan the area of the robot with the TCs3200-DB Color Sensor sold by Parallax to locate the balls. I assume tennis balls are the typical yellow. You would have to come up with an program to calculate the nearest ball and then go fetch it. I have never used this device but it may work and if not a different camera could be used. The camera could send the robot in the general direction and a PING device used for close proximity to grab it.
Sign In or Register to comment.