Autonomous navigation vehicle algorithms: Difference between revisions

From wikiluntti
Line 113: Line 113:
References
References
* https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
* https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf
* https://www.coursera.org/learn/robotics-motion-planning


=== Bushfire algorithm ===
=== Bushfire algorithm ===

Revision as of 21:53, 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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n} consecutive hits that pass some distance threshold Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle R} .

  • Works good for holonomic robots. Also good if only sparse obstacles.
  • No car's dimensions, no safety.
  • What is the threshold radius Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle R} ?

Avoid the nearest obstacle every timestep.

  1. Find the nearest point: add a safety bubble with radius Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r_b} 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 Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \rho(x, \theta)} function, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x\in\mathbb R^2} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \theta\in[0,2\pi]} .

Saturated distance function for range Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle R} Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \rho_R(x, \theta) = \begin{cases} \rho(x,\theta), \text{ if } \rho(x,\theta)<R\\ \infty, \text{ otherwise} \end{cases} }

Problems

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

References


Artificial Potential Fields

Gradient descent

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{matrix} \text{If } &\nabla U(q_i) \neq 0: \\ &q_{i+1} = q_i - \alpha_i \nabla U(q_i) \end{matrix} }

Problems

  • Local minima


References

Bushfire 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