0

I am sure I've seen algorithm about what I want but I can not put my hands on it when I browse the web.

So what I am looking for is an algorithm that makes my robot follow a wall, keeping at all times the same distance (when possible). Only the part about the positionning on the side of the wall.

A bit like this, except here the distance is not constant:

Convex corner

Concave corner

Curve

Thank you for the help!

Extra: Here is a picture of my issue when following the wall step by step with constant distance to it: (blue is the robot position and red is the normal to the wall) enter image description here

Silouane
  • 432
  • 6
  • 13
  • see [draw outline for some connected lines](http://stackoverflow.com/q/17021885/2521214) so convert your spatial/cognitive map to set of polylines and shift by distance towards the robot position ... then plan its path along this shifted line – Spektre Sep 04 '15 at 07:08
  • you can also use modified A* which account for robot size for motion planning. I am sure I was answering one question about this but I cant find it now (may be deleted or just cant find the right search words) – Spektre Sep 04 '15 at 07:20
  • Thank you. My problem is more like the "outline" post you refer to. I don't want my robot to go back on the track (when the normals cross). I add an image to show my problem. – Silouane Sep 04 '15 at 16:33
  • what is the problem exactly? you do not know how: 1. to detect intersection (line vs. line)? 2. remove intersecting parts (delete/skip from set)? 3. shift the wall polyline toward robot (rotate line direction by 90 degree and shift control points by it)? 4. handle some special case ? – Spektre Sep 04 '15 at 19:47
  • 1
    This is the "offset curve" problem, which is a tough problem to tackle with, especially when the offset distance is not a constant. You might want to search "offset curve" in Google to get more references. – fang Sep 04 '15 at 23:22
  • @Spektre Sorry for the delay, I am working hard on this and I didn't have much time to look here. So my problem is to move my robot following the normal of the wall at a specific distance. The robot move by step and at every step I look for the next target. But how we can see on the last image some of the normal cross each other. Making the robot go back for few steps. I want to detect when the next step will cross futur steps and I want to avoid using those step. Do you have a solution? – Silouane Sep 12 '15 at 11:05
  • @fang Thank you for the term, I didn't know it, I will look about it now. – Silouane Sep 12 '15 at 11:06
  • @Silouane so you do not know the whole map prior to motion planing? in that case before each step scan if you are near corner and if yes change direction – Spektre Sep 13 '15 at 18:32
  • Hi did you approach this? I have a similar problem and I would love to share it with you so you might help me. – Khalil Khalaf Apr 22 '16 at 02:48

0 Answers0