Autonomous navigation vehicle algorithms: Difference between revisions
From wikiluntti
(25 intermediate revisions by the same user not shown) | |||
Line 40: | Line 40: | ||
== Reactive Methods == | == Reactive Methods == | ||
=== Follow the Gap | === Follow the Gap === | ||
[[File:F1tenth followthegapA.svg|thumb|Follow the gap ]] | |||
Furthest distance? | |||
* Misreading | |||
* Too small gap | |||
Gap: Series of at least <math>n</math> consecutive hits that pass some distance threshold <math>R</math>. | |||
* Works good for holonomic robots. Also good if only sparse obstacles. | |||
* No car's dimensions, no safety. | |||
* What is the threshold radius <math>R</math>? | |||
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 69: | 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

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.
- Find the nearest point: add a safety bubble with radius 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 function, and .
Saturated distance function for range
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
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
Planning
Vision
More
Labs from F1tenth
- Wall following https://f1tenth-coursekit.readthedocs.io/en/latest/assignments/labs/lab3.html#doc-lab3
More references
- Quaternions: Steven M. LaValle - Virtual reality lectures https://www.youtube.com/playlist?list=PL_ezWOhnpakMojiJGm-YiCz5zr4GpuLG_
- Names of the coordinates: https://www.ros.org/reps/rep-0105.html
- Ziegler-Nichols method for PID https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method
- 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
- https://fab.cba.mit.edu/classes/865.21/topics/path_planning/robotic.html
- https://web.ics.purdue.edu/~rvoyles/Classes/ROSprogramming/Lectures/PathPlanning.pdf