Skip to content

Commit eb11975

Browse files
committed
Interbotix robots
1 parent 77f68a5 commit eb11975

File tree

14 files changed

+334
-72
lines changed

14 files changed

+334
-72
lines changed

examples/robots.py

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,44 @@
88
import numpy as np
99

1010
# Make Robots
11+
panda = rp.models.Panda()
12+
panda.base = sm.SE3.Ty(0)
13+
panda.q = panda.qr
14+
1115
ur3 = rp.models.UR3()
12-
ur3.base = sm.SE3.Tx(0) * sm.SE3.Ty(0)
16+
ur3.base = sm.SE3.Tx(0) * sm.SE3.Ty(0.4)
1317
ur3.q = [0, -np.pi/2, np.pi/2, 0, 0, 0]
1418

1519
ur5 = rp.models.UR5()
16-
ur5.base = sm.SE3.Tx(0) * sm.SE3.Ty(0.4)
20+
ur5.base = sm.SE3.Tx(0) * sm.SE3.Ty(0.8)
1721
ur5.q = [0, -np.pi/2, np.pi/2, 0, 0, 0]
1822

1923
ur10 = rp.models.UR10()
20-
ur10.base = sm.SE3.Tx(0) * sm.SE3.Ty(0.8)
24+
ur10.base = sm.SE3.Tx(0) * sm.SE3.Ty(1.2)
2125
ur10.q = [0, -np.pi/2, np.pi/2, 0, 0, 0]
2226

2327
puma560 = rp.models.Puma560()
24-
puma560.base = sm.SE3.Ty(-0.4)
25-
26-
panda = rp.models.Panda()
27-
panda.base = sm.SE3.Ty(1.4)
28-
panda.q = panda.qr
28+
puma560.base = sm.SE3.Ty(2.0)
2929

30+
# Interbotix robots
31+
px100 = rp.models.px100()
32+
px100.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(0)
33+
px150 = rp.models.px150()
34+
px150.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(0.3)
35+
rx150 = rp.models.rx150()
36+
rx150.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(0.6)
37+
rx200 = rp.models.rx200()
38+
rx200.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(0.9)
39+
vx300 = rp.models.vx300()
40+
vx300.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(1.2)
41+
vx300s = rp.models.vx300s()
42+
vx300s.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(1.5)
43+
wx200 = rp.models.wx200()
44+
wx200.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(1.8)
45+
wx250 = rp.models.wx250()
46+
wx250.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(2.1)
3047
wx250s = rp.models.wx250s()
31-
wx250s.base = sm.SE3.Ty(-1)
48+
wx250s.base = sm.SE3.Tx(0.7) * sm.SE3.Ty(2.4)
3249

3350
# Launch Sim
3451
env = rp.backend.Sim()
@@ -40,4 +57,13 @@
4057
env.add(ur10)
4158
env.add(puma560)
4259
env.add(panda)
60+
61+
env.add(px100)
62+
env.add(px150)
63+
env.add(rx150)
64+
env.add(rx200)
65+
env.add(vx300)
66+
env.add(vx300s)
67+
env.add(wx200)
68+
env.add(wx250)
4369
env.add(wx250s)

roboticstoolbox/models/URDF/__init__.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,30 @@
22
from roboticstoolbox.models.URDF.UR3 import UR3
33
from roboticstoolbox.models.URDF.UR5 import UR5
44
from roboticstoolbox.models.URDF.UR10 import UR10
5-
from roboticstoolbox.models.URDF.wx250s import wx250s
65
from roboticstoolbox.models.URDF.Puma560 import Puma560
6+
from roboticstoolbox.models.URDF.px100 import px100
7+
from roboticstoolbox.models.URDF.px150 import px150
8+
from roboticstoolbox.models.URDF.rx150 import rx150
9+
from roboticstoolbox.models.URDF.rx200 import rx200
10+
from roboticstoolbox.models.URDF.vx300 import vx300
11+
from roboticstoolbox.models.URDF.vx300s import vx300s
12+
from roboticstoolbox.models.URDF.wx200 import wx200
13+
from roboticstoolbox.models.URDF.wx250 import wx250
14+
from roboticstoolbox.models.URDF.wx250s import wx250s
715

816
__all__ = [
917
'Panda',
1018
'UR3',
1119
'UR5',
1220
'UR10',
13-
'wx250s',
14-
'Puma560'
21+
'Puma560',
22+
'px100',
23+
'px150',
24+
'rx150',
25+
'rx200',
26+
'vx300',
27+
'vx300s',
28+
'wx200',
29+
'wx250',
30+
'wx250s'
1531
]

roboticstoolbox/models/URDF/px100.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class px100(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'px100.urdf.xacro'
16+
17+
args = super(px100, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(px100, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/px150.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class px150(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'px150.urdf.xacro'
16+
17+
args = super(px150, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(px150, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/rx150.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class rx150(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'rx150.urdf.xacro'
16+
17+
args = super(rx150, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(rx150, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/rx200.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class rx200(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'rx200.urdf.xacro'
16+
17+
args = super(rx200, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(rx200, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/vx300.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class vx300(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'vx300.urdf.xacro'
16+
17+
args = super(vx300, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(vx300, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/vx300s.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class vx300s(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'vx300s.urdf.xacro'
16+
17+
args = super(vx300s, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(vx300s, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/wx200.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class wx200(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'wx200.urdf.xacro'
16+
17+
args = super(wx200, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(wx200, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

roboticstoolbox/models/URDF/wx250.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
import roboticstoolbox as rp
5+
from roboticstoolbox.robot.ETS import ETS
6+
from pathlib import Path
7+
8+
9+
class wx250(ETS):
10+
11+
def __init__(self):
12+
13+
mpath = Path(rp.__file__).parent
14+
fpath = mpath / 'models' / 'xacro' / 'interbotix_descriptions' / 'urdf'
15+
fname = 'wx250.urdf.xacro'
16+
17+
args = super(wx250, self).urdf_to_ets_args(
18+
(fpath / fname).as_posix())
19+
20+
super(wx250, self).__init__(
21+
args[0],
22+
name=args[1])
23+
24+
self.manufacturer = 'Interbotix'
25+
26+
self._qz = np.array([0, 0, 0, 0, 0, 0, 0, 0, 0])
27+
self._qr = np.array([0, -0.3, 0, -2.2, 0, 2.0, np.pi/4, 0, 0])
28+
29+
@property
30+
def qz(self):
31+
return self._qz
32+
33+
@property
34+
def qr(self):
35+
return self._qr

0 commit comments

Comments
 (0)