Skip to content

Commit 4dd58f3

Browse files
committed
Merge branch 'future'
2 parents 963bb4b + f5d53d9 commit 4dd58f3

File tree

160 files changed

+17048
-5748
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+17048
-5748
lines changed

Diff for: docs/source/arm_superclass.rst

+11-1
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,19 @@ The various models :ref:`E Models` all subclass this class.
1717
:show-inheritance:
1818
:inherited-members:
1919
:special-members: __getitem__
20+
21+
Kinematic cache
22+
---------------
23+
24+
.. automodule:: roboticstoolbox.robot.KinematicCache
25+
:members:
26+
:undoc-members:
27+
:show-inheritance:
28+
:inherited-members:
29+
:special-members: __init__
2030

2131
Link
22-
-------
32+
----
2333

2434
The ``ERobot`` is defined by a tree of ``ELink`` subclass objects.
2535

Diff for: docs/source/blocks-arm.rst

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
Robot manipulator blocks
2+
========================
3+
4+
.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
5+
:width: 300
6+
7+
.. automodule:: roboticstoolbox.blocks.arm
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
11+
:special-members: __init__
12+
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels
13+

Diff for: docs/source/blocks-mobile.rst

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Mobile robot blocks
2+
===================
3+
4+
.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
5+
:width: 300
6+
7+
.. automodule:: roboticstoolbox.blocks.mobile
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
11+
:special-members: __init__
12+
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels
13+
14+

Diff for: docs/source/blocks-uav.rst

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
UAV blocks
2+
==========
3+
4+
.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
5+
:width: 300
6+
7+
.. automodule:: roboticstoolbox.blocks.uav
8+
:members:
9+
:undoc-members:
10+
:show-inheritance:
11+
:special-members: __init__
12+
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels
13+

Diff for: docs/source/blocks.rst

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
bdsim blocks
2+
============
3+
4+
.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
5+
:width: 400
6+
7+
A set of block definitions that provide robotic capability to `bdsim <https://github.com/petercorke/bdsim>`_.
8+
9+
.. warning:: This capability is still experimental
10+
11+
.. toctree::
12+
:maxdepth: 2
13+
14+
blocks-arm
15+
blocks-mobile
16+
blocks-uav
17+

Diff for: docs/source/conf.py

+3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import sphinx_rtd_theme
1717
import re
1818

19+
# defined relative to configuration directory which is where this file conf.py lives
20+
sys.path.append(os.path.abspath('exts'))
1921

2022
# -- Project information -----------------------------------------------------
2123

@@ -44,6 +46,7 @@
4446
'sphinx.ext.doctest',
4547
'sphinx.ext.inheritance_diagram',
4648
'sphinx_autorun',
49+
'blockname',
4750
]
4851

4952
autosummary_generate = True

Diff for: docs/source/exts/blockname.py

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from docutils import nodes
2+
#from docutils.parsers.rst import Directive
3+
4+
5+
def block_name(name, rawtext, text, lineno, inliner, options={}, content=[]):
6+
7+
# name: The local name of the interpreted role, the role name actually used in the document.
8+
# rawtext: A string containing the enitre interpreted text input, including the role and markup. Return it as a problematic node linked to a system message if a problem is encountered.
9+
# text: The interpreted text content.
10+
# lineno: The line number where the interpreted text begins.
11+
# inliner: The docutils.parsers.rst.states.Inliner object that called role_fn. It contains the several attributes useful for error reporting and document tree access.
12+
# options: A dictionary of directive options for customization (from the "role" directive), to be interpreted by the role function. Used for additional attributes for the generated elements and other functionality.
13+
# content: A list of strings, the directive content for customization (from the "role" directive). To be interpreted by the role function.
14+
html_node = nodes.raw(text='<p style="border:10px; background-color:#000000; padding: 1em; color: white; font-size: 30px; font-weight: bold;">' + text + '</p>', format='html')
15+
return [html_node], []
16+
17+
18+
def setup(app):
19+
app.add_role("blockname", block_name)
20+
return {
21+
'version': '0.1',
22+
'parallel_read_safe': True,
23+
'parallel_write_safe': True,
24+
}

Diff for: docs/source/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ Robotics Toolbox for Python
1313
intro
1414
arm
1515
mobile
16-
16+
blocks

Diff for: docs/source/mobile.rst

+1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,6 @@ and state estimation.
1111

1212
mobile_vehicle
1313
mobile_vehicle_animation
14+
mobile_reactive
1415
mobile_planner
1516
mobile_EKF

Diff for: docs/source/mobile_planner.rst

+122-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,136 @@
1-
Mobile robot planner
2-
--------------------
1+
Mobile robot path planning
2+
==========================
33

