8000 Add onmidirectional mm · olamarre/robotics-toolbox-python@f07643f · GitHub
[go: up one dir, main page]

Skip to content

Commit f07643f

Browse files
committed
Add onmidirectional mm
1 parent fb8e261 commit f07643f

File tree

5 files changed

+486
-20
lines changed

5 files changed

+486
-20
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#!/usr/bin/env python
2+
3+
import numpy as np
4+
from roboticstoolbox.robot.ERobot import ERobot
5+
from spatialmath import SE3
6+
7+
8+
class FrankieOmni(ERobot):
9+
"""
10+
Class that imports an Omnidirectional Frankie URDF model
11+
12+
``FrankieOmni()`` is a class which imports a FrankieOmni robot definition
13+
from a URDF file. The model describes its kinematic and graphical
14+
characteristics.
15+
16+
.. runblock:: pycon
17+
18+
>>> import roboticstoolbox as rtb
19+
>>> robot = rtb.models.URDF.FrankieOmni()
20+
>>> print(robot)
21+
22+
Defined joint configurations are:
23+
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+
.. codeauthor:: Jesse Haviland
30+
.. sectionauthor:: Peter Corke
31+
"""
32+
33+
def __init__(self):
34+
35+
links, name, urdf_string, urdf_filepath = self.URDF_read(
36+
"franka_description/robots/frankieOmni_arm_hand.urdf.xacro"
37+
)
38+
39+
super().__init__(
40+
links,
41+
name=name,
42+
manufacturer="Franka Emika",
43+
gripper_links=links[12],
44+
urdf_string=urdf_string,
45+
urdf_filepath=urdf_filepath,
46+
)
47+
48+
self.grippers[0].tool = SE3(0, 0, 0.1034)
49+
50+
self.qdlim = np.array(
51+
[
52+
4.0,
53+
4.0,
54+
4.0,
55+
2.1750,
56+
2.1750,
57+
2.1750,
58+
2.1750,
59+
2.6100,
60+
2.6100,
61+
2.6100,
62+
3.0,
63+
3.0,
64+
]
65+
)
66+
67+
self.addconfiguration("qz", np.array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))
68+
69+
self.addconfiguration(
70+
"qr", np.array([0, 0, 0, 0, -0.3, 0, -2.2, 0, 2.0, np.pi / 4])
71+
)
72+
73+
74+
if __name__ == "__main__": # pragma nocover
75+
76+
robot = FrankieOmni()
77+
print(robot)
78+
79+
for link in robot.links:
80+
print(link.name)
81+
print(link.isjoint)
82+
print(len(link.collision))
83+
84+
print()
85+
86+
for link in robot.grippers[0].links:
87+
print(link.name)
88+
print(link.isjoint)
89+
print(len(link.collision))
Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from roboticstoolbox.models.URDF.Panda import Panda
22
from roboticstoolbox.models.URDF.Frankie import Frankie
3+
from roboticstoolbox.models.URDF.FrankieOmni import FrankieOmni
34
from roboticstoolbox.models.URDF.UR3 import UR3
45
from roboticstoolbox.models.URDF.UR5 import UR5
56
from roboticstoolbox.models.URDF.UR10 import UR10
@@ -20,24 +21,25 @@
2021
from roboticstoolbox.models.URDF.YuMi import YuMi
2122

2223
__all__ = [
23-
'Panda',
24-
'Frankie',
25-
'UR3',
26-
'UR5',
27-
'UR10',
28-
'Puma560',
29-
'px100',
30-
'px150',
31-
'rx150',
32-
'rx200',
33-
'vx300',
34-
'vx300s',
35-
'wx200',
36-
'wx250',
37-
'wx250s',
38-
'Mico',
39-
'PR2',
40-
'LBR',
41-
'KinovaGen3',
42-
'YuMi'
24+
"Panda",
25+
"Frankie",
26+
"FrankieOmni",
27+
"UR3",
28+
"UR5",
29+
"UR10",
30+
"Puma560",
31+
"px100",
32+
"px150",
33+
"rx150",
34+
"rx200",
35+
"vx300",
36+
"vx300s",
37+
"wx200",
38+
"wx250",
39+
"wx250s",
40+
"Mico",
41+
"PR2",
42+
"LBR",
43+
"KinovaGen3",
44+
"YuMi",
4345
]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?xml version='1.0' encoding='utf-8'?>
2+
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="frankie">
3+
<xacro:include filename="$(find franka_description)/robots/frankieOmni_arm.xacro" />
4+
<xacro:panda_arm safety_distance="0.00"/>
5+
</robot>

0 commit comments

Comments
 (0)
0