Autonomous navigation vehicle algorithms: Difference between revisions
From wikiluntti
Line 74: | Line 74: | ||
Assume local knowledge of the environment and a global goal. | Assume local knowledge of the environment and a global goal. | ||
TangentBug | '''TangentBug''' | ||
* | * Distance <math>\rho(x, \theta)</math> function, <math>x\in\mathbb R^2</math> and <math>\theta\in[0,2\pi]</math>. | ||
<math> | |||
\rho_R(x, \theta) | |||
\begin{cases} | |||
\rho(x,\theta), \text{ if } \rho(x,\theta)<R\\ | |||
\infty, \text{ otherwise} | |||
\end{cases} | |||
</math> | |||
== Mapping and localization == | == Mapping and localization == |
Revision as of 22:36, 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 .
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