PDA

View Full Version : Best Range Sensor for RoboticsConnection Serializer?



JimH
02-23-2008, 08:26 PM
I'm currently working with a Parallax PING ))) sensor and I am not getting the clear and fast reading I need for collision avoidance. Perhaps I am just not reading it as efficiently as I can, but I also wonder if there is not a better sensor for the job.

I've looked at the IR and the Sonar options, but figured I'd ask for some advice before making a purchase.

Thanks!

Dave
02-27-2008, 04:57 PM
You could try using one of the MaxSonar EZ sensors, which have a pretty quick response when they're in continuous range mode. They have several different communication methods too (serial, analog, pulse width), so you could experiment to figure out which is the most effective. You might also want to try out one of the Sharp IR sensors, which also have very quick response times.

However, I haven't used the PING sensor, so I don't really have a basis of comparison.

LinuxGuy
03-21-2008, 05:01 PM
I'm currently working with a Parallax PING ))) sensor and I am not getting the clear and fast reading I need for collision avoidance.
How fast is the response time you need? I think that's what has to be identified first. I've never had problems getting readings from a PING sensor and it's a lot faster than IR according to my experience.

8-Dale

JimH
03-22-2008, 09:16 AM
Just fast enough that I get a clear reading in time to stop my robot. It's possible that the issue was with my code. However, the IR Sensor code is using the same technique to evaluate a change in the sensor output to read it. I haven't ruled out the PING. Right now I'm focusing on improving my C#.NET skill so that I can do a better job with coding. Perhaps I'll find a better way to interact with the PING and get the results I need.

LinuxGuy
03-22-2008, 03:50 PM
Just fast enough that I get a clear reading in time to stop my robot.
The response time you need from the sensor relates to how fast the robot is moving. You need faster response if the robot is moving faster, and vice versa. You need to pick a sensor that will give you fast enough response at the fastest speed your robot is going to be able to go.

I learned this real quick the first time I set W.A.L.T.E.R. down on the floor after the conversion from CR servos to gear head motors at full speed. Thre was not enough time to read the sensors, process the readings, and respond to prevent a crash into the door.


It's possible that the issue was with my code. However, the IR Sensor code is using the same technique to evaluate a change in the sensor output to read it. I haven't ruled out the PING.
It's my experience that IR ranging sensors (at least the ones I have been using - (Sharp IR Rangers (http://www.trossenrobotics.com/sharp-ir-distance-sensor-gp2d12.aspx)) are just not fast enough, or my processing has not been fast enough (have not tried it with an Atom PRO, just a Basic Atom). My next venture will be using the Hammer Board to handle a couple of these. The PING still seems a lot faster to respond and provide a reading.

8-Dale

JimH
03-23-2008, 08:59 AM
I had a similar experience when first putting my bot on the floor. I learned a few things that first night, such as:


The amount of energy required to get your bot moving, translates to more speed than you want after it overcomes inertia and begins to move.
The faster the bot moves, the more quickly your sensors need to respond.
While working out the balance with my program I had numerous bumps. This resulted in my search for a bump sensor as a backup, and exploration into better sensor use.

I'm getting there. Interesting that you have an opposite experience with the sensors. The IR is doing a much better job for me, but that might be the way it is implemented in the .NET library that comes with the Serializer.

LinuxGuy
03-23-2008, 02:23 PM
I'm getting there. Interesting that you have an opposite experience with the sensors. The IR is doing a much better job for me, but that might be the way it is implemented in the .NET library that comes with the Serializer.
I didn't actually write the code that reads and returns the results, so there may be a problem there. The base code I am using uses a lookup table, but each sensor is a bit different so it may not be reliable and sure doesn't provide the resolution I would like to have.

I basically just wrapped my code around what had already been written. Usually I just write my own code from the ground up, based on actual data for the sensor, but I wanted to get something working as quick as I could. My code can handle any number of Sharp IR Rangers, and I have similar code for the PING. It's very easy to plug other sensor code into my wrapper. I just have to convert my wrapper code to C/C++ or Python (my current languages of choice for robotics) and write new sensor code to handle the raw input.

There is supposed to be equation(s) that can be calculated to return the proper results from IR Rangers, but I have not had a micro that could process them until recently.

8-Dale

JonHylands
03-25-2008, 08:13 AM
The Sharp GP2D12 returns a new reading every 50-60 ms or so. It reads out to around 30 inches, so you should be able to, if your main loop is running fast enough, to stop long before you hit the wall.

- Jon

4mem8
04-23-2008, 01:56 PM
Just a note also on those Sharp sensors, If you put a 33-47uf Tantulum capacitor connected across the + and - terminals it will give you a better stable reading from the sensor.