8000 Update the introduction part of sphinx doco · hzyjerry/robotics-toolbox-python@66f099e · GitHub
[go: up one dir, main page]

Skip to content

Commit 66f099e

Browse files
committed
Update the introduction part of sphinx doco
1 parent 8df15b1 commit 66f099e

File tree

1 file changed

+37
-30
lines changed

1 file changed

+37
-30
lines changed

docs/source/intro.rst

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Introduction
66
Introduction
77
============
88

9-
*This is a modified version of a paper submitted to ICRA2020*
9+
This is a modified version of a paper accepted to ICRA2021 [corke21a]_.
1010

1111
The Robotics Toolbox for MATLAB® (RTB-M) was created around 1991 to support
1212
Peter Corke’s PhD research and was first published in 1995-6 [Corke95]_
@@ -359,10 +359,11 @@ or pure rotation -- each with either a constant parameter or a free parameter wh
359359
.. runblock:: pycon
360360
:linenos:
361361

362-
>>> from roboticstoolbox import ETS as E
362+
>>> from roboticstoolbox import ETS as ET
363363
>>> import roboticstoolbox as rtb
364-
>>> l1 = 0.672; l2 = 0.2337; l3 = 0.4318; l4 = -0.0837; l5 = 0.4318; l6 = 0.0203
365-
>>> e = E.tz(l1) * E.rz() * E.ty(l2) * E.ry() * E.tz(l3) * E.tx(l6) * E.ty(l4) * E.ry() * E.tz(l5) * E.rz() * E.ry() * E.rz()
364+
>>> # Puma dimensions (m), see RVC2 Fig. 7.4 for details
365+
>>> l1 = 0.672; l2 = -0.2337; l3 = 0.4318; l4 = 0.0203; l5 = 0.0837; l6 = 0.4318
366+
>>> e = ET.tz(l1) * ET.rz() * ET.ty(l2) * ET.ry() * ET.tz(l3) * ET.tx(l4) * ET.ty(l5) * ET.ry() * ET.tz(l6) * ET.rz() * ET.ry() * ET.rz()
366367
>>> print(e)
367368
>>> robot = rtb.ERobot(e)
368369
>>> print(robot)
@@ -404,7 +405,7 @@ end-effector must be specified.
404405
>>> import roboticstoolbox as rtb
405406
>>> panda = rtb.models.URDF.Panda()
406407
>>> print(panda)
407-
>>> T = panda.fkine(panda.qz, endlink='panda_hand')
408+
>>> T = panda.fkine(panda.qz, end='panda_hand')
408409
>>> print(T)
409410

