You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*`SE3` matrices belonging to the group $\mathbf{SE}(3)$ for position and orientation (pose) in 3-dimensions
@@ -80,7 +80,7 @@ The class, method and functions names largely mirror those of the MATLAB toolbox
80
80
81
81
# Citing
82
82
83
-
Check out our ICRA 2021 paper on [IEEE Xplore](https://ieeexplore.ieee.org/document/9561366) or get the PDF from [Peter's website](https://bit.ly/icra_rtb). This describes the [Robotics Toolbox for Python](https://github.com/petercorke/robotics-toolbox-python) as well Spatial Maths.
83
+
Check out our ICRA 2021 paper on [IEEE Xplore](https://ieeexplore.ieee.org/document/9561366) or get the PDF from [Peter's website](https://bit.ly/icra_rtb). This describes the [Robotics Toolbox for Python](https://github.com/bdaiinstitute/robotics-toolbox-python) as well Spatial Maths.
84
84
85
85
If the toolbox helped you in your research, please cite
86
86
@@ -160,26 +160,26 @@ For example, to create an object representing a rotation of 0.3 radians about th
160
160
>>>from spatialmath importSO3, SE3
161
161
>>> R1 =SO3.Rx(0.3)
162
162
>>> R1
163
-
100
164
-
00.955336-0.29552
165
-
00.295520.955336
163
+
100
164
+
00.955336-0.29552
165
+
00.295520.955336
166
166
```
167
167
while a rotation of 30 deg about the z-axis is
168
168
169
169
```python
170
170
>>> R2 =SO3.Rz(30, 'deg')
171
171
>>> R2
172
-
0.866025-0.50
173
-
0.50.8660250
174
-
001
172
+
0.866025-0.50
173
+
0.50.8660250
174
+
001
175
175
```
176
-
and the composition of these two rotations is
176
+
and the composition of these two rotations is
177
177
178
178
```python
179
179
>>> R = R1 * R2
180
-
0.866025-0.50
181
-
0.4330130.75-0.5
182
-
0.250.4330130.866025
180
+
0.866025-0.50
181
+
0.4330130.75-0.5
182
+
0.250.4330130.866025
183
183
```
184
184
185
185
We can find the corresponding Euler angles (in radians)
@@ -198,16 +198,16 @@ Frequently in robotics we want a sequence, a trajectory, of rotation matrices or
198
198
>>>len(R)
199
199
3
200
200
>>> R[1]
201
-
100
202
-
00.955336-0.29552
203
-
00.295520.955336
201
+
100
202
+
00.955336-0.29552
203
+
00.295520.955336
204
204
```
205
205
and this can be used in `for` loops and list comprehensions.
206
206
207
207
An alternative way of constructing this would be (`R1`, `R2` defined above)
208
208
209
209
```python
210
-
>>> R = SO3( [ SO3(), R1, R2 ] )
210
+
>>> R = SO3( [ SO3(), R1, R2 ] )
211
211
>>>len(R)
212
212
3
213
213
```
@@ -233,7 +233,7 @@ will produce a result where each element is the product of each element of the l
233
233
Similarly
234
234
235
235
```python
236
-
>>> A =SO3.Ry(0.5) * R
236
+
>>> A =SO3.Ry(0.5) * R
237
237
>>>len(R)
238
238
32
239
239
```
@@ -242,7 +242,7 @@ will produce a result where each element is the product of the left-hand side wi
242
242
Finally
243
243
244
244
```python
245
-
>>> A = R * R
245
+
>>> A = R * R
246
246
>>>len(R)
247
247
32
248
248
```
@@ -267,10 +267,10 @@ We can print and plot these objects as well
267
267
```
268
268
>>> T = SE3(1,2,3) * SE3.Rx(30, 'deg')
269
269
>>> T.print()
270
-
1 0 0 1
271
-
0 0.866025 -0.5 2
272
-
0 0.5 0.866025 3
273
-
0 0 0 1
270
+
1 0 0 1
271
+
0 0.866025 -0.5 2
272
+
0 0.5 0.866025 3
273
+
0 0 0 1
274
274
275
275
>>> T.printline()
276
276
t = 1, 2, 3; rpy/zyx = 30, 0, 0 deg
@@ -339,7 +339,7 @@ array([[1., 0., 1.],
339
339
[0., 0., 1.]])
340
340
341
341
transl2( (1,2) )
342
-
Out[444]:
342
+
Out[444]:
343
343
array([[1., 0., 1.],
344
344
[0., 1., 2.],
345
345
[0., 0., 1.]])
@@ -349,7 +349,7 @@ array([[1., 0., 1.],
349
349
350
350
```
351
351
transl2( np.array([1,2]) )
352
-
Out[445]:
352
+
Out[445]:
353
353
array([[1., 0., 1.],
354
354
[0., 1., 2.],
355
355
[0., 0., 1.]])
@@ -436,7 +436,7 @@ Out[259]: int
436
436
437
437
a = T[1,1]
438
438
a
439
-
Out[256]:
439
+
Out[256]:
440
440
cos(theta)
441
441
type(a)
442
442
Out[255]: cos
@@ -447,6 +447,6 @@ Similarly when we assign an element or slice of the symbolic matrix to a numeric
447
447
448
448
## History & Contributors
449
449
450
-
This package was originally created by [Peter Corke](https://github.com/petercorke) and [Jesse Haviland](https://github.com/jhavl) and was inspired by the [Spatial Math Toolbox for MATLAB](https://github.com/petercorke/spatialmath-matlab). It supports the textbook [Robotics, Vision & Control in Python 3e](https://github.com/petercorke/RVC3-python).
450
+
This package was originally created by [Peter Corke](https://github.com/bdaiinstitute) and [Jesse Haviland](https://github.com/jhavl) and was inspired by the [Spatial Math Toolbox for MATLAB](https://github.com/bdaiinstitute/spatialmath-matlab). It supports the textbook [Robotics, Vision & Control in Python 3e](https://github.com/bdaiinstitute/RVC3-python).
451
451
452
452
The package is now a collaboration with [Boston Dynamics AI Institute](https://theaiinstitute.com/).
We see that the symbolic constants have been converted back to Python numeric
@@ -718,9 +718,9 @@ Relationship to MATLAB tools
718
718
----------------------------
719
719
720
720
This package replicates, as much as possible, the functionality of the `Spatial
721
-
Math Toolbox <https://github.com/petercorke/spatial-math>`__ for MATLAB®
721
+
Math Toolbox <https://github.com/bdaiinstitute/spatial-math>`__ for MATLAB®
722
722
which underpins the `Robotics Toolbox
723
-
<https://github.com/petercorke/robotics-toolbox-matlab>`__ for MATLAB®. It
723
+
<https://github.com/bdaiinstitute/robotics-toolbox-matlab>`__ for MATLAB®. It
724
724
comprises:
725
725
726
726
* the *classic* functions (which date back to the origin of the Robotics Toolbox
@@ -730,7 +730,7 @@ comprises:
730
730
>>> from spatialmath.base import rotx, trotx
731
731
732
732
and works with NumPy arrays. This package also includes a set of functions,
733
-
not present in the MATLAB version, to handle quaternions, unit-quaternions
733
+
not present in the MATLAB version, to handle quaternions, unit-quaternions
734
734
which are represented as 4-element NumPy arrays, and twists.
735
735
* the classes (which appeared in Robotics Toolbox for MATLAB release 10 in 2017) such as ``SE3``, ``UnitQuaternion`` etc. The only significant difference
736
736
is that the MATLAB ``Twist`` class is now called ``Twist3``.
@@ -766,6 +766,3 @@ which has the familiar *classic* functions like ``rotx`` and ``rpy2r`` available
0 commit comments