Skip to content

Commit

Permalink
Merge branch 'future'
Browse files Browse the repository at this point in the history
  • Loading branch information
jhavl committed Sep 13, 2021
2 parents 963bb4b + f5d53d9 commit 4dd58f3
Show file tree
Hide file tree
Showing 160 changed files with 17,048 additions and 5,748 deletions.
12 changes: 11 additions & 1 deletion docs/source/arm_superclass.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,19 @@ The various models :ref:`E Models` all subclass this class.
:show-inheritance:
:inherited-members:
:special-members: __getitem__

Kinematic cache
---------------

.. automodule:: roboticstoolbox.robot.KinematicCache
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:special-members: __init__

Link
-------
----

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

Expand Down
13 changes: 13 additions & 0 deletions docs/source/blocks-arm.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Robot manipulator blocks
========================

.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
:width: 300

.. automodule:: roboticstoolbox.blocks.arm
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels

14 changes: 14 additions & 0 deletions docs/source/blocks-mobile.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Mobile robot blocks
===================

.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
:width: 300

.. automodule:: roboticstoolbox.blocks.mobile
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels


13 changes: 13 additions & 0 deletions docs/source/blocks-uav.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
UAV blocks
==========

.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
:width: 300

.. automodule:: roboticstoolbox.blocks.uav
:members:
:undoc-members:
:show-inheritance:
:special-members: __init__
:exclude-members: output, reset, step, start, done, deriv, nin, nout, inlabels, outlabels

17 changes: 17 additions & 0 deletions docs/source/blocks.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
bdsim blocks
============

.. image:: https://raw.githubusercontent.com/petercorke/bdsim/master/figs/[email protected]
:width: 400

A set of block definitions that provide robotic capability to `bdsim <https://github.com/petercorke/bdsim>`_.

.. warning:: This capability is still experimental

.. toctree::
:maxdepth: 2

blocks-arm
blocks-mobile
blocks-uav

3 changes: 3 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
import sphinx_rtd_theme
import re

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

# -- Project information -----------------------------------------------------

Expand Down Expand Up @@ -44,6 +46,7 @@
'sphinx.ext.doctest',
'sphinx.ext.inheritance_diagram',
'sphinx_autorun',
'blockname',
]

autosummary_generate = True
Expand Down
24 changes: 24 additions & 0 deletions docs/source/exts/blockname.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
from docutils import nodes
#from docutils.parsers.rst import Directive


def block_name(name, rawtext, text, lineno, inliner, options={}, content=[]):

# name: The local name of the interpreted role, the role name actually used in the document.
# 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.
# text: The interpreted text content.
# lineno: The line number where the interpreted text begins.
# 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.
# 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.
# content: A list of strings, the directive content for customization (from the "role" directive). To be interpreted by the role function.
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')
return [html_node], []


def setup(app):
app.add_role("blockname", block_name)
return {
'version': '0.1',
'parallel_read_safe': True,
'parallel_write_safe': True,
}
2 changes: 1 addition & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ Robotics Toolbox for Python
intro
arm
mobile

blocks
1 change: 1 addition & 0 deletions docs/source/mobile.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@ and state estimation.

mobile_vehicle
mobile_vehicle_animation
mobile_reactive
mobile_planner
mobile_EKF
128 changes: 122 additions & 6 deletions docs/source/mobile_planner.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,136 @@
Mobile robot planner
--------------------
Mobile robot path planning
==========================

.. autoclass:: roboticstoolbox.mobile.Bug2
A set of path planners that all inherit from :class:`Planner`.

Some planners are based on code from the PathPlanning category of
`PythonRobotics <https://github.com/AtsushiSakai/PythonRobotics>`_ by Atsushi Sakai.

.. py:module:: roboticstoolbox.mobile
.. inheritance-diagram:: Bug2Planner DistanceTransformPlanner DstarPlanner DubinsPlanner ReedsSheppPlanner CurvaturePolyPlanner QuinticPolyPlanner
:parts: 1
:top-classes: roboticstoolbox.mobile.Planner


======================== ==================== ===================
Planner Plans in Obstacle avoidance
======================== ==================== ===================
Bug2Planner :math:`\mathbb{R}^2` yes
DistanceTransformPlanner :math:`\mathbb{R}^2` yes
DstarPlanner :math:`\mathbb{R}^2` yes
PRMPlanner :math:`\mathbb{R}^2` yes
LatticePlanner :math:`\mathbb{R}^2` yes
DubinsPlanner :math:`\SE{2}` no
ReedsSheppPlanner :math:`\SE{2}` no
CurvaturePolyPlanner :math:`\SE{2}` no
QuinticPolyPlanner :math:`\SE{2}` no
======================== ==================== ===================

Grid-based planners
-------------------



Distance transform planner
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.DistanceTransformPlanner
:members: plan, query, plot
:undoc-members:
:show-inheritance:


D* planner
^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.DstarPlanner
:members: plan, query, plot
:undoc-members:
:show-inheritance:

PRM planner
^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.PRMPlanner
:members: plan, query, plot
:undoc-members:
:show-inheritance:

Lattice planner
^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.LatticePlanner
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg

Configuration-space planners
----------------------------

.. autoclass:: roboticstoolbox.mobile.DXform
These planners do not support planning around obstacles, but allow for the
start and goal configuration :math:`(x, y, \theta)` to be specified.

Dubins path planner
^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.DubinsPlanner
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg


Reeds-Shepp path planner
^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.ReedsSheppPlanner
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg

Curvature-polynomial planner
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.CurvaturePolyPlanner
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg

Quintic-polynomial planner
^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.QuinticPolyPlanner
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:exclude-members: isoccupied, validate_point, occgrid, plan, random, message, plot_bg


Supporting classes
------------------

Planner superclass
^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.Planner
:members:
:undoc-members:
:show-inheritance:

Occupancy grid class
^^^^^^^^^^^^^^^^^^^^

.. autoclass:: roboticstoolbox.mobile.Dstar
.. autoclass:: roboticstoolbox.mobile.OccGrid
:members:
:undoc-members:
:show-inheritance:
:inherited-members:
:special-members: __init__
10 changes: 10 additions & 0 deletions notebooks/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
pyfiles = kinematics.py dynamics.py icra2021.py

all: $(pyfiles)

clean:
rm *.py

$(pyfiles): %.py: %.ipynb
jupyter nbconvert --to script $<
ipython --matplotlib=osx $@
2 changes: 1 addition & 1 deletion notebooks/dynamics.ipynb

Large diffs are not rendered by default.

Loading

0 comments on commit 4dd58f3

Please sign in to comment.