So the idea is that there would be one robot acting as overwatch, which would detect all of the obstacles in an area (which are not necessarily static), and then send the data about the obstacles' positions to another robot that would navigate around the obstacles to a goal.

My initial thought was to have the overwatch robot be in an elevated position in the centre of the area, then sweep around using an ultrasonic sensor. This way, it could keep track of the obstacles in a set of polar coordinates (distance, angle). But then I realised that this method doesn't account for collinear obstacles.

So the question is, what is the best way to detect a bunch of non-static obstacles within an area?

As a side note, I have seen a system similar to this, where there was a robot detecting obstacles (in that case, a crowd of people) and another robot pathfinding around the obstacles (the people), but I'm unsure exactly how that system was detecting the obstacles.

  • $\begingroup$ As this is the first time I've used this site, I'm not really sure what tags this fits under :s $\endgroup$ – HotelCalifornia Apr 3 '15 at 9:35
  • $\begingroup$ It sounds like what you want is object detection and tracking. This is much more easily done using a camera and image processing techniques. If you're limiting yourself to a 2D map, then you may find this tutorial by StudentDave helpful: youtu.be/8RbD4X8y65A $\endgroup$ – Paul Apr 3 '15 at 14:13
  • $\begingroup$ Interesting, I hadn't thought about using actual image processing $\endgroup$ – HotelCalifornia Apr 3 '15 at 15:52
  • $\begingroup$ The main drawback is that still cameras only work if they are high enough to capture the entire 2D space. This might not work for your application. $\endgroup$ – Paul Apr 3 '15 at 15:59
  • $\begingroup$ Well, in a small test environment I could just mount the camera apparatus to the ceiling $\endgroup$ – HotelCalifornia Apr 3 '15 at 16:15

Having an overhead camera (like a single low cost webcam if needed). Ultrasonics is meant to be directional while cameras are not meant to be. The downward facing camera placed at a height and horizontally centered over the area can detect robot and obstacles in Cartesian coordinates and that information can be transferred to the moving robot using Bluetooth or similar methods. If the camera cannot be mounted overhead, inverse perspective transform can be applied or rotation matrices can be employed. If occlusion occurs, more number of cameras can be used generally using data fusion.


You can use ultrasonic sensor or IR sensor. Ultra sonic sensor is bit complicated but its very useful for your project and it could also help you in your future projects. there are various websites that will help and some of them are listed below. http://www.instructables.com/id/Ultrasonic-Range-detector-using-Arduino-and-the-SR/




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.