0
\$\begingroup\$

I would think that it would be simple to have a car drive from A to B, but apparently I haven't been able to figure it out. My goal is to have a car begin at a certain position and angle, calculate the best path to another position with another angle, and then travel there.

Please keep in mind that this car has a minimum turning radius, so it can't simply change angles by spinning. Also, I would like to see what I can do with the car only traveling in a single direction, ie. no reversing.

I have read over many grid-based algorithms, but I don't see how I can translate those to what I need, which is most likely a series of arcs and straight lines.

The closest thing I have have found is Dubins Interval, which seems closest to what I need, though I believe it is old and has probably long since been replaced. I have sketched out paths using this method, but have had trouble translating it to programmatic form (C++). I believe the rough idea is to line up the minimum steering circles of the start and goal, start turning from the start until you are on the line, head towards the goal, and then either simply go onto the goal circle and curve it, or project an additional circle on the same line and use it to end up on the goal circle in the opposite direction.

If anyone knows of any examples, code preferred, of simple car driving path examples, I would appreciate it.

\$\endgroup\$
3
  • \$\begingroup\$ Are you just asking how to get a car to point in the right direction? If so, vector subtraction gives you the direction the car wants to face, and vector cross-product will tell you if the car should turn left or right to face that direction. \$\endgroup\$ Feb 26, 2019 at 17:32
  • \$\begingroup\$ We have some existing Q&A covering this topic. If you find it doesn't adequately address your needs, please edit your question to clarify how your needs differ from what's covered there, and we can re-open it. \$\endgroup\$
    – DMGregory
    Feb 26, 2019 at 17:42
  • \$\begingroup\$ I was asking how to plot out the path so that I could actually navigate it, but I see that I have made a mistake in asking a duplicate question. If anyone has the ability to do so, please delete this question. \$\endgroup\$
    – user125261
    Feb 26, 2019 at 18:20

0