410411
In the table above we see the end-effectors indicated by @ (determined automatically
@@ -469,9 +470,8 @@ two points specified by a pair of poses in :math:`\SE{3}`
469470
>>> T1 = SE3(0.4, 0.5, 0.2)
470471
>>> Ts = rtb.tools.trajectory.ctraj(T0, T1, len(t))
471472
>>> len(Ts)
472-
>>> sol = puma.ikine_LM(Ts) # array of named tuples
473-
>>> qt = np.array([x.q for x in sol]) # convert to 2d matrix
474-
>>> qt.shape
473+
>>> sol = puma.ikine_LM(Ts) # named tuple of arrays
474+
>>> sol.q.shape
475475

476476
At line 9 we see that the resulting trajectory, ``Ts``, is an ``SE3`` instance with 200 values.
477477

@@ -493,9 +493,8 @@ As mentioned earlier, the Toolbox supports symbolic manipulation using SymPy. Fo
493493

494494
.. runblock:: pycon
495495

496-
>>> import roboticstoolbox as rtb
497496
>>> import spatialmath.base as base
498-
>>> phi, theta, psi = base.sym.symbol('phi, theta, psi')
497+
>>> phi, theta, psi = base.sym.symbol('φ, ϴ, ψ')
499498
>>> base.rpy2r(phi, theta, psi)
500499

501500
The capability extends to forward kinematics
@@ -510,11 +509,13 @@ The capability extends to forward kinematics
510509
>>> T = puma.fkine(q)
511510
>>> T.t[0]
512511

513-
If we display the value of ``puma`` we see that the :math:`\alpha_j` values are now displayed in red to indicate that they are symbolic constants. The x-coordinate of the end-effector is
514-
given by line 7.
512+
If we display the value of ``puma`` we see that the :math:`\alpha_j` values are
513+
now displayed in red to indicate that they are symbolic constants. The
514+
x-coordinate of the end-effector is given by line 7.
515515

516516

517-
SymPy allows any expression to be converted to runnable code in a variety of languages including C, Python and Octave/MATLAB.
517+
SymPy allows any expression to be converted to LaTeX or a variety of languages
518+
including C, Python and Octave/MATLAB.
518519

519520
Differential kinematics
520521
=======================
@@ -625,8 +626,8 @@ Python version takes 1.5ms (:math:`65\times` slower). With symbolic operands it
625626
takes 170ms (:math:`113\times` slower) to produce the unsimplified torque
626627
expressions.
627628

628-
For all robots there is also an implementation of Featherstone's spatial vector
629-
method, ``rne_spatial()``, and SMTB-P provides a set of classes for spatial
629+
For ``ERobot`` subclasses there is also an implementation of Featherstone's spatial vector
630+
method, ``rne()``, and SMTB-P provides a set of classes for spatial
630631
velocity, acceleration, momentum, force and inertia.
631632

632633

@@ -727,10 +728,12 @@ to HTML documentation whenever a change is pushed, and this is accessible via
727728
GitHub pages. Issues can be reported via GitHub issues or patches submitted as
728729
pull requests.
729730

730-
RTB-P, and its dependencies, can be installed simply by::
731+
RTB-P, and its dependencies, can be installed simply by either of::
731732

732733
$ pip install roboticstoolbox-python
733734

735+
$ conda install -c conda-forge roboticstoolbox-python
736+
734737
which includes basic visualization using matplotlib.
735738
Options such as ``vpython`` can be used to specify additional dependencies to be installed.
736739
The Toolbox adopts a "when needed" approach to many dependencies and will only attempt
@@ -747,27 +750,31 @@ installed.
747750
Conclusion
748751
==========
749752

750-
This article has introduced and demonstrated in tutorial form the principle features of the Robotics
751-
Toolbox for Python which runs on Mac, Windows and Linux using Python 3.6 or better.
752-
The code is free and open, and released under the MIT licence.
753-
It provides many of the essential tools necessary for
754-
robotic manipulator modelling, simulation and control which is essential for robotics education and research.
755-
It is familiar yet new, and we hope it will serve the community well for the next 25 years.
753+
This article has introduced and demonstrated in tutorial form the principle
754+
features of the Robotics Toolbox for Python which runs on Mac, Windows and Linux
755+
using Python 3.6 or better. The code is free and open, and released under the
756+
MIT licence. It provides many of the essential tools necessary for robotic
757+
manipulator modelling, simulation and control which is essential for robotics
758+
education and research. It is familiar yet new, and we hope it will serve the
759+
community well for the next 25 years.
756760

757-
Currently under development are backend interfaces for CoppeliaSim, Dynamixel
758-
servo chains, and ROS; symbolic dynamics, simplification and code generation;
759-
mobile robotics motion models, planners, EKF localization, map making and SLAM;
760-
and a minimalist block-diagram simulation tool [bdsim]_.
761+
A high-performance reactive motion controller, NEO, is based on this toolbox
762+
[neo]_. Currently under development are backend interfaces for CoppeliaSim,
763+
Dynamixel servo chains, and ROS; symbolic dynamics, simplification and code
764+
generation; mobile robotics motion models, planners, EKF localization, map
765+
making and SLAM; and a minimalist block-diagram simulation tool [bdsim]_.
761766

762767
References
763768
==========
764769

765-
.. [Corke95] P. Corke. A computer tool for simulation and analysis: the Robotics Toolbox for MATLAB. In Proc. National Conf. Australian Robot Association, pages 319–330, Melbourne, July 1995.
766-
.. [Corke96] P. Corke. A robotics toolbox for MATLAB. IEEE Robotics and Automation Magazine, 3(1):24–32, Sept. 1996.
767-
.. [Craig2005] Introduction to Robotics, John Craig, Wiley, 2005.
770+
.. [Corke95] `P. Corke. "A computer tool for simulation and analysis: the Robotics Toolbox for MATLAB". In Proc. National Conf. Australian Robot Association, pages 319–330, Melbourne, July 1995. <http://www.petercorke.com/RTB/ARA95.pdf>`_
771+
.. [Corke96] `P. Corke. "A robotics toolbox for MATLAB". IEEE Robotics and Automation Magazine, 3(1):24–32, Sept. 1996. <https://ieeexplore.ieee.org/document/486658>`_
772+
.. [Craig2005] J. Craig, "Introduction to Robotics", Wiley, 2005.
768773
.. [Featherstone87] R. Featherstone, Robot Dynamics Algorithms. Kluwer Academic, 1987.
769774
.. [Corke07] P. Corke, `“A simple and systematic approach to assigning Denavit- Hartenberg parameters,” IEEE transactions on robotics, vol. 23, no. 3, pp. 590–594, 2007, DOI 10.1109/TRO.2007.896765. <https://ieeexplore.ieee.org/document/4252158>`_.
770775
.. [Haviland20] `J. Haviland and P. Corke, “A systematic approach to computing the manipulator Jacobian and Hessian using the elementary transform sequence,” arXiv preprint, 2020. <https://arxiv.org/abs/2010.08696>`_
771776
.. [PyBullet] `PyBullet <https://pybullet.org/wordpress/>`_
772777
.. [SMTB-P] `Spatial Math Toolbox for Python <https://github.com/petercorke/spatialmath-python>`_
773-
.. [bdsim] `Block diagram simulator for Python <https://github.com/petercorke/bdsim>`_
778+
.. [bdsim] `Block diagram simulator for Python <https://github.com/petercorke/bdsim>`_
779+
.. [neo] `NEO: A Novel Expeditious Optimisation Algorithm for Reactive Motion Control of Manipulatorshttps://jhavl.github.io/neo>`_
780+
.. [corke21a] P. Corke and J. Haviland, "Not your grandmother’s toolbox – the Robotics Toolbox reinvented for Python", Proc. ICRA 2021.

0 commit comments

Comments
 (0)
0