Autonomous navigation vehicle algorithms: Difference between revisions

From wikiluntti
 
(20 intermediate revisions by the same user not shown)
Line 40: Line 40:
== Reactive Methods ==
== Reactive Methods ==


=== Follow the Gap A (naive method) ===
=== Follow the Gap ===


[[File:F1tenth followthegapA.svg|thumb|Follow the gap ]]
[[File:F1tenth followthegapA.svg|thumb|Follow the gap ]]
Line 53: Line 53:
* What is the threshold radius <math>R</math>?
* What is the threshold radius <math>R</math>?


=== Follow the Gap B ===
Avoid the nearest obstacle every timestep.
# Find the nearest point: add a safety bubble with radius <math>r_b</math> around it.
# Set all distance points inside the safety bubble to zero (0).
# Find the max gaps of consecutive nonzeros
# Choose the best max gap of all. Naive: The furthest max-gap.
 
Consider changing the speed.
 
 
 
References
* https://panxiaofan.github.io/myf1tenth/2021/01/24/lab4.html
* F1/10 Autonomous Racing - Montreal Grand Prix Winning Team https://www.youtube.com/watch?v=ctTJHueaTcY&t=368s
* F1Tenth Autonomous Racing Cars(Lab 4) https://www.youtube.com/watch?v=4HOsg2SRabw
 
=== Bug algorithms ===
 
Original bug algorithm published around 1986.
 
Assume local knowledge of the environment and a global goal.
 
'''TangentBug'''
* Distance <math>\rho(x, \theta)</math> function, <math>x\in\mathbb R^2</math> and <math>\theta\in[0,2\pi]</math>.
 
Saturated distance function for range <math>R</math>
<math>
\rho_R(x, \theta)
=
\begin{cases}
\rho(x,\theta), \text{ if } \rho(x,\theta)<R\\
\infty, \text{ otherwise}
\end{cases}
</math>
 
Problems
* Requires knowledge about the distance to the goal; beacon setup or similar
*
 
References
* https://www.cs.cmu.edu/~motionplanning/lecture/Chap2-Bug-Alg_howie.pdf
* https://cs.gmu.edu/~plaku/teaching/LecRoboBugAlgorithms.pdf
 
 
=== Artificial Potential Fields ===
 
Gradient descent
 
<math>
\begin{matrix}
\text{If } &\nabla U(q_i) \neq 0: \\
&q_{i+1} = q_i - \alpha_i \nabla U(q_i)
\end{matrix}
</math>
 
Problems
* Local minima
 
 
References
* https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
* https://www.coursera.org/learn/robotics-motion-planning
 
=== Brushfire algorithm ===


== Mapping and localization ==
== Mapping and localization ==
Line 76: Line 138:
* Harmonic potential field path planning for high speed vehicles https://folk.ntnu.no/skoge/prost/proceedings/acc08/data/papers/0383.pdf
* Harmonic potential field path planning for high speed vehicles https://folk.ntnu.no/skoge/prost/proceedings/acc08/data/papers/0383.pdf
* Robotic Motion Planning: Potential Functions https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
* Robotic Motion Planning: Potential Functions https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
* https://fab.cba.mit.edu/classes/865.21/topics/path_planning/robotic.html
* https://web.ics.purdue.edu/~rvoyles/Classes/ROSprogramming/Lectures/PathPlanning.pdf

Latest revision as of 23:05, 28 November 2023

Introduction

A great resource is F1Tenth, https://f1tenth.org/

See also https://mushr.io/tutorials/tuning/ and https://racecar.mit.edu/platform

Safety Concerns

  • Real-life problems
  • Sensors
  • Failure modes


Automatic breaking AEB

Automatic emergency breaking AEB

  • Detect objects
  • Find range, velocity, heading
  • Determine critical objects. Time to collision TTC.
  • False positive: Nobody will buy a system with these
  • False negative: kills innocent people

Stop the vehicle before colliding.

Sensors

  • Camera
    • Structured light 3d scanner camera
    • Stereo camera
    • Monocular camera
  • Radar
  • Ultrasonic
  • Lidar
    • Planar lidar (Hokuyo 30LX)
    • 3d lidar
    • solid state lidar (Velodyne velarray)
  • Odometry

Reactive Methods

Follow the Gap

Follow the gap

Furthest distance?

  • Misreading
  • Too small gap

Gap: Series of at least consecutive hits that pass some distance threshold .

  • Works good for holonomic robots. Also good if only sparse obstacles.
  • No car's dimensions, no safety.
  • What is the threshold radius ?

Avoid the nearest obstacle every timestep.

  1. Find the nearest point: add a safety bubble with radius around it.
  2. Set all distance points inside the safety bubble to zero (0).
  3. Find the max gaps of consecutive nonzeros
  4. Choose the best max gap of all. Naive: The furthest max-gap.

Consider changing the speed.


References

Bug algorithms

Original bug algorithm published around 1986.

Assume local knowledge of the environment and a global goal.

TangentBug

  • Distance function, and .

Saturated distance function for range

Problems

  • Requires knowledge about the distance to the goal; beacon setup or similar

References


Artificial Potential Fields

Gradient descent

Problems

  • Local minima


References

Brushfire algorithm

Mapping and localization

Planning

Vision

More

Labs from F1tenth

  1. Wall following https://f1tenth-coursekit.readthedocs.io/en/latest/assignments/labs/lab3.html#doc-lab3

More references