10000 polish doco · yobzhuu/robotics-toolbox-python@1bfad9d · GitHub
[go: up one dir, main page]

Skip to content

Commit 1bfad9d

Browse files
committed
polish doco
systematic edits of DH robot doco
1 parent d72e6db commit 1bfad9d

File tree

13 files changed

+418
-167
lines changed

13 files changed

+418
-167
lines changed

docs/source/arm_dh.rst

Lines changed: 47 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,57 @@
11
Arm Type Robots - DH
2-
===================================================
2+
====================
33

44
.. codeauthor:: Jesse Haviland
55

6-
SerialLink
7-
------------
8-
.. automodule:: roboticstoolbox.robot.SerialLink
6+
A number of models are defined in terms of Denavit-Hartenberg parameters, either
7+
standard or modified. They can be listed by:
8+
9+
.. runblock:: pycon
10+
11+
>>> import roboticstoolbox as rtb
12+
>>> rtb.models.list(mtype="DH")
13+
14+
DHRobot
15+
-------
16+
17+
.. inheritance-diagram:: roboticstoolbox.DHRobot
18+
:top-classes: roboticstoolbox.Robot
19+
:parts: 2
20+
21+
The various :ref:`DH Models` all subclass this class.
22+
23+
.. automodule:: roboticstoolbox.robot.DHRobot
924
:members:
1025
:undoc-members:
1126
:show-inheritance:
1227
:inherited-members:
1328

29+
DHLink
30+
------
31+
32+
The ``DHRobot`` is defined by a list of ``DHLink`` subclass objects.
33+
34+
.. inheritance-diagram:: roboticstoolbox.RevoluteDH roboticstoolbox.PrismaticDH roboticstoolbox.RevoluteMDH roboticstoolbox.PrismaticMDH
35+
:top-classes: roboticstoolbox.robot.Link
36+
:parts: 2
37+
38+
39+
.. automodule:: roboticstoolbox.robot.DHLink
40+
:members:
41+
:undoc-members:
42+
:show-inheritance:
43+
:inherited-members:
1444

1545
Revolute - standard DH
16-
----------------------
46+
^^^^^^^^^^^^^^^^^^^^^^
1747
.. automodule:: roboticstoolbox.robot.RevoluteDH
1848
:members:
1949
:undoc-members:
2050
:show-inheritance:
2151
:inherited-members:
2252

2353
Prismatic - standard DH
24-
-----------------------
54+
^^^^^^^^^^^^^^^^^^^^^^^
2555
.. automodule:: roboticstoolbox.robot.PrismaticDH
2656
:members:
2757
:undoc-members:
@@ -30,27 +60,28 @@ Prismatic - standard DH
3060

3161

3262
Revolute - modified DH
33-
----------------------
63+
^^^^^^^^^^^^^^^^^^^^^^
3464
.. automodule:: roboticstoolbox.robot.RevoluteMDH
3565
:members:
3666
:undoc-members:
3767
:show-inheritance:
3868
:inherited-members:
3969

4070
Prismatic - modified DH
41-
-----------------------
71+
^^^^^^^^^^^^^^^^^^^^^^^
4272
.. automodule:: roboticstoolbox.robot.PrismaticMDH
4373
:members:
4474
:undoc-members:
4575
:show-inheritance:
4676
:inherited-members:
47-
48-
------------
49-
.. automodule:: roboticstoolbox.robot.DHLink
50-
:members:
51-
:undoc-members:
52-
:show-inheritance:
53-
:inherited-members:
5477

5578

56-
79+
.. _DH Models:
80+
81+
Models
82+
------
83+
84+
.. automodule:: roboticstoolbox.models.DH
85+
:members:
86+
:undoc-members:
87+
:show-inheritance:

roboticstoolbox/models/DH/Ball.py

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,45 @@
1010

1111

