0
$\begingroup$

I am working on a bot controlled by Arduino-UNO using HC-SR04. I want my bot to go around the floor, avoiding all obstacles, covering the entire floor. I tried measuring wall distance on all sides and gradually navigating the bot so as to increase two distances(h2 and l1 in my case) and decrease the other two. But this approach works only in an rectangular room without obstacles. enter image description here

It appears my approach is not right. What should be my approach to navigate if the walls are not at right angles or has obstacle but navigable path behind?

$\endgroup$
0
$\begingroup$

When it comes to mechanisms to avoid obstacles, you have several algorithms. Each one of them has good and bad things. In general, they are grouped in two main categories:

  1. You have no previous knowledge about the environment.
  2. You have some knowledge about the environment.

I only know about the first type. Vector Field Histogram and its revisions VFH+ and VFH* seem to be good solutions. Simpler solutions can be Virtual Force Field and Bug Algorithms.

Most of them relay on ultrasound sensors to sweep the surrounding and calculate what the best local path is.

Papers:

  • THE VECTOR FIELD HISTOGRAM - FAST OBSTACLE AVOIDANCE FOR MOBILE ROBOTS by J. Borenstein and Y. Koren

After this first paper, you can read its revisions VFH+ and VFH*.

When it comes to the second category, I find the best ones require image processing and high computational requirements, however others add ultrasound beacons in the room. The robot would use the pulses send by the beacons to triangulate its position in the room.

Papers:

  • POSITIONING SYSTEM FOR INDOOR MOBILE ROBOT USING ACTIVE ULTRASONIC BEACONS by Hiroaki SEKI, Yasuo TANAKA, Masaharu TAKANO and Ken SASAKI
| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.