Add "Code Link" sections and rename classes for consistency (#1214)
This commit adds "Code Link" sections to documentation across various path planning modules, linking to relevant class and function APIs. Additionally, several class renaming changes were made, such as `Dijkstra` to `DijkstraPlanner` and `eta3_trajectory` to `Eta3SplineTrajectory`, to enhance naming consistency. Minor fixes include file restructuring and image renaming for the RRT module.
@@ -12,7 +12,7 @@ import math
|
||||
show_animation = True
|
||||
|
||||
|
||||
class Dijkstra:
|
||||
class DijkstraPlanner:
|
||||
|
||||
def __init__(self, ox, oy, resolution, robot_radius):
|
||||
"""
|
||||
@@ -246,7 +246,7 @@ def main():
|
||||
plt.grid(True)
|
||||
plt.axis("equal")
|
||||
|
||||
dijkstra = Dijkstra(ox, oy, grid_size, robot_radius)
|
||||
dijkstra = DijkstraPlanner(ox, oy, grid_size, robot_radius)
|
||||
rx, ry = dijkstra.planning(sx, sy, gx, gy)
|
||||
|
||||
if show_animation: # pragma: no cover
|
||||
|
||||
@@ -29,7 +29,7 @@ class MaxVelocityNotReached(Exception):
|
||||
self.message = f'Actual velocity {actual_vel} does not equal desired max velocity {max_vel}!'
|
||||
|
||||
|
||||
class eta3_trajectory(Eta3Path):
|
||||
class Eta3SplineTrajectory(Eta3Path):
|
||||
"""
|
||||
eta3_trajectory
|
||||
|
||||
@@ -300,8 +300,8 @@ def test1(max_vel=0.5):
|
||||
trajectory_segments.append(Eta3PathSegment(
|
||||
start_pose=start_pose, end_pose=end_pose, eta=eta, kappa=kappa))
|
||||
|
||||
traj = eta3_trajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5)
|
||||
traj = Eta3SplineTrajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5)
|
||||
|
||||
# interpolate at several points along the path
|
||||
times = np.linspace(0, traj.total_time, 101)
|
||||
@@ -334,8 +334,8 @@ def test2(max_vel=0.5):
|
||||
trajectory_segments.append(Eta3PathSegment(
|
||||
start_pose=start_pose, end_pose=end_pose, eta=eta, kappa=kappa))
|
||||
|
||||
traj = eta3_trajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5)
|
||||
traj = Eta3SplineTrajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5)
|
||||
|
||||
# interpolate at several points along the path
|
||||
times = np.linspace(0, traj.total_time, 101)
|
||||
@@ -400,8 +400,8 @@ def test3(max_vel=2.0):
|
||||
start_pose=start_pose, end_pose=end_pose, eta=eta, kappa=kappa))
|
||||
|
||||
# construct the whole path
|
||||
traj = eta3_trajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5, max_jerk=1)
|
||||
traj = Eta3SplineTrajectory(trajectory_segments,
|
||||
max_vel=max_vel, max_accel=0.5, max_jerk=1)
|
||||
|
||||
# interpolate at several points along the path
|
||||
times = np.linspace(0, traj.total_time, 1001)
|
||||
|
||||
@@ -13,8 +13,15 @@ You can get different Beizer course:
|
||||
|
||||
.. image:: Figure_2.png
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.BezierPath.bezier_path.calc_4points_bezier_path
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- `Continuous Curvature Path Generation Based on Bezier Curves for
|
||||
Autonomous
|
||||
Vehicles <https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=b00b657c3e0e828c589132a14825e7119772003d>`
|
||||
Vehicles <https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=b00b657c3e0e828c589132a14825e7119772003d>`__
|
||||
|
||||
@@ -105,8 +105,8 @@ The default spline degree is 3, so curvature changes smoothly.
|
||||
|
||||
.. image:: interp_and_curvature.png
|
||||
|
||||
API
|
||||
++++
|
||||
Code link
|
||||
++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.BSplinePath.bspline_path.interpolate_b_spline_path
|
||||
|
||||
@@ -133,8 +133,8 @@ The default spline degree is 3, so curvature changes smoothly.
|
||||
|
||||
.. image:: approx_and_curvature.png
|
||||
|
||||
API
|
||||
++++
|
||||
Code Link
|
||||
++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.BSplinePath.bspline_path.approximate_b_spline_path
|
||||
|
||||
|
||||
@@ -5,4 +5,12 @@ This is a 2D planning with Bug algorithm.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/BugPlanner/animation.gif
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.BugPlanning.bug.main
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- `ECE452 Bug Algorithms <https://web.archive.org/web/20201103052224/https://sites.google.com/site/ece452bugalgorithms/>`_
|
||||
|
||||
@@ -88,8 +88,8 @@ Catmull-Rom Spline API
|
||||
|
||||
This section provides an overview of the functions used for Catmull-Rom spline path planning.
|
||||
|
||||
API
|
||||
++++
|
||||
Code Link
|
||||
++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.Catmull_RomSplinePath.catmull_rom_spline_path.catmull_rom_point
|
||||
|
||||
|
||||
@@ -73,6 +73,11 @@ The final clothoid path can be calculated with the path parameters and Fresnel i
|
||||
&y(s)=y_{0}+\int_{0}^{s} \sin \left(\frac{1}{2} \kappa^{\prime} \tau^{2}+\kappa \tau+\vartheta_{0}\right) \mathrm{d} \tau
|
||||
\end{aligned}
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.ClothoidPath.clothoid_path_planner.generate_clothoid_path
|
||||
|
||||
|
||||
References
|
||||
~~~~~~~~~~
|
||||
|
||||
@@ -8,6 +8,11 @@ This is a 2D grid based sweep coverage path planner simulation:
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/GridBasedSweepCPP/animation.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.GridBasedSweepCPP.grid_based_sweep_coverage_path_planner.planning
|
||||
|
||||
Spiral Spanning Tree
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -17,6 +22,14 @@ This is a 2D grid based spiral spanning tree coverage path planner simulation:
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/SpiralSpanningTreeCPP/animation2.gif
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/SpiralSpanningTreeCPP/animation3.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.SpiralSpanningTreeCPP.spiral_spanning_tree_coverage_path_planner.main
|
||||
|
||||
Reference
|
||||
+++++++++++++
|
||||
|
||||
- `Spiral-STC: An On-Line Coverage Algorithm of Grid Environments by a Mobile Robot <https://ieeexplore.ieee.org/abstract/document/1013479>`_
|
||||
|
||||
|
||||
@@ -29,6 +42,14 @@ This is a 2D grid based wavefront coverage path planner simulation:
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/WavefrontCPP/animation2.gif
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/WavefrontCPP/animation3.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.WavefrontCPP.wavefront_coverage_path_planner.wavefront
|
||||
|
||||
Reference
|
||||
+++++++++++++
|
||||
|
||||
- `Planning paths of complete coverage of an unstructured environment by a mobile robot <https://pinkwink.kr/attachment/cfile3.uf@1354654A4E8945BD13FE77.pdf>`_
|
||||
|
||||
|
||||
|
||||
@@ -171,8 +171,8 @@ the second derivative by:
|
||||
|
||||
These equations can be calculated by differentiating the cubic polynomial.
|
||||
|
||||
API
|
||||
===
|
||||
Code Link
|
||||
==========
|
||||
|
||||
This is the 1D cubic spline class API:
|
||||
|
||||
@@ -199,8 +199,8 @@ Curvature of each point can be also calculated analytically by:
|
||||
|
||||
:math:`\kappa=\frac{y^{\prime \prime} x^{\prime}-x^{\prime \prime} y^{\prime}}{\left(x^{\prime2}+y^{\prime2}\right)^{\frac{2}{3}}}`
|
||||
|
||||
API
|
||||
===
|
||||
Code Link
|
||||
==========
|
||||
|
||||
.. autoclass:: PathPlanning.CubicSpline.cubic_spline_planner.CubicSpline2D
|
||||
:members:
|
||||
|
||||
@@ -62,7 +62,7 @@ You can generate a path from these information and the maximum curvature informa
|
||||
A path type which has minimum course length among 6 types is selected,
|
||||
and then a path is constructed based on the selected type and its distances.
|
||||
|
||||
API
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.DubinsPath.dubins_path_planner.plan_dubins_path
|
||||
|
||||
@@ -5,7 +5,17 @@ Dynamic Window Approach
|
||||
|
||||
This is a 2D navigation sample code with Dynamic Window Approach.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DynamicWindowApproach/animation.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.DynamicWindowApproach.dynamic_window_approach.dwa_control
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- `The Dynamic Window Approach to Collision
|
||||
Avoidance <https://www.ri.cmu.edu/pub_files/pub1/fox_dieter_1997_1/fox_dieter_1997_1.pdf>`__
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DynamicWindowApproach/animation.gif
|
||||
|
||||
@@ -5,6 +5,11 @@ This is a path planning with Elastic Bands.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/ElasticBands/animation.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autoclass:: PathPlanning.ElasticBands.elastic_bands.ElasticBands
|
||||
|
||||
|
||||
Core Concept
|
||||
~~~~~~~~~~~~
|
||||
@@ -69,6 +74,6 @@ Dynamic Path Maintenance
|
||||
- Remove redundant nodes if adjacent nodes are too close
|
||||
|
||||
References
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
+++++++++++++
|
||||
|
||||
- `Elastic Bands: Connecting Path Planning and Control <http://www8.cs.umu.se/research/ifor/dl/Control/elastic%20bands.pdf>`__
|
||||
|
||||
@@ -7,7 +7,14 @@ Eta^3 Spline path planning
|
||||
|
||||
This is a path planning with Eta^3 spline.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. autoclass:: PathPlanning.Eta3SplineTrajectory.eta3_spline_trajectory.Eta3SplineTrajectory
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- `\\eta^3-Splines for the Smooth Path Generation of Wheeled Mobile
|
||||
Robots <https://ieeexplore.ieee.org/document/4339545/>`__
|
||||
|
||||
@@ -7,6 +7,12 @@ The cyan line is the target course and black crosses are obstacles.
|
||||
|
||||
The red line is predicted path.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.FrenetOptimalTrajectory.frenet_optimal_trajectory.main
|
||||
|
||||
|
||||
High Speed and Velocity Keeping Scenario
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -10,6 +10,12 @@ This is a 2D grid based path planning with Breadth first search algorithm.
|
||||
|
||||
In the animation, cyan points are searched nodes.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.BreadthFirstSearch.breadth_first_search.BreadthFirstSearchPlanner
|
||||
|
||||
|
||||
Depth First Search
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -19,6 +25,12 @@ This is a 2D grid based path planning with Depth first search algorithm.
|
||||
|
||||
In the animation, cyan points are searched nodes.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.DepthFirstSearch.depth_first_search.DepthFirstSearchPlanner
|
||||
|
||||
|
||||
.. _dijkstra:
|
||||
|
||||
Dijkstra algorithm
|
||||
@@ -30,6 +42,12 @@ This is a 2D grid based shortest path planning with Dijkstra's algorithm.
|
||||
|
||||
In the animation, cyan points are searched nodes.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.Dijkstra.dijkstra.DijkstraPlanner
|
||||
|
||||
|
||||
.. _a*-algorithm:
|
||||
|
||||
A\* algorithm
|
||||
@@ -43,6 +61,12 @@ In the animation, cyan points are searched nodes.
|
||||
|
||||
Its heuristic is 2D Euclid distance.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.AStar.a_star.AStarPlanner
|
||||
|
||||
|
||||
Bidirectional A\* algorithm
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -52,6 +76,12 @@ This is a 2D grid based shortest path planning with bidirectional A star algorit
|
||||
|
||||
In the animation, cyan points are searched nodes.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.BidirectionalAStar.bidirectional_a_star.BidirectionalAStarPlanner
|
||||
|
||||
|
||||
.. _D*-algorithm:
|
||||
|
||||
D\* algorithm
|
||||
@@ -63,7 +93,14 @@ This is a 2D grid based shortest path planning with D star algorithm.
|
||||
|
||||
The animation shows a robot finding its path avoiding an obstacle using the D* search algorithm.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autoclass:: PathPlanning.DStar.dstar.Dstar
|
||||
|
||||
|
||||
Reference
|
||||
++++++++++++
|
||||
|
||||
- `D* search Wikipedia <https://en.wikipedia.org/wiki/D*>`__
|
||||
|
||||
@@ -74,7 +111,13 @@ This is a 2D grid based path planning and replanning with D star lite algorithm.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/DStarLite/animation.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autoclass:: PathPlanning.DStarLite.d_star_lite.DStarLite
|
||||
|
||||
Reference
|
||||
++++++++++++
|
||||
|
||||
- `Improved Fast Replanning for Robot Navigation in Unknown Terrain <http://www.cs.cmu.edu/~maxim/files/dlite_icra02.pdf>`_
|
||||
|
||||
@@ -88,7 +131,14 @@ This is a 2D grid based path planning with Potential Field algorithm.
|
||||
|
||||
In the animation, the blue heat map shows potential value on each grid.
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.PotentialFieldPlanning.potential_field_planning.potential_field_planning
|
||||
|
||||
|
||||
Reference
|
||||
++++++++++++
|
||||
|
||||
- `Robotic Motion Planning:Potential
|
||||
Functions <https://www.cs.cmu.edu/~motionplanning/lecture/Chap4-Potential-Field_howie.pdf>`__
|
||||
|
||||
@@ -4,3 +4,8 @@ Hybrid a star
|
||||
This is a simple vehicle model based hybrid A\* path planner.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/HybridAStar/animation.gif
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autofunction:: PathPlanning.HybridAStar.hybrid_a_star.hybrid_a_star_planning
|
||||
|
||||
@@ -4,3 +4,8 @@ LQR based path planning
|
||||
A sample code using LQR based path planning for double integrator model.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/LQRPlanner/animation.gif?raw=true
|
||||
|
||||
Code Link
|
||||
+++++++++++++
|
||||
|
||||
.. autoclass:: PathPlanning.LQRPlanner.lqr_planner.LQRPlanner
|
||||
|
||||
@@ -6,6 +6,12 @@ generator.
|
||||
|
||||
This algorithm is used for state lattice planner.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.ModelPredictiveTrajectoryGenerator.trajectory_generator.optimize_trajectory
|
||||
|
||||
|
||||
Path optimization sample
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -17,6 +23,7 @@ Lookup table generation sample
|
||||
.. image:: lookup_table.png
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- `Optimal rough terrain trajectory generation for wheeled mobile
|
||||
robots <https://journals.sagepub.com/doi/pdf/10.1177/0278364906075328>`__
|
||||
|
||||
@@ -13,7 +13,14 @@ Cyan crosses means searched points with Dijkstra method,
|
||||
|
||||
The red line is the final path of PRM.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.ProbabilisticRoadMap.probabilistic_road_map.prm_planning
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~
|
||||
|
||||
- `Probabilistic roadmap -
|
||||
Wikipedia <https://en.wikipedia.org/wiki/Probabilistic_roadmap>`__
|
||||
|
||||
@@ -9,6 +9,11 @@ Motion planning with quintic polynomials.
|
||||
It can calculate 2D path, velocity, and acceleration profile based on
|
||||
quintic polynomials.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. autofunction:: PathPlanning.QuinticPolynomialsPlanner.quintic_polynomials_planner.quintic_polynomials_planner
|
||||
|
||||
|
||||
|
||||
Quintic polynomials for one dimensional robot motion
|
||||
|
||||
@@ -5,6 +5,12 @@ A sample code with Reeds Shepp path planning.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/ReedsSheppPath/animation.gif?raw=true
|
||||
|
||||
Code Link
|
||||
==============
|
||||
|
||||
.. autofunction:: PathPlanning.ReedsSheppPath.reeds_shepp_path_planning.reeds_shepp_path_planning
|
||||
|
||||
|
||||
Mathematical Description of Individual Path Types
|
||||
=================================================
|
||||
Here is an overview of mathematical derivations of formulae for individual path types.
|
||||
@@ -381,6 +387,7 @@ Hence, we have:
|
||||
|
||||
|
||||
Reference
|
||||
=============
|
||||
|
||||
- `15.3.2 Reeds-Shepp
|
||||
Curves <https://lavalle.pl/planning/node822.html>`__
|
||||
|
||||
|
Before Width: | Height: | Size: 259 KiB After Width: | Height: | Size: 259 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@@ -14,6 +14,12 @@ This is a simple path planning code with Rapidly-Exploring Random Trees
|
||||
Black circles are obstacles, green line is a searched tree, red crosses
|
||||
are start and goal positions.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.RRT.rrt.RRT
|
||||
|
||||
|
||||
.. include:: rrt_star.rst
|
||||
|
||||
|
||||
@@ -24,6 +30,12 @@ RRT with dubins path
|
||||
|
||||
Path planning for a car robot with RRT and dubins path planner.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.RRTDubins.rrt_dubins.RRTDubins
|
||||
|
||||
|
||||
.. _rrt*-with-dubins-path:
|
||||
|
||||
RRT\* with dubins path
|
||||
@@ -33,6 +45,12 @@ RRT\* with dubins path
|
||||
|
||||
Path planning for a car robot with RRT\* and dubins path planner.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.RRTStarDubins.rrt_star_dubins.RRTStarDubins
|
||||
|
||||
|
||||
.. _rrt*-with-reeds-sheep-path:
|
||||
|
||||
RRT\* with reeds-sheep path
|
||||
@@ -42,6 +60,12 @@ RRT\* with reeds-sheep path
|
||||
|
||||
Path planning for a car robot with RRT\* and reeds sheep path planner.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.RRTStarReedsShepp.rrt_star_reeds_shepp.RRTStarReedsShepp
|
||||
|
||||
|
||||
.. _informed-rrt*:
|
||||
|
||||
Informed RRT\*
|
||||
@@ -53,7 +77,14 @@ This is a path planning code with Informed RRT*.
|
||||
|
||||
The cyan ellipse is the heuristic sampling domain of Informed RRT*.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.InformedRRTStar.informed_rrt_star.InformedRRTStar
|
||||
|
||||
|
||||
Reference
|
||||
^^^^^^^^^^
|
||||
|
||||
- `Informed RRT\*: Optimal Sampling-based Path Planning Focused via
|
||||
Direct Sampling of an Admissible Ellipsoidal
|
||||
@@ -68,12 +99,20 @@ Batch Informed RRT\*
|
||||
|
||||
This is a path planning code with Batch Informed RRT*.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.BatchInformedRRTStar.batch_informed_rrt_star.BITStar
|
||||
|
||||
|
||||
Reference
|
||||
^^^^^^^^^^^
|
||||
|
||||
- `Batch Informed Trees (BIT*): Sampling-based Optimal Planning via the
|
||||
Heuristically Guided Search of Implicit Random Geometric
|
||||
Graphs <https://arxiv.org/abs/1405.5848>`__
|
||||
|
||||
|
||||
.. _closed-loop-rrt*:
|
||||
|
||||
Closed Loop RRT\*
|
||||
@@ -87,7 +126,14 @@ In this code, pure-pursuit algorithm is used for steering control,
|
||||
|
||||
PID is used for speed control.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.ClosedLoopRRTStar.closed_loop_rrt_star_car.ClosedLoopRRTStar
|
||||
|
||||
|
||||
Reference
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- `Motion Planning in Complex Environments using Closed-loop
|
||||
Prediction <https://acl.mit.edu/papers/KuwataGNC08.pdf>`__
|
||||
@@ -98,6 +144,7 @@ Reference
|
||||
- `[1601.06326] Sampling-based Algorithms for Optimal Motion Planning
|
||||
Using Closed-loop Prediction <https://arxiv.org/abs/1601.06326>`__
|
||||
|
||||
|
||||
.. _lqr-rrt*:
|
||||
|
||||
LQR-RRT\*
|
||||
@@ -109,7 +156,14 @@ A double integrator motion model is used for LQR local planner.
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/LQRRRTStar/animation.gif
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.LQRRRTStar.lqr_rrt_star.LQRRRTStar
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
- `LQR-RRT\*: Optimal Sampling-Based Motion Planning with Automatically
|
||||
Derived Extension
|
||||
|
||||
@@ -7,6 +7,12 @@ This is a path planning code with RRT\*
|
||||
|
||||
Black circles are obstacles, green line is a searched tree, red crosses are start and goal positions.
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^
|
||||
|
||||
.. autoclass:: PathPlanning.RRTStar.rrt_star.RRTStar
|
||||
|
||||
|
||||
Simulation
|
||||
^^^^^^^^^^
|
||||
|
||||
|
||||
@@ -12,17 +12,34 @@ Uniform polar sampling
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/StateLatticePlanner/UniformPolarSampling.gif
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
.. autofunction:: PathPlanning.StateLatticePlanner.state_lattice_planner.calc_uniform_polar_states
|
||||
|
||||
|
||||
Biased polar sampling
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/StateLatticePlanner/BiasedPolarSampling.gif
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^^^^
|
||||
.. autofunction:: PathPlanning.StateLatticePlanner.state_lattice_planner.calc_biased_polar_states
|
||||
|
||||
|
||||
Lane sampling
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. image:: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/PathPlanning/StateLatticePlanner/LaneSampling.gif
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^^^^
|
||||
.. autofunction:: PathPlanning.StateLatticePlanner.state_lattice_planner.calc_lane_states
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- `Optimal rough terrain trajectory generation for wheeled mobile
|
||||
robots <https://journals.sagepub.com/doi/pdf/10.1177/0278364906075328>`__
|
||||
|
||||
@@ -33,6 +33,10 @@ After::
|
||||
|
||||
When starting at (1, 11) in the structured obstacle arrangement (second of the two gifs above).
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^^^^
|
||||
.. autoclass:: PathPlanning.TimeBasedPathPlanning.SpaceTimeAStar.SpaceTimeAStar
|
||||
|
||||
|
||||
Safe Interval Path Planning
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -73,6 +77,11 @@ Arrangement 1 starting at (1, 18)::
|
||||
|
||||
.. image:: https://raw.githubusercontent.com/AtsushiSakai/PythonRoboticsGifs/refs/heads/master/PathPlanning/TimeBasedPathPlanning/SafeIntervalPathPlanner/path_animation2.gif
|
||||
|
||||
Code Link
|
||||
^^^^^^^^^^^^^
|
||||
.. autoclass:: PathPlanning.TimeBasedPathPlanning.SafeInterval.SafeIntervalPathPlanner
|
||||
|
||||
|
||||
References
|
||||
~~~~~~~~~~~
|
||||
|
||||
|
||||
@@ -13,6 +13,11 @@ red crosses are visibility nodes, and blue lines area collision free visibility
|
||||
|
||||
The red line is the final path searched by dijkstra algorithm frm the visibility graphs.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~
|
||||
.. autoclass:: PathPlanning.VisibilityRoadMap.visibility_road_map.VisibilityRoadMap
|
||||
|
||||
|
||||
Algorithms
|
||||
~~~~~~~~~~
|
||||
|
||||
@@ -64,7 +69,7 @@ The red line is searched path in the figure:
|
||||
You can find the details of Dijkstra algorithm in :ref:`dijkstra`.
|
||||
|
||||
References
|
||||
^^^^^^^^^^
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- `Visibility graph - Wikipedia <https://en.wikipedia.org/wiki/Visibility_graph>`_
|
||||
|
||||
|
||||
@@ -11,7 +11,13 @@ Cyan crosses mean searched points with Dijkstra method,
|
||||
|
||||
The red line is the final path of Vornoi Road-Map.
|
||||
|
||||
Code Link
|
||||
~~~~~~~~~~~~~~~
|
||||
.. autoclass:: PathPlanning.VoronoiRoadMap.voronoi_road_map.VoronoiRoadMapPlanner
|
||||
|
||||
|
||||
Reference
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- `Robotic Motion Planning <https://www.cs.cmu.edu/~motionplanning/lecture/Chap5-RoadMap-Methods_howie.pdf>`__
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import random
|
||||
|
||||
import conftest
|
||||
from PathPlanning.BatchInformedRRTStar import batch_informed_rrtstar as m
|
||||
from PathPlanning.BatchInformedRRTStar import batch_informed_rrt_star as m
|
||||
|
||||
|
||||
def test_1():
|
||||
|
||||