Skip to content

Commit 22a6ca5

Browse files
committed
Add code for list/array of SE3 poses.
1 parent 258a551 commit 22a6ca5

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

spatialmath/pose3d.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,10 @@ def inv(self) -> SE3:
11631163
return SE3([smb.trinv(x) for x in self.A], check=False)
11641164

11651165
def SE2(self) -> SE2:
1166-
return SE2(self.x, self.y, self.rpy()[2])
1166+
if len(self) == 1:
1167+
return SE2(self.x, self.y, self.rpy()[2])
1168+
else:
1169+
return SE2([e.SE2() for e in self])
11671170

11681171
def delta(self, X2: Optional[SE3] = None) -> R6:
11691172
r"""

tests/test_pose3d.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -667,6 +667,9 @@ def test_functions(self):
667667
nt.assert_equal(poseSE3.x , poseSE2.x)
668668
nt.assert_equal(poseSE3.y , poseSE2.y)
669669

670+
posesSE3 = SE3([poseSE3, poseSE3])
671+
posesSE2 = posesSE3.SE2()
672+
nt.assert_equal(len(posesSE2), 2)
670673

671674
def test_functions_vect(self):
672675
# inv

0 commit comments

Comments
 (0)