1212
class Ball(DHRobot):
13-
'''
14-
reate model of a ball manipulator
13+
"""
14+
Class that models a ball manipulator
1515
16-
Ball() creates the workspace variable ball which describes the
17-
kinematic characteristics of a serial link manipulator with 50 joints
16+
``Ball()`` is a class which models a ball robot and
17+
describes its kinematic characteristics using standard DH
18+
conventions.
19+
20+
The ball robot is an *abstract* robot with an arbitrary number of joints
1821
that folds into a ball shape.
1922
20-
Ball(N) as above but creates a manipulator with N joints.
23+
.. runblock:: pycon
24+
25+
>>> import roboticstoolbox as rtb
26+
>>> robot = rtb.models.DH.Ball()
27+
>>> print(robot)
28+
29+
Defined joint configurations are:
30+
31+
- qz, zero joint angles
32+
- q1, ball shaped configuration
33+
34+
.. note::
35+
- SI units are used.
36+
- The model includes armature inertia and gear ratios.
37+
- The value of m1 is given as 0 here. Armstrong found no value for it
38+
and it does not appear in the equation for tau1 after the
39+
substituion is made to inertia about link frame rather than COG
40+
frame.
41+
- Gravity load torque is the motor torque necessary to keep the joint
42+
static, and is thus -ve of the gravity caused torque.
2143
22-
Also define the workspace vectors:
23-
q joint angle vector for default ball configuration
24-
Reference:
25-
- "A divide and conquer articulated-body algorithm for parallel O(log(n))
26-
calculation of rigid body dynamics, Part 2",
27-
Int. J. Robotics Research, 18(9), pp 876-892.
44+
:references:
45+
46+
- "A divide and conquer articulated-body algorithm for parallel O(log(n))
47+
calculation of rigid body dynamics, Part 2",
48+
Int. J. Robotics Research, 18(9), pp 876-892.
2849
29-
Notes:
30-
- Unlike most other model scripts this one is actually a function that
31-
behaves like a script and writes to the global workspace.
32-
'''
50+
.. codeauthor:: Peter Corke
51+
"""
3352

3453
def __init__(self, N=10):
3554

@@ -43,7 +62,7 @@ def __init__(self, N=10):
4362
# and build a serial link manipulator
4463
super(Ball, self).__init__(links, name='ball')
4564

46-
# zero angles, L shaped pose
65+
# zero angles, ball pose
4766
self.addconfiguration("qz", np.zeros(N,))
4867
self.addconfiguration("q1", q1)
4968

roboticstoolbox/models/DH/Cobra600.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,30 @@
1010

1111

1212
class Cobra600(DHRobot):
13+
"""
14+
Class that models a Adept Cobra 600 SCARA manipulator
15+
16+
``Cobra600()`` is a class which models an Adept Cobra 600 SCARA robot and
17+
describes its kinematic characteristics using standard DH
18+
conventions.
19+
20+
.. runblock:: pycon
21+
22+
>>> import roboticstoolbox as rtb
23+
>>> robot = rtb.models.DH.Cobra600()
24+
>>> print(robot)
25+
26+
Defined joint configurations are:
27+
28+
- qz, zero joint angle configuration, 'L' shaped configuration
29+
30+
.. note::
31+
- SI units are used.
32+
- Robot has only 4 DoF.
33+
34+
.. codeauthor:: Peter Corke
35+
"""
1336

14-
# %MDL_COBRA600 Create model of Adept Cobra 600 manipulator
15-
# %
16-
# % MDL_COBRA600 is a script that creates the workspace variable c600 which
17-
# % describes the kinematic characteristics of the 4-axis Adept Cobra 600
18-
# % SCARA manipulator using standard DH conventions.
19-
# %
20-
# % Also define the workspace vectors:
21-
# % qz zero joint angle configuration
22-
# %
23-
# % Notes::
24-
# % - SI units are used.
25-
# %
26-
# % See also SerialRevolute, mdl_puma560akb, mdl_stanford.
2737
def __init__(self):
2838
deg = pi/180
2939

roboticstoolbox/models/DH/IRB140.py

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,34 @@
1010

1111
class IRB140(DHRobot):
1212
"""
13-
IRB140 Create model of ABB IRB 140 manipulator
14-
15-
IRB140 is a script that creates the workspace variable irb140 which
16-
describes the kinematic characteristics of an ABB IRB 140 manipulator
17-
using standard DH conventions.
18-
Also define the workspace vectors:
19-
qz zero joint angle configuration
20-
qr vertical 'READY' configuration
21-
qd lower arm horizontal as per data sheet
22-
23-
Reference::
24-
- "IRB 140 data sheet", ABB Robotics.
25-
- "Utilizing the Functional Work Space Evaluation Tool for Assessing a
26-
System Design and Reconfiguration Alternatives"
27-
A. Djuric and R. J. Urbanic
28-
- https://github.com/4rtur1t0/ARTE/blob/master/robots/ABB/IRB140/parameters.m
29-
30-
Notes::
31-
- SI units of metres are used.
32-
- Unlike most other mdl_xxx scripts this one is actually a function that
33-
behaves like a script and writes to the global workspace.
13+
Class that models an ABB IRB140 manipulator
14+
15+
``IRB140()`` is a class which models a Unimation Puma560 robot and
16+
describes its kinematic and dynamic characteristics using standard DH
17+
conventions.
18+
19+
.. runblock:: pycon
20+
21+
>>> import roboticstoolbox as rtb
22+
>>> robot = rtb.models.DH.IRB140()
23+
>>> print(robot)
24+
25+
Defined joint configurations are:
26+
27+
- qz, zero joint angle configuration
28+
- qr, vertical 'READY' configuration
29+
- qd, lower arm horizontal as per data sheet
30+
31+
.. note:: SI units of metres are used.
32+
33+
:references:
34+
- "IRB 140 data sheet", ABB Robotics.
35+
- "Utilizing the Functional Work Space Evaluation Tool for Assessing a
36+
System Design and Reconfiguration Alternatives"
37+
A. Djuric and R. J. Urbanic
38+
- https://github.com/4rtur1t0/ARTE/blob/master/robots/ABB/IRB140/parameters.m
39+
40+
.. codeauthor:: Peter Corke
3441
"""
3542
def __init__(self):
3643
deg = pi/180

roboticstoolbox/models/DH/KR5.py

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
"""
2+
@author: Gautam Sinha, Indian Institute of Technology, Kanpur (original MATLAB version)
23
@author: Peter Corke
34
@author: Samuel Drew
45
"""
@@ -8,33 +9,36 @@
89

910

1011
class KR5(DHRobot):
11-
'''
12-
KR5 Create model of Kuka KR5 manipulator
12+
"""
13+
Class that models a Kuka KR5 manipulator
1314
14-
MDL_KR5 is a script that creates the workspace variable KR5 which
15-
describes the kinematic characteristics of a Kuka KR5 manipulator using
16-
standard DH conventions.
15+
``KR5()`` is a class which models a Kuka KR5 robot and
16+
describes its kinematic characteristics using standard DH
17+
conventions.
1718
18-
Also define the workspace vectors:
19-
qk1 nominal working position 1
20-
qk2 nominal working position 2
21-
qk3 nominal working position 3
19+
.. runblock:: pycon
2220
23-
Notes::
24-
- SI units of metres are used.
25-
- Includes an 11.5cm tool in the z-direction
21+
>>> import roboticstoolbox as rtb
22+
>>> robot = rtb.models.DH.KR5()
23+
>>> print(robot)
2624
27-
Reference::
28-
- https://github.com/4rtur1t0/ARTE/blob/master/robots/KUKA/KR5_arc/parameters.m
25+
Defined joint configurations are:
2926
30-
Author::
31-
- Gautam Sinha,
32-
Indian Institute of Technology, Kanpur.
27+
- qk1, nominal working position 1
28+
- qk2, nominal working position 2
29+
- qk3, nominal working position 3
3330
34-
Define simplest line model for KUKA KR5 robot
35-
Contain DH parameters for KUKA KR5 robot
36-
All link lenghts and offsets are measured in cm
37-
'''
31+
.. note::
32+
- SI units of metres are used.
33+
- Includes an 11.5cm tool in the z-direction
34+
35+
:references:
36+
- https://github.com/4rtur1t0/ARTE/blob/master/robots/KUKA/KR5_arc/parameters.m
37+
38+
.. codeauthor:: Gautam Sinha, Indian Institute of Technology, Kanpur (original MATLAB version)
39+
.. codeauthor:: Samuel Drew
40+
.. codeauthor:: Peter Corke
41+
"""
3842

3943
def __init__(self):
4044
deg = pi / 180

roboticstoolbox/models/DH/LWR4.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,32 @@
77

88
class LWR4(DHRobot):
99
"""
10-
A class representing the Kuka LWR-IV robot arm.
10+
Class that models a LWR-IV manipulator
1111
12-
DH Parameters taken from
13-
http://www.diag.uniroma1.it/~deluca/rob1_en/09_Exercise_DH_KukaLWR4.pdf
12+
``LWR4()`` is a class which models a Kuka LWR-IV robot and
13+
describes its kinematic characteristics using standard DH
14+
conventions.
1415
16+
.. runblock:: pycon
1517
16-
Example::
18+
>>> import roboticstoolbox as rtb
19+
>>> robot = rtb.models.DH.LWR4()
20+
>>> print(robot)
1721
18-
>>> robot = LWR4()
22+
Defined joint configurations are:
1923
24+
- qz, zero joint angle configuration, 'L' shaped configuration
25+
- qr, vertical 'READY' configuration
26+
- qs, arm is stretched out in the X direction
27+
- qn, arm is at a nominal non-singular configuration
28+
29+
.. note:: SI units are used.
30+
31+
:references:
32+
33+
- http://www.diag.uniroma1.it/~deluca/rob1_en/09_Exercise_DH_KukaLWR4.pdf
34+
35+
.. codeauthor:: Peter Corke
2036
"""
2137

2238
def __init__(self):

0 commit comments

Comments
 (0)
0