4-
.. autoclass:: roboticstoolbox.mobile.Bug2
4+
A set of path planners that all inherit from :class:`Planner`.
5+
6+
Some planners are based on code from the PathPlanning category of
7+
`PythonRobotics <https://github.com/AtsushiSakai/PythonRobotics>`_ by Atsushi Sakai.
8+
9+
.. py:module:: roboticstoolbox.mobile
10+
11+
.. inheritance-diagram:: Bug2Planner DistanceTransformPlanner DstarPlanner DubinsPlanner ReedsSheppPlanner CurvaturePolyPlanner QuinticPolyPlanner
12+
:parts: 1
13+
:top-classes: roboticstoolbox.mobile.Planner
14+
15+
16+
======================== ==================== ===================
17+
Planner Plans in Obstacle avoidance
18+
======================== ==================== ===================
19+
Bug2Planner :math:`\mathbb{R}^2` yes
20+
DistanceTransformPlanner :math:`\mathbb{R}^2` yes
21+
DstarPlanner :math:`\mathbb{R}^2` yes
22+
PRMPlanner :math:`\mathbb{R}^2` yes
23+
LatticePlanner :math:`\mathbb{R}^2` yes
24+
DubinsPlanner :math:`\SE{2}` no
25+
ReedsSheppPlanner :math:`\SE{2}` no
26+
CurvaturePolyPlanner :math:`\SE{2}` no
27+
QuinticPolyPlanner :math:`\SE{2}` no
28+
======================== ==================== ===================
29+
30+
Grid-based planners
31+
-------------------
32+
33+
34+
35+
Distance transform planner
36+
^^^^^^^^^^^^^^^^^^^^^^^^^^
37+
38+
.. autoclass:: roboticstoolbox.mobile.DistanceTransformPlanner
39+
:members: plan, query, plot
40+
:undoc-members:
41+
:show-inheritance:
42+
43+
44+
D* planner
45+
^^^^^^^^^^
46+
47+
.. autoclass:: roboticstoolbox.mobile.DstarPlanner
48+
:members: plan, query, plot
49+
:undoc-members:
50+
:show-inheritance:
51+
52+
PRM planner
53+
^^^^^^^^^^^
54+
55+
.. autoclass:: roboticstoolbox.mobile.PRMPlanner
56+
:members: plan, query, plot
57+
:undoc-members:
58+
:show-inheritance:
59+
60+
Lattice planner
61+
^^^^^^^^^^^^^^^
62+
63+
.. autoclass:: roboticstoolbox.mobile.LatticePlanner
564
:members:
665
:undoc-members:
766
:show-inheritance:
867
:inherited-members:
68+
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg
69+
70+
Configuration-space planners
71+
----------------------------
972

10-
.. autoclass:: roboticstoolbox.mobile.DXform
73+
These planners do not support planning around obstacles, but allow for the
74+
start and goal configuration :math:`(x, y, \theta)` to be specified.
75+
76+
Dubins path planner
77+
^^^^^^^^^^^^^^^^^^^
78+
79+
.. autoclass:: roboticstoolbox.mobile.DubinsPlanner
1180
:members:
1281
:undoc-members:
1382
:show-inheritance:
1483
:inherited-members:
84+
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg
85+
86+
87+
Reeds-Shepp path planner
88+
^^^^^^^^^^^^^^^^^^^^^^^^
89+
90+
.. autoclass:: roboticstoolbox.mobile.ReedsSheppPlanner
91+
:members:
92+
:undoc-members:
93+
:show-inheritance:
94+
:inherited-members:
95+
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg
96+
97+
Curvature-polynomial planner
98+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99+
100+
.. autoclass:: roboticstoolbox.mobile.CurvaturePolyPlanner
101+
:members:
102+
:undoc-members:
103+
:show-inheritance:
104+
:inherited-members:
105+
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg
106+
107+
Quintic-polynomial planner
108+
^^^^^^^^^^^^^^^^^^^^^^^^^^
109+
110+
.. autoclass:: roboticstoolbox.mobile.QuinticPolyPlanner
111+
:members:
112+
:undoc-members:
113+
:show-inheritance:
114+
:inherited-members:
115+
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg
116+
117+
118+
Supporting classes
119+
------------------
120+
121+
Planner superclass
122+
^^^^^^^^^^^^^^^^^^
123+
124+
.. autoclass:: roboticstoolbox.mobile.Planner
125+
:members:
126+
:undoc-members:
127+
:show-inheritance:
128+
129+
Occupancy grid class
130+
^^^^^^^^^^^^^^^^^^^^
15131

16-
.. autoclass:: roboticstoolbox.mobile.Dstar
132+
.. autoclass:: roboticstoolbox.mobile.OccGrid
17133
:members:
18134
:undoc-members:
19135
:show-inheritance:
20-
:inherited-members:
136+
:special-members: __init__

Diff for: notebooks/Makefile

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
pyfiles = kinematics.py dynamics.py icra2021.py
2+
3+
all: $(pyfiles)
4+
5+
clean:
6+
rm *.py
7+
8+
$(pyfiles): %.py: %.ipynb
9+
jupyter nbconvert --to script $<
10+
ipython --matplotlib=osx $@

Diff for: notebooks/dynamics.ipynb

+1-1
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)