Autonomous navigation vehicle algorithms: Difference between revisions
Line 128: | Line 128: | ||
<youtube>kQi5IGzvr0c</youtube> | <youtube>kQi5IGzvr0c</youtube> | ||
# State estimation | |||
# Probability and Bayes rule | |||
# Recursive Bayes filter | |||
# Variants of Bayes filter: | |||
# Tuning particles | |||
''State estimation'' | |||
<math> | |||
\begin{bmatrix} | |||
\dot x &= Ax + Bu \\ | |||
y = Cx | |||
\end{bmatrix} | |||
</math> | |||
=== Localization: Particle Filter === | === Localization: Particle Filter === |
Revision as of 18:36, 6 August 2025
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
SLAM
https://f1tenth-coursekit.readthedocs.io/en/latest/lectures/ModuleC/lecture07.html
Filtering (Bayesian)
Simulator repo https://github.com/f1tenth/f110_ros/tree/master/f110_simulator
- State estimation
- Probability and Bayes rule
- Recursive Bayes filter
- Variants of Bayes filter:
- Tuning particles
State estimation
Localization: Particle Filter
Introduction to Graph-based SLAM
Scan Matching I & II
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