Shop OBEX P1 Docs P2 Docs Learn Events
TSL1401 for robot vision — Parallax Forums

TSL1401 for robot vision

jaegjaeg Posts: 156
edited 2012-11-25 13:12 in Accessories
I'd like to use the TSL1401 line scan sensor to give my robot an idea as to where it can and can't go. Is it possible to estimate distances or at least get an idea as to where obstacles are.
1. Is this possible without lasers?
2. How far away can an object be before the camera can no longer see it?
3. Would using a Ping((( on a servo be a better option for this?

Comments

  • Martin_HMartin_H Posts: 4,051
    edited 2012-11-24 16:15
    There's no doubt that the Ping))) is simpler to use. But sight has some unique applications.

    The TSL1401 sees a light and bright pattern in a single scan line. It can see clear across a room with good light, but the trick is figuring out what to do with the information. Your program needs to know what sort of signal it is looking for in the noise. For example :

    You might be able to see a moving object by comparing frames and looking for changes in brightness. A candle is

    A candle would be a bright spot in a dark background. So a firefighting robot might use it to locate one.

    A laser could turn the TSL1401 into a range finder or beacon locator. This is made much easier with a laser line generator.

    Line following or bar code reading are both easy because of the high signal to noise present in the image.
  • jaegjaeg Posts: 156
    edited 2012-11-24 18:59
    So, for example, if I wanted to see if an obstacle was in my way I could scan the room and then consider the darkest objects (assuming objects would appear darker closer up) could be things in my way or maybe use an edge detection algorithm?

    I want to give my robot a 'feel' for the room he is in. What I mean by this is I want him to be able to look around where he is, find the direction he can go the farthest without having to change direction, and then head that direction.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2012-11-24 19:08
    jaeg wrote:
    I want him to be able to look around where he is, find the direction he can go the farthest without having to change direction, and then head that direction.
    Although I'm loathe to discourage you from using the TSL1401, the Ping))) on a scanning head will get you closer to that objective.

    -Phil
  • jaegjaeg Posts: 156
    edited 2012-11-24 19:16
    Through what I've been reading I agree with you. I already have a ping so I might get the other sensors and install both. I'll figure out some use for the scan line later. This robot is a converted Hearoid toy and is 100% experimentation for various systems and sensors. So in other words it is a nerd toy.

    It would be nice to use this for motion detection.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-11-24 20:35
    jaeg wrote: »
    What I mean by this is I want him to be able to look around where he is, find the direction he can go the farthest without having to change direction, and then head that direction.

    I added an ultrasound sensor to my Scribbler 2 to do just this. One thing I noticed in my S2 experiments is the IR sensors of the S2 compliment the ultrasound. Ultrasound has trouble with hard flat objects that bounce the sound off at an angle so none of the echo returns to the sensor and they also have trouble with soft fabrics that can absorb the sound rather than reflect it. The IR sensors work well in both of these situations where the ultrasound fails to detect an object.
  • jaegjaeg Posts: 156
    edited 2012-11-25 06:17
    You have a very good point there. Maybe in the robot's base I can install small series of IR sensors.

    This is the robot I am hacking.
    http://theoldrobots.com/heroid.html
  • Duane DegnDuane Degn Posts: 10,588
    edited 2012-11-25 09:18
    jaeg wrote: »
    This is the robot I am hacking.
    http://theoldrobots.com/heroid.html

    Then I think it's safe to say no matter what you do it will look cool.

    While finding the direction the robot can travel the farthest is a good starting point, it actually gets old pretty quickly since the robot ends up just driving back and forth across the room. I think some sort of wall following algorithm would be fun to watch. Or even better, some sort of mapping program that will let the robot try to find places it hasn't been before.

    It would be nice to come up with a way for a robot to remember where couches and other ultrasound absorbers are located since my robot frequently ended up running into the couch. I added some memory to my robot but it was very sort term. Without some sort of memory the robot would have spent most of its time trying bumping into the couch. The stall sensors on the S2 were another very useful sensor. Every so often the only way an obstacle was detected was by the stall sensors.
  • jaegjaeg Posts: 156
    edited 2012-11-25 13:12
    I plan on adding a lot of random functions to this guy. One of which is going to be two microphones where his ears should be that way he can go looking for a loud sound or turn his had to look at the source of the sound.

    I'm motorizing the arms and head (the arms are posable and the head is stationary normally) so for the most part this guy will be a large testing ground for various behaviors. One of which is implementing neural nets into his programming so via positive or negative feedback from me he will learn how to behave to certain stimuli.
Sign In or Register to comment.