Asked — Edited
Is sonar a good option to avoid stairs and objects in all conditions? Is there a better option? Does having a couple sensors on same side of bot ( but not aimed in same direction) cause interference?
Upgrade to ARC Pro
Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
Use the same sensor and draw a Thick black line on your stairs.
if the bot detect the Black line , he have to turn
or something like that
Just some ideas here. Just brain-storming...
First, how does the Roomba's keep from going down stairs? If I remember right, don't you place some reflectors or something across the stair drop-off that it can sense?
Also, what about having a flexible wire drag along the ground encased by a spring. The wire and spring would flex slightly as it drug along carpet, hardwood floors, etc. This would cause the wire and spring to "connect" constantly and you could track this with the ez-b as a "full-on" state. When the edge of the bot started to go off the stairs, the wire and spring would "straighten out", causing the contact to be broken, giving the ez-b a "full off" state. You could then program the ez-b to tell the bot to back up and turn if the full-off state is envoked.
I've attached a couple of renders I whipped up that hopefully describes with pictures what I was trying to explain.
The 1st picture shows a robot chassis. Notice the spring at the front with the wire inside of it. As the robot moves around, the spring allows for adjustment as it travels over different terrains such as carpet, hardwood, etc.
This second image is a close-up of the spring and wire. Notice how the wire is in contact with the srpring.
The third image shows the robot at the edge of a stair and the spring is no longer in contact with the ground and straightens out along with the wire. In fact, instead of a wire, you could use two different sized springs so they always want to straighten out.
Just an idea...
If ( Digital ( [Port] ) [Condition] [Value] )
Queries a Digital Port for its state against your condition.
Port is a Digital Port (between d0 and d20)
Condition is either =,
Value is either True or False
If true, the following command (next line) is executed
If false, the following command (next line) is skipped
Example: If (Digital(D0) = false)
HCSR04 range finder
power supply :5V DC
quiescent current : <2mA
effectual angle: <15
ranging distance : 2cm - 500 cm
resolution : 0.3 cm
Resolution is how accurate the sensor is , 2cm is min distance which is less than a inch. The omnibot is about 2 inches maybe more off the ground so it seems like this will work. Basically calibrate it for 2.5 inches (or whatever the height is in cm) and if it sees a farther distance it stops , backs up a couple inches and turns. How does this sound , one on the front one on the back face directly down? Any ideas (besides remodeling the house lol) super appreciated. This is my first real robot. Thanks
I think someone got some advice about using these sensors for stair avoidance. If you search the posts I'm sure you'll find it (I can't seem to at the moment... *eyeroll*).
EDIT: Found it!
Sharp IR - Big WALL-E post Starting at post #5. Hope this helps!