hex-zmq-servers 0.2.0__py3-none-any.whl → 0.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hex_zmq_servers/__init__.py +19 -7
- hex_zmq_servers/cam/__init__.py +13 -6
- hex_zmq_servers/config/mujoco_archer_d6y.json +19 -0
- hex_zmq_servers/config/mujoco_e3_desktop.json +19 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/assets.xml +7 -9
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_base_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_helper_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_link_1.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_link_2.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_helper_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_link_1.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_link_2.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/robot.xml +37 -50
- hex_zmq_servers/mujoco/archer_d6y/model/scene.xml +5 -5
- hex_zmq_servers/mujoco/archer_d6y/model/setting.xml +21 -21
- hex_zmq_servers/mujoco/archer_d6y/mujoco_archer_d6y.py +44 -10
- hex_zmq_servers/mujoco/e3_desktop/model/assets/assets.xml +7 -9
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_base_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_helper_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_link_1.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_link_2.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_helper_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_link_1.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_link_2.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/robot.xml +81 -107
- hex_zmq_servers/mujoco/e3_desktop/model/scene.xml +6 -6
- hex_zmq_servers/mujoco/e3_desktop/model/setting.xml +42 -42
- hex_zmq_servers/mujoco/e3_desktop/mujoco_e3_desktop.py +62 -19
- hex_zmq_servers/mujoco/e3_desktop/mujoco_e3_desktop_cli.py +1 -1
- hex_zmq_servers/mujoco/mujoco_base.py +34 -0
- hex_zmq_servers/robot/__init__.py +4 -1
- hex_zmq_servers/robot/hexarm/__init__.py +30 -0
- hex_zmq_servers/robot/hexarm/robot_hexarm.py +5 -3
- hex_zmq_servers/robot/hexarm/robot_hexarm_cli.py +1 -1
- hex_zmq_servers/robot/hexarm/robot_hexarm_srv.py +1 -1
- hex_zmq_servers/robot/hexarm/urdf/archer_d6y/empty.urdf +207 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100.urdf +207 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_handle.urdf +207 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_p050.urdf +207 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_p050_handle.urdf +207 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_l6y/empty.urdf +206 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100.urdf +206 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_handle.urdf +206 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_p050.urdf +206 -0
- hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_p050_handle.urdf +206 -0
- hex_zmq_servers-0.2.2.dist-info/METADATA +117 -0
- {hex_zmq_servers-0.2.0.dist-info → hex_zmq_servers-0.2.2.dist-info}/RECORD +50 -45
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_base_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow1_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow2_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow3_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow_loop_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide1_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide2_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide3_link.STL +0 -0
- hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide_loop_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/link_camera.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_base_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow1_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow2_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow3_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow_loop_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide1_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide2_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide3_link.STL +0 -0
- hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide_loop_link.STL +0 -0
- hex_zmq_servers-0.2.0.dist-info/METADATA +0 -37
- {hex_zmq_servers-0.2.0.dist-info → hex_zmq_servers-0.2.2.dist-info}/WHEEL +0 -0
- {hex_zmq_servers-0.2.0.dist-info → hex_zmq_servers-0.2.2.dist-info}/licenses/LICENSE +0 -0
- {hex_zmq_servers-0.2.0.dist-info → hex_zmq_servers-0.2.2.dist-info}/top_level.txt +0 -0
|
@@ -25,6 +25,8 @@ NET_CONFIG = {
|
|
|
25
25
|
"server_num_workers": 4,
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
TAU = 2 * np.pi
|
|
29
|
+
|
|
28
30
|
|
|
29
31
|
class HexMujocoBase(HexDeviceBase):
|
|
30
32
|
|
|
@@ -52,6 +54,38 @@ class HexMujocoBase(HexDeviceBase):
|
|
|
52
54
|
self._wait_for_working()
|
|
53
55
|
return self._intri
|
|
54
56
|
|
|
57
|
+
@staticmethod
|
|
58
|
+
def _rads_normalize(rads: np.ndarray) -> np.ndarray:
|
|
59
|
+
return (rads + np.pi) % TAU - np.pi
|
|
60
|
+
|
|
61
|
+
@staticmethod
|
|
62
|
+
def _apply_pos_limits(
|
|
63
|
+
rads: np.ndarray,
|
|
64
|
+
lower_bound: np.ndarray,
|
|
65
|
+
upper_bound: np.ndarray,
|
|
66
|
+
) -> np.ndarray:
|
|
67
|
+
normed_rads = HexMujocoBase._rads_normalize(rads)
|
|
68
|
+
outside = (normed_rads < lower_bound) | (normed_rads > upper_bound)
|
|
69
|
+
if not np.any(outside):
|
|
70
|
+
return normed_rads
|
|
71
|
+
|
|
72
|
+
lower_dist = np.fabs(
|
|
73
|
+
HexMujocoBase._rads_normalize(
|
|
74
|
+
(normed_rads - lower_bound)[outside]))
|
|
75
|
+
upper_dist = np.fabs(
|
|
76
|
+
HexMujocoBase._rads_normalize(
|
|
77
|
+
(normed_rads - upper_bound)[outside]))
|
|
78
|
+
choose_lower = lower_dist < upper_dist
|
|
79
|
+
choose_upper = ~choose_lower
|
|
80
|
+
|
|
81
|
+
outside_full = np.flatnonzero(outside)
|
|
82
|
+
outside_lower = outside_full[choose_lower]
|
|
83
|
+
outside_upper = outside_full[choose_upper]
|
|
84
|
+
normed_rads[outside_lower] = lower_bound[outside_lower]
|
|
85
|
+
normed_rads[outside_upper] = upper_bound[outside_upper]
|
|
86
|
+
|
|
87
|
+
return normed_rads
|
|
88
|
+
|
|
55
89
|
@abstractmethod
|
|
56
90
|
def work_loop(self, hex_values: list[HexSafeValue]):
|
|
57
91
|
raise NotImplementedError(
|
|
@@ -9,9 +9,12 @@
|
|
|
9
9
|
from .robot_base import HexRobotBase, HexRobotClientBase, HexRobotServerBase
|
|
10
10
|
from .dummy import HexRobotDummy, HexRobotDummyClient, HexRobotDummyServer
|
|
11
11
|
from .gello import HexRobotGello, HexRobotGelloClient, HexRobotGelloServer
|
|
12
|
-
from .hexarm import HexRobotHexarm, HexRobotHexarmClient, HexRobotHexarmServer
|
|
12
|
+
from .hexarm import HexRobotHexarm, HexRobotHexarmClient, HexRobotHexarmServer, HEXARM_URDF_PATH_DICT
|
|
13
13
|
|
|
14
14
|
__all__ = [
|
|
15
|
+
# path
|
|
16
|
+
"HEXARM_URDF_PATH_DICT",
|
|
17
|
+
|
|
15
18
|
# base
|
|
16
19
|
"HexRobotBase",
|
|
17
20
|
"HexRobotClientBase",
|
|
@@ -10,7 +10,37 @@ from .robot_hexarm import HexRobotHexarm
|
|
|
10
10
|
from .robot_hexarm_cli import HexRobotHexarmClient
|
|
11
11
|
from .robot_hexarm_srv import HexRobotHexarmServer
|
|
12
12
|
|
|
13
|
+
import os
|
|
14
|
+
|
|
15
|
+
urdf_dir = os.path.join(os.path.dirname(__file__), "urdf")
|
|
16
|
+
HEXARM_URDF_PATH_DICT = {
|
|
17
|
+
"archer_d6y_empty":
|
|
18
|
+
f"{urdf_dir}/archer_d6y/empty.urdf",
|
|
19
|
+
"archer_d6y_gp100":
|
|
20
|
+
f"{urdf_dir}/archer_d6y/gp100.urdf",
|
|
21
|
+
"archer_d6y_gp100_handle":
|
|
22
|
+
f"{urdf_dir}/archer_d6y/gp100_handle.urdf",
|
|
23
|
+
"archer_d6y_gp100_p050":
|
|
24
|
+
f"{urdf_dir}/archer_d6y/gp100_p050.urdf",
|
|
25
|
+
"archer_d6y_gp100_p050_handle":
|
|
26
|
+
f"{urdf_dir}/archer_d6y/gp100_p050_handle.urdf",
|
|
27
|
+
"archer_l6y_empty":
|
|
28
|
+
f"{urdf_dir}/archer_l6y/empty.urdf",
|
|
29
|
+
"archer_l6y_gp100":
|
|
30
|
+
f"{urdf_dir}/archer_l6y/gp100.urdf",
|
|
31
|
+
"archer_l6y_gp100_handle":
|
|
32
|
+
f"{urdf_dir}/archer_l6y/gp100_handle.urdf",
|
|
33
|
+
"archer_l6y_gp100_p050":
|
|
34
|
+
f"{urdf_dir}/archer_l6y/gp100_p050.urdf",
|
|
35
|
+
"archer_l6y_gp100_p050_handle":
|
|
36
|
+
f"{urdf_dir}/archer_l6y/gp100_p050_handle.urdf",
|
|
37
|
+
}
|
|
38
|
+
|
|
13
39
|
__all__ = [
|
|
40
|
+
# path
|
|
41
|
+
"HEXARM_URDF_PATH_DICT",
|
|
42
|
+
|
|
43
|
+
# robot
|
|
14
44
|
"HexRobotHexarm",
|
|
15
45
|
"HexRobotHexarmClient",
|
|
16
46
|
"HexRobotHexarmServer",
|
|
@@ -32,7 +32,7 @@ ROBOT_CONFIG = {
|
|
|
32
32
|
|
|
33
33
|
HEX_DEVICE_TYPE_DICT = {
|
|
34
34
|
"archer_d6y": 16,
|
|
35
|
-
"
|
|
35
|
+
"archer_l6y": 16,
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
|
|
@@ -58,11 +58,11 @@ class HexRobotHexarm(HexRobotBase):
|
|
|
58
58
|
|
|
59
59
|
self.__mit_kp = robot_config.get(
|
|
60
60
|
"mit_kp",
|
|
61
|
-
[200.0, 200.0, 200.0, 75.0, 15.0, 15.0],
|
|
61
|
+
[200.0, 200.0, 200.0, 75.0, 15.0, 15.0, 20.0],
|
|
62
62
|
)
|
|
63
63
|
self.__mit_kd = robot_config.get(
|
|
64
64
|
"mit_kd",
|
|
65
|
-
[12.5, 12.5, 12.5, 6.0, 0.31, 0.31],
|
|
65
|
+
[12.5, 12.5, 12.5, 6.0, 0.31, 0.31, 1.0],
|
|
66
66
|
)
|
|
67
67
|
|
|
68
68
|
# variables
|
|
@@ -82,6 +82,7 @@ class HexRobotHexarm(HexRobotBase):
|
|
|
82
82
|
print("\033[33mArm not found\033[0m")
|
|
83
83
|
time.sleep(1)
|
|
84
84
|
self.__arm_archer = self.__hex_api.find_device_by_robot_type(arm_type)
|
|
85
|
+
self.__arm_archer.start()
|
|
85
86
|
self.__arm_archer.command_timeout_check(False)
|
|
86
87
|
self.__arm_dofs = len(self.__arm_archer)
|
|
87
88
|
self._limits = self.__arm_archer.get_joint_limits()
|
|
@@ -224,4 +225,5 @@ class HexRobotHexarm(HexRobotBase):
|
|
|
224
225
|
return True
|
|
225
226
|
|
|
226
227
|
def close(self):
|
|
228
|
+
self.__arm_archer.stop()
|
|
227
229
|
self.__hex_api.close()
|
|
@@ -33,7 +33,7 @@ ROBOT_CONFIG = {
|
|
|
33
33
|
"device_ip": "172.18.8.161",
|
|
34
34
|
"device_port": 8439,
|
|
35
35
|
"control_hz": 250,
|
|
36
|
-
"arm_type":
|
|
36
|
+
"arm_type": "archer_l6y",
|
|
37
37
|
"use_gripper": True,
|
|
38
38
|
"mit_kp": [200.0, 200.0, 200.0, 75.0, 15.0, 15.0, 0.0],
|
|
39
39
|
"mit_kd": [12.5, 12.5, 12.5, 6.0, 0.31, 0.31, 0.0],
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<robot name="archer_d6y">
|
|
3
|
+
|
|
4
|
+
<link name="base_link">
|
|
5
|
+
<inertial>
|
|
6
|
+
<origin xyz="-0.001 0 0.322" rpy="0 0 0" />
|
|
7
|
+
<mass value="0.687" />
|
|
8
|
+
<inertia ixx="0.0005" iyy="0.0005" izz="0.0007" ixy="0" ixz="0" iyz="0" />
|
|
9
|
+
</inertial>
|
|
10
|
+
<visual>
|
|
11
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
12
|
+
<geometry>
|
|
13
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/base_link.STL" />
|
|
14
|
+
</geometry>
|
|
15
|
+
<material name="">
|
|
16
|
+
<color rgba="1 1 1 1" />
|
|
17
|
+
</material>
|
|
18
|
+
</visual>
|
|
19
|
+
<collision>
|
|
20
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
21
|
+
<geometry>
|
|
22
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/base_link.STL" />
|
|
23
|
+
</geometry>
|
|
24
|
+
</collision>
|
|
25
|
+
</link>
|
|
26
|
+
|
|
27
|
+
<link name="link_1">
|
|
28
|
+
<inertial>
|
|
29
|
+
<origin xyz="0.008 -0.0023 0.0213" rpy="0 0 0" />
|
|
30
|
+
<mass value="0.2154" />
|
|
31
|
+
<inertia ixx="0.0003" iyy="0.0002" izz="0.0003" ixy="0" ixz="0" iyz="0"/>
|
|
32
|
+
</inertial>
|
|
33
|
+
<visual>
|
|
34
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
35
|
+
<geometry>
|
|
36
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_1.STL" />
|
|
37
|
+
</geometry>
|
|
38
|
+
<material name="">
|
|
39
|
+
<color rgba="1 1 1 1" />
|
|
40
|
+
</material>
|
|
41
|
+
</visual>
|
|
42
|
+
<collision>
|
|
43
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
44
|
+
<geometry>
|
|
45
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_1.STL" />
|
|
46
|
+
</geometry>
|
|
47
|
+
</collision>
|
|
48
|
+
</link>
|
|
49
|
+
<joint name="joint_1" type="revolute">
|
|
50
|
+
<origin xyz="0 0 0.0665" rpy="0 0 0" />
|
|
51
|
+
<parent link="base_link" />
|
|
52
|
+
<child link="link_1" />
|
|
53
|
+
<axis xyz="0 0 1" />
|
|
54
|
+
<limit lower="-2.61" upper="3.14" effort="6" velocity="6" />
|
|
55
|
+
</joint>
|
|
56
|
+
|
|
57
|
+
<link name="link_2">
|
|
58
|
+
<inertial>
|
|
59
|
+
<origin xyz="0.0001 -0.0028 0.1317" rpy="0 0 0" />
|
|
60
|
+
<mass value="1.3123" />
|
|
61
|
+
<inertia ixx="0.018" iyy="0.0177" izz="0.0007" ixy="0" ixz="0" iyz="0.0007" />
|
|
62
|
+
</inertial>
|
|
63
|
+
<visual>
|
|
64
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
65
|
+
<geometry>
|
|
66
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_2.STL" />
|
|
67
|
+
</geometry>
|
|
68
|
+
<material name="">
|
|
69
|
+
<color rgba="1 1 1 1" />
|
|
70
|
+
</material>
|
|
71
|
+
</visual>
|
|
72
|
+
<collision>
|
|
73
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
74
|
+
<geometry>
|
|
75
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_2.STL" />
|
|
76
|
+
</geometry>
|
|
77
|
+
</collision>
|
|
78
|
+
</link>
|
|
79
|
+
<joint name="joint_2" type="revolute">
|
|
80
|
+
<origin xyz="0.0199999999999999 0 0.0450000000000004" rpy="0 0 0" />
|
|
81
|
+
<parent link="link_1" />
|
|
82
|
+
<child link="link_2" />
|
|
83
|
+
<axis xyz="0 1 0" />
|
|
84
|
+
<limit lower="-1.57" upper="2.09" effort="6" velocity="6" />
|
|
85
|
+
</joint>
|
|
86
|
+
|
|
87
|
+
<link name="link_3">
|
|
88
|
+
<inertial>
|
|
89
|
+
<origin xyz="-0.051 0.0008 0.1447" rpy="0 0 0" />
|
|
90
|
+
<mass value="1.1083" />
|
|
91
|
+
<inertia ixx="0.0114" iyy="0.0112" izz="0.0016" ixy="-0.0001" ixz="0.0014" iyz="0.0006" />
|
|
92
|
+
</inertial>
|
|
93
|
+
<visual>
|
|
94
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
95
|
+
<geometry>
|
|
96
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_3.STL" />
|
|
97
|
+
</geometry>
|
|
98
|
+
<material name="">
|
|
99
|
+
<color rgba="1 1 1 1" />
|
|
100
|
+
</material>
|
|
101
|
+
</visual>
|
|
102
|
+
<collision>
|
|
103
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
104
|
+
<geometry>
|
|
105
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_3.STL" />
|
|
106
|
+
</geometry>
|
|
107
|
+
</collision>
|
|
108
|
+
</link>
|
|
109
|
+
<joint name="joint_3" type="revolute">
|
|
110
|
+
<origin xyz="0 0 0.264" rpy="0 0 0" />
|
|
111
|
+
<parent link="link_2" />
|
|
112
|
+
<child link="link_3" />
|
|
113
|
+
<axis xyz="0 1 0" />
|
|
114
|
+
<limit lower="0" upper="3.14" effort="6" velocity="6" />
|
|
115
|
+
</joint>
|
|
116
|
+
|
|
117
|
+
<link name="link_4">
|
|
118
|
+
<inertial>
|
|
119
|
+
<origin xyz="-0.0597 -0.001 0.0572" rpy="0 0 0" />
|
|
120
|
+
<mass value="0.5398" />
|
|
121
|
+
<inertia ixx="0.0008" iyy="0.001" izz="0.0008" ixy="0" ixz="0.0003" iyz="0" />
|
|
122
|
+
</inertial>
|
|
123
|
+
<visual>
|
|
124
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
125
|
+
<geometry>
|
|
126
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_4.STL" />
|
|
127
|
+
</geometry>
|
|
128
|
+
<material name="">
|
|
129
|
+
<color rgba="1 1 1 1" />
|
|
130
|
+
</material>
|
|
131
|
+
</visual>
|
|
132
|
+
<collision>
|
|
133
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
134
|
+
<geometry>
|
|
135
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_4.STL" />
|
|
136
|
+
</geometry>
|
|
137
|
+
</collision>
|
|
138
|
+
</link>
|
|
139
|
+
<joint name="joint_4" type="revolute">
|
|
140
|
+
<origin xyz="-0.0599999999999998 0 0.245" rpy="0 0 0" />
|
|
141
|
+
<parent link="link_3" />
|
|
142
|
+
<child link="link_4" />
|
|
143
|
+
<axis xyz="0 1 0" />
|
|
144
|
+
<limit lower="-1.57" upper="1.57" effort="6" velocity="6" />
|
|
145
|
+
</joint>
|
|
146
|
+
|
|
147
|
+
<link name="link_5">
|
|
148
|
+
<inertial>
|
|
149
|
+
<origin xyz="0.0292 0.0001 -0.0107" rpy="0 0 0" />
|
|
150
|
+
<mass value="0.3984" />
|
|
151
|
+
<inertia ixx="0.0002" iyy="0.0003" izz="0.0002" ixy="0" ixz="0" iyz="0" />
|
|
152
|
+
</inertial>
|
|
153
|
+
<visual>
|
|
154
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
155
|
+
<geometry>
|
|
156
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_5.STL" />
|
|
157
|
+
</geometry>
|
|
158
|
+
<material name="">
|
|
159
|
+
<color rgba="1 1 1 1" />
|
|
160
|
+
</material>
|
|
161
|
+
</visual>
|
|
162
|
+
<collision>
|
|
163
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
164
|
+
<geometry>
|
|
165
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_5.STL" />
|
|
166
|
+
</geometry>
|
|
167
|
+
</collision>
|
|
168
|
+
</link>
|
|
169
|
+
<joint name="joint_5" type="revolute">
|
|
170
|
+
<origin xyz="-0.0553005693392305 0 0.0702500000000025" rpy="0 0 0" />
|
|
171
|
+
<parent link="link_4" />
|
|
172
|
+
<child link="link_5" />
|
|
173
|
+
<axis xyz="-1 0 0" />
|
|
174
|
+
<limit lower="-1.57" upper="1.57" effort="6" velocity="6" />
|
|
175
|
+
</joint>
|
|
176
|
+
|
|
177
|
+
<link name="link_6">
|
|
178
|
+
<inertial>
|
|
179
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
180
|
+
<mass value="0.001" />
|
|
181
|
+
<inertia ixx="0.0001" ixy="0" ixz="0" iyy="0.0001" iyz="0" izz="0.0001" />
|
|
182
|
+
</inertial>
|
|
183
|
+
<visual>
|
|
184
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
185
|
+
<geometry>
|
|
186
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_6.STL" />
|
|
187
|
+
</geometry>
|
|
188
|
+
<material name="">
|
|
189
|
+
<color rgba="1 1 1 1" />
|
|
190
|
+
</material>
|
|
191
|
+
</visual>
|
|
192
|
+
<collision>
|
|
193
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
194
|
+
<geometry>
|
|
195
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_6.STL" />
|
|
196
|
+
</geometry>
|
|
197
|
+
</collision>
|
|
198
|
+
</link>
|
|
199
|
+
<joint name="joint_6" type="revolute">
|
|
200
|
+
<origin xyz="0.0578000000000073 0 0.0289500000000001" rpy="0 0 0" />
|
|
201
|
+
<parent link="link_5" />
|
|
202
|
+
<child link="link_6" />
|
|
203
|
+
<axis xyz="0 0 1" />
|
|
204
|
+
<limit lower="-2.96" upper="2.96" effort="6" velocity="6" />
|
|
205
|
+
</joint>
|
|
206
|
+
|
|
207
|
+
</robot>
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<robot name="archer_d6y">
|
|
3
|
+
|
|
4
|
+
<link name="base_link">
|
|
5
|
+
<inertial>
|
|
6
|
+
<origin xyz="-0.001 0 0.322" rpy="0 0 0" />
|
|
7
|
+
<mass value="0.687" />
|
|
8
|
+
<inertia ixx="0.0005" iyy="0.0005" izz="0.0007" ixy="0" ixz="0" iyz="0" />
|
|
9
|
+
</inertial>
|
|
10
|
+
<visual>
|
|
11
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
12
|
+
<geometry>
|
|
13
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/base_link.STL" />
|
|
14
|
+
</geometry>
|
|
15
|
+
<material name="">
|
|
16
|
+
<color rgba="1 1 1 1" />
|
|
17
|
+
</material>
|
|
18
|
+
</visual>
|
|
19
|
+
<collision>
|
|
20
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
21
|
+
<geometry>
|
|
22
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/base_link.STL" />
|
|
23
|
+
</geometry>
|
|
24
|
+
</collision>
|
|
25
|
+
</link>
|
|
26
|
+
|
|
27
|
+
<link name="link_1">
|
|
28
|
+
<inertial>
|
|
29
|
+
<origin xyz="0.008 -0.0023 0.0213" rpy="0 0 0" />
|
|
30
|
+
<mass value="0.2154" />
|
|
31
|
+
<inertia ixx="0.0003" iyy="0.0002" izz="0.0003" ixy="0" ixz="0" iyz="0"/>
|
|
32
|
+
</inertial>
|
|
33
|
+
<visual>
|
|
34
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
35
|
+
<geometry>
|
|
36
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_1.STL" />
|
|
37
|
+
</geometry>
|
|
38
|
+
<material name="">
|
|
39
|
+
<color rgba="1 1 1 1" />
|
|
40
|
+
</material>
|
|
41
|
+
</visual>
|
|
42
|
+
<collision>
|
|
43
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
44
|
+
<geometry>
|
|
45
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_1.STL" />
|
|
46
|
+
</geometry>
|
|
47
|
+
</collision>
|
|
48
|
+
</link>
|
|
49
|
+
<joint name="joint_1" type="revolute">
|
|
50
|
+
<origin xyz="0 0 0.0665" rpy="0 0 0" />
|
|
51
|
+
<parent link="base_link" />
|
|
52
|
+
<child link="link_1" />
|
|
53
|
+
<axis xyz="0 0 1" />
|
|
54
|
+
<limit lower="-2.61" upper="3.14" effort="6" velocity="6" />
|
|
55
|
+
</joint>
|
|
56
|
+
|
|
57
|
+
<link name="link_2">
|
|
58
|
+
<inertial>
|
|
59
|
+
<origin xyz="0.0001 -0.0028 0.1317" rpy="0 0 0" />
|
|
60
|
+
<mass value="1.3123" />
|
|
61
|
+
<inertia ixx="0.018" iyy="0.0177" izz="0.0007" ixy="0" ixz="0" iyz="0.0007" />
|
|
62
|
+
</inertial>
|
|
63
|
+
<visual>
|
|
64
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
65
|
+
<geometry>
|
|
66
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_2.STL" />
|
|
67
|
+
</geometry>
|
|
68
|
+
<material name="">
|
|
69
|
+
<color rgba="1 1 1 1" />
|
|
70
|
+
</material>
|
|
71
|
+
</visual>
|
|
72
|
+
<collision>
|
|
73
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
74
|
+
<geometry>
|
|
75
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_2.STL" />
|
|
76
|
+
</geometry>
|
|
77
|
+
</collision>
|
|
78
|
+
</link>
|
|
79
|
+
<joint name="joint_2" type="revolute">
|
|
80
|
+
<origin xyz="0.0199999999999999 0 0.0450000000000004" rpy="0 0 0" />
|
|
81
|
+
<parent link="link_1" />
|
|
82
|
+
<child link="link_2" />
|
|
83
|
+
<axis xyz="0 1 0" />
|
|
84
|
+
<limit lower="-1.57" upper="2.09" effort="6" velocity="6" />
|
|
85
|
+
</joint>
|
|
86
|
+
|
|
87
|
+
<link name="link_3">
|
|
88
|
+
<inertial>
|
|
89
|
+
<origin xyz="-0.051 0.0008 0.1447" rpy="0 0 0" />
|
|
90
|
+
<mass value="1.1083" />
|
|
91
|
+
<inertia ixx="0.0114" iyy="0.0112" izz="0.0016" ixy="-0.0001" ixz="0.0014" iyz="0.0006" />
|
|
92
|
+
</inertial>
|
|
93
|
+
<visual>
|
|
94
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
95
|
+
<geometry>
|
|
96
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_3.STL" />
|
|
97
|
+
</geometry>
|
|
98
|
+
<material name="">
|
|
99
|
+
<color rgba="1 1 1 1" />
|
|
100
|
+
</material>
|
|
101
|
+
</visual>
|
|
102
|
+
<collision>
|
|
103
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
104
|
+
<geometry>
|
|
105
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_3.STL" />
|
|
106
|
+
</geometry>
|
|
107
|
+
</collision>
|
|
108
|
+
</link>
|
|
109
|
+
<joint name="joint_3" type="revolute">
|
|
110
|
+
<origin xyz="0 0 0.264" rpy="0 0 0" />
|
|
111
|
+
<parent link="link_2" />
|
|
112
|
+
<child link="link_3" />
|
|
113
|
+
<axis xyz="0 1 0" />
|
|
114
|
+
<limit lower="0" upper="3.14" effort="6" velocity="6" />
|
|
115
|
+
</joint>
|
|
116
|
+
|
|
117
|
+
<link name="link_4">
|
|
118
|
+
<inertial>
|
|
119
|
+
<origin xyz="-0.0597 -0.001 0.0572" rpy="0 0 0" />
|
|
120
|
+
<mass value="0.5398" />
|
|
121
|
+
<inertia ixx="0.0008" iyy="0.001" izz="0.0008" ixy="0" ixz="0.0003" iyz="0" />
|
|
122
|
+
</inertial>
|
|
123
|
+
<visual>
|
|
124
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
125
|
+
<geometry>
|
|
126
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_4.STL" />
|
|
127
|
+
</geometry>
|
|
128
|
+
<material name="">
|
|
129
|
+
<color rgba="1 1 1 1" />
|
|
130
|
+
</material>
|
|
131
|
+
</visual>
|
|
132
|
+
<collision>
|
|
133
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
134
|
+
<geometry>
|
|
135
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_4.STL" />
|
|
136
|
+
</geometry>
|
|
137
|
+
</collision>
|
|
138
|
+
</link>
|
|
139
|
+
<joint name="joint_4" type="revolute">
|
|
140
|
+
<origin xyz="-0.0599999999999998 0 0.245" rpy="0 0 0" />
|
|
141
|
+
<parent link="link_3" />
|
|
142
|
+
<child link="link_4" />
|
|
143
|
+
<axis xyz="0 1 0" />
|
|
144
|
+
<limit lower="-1.57" upper="1.57" effort="6" velocity="6" />
|
|
145
|
+
</joint>
|
|
146
|
+
|
|
147
|
+
<link name="link_5">
|
|
148
|
+
<inertial>
|
|
149
|
+
<origin xyz="0.0292 0.0001 -0.0107" rpy="0 0 0" />
|
|
150
|
+
<mass value="0.3984" />
|
|
151
|
+
<inertia ixx="0.0002" iyy="0.0003" izz="0.0002" ixy="0" ixz="0" iyz="0" />
|
|
152
|
+
</inertial>
|
|
153
|
+
<visual>
|
|
154
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
155
|
+
<geometry>
|
|
156
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_5.STL" />
|
|
157
|
+
</geometry>
|
|
158
|
+
<material name="">
|
|
159
|
+
<color rgba="1 1 1 1" />
|
|
160
|
+
</material>
|
|
161
|
+
</visual>
|
|
162
|
+
<collision>
|
|
163
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
164
|
+
<geometry>
|
|
165
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_5.STL" />
|
|
166
|
+
</geometry>
|
|
167
|
+
</collision>
|
|
168
|
+
</link>
|
|
169
|
+
<joint name="joint_5" type="revolute">
|
|
170
|
+
<origin xyz="-0.0553005693392305 0 0.0702500000000025" rpy="0 0 0" />
|
|
171
|
+
<parent link="link_4" />
|
|
172
|
+
<child link="link_5" />
|
|
173
|
+
<axis xyz="-1 0 0" />
|
|
174
|
+
<limit lower="-1.57" upper="1.57" effort="6" velocity="6" />
|
|
175
|
+
</joint>
|
|
176
|
+
|
|
177
|
+
<link name="link_6">
|
|
178
|
+
<inertial>
|
|
179
|
+
<origin xyz="-0.0009 0.0001 0.0596" rpy="0 0 0" />
|
|
180
|
+
<mass value="0.6760" />
|
|
181
|
+
<inertia ixx="0.0011" ixy="0" ixz="0" iyy="0.0011" iyz="0" izz="0.0004" />
|
|
182
|
+
</inertial>
|
|
183
|
+
<visual>
|
|
184
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
185
|
+
<geometry>
|
|
186
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_6.STL" />
|
|
187
|
+
</geometry>
|
|
188
|
+
<material name="">
|
|
189
|
+
<color rgba="1 1 1 1" />
|
|
190
|
+
</material>
|
|
191
|
+
</visual>
|
|
192
|
+
<collision>
|
|
193
|
+
<origin xyz="0 0 0" rpy="0 0 0" />
|
|
194
|
+
<geometry>
|
|
195
|
+
<mesh filename="package://xpkg_urdf_archer_d6y/meshes/link_6.STL" />
|
|
196
|
+
</geometry>
|
|
197
|
+
</collision>
|
|
198
|
+
</link>
|
|
199
|
+
<joint name="joint_6" type="revolute">
|
|
200
|
+
<origin xyz="0.0578000000000073 0 0.0289500000000001" rpy="0 0 0" />
|
|
201
|
+
<parent link="link_5" />
|
|
202
|
+
<child link="link_6" />
|
|
203
|
+
<axis xyz="0 0 1" />
|
|
204
|
+
<limit lower="-2.96" upper="2.96" effort="6" velocity="6" />
|
|
205
|
+
</joint>
|
|
206
|
+
|
|
207
|
+
</robot>
|