hex-zmq-servers 0.2.0__tar.gz → 0.2.2__tar.gz
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-0.2.0 → hex_zmq_servers-0.2.2}/MANIFEST.in +1 -0
- hex_zmq_servers-0.2.2/PKG-INFO +117 -0
- hex_zmq_servers-0.2.2/README.md +82 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/__init__.py +19 -7
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/__init__.py +13 -6
- hex_zmq_servers-0.2.2/hex_zmq_servers/config/mujoco_archer_d6y.json +34 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/config/mujoco_e3_desktop.json +34 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/assets.xml +17 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_base_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_helper_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_link_1.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_link_2.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_helper_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_link_1.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_link_2.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/robot.xml +89 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/scene.xml +5 -5
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/setting.xml +37 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/mujoco_archer_d6y.py +44 -10
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/assets.xml +18 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_base_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_helper_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_link_1.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_left_link_2.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_helper_link.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_link_1.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/assets/gripper_right_link_2.STL +0 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/robot.xml +176 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/scene.xml +6 -6
- hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/e3_desktop/model/setting.xml +72 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/mujoco_e3_desktop.py +62 -19
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/mujoco_e3_desktop_cli.py +1 -1
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/mujoco_base.py +34 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/__init__.py +4 -1
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/__init__.py +47 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/hexarm/robot_hexarm.py +5 -3
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/hexarm/robot_hexarm_cli.py +1 -1
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/hexarm/robot_hexarm_srv.py +1 -1
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_d6y/empty.urdf +207 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100.urdf +207 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_handle.urdf +207 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_p050.urdf +207 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_d6y/gp100_p050_handle.urdf +207 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_l6y/empty.urdf +206 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100.urdf +206 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_handle.urdf +206 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_p050.urdf +206 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers/robot/hexarm/urdf/archer_l6y/gp100_p050_handle.urdf +206 -0
- hex_zmq_servers-0.2.2/hex_zmq_servers.egg-info/PKG-INFO +117 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers.egg-info/SOURCES.txt +25 -20
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers.egg-info/requires.txt +8 -2
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/pyproject.toml +7 -6
- hex_zmq_servers-0.2.0/PKG-INFO +0 -37
- hex_zmq_servers-0.2.0/README.md +0 -3
- hex_zmq_servers-0.2.0/hex_zmq_servers/config/mujoco_archer_d6y.json +0 -15
- hex_zmq_servers-0.2.0/hex_zmq_servers/config/mujoco_e3_desktop.json +0 -15
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/assets.xml +0 -19
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_base_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow1_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow2_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow3_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_narrow_loop_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide1_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide2_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide3_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/assets/picker_wide_loop_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/robot.xml +0 -102
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/archer_d6y/model/setting.xml +0 -37
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/assets.xml +0 -20
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/link_camera.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_base_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow1_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow2_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow3_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_narrow_loop_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide1_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide2_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide3_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/assets/picker_wide_loop_link.STL +0 -0
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/robot.xml +0 -202
- hex_zmq_servers-0.2.0/hex_zmq_servers/mujoco/e3_desktop/model/setting.xml +0 -72
- hex_zmq_servers-0.2.0/hex_zmq_servers/robot/hexarm/__init__.py +0 -17
- hex_zmq_servers-0.2.0/hex_zmq_servers.egg-info/PKG-INFO +0 -37
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/LICENSE +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/berxel/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/berxel/cam_berxel.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/berxel/cam_berxel_cli.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/berxel/cam_berxel_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/cam_base.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/dummy/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/dummy/cam_dummy.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/dummy/cam_dummy_cli.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/cam/dummy/cam_dummy_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/cam_berxel.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/cam_dummy.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/robot_dummy.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/robot_gello.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/robot_hexarm.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/config/zmq_dummy.json +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/device_base.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/hex_launch.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_base_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_link_1.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_link_2.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_link_3.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_link_4.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/arm_link_5.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/camera_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/assets/table_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/mujoco_archer_d6y_cli.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/mujoco_archer_d6y_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_base_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_link_1.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_link_2.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_link_3.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_link_4.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/arm_link_5.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/camera_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/e3_desktop_base_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/model/assets/table_link.STL +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/e3_desktop/mujoco_e3_desktop_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/dummy/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/dummy/robot_dummy.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/dummy/robot_dummy_cli.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/dummy/robot_dummy_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/gello/__init__.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/gello/robot_gello.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/gello/robot_gello_cli.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/gello/robot_gello_srv.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/robot/robot_base.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/zmq_base.py +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers.egg-info/dependency_links.txt +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers.egg-info/top_level.txt +0 -0
- {hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/setup.cfg +0 -0
|
@@ -5,6 +5,7 @@ include requirements.txt
|
|
|
5
5
|
recursive-include package_name *
|
|
6
6
|
recursive-include hex_zmq_servers/mujoco/archer_d6y/model * *
|
|
7
7
|
recursive-include hex_zmq_servers/mujoco/e3_desktop/model * *
|
|
8
|
+
recursive-include hex_zmq_servers/robot/hexarm/urdf * *
|
|
8
9
|
recursive-include hex_zmq_servers/config *
|
|
9
10
|
|
|
10
11
|
recursive-exclude * *.pyc
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: hex_zmq_servers
|
|
3
|
+
Version: 0.2.2
|
|
4
|
+
Summary: HEXFELLOW ZMQ Servers
|
|
5
|
+
Author-email: Dong Zhaorui <joray.dong@hexfellow.com>
|
|
6
|
+
Maintainer-email: jecjune <zejun.chen@hexfellow.com>, Dong Zhaorui <joray.dong@hexfellow.com>
|
|
7
|
+
License-Expression: Apache-2.0
|
|
8
|
+
Project-URL: Homepage, https://github.com/hexfellow/hex_zmq_servers
|
|
9
|
+
Project-URL: Repository, https://github.com/hexfellow/hex_zmq_servers.git
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/hexfellow/hex_zmq_servers/issues
|
|
11
|
+
Project-URL: Documentation, https://github.com/hexfellow/hex_zmq_servers/wiki
|
|
12
|
+
Keywords: hex_zmq_servers
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
License-File: LICENSE
|
|
24
|
+
Requires-Dist: pyzmq>=27.0.1
|
|
25
|
+
Requires-Dist: opencv-python>=4.2
|
|
26
|
+
Requires-Dist: mujoco>=3.3.3
|
|
27
|
+
Requires-Dist: hex_device>=1.2.1
|
|
28
|
+
Requires-Dist: hex_robo_utils>=0.1.17
|
|
29
|
+
Requires-Dist: dynamixel-sdk==3.8.4
|
|
30
|
+
Provides-Extra: berxel
|
|
31
|
+
Requires-Dist: berxel_py_wrapper>=2.0; extra == "berxel"
|
|
32
|
+
Provides-Extra: all
|
|
33
|
+
Requires-Dist: berxel_py_wrapper>=2.0; extra == "all"
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
|
|
36
|
+
# hex_zmq_servers
|
|
37
|
+
|
|
38
|
+
## Introduction
|
|
39
|
+
|
|
40
|
+
**`hex_zmq_servers`** is a comprehensive distributed device control framework based on ZeroMQ, providing efficient client-server communication for HEXFELLOW devices.
|
|
41
|
+
|
|
42
|
+
## Project Structure
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
hex_zmq_servers/
|
|
46
|
+
├── hex_zmq_servers/ # Core library
|
|
47
|
+
│ ├── robot/ # Robot devices
|
|
48
|
+
│ ├── cam/ # Camera devices
|
|
49
|
+
│ ├── mujoco/ # Mujoco simulation devices
|
|
50
|
+
│ └── config/ # Default configuration files
|
|
51
|
+
├── examples/ # Example code
|
|
52
|
+
│ ├── basic/ # Basic examples (single device)
|
|
53
|
+
│ └── adv/ # Advanced examples (multi-device coordination)
|
|
54
|
+
└── venv.sh # Virtual environment script
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Devices
|
|
58
|
+
|
|
59
|
+
### Robot
|
|
60
|
+
|
|
61
|
+
- **dummy**: Dummy robot, for testing and development
|
|
62
|
+
- **gello**: GELLO robot, based on Dynamixel servo
|
|
63
|
+
- **hexarm**: HexArm robot of HEXFELLOW
|
|
64
|
+
|
|
65
|
+
### Camera
|
|
66
|
+
|
|
67
|
+
- **dummy**: Dummy camera, for testing and development
|
|
68
|
+
- **berxel**: Berxel depth camera, providing RGB and depth images
|
|
69
|
+
|
|
70
|
+
### Mujoco
|
|
71
|
+
|
|
72
|
+
- **archer_d6y**: Physical simulation of Archer D6Y robot
|
|
73
|
+
- **e3_desktop**: Physical simulation of E3 Desktop robot
|
|
74
|
+
|
|
75
|
+
## Installation
|
|
76
|
+
|
|
77
|
+
### Install from PyPI
|
|
78
|
+
|
|
79
|
+
For those who only want to use the library in their projects, it is recommended to install it from PyPI.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
pip install hex_zmq_servers
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Install from Source Code
|
|
86
|
+
|
|
87
|
+
For those who want to test the examples or contribute to the project, you can install it from source code.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
git clone https://github.com/hexfellow/hex_zmq_servers.git
|
|
91
|
+
cd hex_zmq_servers
|
|
92
|
+
./venv.sh --all
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Examples
|
|
96
|
+
|
|
97
|
+
There are two types of examples in the project:
|
|
98
|
+
|
|
99
|
+
- **basic/**: Basic examples, showing the usage of a single device
|
|
100
|
+
- **adv/**: Advanced examples, showing multi-device coordination
|
|
101
|
+
|
|
102
|
+
More details please refer to [examples/README.md](examples/README.md)
|
|
103
|
+
|
|
104
|
+
## Contributions
|
|
105
|
+
|
|
106
|
+
Welcome to submit issues and pull requests!
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
Apache License 2.0
|
|
111
|
+
|
|
112
|
+
## Contact
|
|
113
|
+
|
|
114
|
+
- Author: [Dong Zhaorui](https://github.com/IBNBlank)
|
|
115
|
+
- Maintainer: [jecjune](https://github.com/Jecjune)
|
|
116
|
+
- GitHub: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers)
|
|
117
|
+
- Issue Tracker: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers/issues)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# hex_zmq_servers
|
|
2
|
+
|
|
3
|
+
## Introduction
|
|
4
|
+
|
|
5
|
+
**`hex_zmq_servers`** is a comprehensive distributed device control framework based on ZeroMQ, providing efficient client-server communication for HEXFELLOW devices.
|
|
6
|
+
|
|
7
|
+
## Project Structure
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
hex_zmq_servers/
|
|
11
|
+
├── hex_zmq_servers/ # Core library
|
|
12
|
+
│ ├── robot/ # Robot devices
|
|
13
|
+
│ ├── cam/ # Camera devices
|
|
14
|
+
│ ├── mujoco/ # Mujoco simulation devices
|
|
15
|
+
│ └── config/ # Default configuration files
|
|
16
|
+
├── examples/ # Example code
|
|
17
|
+
│ ├── basic/ # Basic examples (single device)
|
|
18
|
+
│ └── adv/ # Advanced examples (multi-device coordination)
|
|
19
|
+
└── venv.sh # Virtual environment script
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Devices
|
|
23
|
+
|
|
24
|
+
### Robot
|
|
25
|
+
|
|
26
|
+
- **dummy**: Dummy robot, for testing and development
|
|
27
|
+
- **gello**: GELLO robot, based on Dynamixel servo
|
|
28
|
+
- **hexarm**: HexArm robot of HEXFELLOW
|
|
29
|
+
|
|
30
|
+
### Camera
|
|
31
|
+
|
|
32
|
+
- **dummy**: Dummy camera, for testing and development
|
|
33
|
+
- **berxel**: Berxel depth camera, providing RGB and depth images
|
|
34
|
+
|
|
35
|
+
### Mujoco
|
|
36
|
+
|
|
37
|
+
- **archer_d6y**: Physical simulation of Archer D6Y robot
|
|
38
|
+
- **e3_desktop**: Physical simulation of E3 Desktop robot
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
### Install from PyPI
|
|
43
|
+
|
|
44
|
+
For those who only want to use the library in their projects, it is recommended to install it from PyPI.
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install hex_zmq_servers
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Install from Source Code
|
|
51
|
+
|
|
52
|
+
For those who want to test the examples or contribute to the project, you can install it from source code.
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
git clone https://github.com/hexfellow/hex_zmq_servers.git
|
|
56
|
+
cd hex_zmq_servers
|
|
57
|
+
./venv.sh --all
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Examples
|
|
61
|
+
|
|
62
|
+
There are two types of examples in the project:
|
|
63
|
+
|
|
64
|
+
- **basic/**: Basic examples, showing the usage of a single device
|
|
65
|
+
- **adv/**: Advanced examples, showing multi-device coordination
|
|
66
|
+
|
|
67
|
+
More details please refer to [examples/README.md](examples/README.md)
|
|
68
|
+
|
|
69
|
+
## Contributions
|
|
70
|
+
|
|
71
|
+
Welcome to submit issues and pull requests!
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
Apache License 2.0
|
|
76
|
+
|
|
77
|
+
## Contact
|
|
78
|
+
|
|
79
|
+
- Author: [Dong Zhaorui](https://github.com/IBNBlank)
|
|
80
|
+
- Maintainer: [jecjune](https://github.com/Jecjune)
|
|
81
|
+
- GitHub: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers)
|
|
82
|
+
- Issue Tracker: [hex_zmq_servers](https://github.com/hexfellow/hex_zmq_servers/issues)
|
|
@@ -15,7 +15,6 @@ from .zmq_base import HexZMQDummyClient, HexZMQDummyServer
|
|
|
15
15
|
|
|
16
16
|
from .cam import HexCamBase, HexCamClientBase, HexCamServerBase
|
|
17
17
|
from .cam import HexCamDummy, HexCamDummyClient, HexCamDummyServer
|
|
18
|
-
from .cam import HexCamBerxel, HexCamBerxelClient, HexCamBerxelServer
|
|
19
18
|
|
|
20
19
|
from .mujoco import HexMujocoBase, HexMujocoClientBase, HexMujocoServerBase
|
|
21
20
|
from .mujoco import HexMujocoArcherD6y, HexMujocoArcherD6yClient, HexMujocoArcherD6yServer
|
|
@@ -24,7 +23,7 @@ from .mujoco import HexMujocoE3Desktop, HexMujocoE3DesktopClient, HexMujocoE3Des
|
|
|
24
23
|
from .robot import HexRobotBase, HexRobotClientBase, HexRobotServerBase
|
|
25
24
|
from .robot import HexRobotDummy, HexRobotDummyClient, HexRobotDummyServer
|
|
26
25
|
from .robot import HexRobotGello, HexRobotGelloClient, HexRobotGelloServer
|
|
27
|
-
from .robot import HexRobotHexarm, HexRobotHexarmClient, HexRobotHexarmServer
|
|
26
|
+
from .robot import HexRobotHexarm, HexRobotHexarmClient, HexRobotHexarmServer, HEXARM_URDF_PATH_DICT
|
|
28
27
|
|
|
29
28
|
import os
|
|
30
29
|
|
|
@@ -32,7 +31,6 @@ file_dir = os.path.dirname(os.path.abspath(__file__))
|
|
|
32
31
|
HEX_ZMQ_SERVERS_PATH_DICT = {
|
|
33
32
|
"zmq_dummy": f"{file_dir}/zmq_base.py",
|
|
34
33
|
"cam_dummy": f"{file_dir}/cam/dummy/cam_dummy_srv.py",
|
|
35
|
-
"cam_berxel": f"{file_dir}/cam/berxel/cam_berxel_srv.py",
|
|
36
34
|
"mujoco_archer_d6y":
|
|
37
35
|
f"{file_dir}/mujoco/archer_d6y/mujoco_archer_d6y_srv.py",
|
|
38
36
|
"mujoco_e3_desktop":
|
|
@@ -44,7 +42,6 @@ HEX_ZMQ_SERVERS_PATH_DICT = {
|
|
|
44
42
|
HEX_ZMQ_CONFIGS_PATH_DICT = {
|
|
45
43
|
"zmq_dummy": f"{file_dir}/config/zmq_dummy.json",
|
|
46
44
|
"cam_dummy": f"{file_dir}/config/cam_dummy.json",
|
|
47
|
-
"cam_berxel": f"{file_dir}/config/cam_berxel.json",
|
|
48
45
|
"mujoco_archer_d6y": f"{file_dir}/config/mujoco_archer_d6y.json",
|
|
49
46
|
"mujoco_e3_desktop": f"{file_dir}/config/mujoco_e3_desktop.json",
|
|
50
47
|
"robot_dummy": f"{file_dir}/config/robot_dummy.json",
|
|
@@ -59,6 +56,7 @@ __all__ = [
|
|
|
59
56
|
# path
|
|
60
57
|
"HEX_ZMQ_SERVERS_PATH_DICT",
|
|
61
58
|
"HEX_ZMQ_CONFIGS_PATH_DICT",
|
|
59
|
+
"HEXARM_URDF_PATH_DICT",
|
|
62
60
|
|
|
63
61
|
# launch
|
|
64
62
|
"HexLaunch",
|
|
@@ -85,9 +83,6 @@ __all__ = [
|
|
|
85
83
|
"HexCamDummy",
|
|
86
84
|
"HexCamDummyClient",
|
|
87
85
|
"HexCamDummyServer",
|
|
88
|
-
"HexCamBerxel",
|
|
89
|
-
"HexCamBerxelClient",
|
|
90
|
-
"HexCamBerxelServer",
|
|
91
86
|
|
|
92
87
|
# mujoco
|
|
93
88
|
"HexMujocoBase",
|
|
@@ -115,4 +110,21 @@ __all__ = [
|
|
|
115
110
|
"HexRobotHexarmServer",
|
|
116
111
|
]
|
|
117
112
|
|
|
113
|
+
# Optional: berxel
|
|
114
|
+
try:
|
|
115
|
+
from .cam import HexCamBerxel, HexCamBerxelClient, HexCamBerxelServer
|
|
116
|
+
HEX_ZMQ_SERVERS_PATH_DICT[
|
|
117
|
+
"cam_berxel"] = f"{file_dir}/cam/berxel/cam_berxel_srv.py"
|
|
118
|
+
HEX_ZMQ_CONFIGS_PATH_DICT[
|
|
119
|
+
"cam_berxel"] = f"{file_dir}/config/cam_berxel.json"
|
|
120
|
+
__all__.extend([
|
|
121
|
+
"HexCamBerxel",
|
|
122
|
+
"HexCamBerxelClient",
|
|
123
|
+
"HexCamBerxelServer",
|
|
124
|
+
])
|
|
125
|
+
except ImportError:
|
|
126
|
+
# berxel_py_wrapper not installed
|
|
127
|
+
# Install with: pip install hex_zmq_servers[berxel]
|
|
128
|
+
pass
|
|
129
|
+
|
|
118
130
|
# print("#### Thanks for using hex_zmq_servers :D ####")
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
|
|
9
9
|
from .cam_base import HexCamBase, HexCamClientBase, HexCamServerBase
|
|
10
10
|
from .dummy import HexCamDummy, HexCamDummyClient, HexCamDummyServer
|
|
11
|
-
from .berxel import HexCamBerxel, HexCamBerxelClient, HexCamBerxelServer
|
|
12
11
|
|
|
13
12
|
__all__ = [
|
|
14
13
|
# base
|
|
@@ -20,9 +19,17 @@ __all__ = [
|
|
|
20
19
|
"HexCamDummy",
|
|
21
20
|
"HexCamDummyClient",
|
|
22
21
|
"HexCamDummyServer",
|
|
23
|
-
|
|
24
|
-
# berxel
|
|
25
|
-
"HexCamBerxel",
|
|
26
|
-
"HexCamBerxelClient",
|
|
27
|
-
"HexCamBerxelServer",
|
|
28
22
|
]
|
|
23
|
+
|
|
24
|
+
# Optional: berxel (requires berxel_py_wrapper)
|
|
25
|
+
try:
|
|
26
|
+
from .berxel import HexCamBerxel, HexCamBerxelClient, HexCamBerxelServer
|
|
27
|
+
__all__.extend([
|
|
28
|
+
"HexCamBerxel",
|
|
29
|
+
"HexCamBerxelClient",
|
|
30
|
+
"HexCamBerxelServer",
|
|
31
|
+
])
|
|
32
|
+
except ImportError:
|
|
33
|
+
# berxel_py_wrapper not installed
|
|
34
|
+
# Install with: pip install hex_zmq_servers[berxel]
|
|
35
|
+
pass
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"net": {
|
|
3
|
+
"ip": "127.0.0.1",
|
|
4
|
+
"port": 12345,
|
|
5
|
+
"client_timeout_ms": 200,
|
|
6
|
+
"server_timeout_ms": 1000,
|
|
7
|
+
"server_num_workers": 4
|
|
8
|
+
},
|
|
9
|
+
"params": {
|
|
10
|
+
"states_rate": 250,
|
|
11
|
+
"img_rate": 30,
|
|
12
|
+
"tau_ctrl": false,
|
|
13
|
+
"mit_kp": [
|
|
14
|
+
200.0,
|
|
15
|
+
200.0,
|
|
16
|
+
200.0,
|
|
17
|
+
75.0,
|
|
18
|
+
15.0,
|
|
19
|
+
15.0,
|
|
20
|
+
20.0
|
|
21
|
+
],
|
|
22
|
+
"mit_kd": [
|
|
23
|
+
12.5,
|
|
24
|
+
12.5,
|
|
25
|
+
12.5,
|
|
26
|
+
6.0,
|
|
27
|
+
0.31,
|
|
28
|
+
0.31,
|
|
29
|
+
1.0
|
|
30
|
+
],
|
|
31
|
+
"headless": false,
|
|
32
|
+
"sens_ts": true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"net": {
|
|
3
|
+
"ip": "127.0.0.1",
|
|
4
|
+
"port": 12345,
|
|
5
|
+
"client_timeout_ms": 200,
|
|
6
|
+
"server_timeout_ms": 1000,
|
|
7
|
+
"server_num_workers": 4
|
|
8
|
+
},
|
|
9
|
+
"params": {
|
|
10
|
+
"states_rate": 250,
|
|
11
|
+
"img_rate": 30,
|
|
12
|
+
"tau_ctrl": false,
|
|
13
|
+
"mit_kp": [
|
|
14
|
+
200.0,
|
|
15
|
+
200.0,
|
|
16
|
+
200.0,
|
|
17
|
+
75.0,
|
|
18
|
+
15.0,
|
|
19
|
+
15.0,
|
|
20
|
+
20.0
|
|
21
|
+
],
|
|
22
|
+
"mit_kd": [
|
|
23
|
+
12.5,
|
|
24
|
+
12.5,
|
|
25
|
+
12.5,
|
|
26
|
+
6.0,
|
|
27
|
+
0.31,
|
|
28
|
+
0.31,
|
|
29
|
+
1.0
|
|
30
|
+
],
|
|
31
|
+
"headless": false,
|
|
32
|
+
"sens_ts": true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<mujocoinclude>
|
|
2
|
+
<mesh name="arm_base_link" file="arm_base_link.STL"/>
|
|
3
|
+
<mesh name="arm_link_1" file="arm_link_1.STL"/>
|
|
4
|
+
<mesh name="arm_link_2" file="arm_link_2.STL"/>
|
|
5
|
+
<mesh name="arm_link_3" file="arm_link_3.STL"/>
|
|
6
|
+
<mesh name="arm_link_4" file="arm_link_4.STL"/>
|
|
7
|
+
<mesh name="arm_link_5" file="arm_link_5.STL"/>
|
|
8
|
+
<mesh name="gripper_base_link" file="gripper_base_link.STL"/>
|
|
9
|
+
<mesh name="gripper_left_helper_link" file="gripper_left_helper_link.STL"/>
|
|
10
|
+
<mesh name="gripper_left_link_1" file="gripper_left_link_1.STL"/>
|
|
11
|
+
<mesh name="gripper_left_link_2" file="gripper_left_link_2.STL"/>
|
|
12
|
+
<mesh name="gripper_right_helper_link" file="gripper_right_helper_link.STL"/>
|
|
13
|
+
<mesh name="gripper_right_link_1" file="gripper_right_link_1.STL"/>
|
|
14
|
+
<mesh name="gripper_right_link_2" file="gripper_right_link_2.STL"/>
|
|
15
|
+
<mesh name="camera_link" file="camera_link.STL"/>
|
|
16
|
+
<mesh name="table_link" file="table_link.STL" scale="0.001 0.001 0.001"/>
|
|
17
|
+
</mujocoinclude>
|
|
Binary file
|
hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_left_helper_link.STL
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
hex_zmq_servers-0.2.2/hex_zmq_servers/mujoco/archer_d6y/model/assets/gripper_right_helper_link.STL
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<mujocoinclude>
|
|
2
|
+
<body name="base_link">
|
|
3
|
+
<inertial pos="-0.001 0.0318 0" quat="0.5 0.5 0.5 0.5" mass="0.687" diaginertia="0.0007 0.0006 0.0005"/>
|
|
4
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="arm_base_link"/>
|
|
5
|
+
|
|
6
|
+
# link 1
|
|
7
|
+
<body name="link_1" pos="0 0 0.0665">
|
|
8
|
+
<inertial pos="0.008 -0.0023 0.0213" quat="0.707107 0.707107 0 0" mass="0.2154" diaginertia="0.0003 0.0003 0.0002"/>
|
|
9
|
+
<joint name="joint_1" pos="0 0 0" axis="0 0 1" range="-2.7 2.7" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
10
|
+
<geom type="mesh" rgba="0.92549 0.92549 0.92549 1" mesh="arm_link_1"/>
|
|
11
|
+
|
|
12
|
+
# link 2
|
|
13
|
+
<body name="link_2" pos="0.02 0 0.045">
|
|
14
|
+
<inertial pos="0.0001 -0.0028 0.1317" quat="0.999789 0.0205404 0 0" mass="1.3123" diaginertia="0.018 0.0177288 0.000671225"/>
|
|
15
|
+
<joint name="joint_2" pos="0 0 0" axis="0 1 0" range="-1.57 2.09" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
16
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="arm_link_2"/>
|
|
17
|
+
|
|
18
|
+
# link 3
|
|
19
|
+
<body name="link_3" pos="0 0 0.264">
|
|
20
|
+
<inertial pos="-0.051 0.0008 0.1447" quat="0.996909 0.0323182 -0.0688403 -0.019747" mass="1.1083" diaginertia="0.0115968 0.0112369 0.00136632"/>
|
|
21
|
+
<joint name="joint_3" pos="0 0 0" axis="0 1 0" range="0 3.14" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
22
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="arm_link_3"/>
|
|
23
|
+
|
|
24
|
+
# link 4
|
|
25
|
+
<body name="link_4" pos="-0.06 0 0.245">
|
|
26
|
+
<inertial pos="-0.0597 -0.001 0.0572" quat="0 0.92388 0 0.382683" mass="0.5398" diaginertia="0.0011 0.001 0.0005"/>
|
|
27
|
+
<joint name="joint_4" pos="0 0 0" axis="0 1 0" range="-1.57 1.57" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
28
|
+
<geom type="mesh" rgba="0.792157 0.792157 0.792157 1" mesh="arm_link_4"/>
|
|
29
|
+
|
|
30
|
+
# link 5
|
|
31
|
+
<body name="link_5" pos="-0.0553006 0 0.07025">
|
|
32
|
+
<inertial pos="0.0292 0.0001 -0.0107" quat="0.707107 0 0 0.707107" mass="0.3984" diaginertia="0.0003 0.0002 0.0002"/>
|
|
33
|
+
<joint name="joint_5" pos="0 0 0" axis="-1 0 0" range="-1.57 1.57" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
34
|
+
<geom type="mesh" rgba="0.898039 0.917647 0.929412 1" mesh="arm_link_5"/>
|
|
35
|
+
|
|
36
|
+
# gripper base link
|
|
37
|
+
<body name="gripper_base_link" pos="0.0547 0 0.02895" quat="0.707107 0.0 -0.707107 0.0">
|
|
38
|
+
<inertial pos="0.0141517 0.0120671 0.037083" quat="0.332786 0.772745 0.486202 0.236063" mass="0.404149" diaginertia="0.00182378 0.00177437 0.000232349"/>
|
|
39
|
+
<joint name="joint_6" pos="0 0 0" axis="1 0 0" range="-1.57 1.57" limited="true" armature="0.1" damping="3.0" frictionloss="1.0"/>
|
|
40
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_base_link"/>
|
|
41
|
+
<geom pos="0.04 0 0.12" quat="0.6830127 0.6830127 0.1830127 -0.1830127" type="mesh" rgba="0.1 0.1 0.1 1" mesh="camera_link" />
|
|
42
|
+
<camera name="end_camera" pos="0.066 0 0.105" quat="0.8660254 0.0 -0.5 0.0" fovy="50"/>
|
|
43
|
+
|
|
44
|
+
# gripper helper
|
|
45
|
+
<body name="gripper_left_helper_link" pos="0.057667 0.030604 2.5e-05">
|
|
46
|
+
<inertial pos="0.00299357 0.0232625 -5e-05" quat="0.996724 0 0 0.0808839" mass="0.00594562" diaginertia="2.74798e-06 1.47567e-06 1.34732e-06"/>
|
|
47
|
+
<joint name="gripper_left_help_joint" pos="0 0 0" axis="0 0 -1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
48
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_left_helper_link"/>
|
|
49
|
+
</body>
|
|
50
|
+
<body name="gripper_right_helper_link" pos="0.057667 -0.030604 2.5e-05">
|
|
51
|
+
<inertial pos="0.00299357 -0.0232625 -5e-05" quat="0.996724 0 0 -0.0808839" mass="0.00594562" diaginertia="2.74798e-06 1.47567e-06 1.34732e-06"/>
|
|
52
|
+
<joint name="gripper_right_help_joint" pos="0 0 0" axis="0 0 1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
53
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_right_helper_link"/>
|
|
54
|
+
</body>
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
# left gripper
|
|
58
|
+
<body name="gripper_left_link_1" pos="0.0721 0.014 2.5e-05">
|
|
59
|
+
<inertial pos="0.00299357 0.0232625 -5e-05" quat="0.996724 0 0 0.0808839" mass="0.00594562" diaginertia="2.74798e-06 1.47567e-06 1.34732e-06"/>
|
|
60
|
+
<joint name="gripper_left_joint_1" pos="0 0 0" axis="0 0 -1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
61
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_left_link_1"/>
|
|
62
|
+
|
|
63
|
+
<body name="gripper_left_link_2" pos="0.0085108 0.04927 0">
|
|
64
|
+
<inertial pos="0.0255016 0.00914642 -0.00175617" quat="0.424541 0.412629 0.571518 0.568216" mass="0.0339319" diaginertia="1.36949e-05 1.35554e-05 3.4264e-06"/>
|
|
65
|
+
<joint name="gripper_left_joint_2" pos="0 0 0" axis="0 0 1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
66
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_left_link_2"/>
|
|
67
|
+
</body>
|
|
68
|
+
</body>
|
|
69
|
+
|
|
70
|
+
# right gripper
|
|
71
|
+
<body name="gripper_right_link_1" pos="0.0721 -0.014 2.5e-05">
|
|
72
|
+
<inertial pos="0.00299357 -0.0232625 -5e-05" quat="0.996724 0 0 -0.0808839" mass="0.00594562" diaginertia="2.74798e-06 1.47567e-06 1.34732e-06"/>
|
|
73
|
+
<joint name="gripper_right_joint_1" pos="0 0 0" axis="0 0 1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
74
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_right_link_1"/>
|
|
75
|
+
|
|
76
|
+
<body name="gripper_right_link_2" pos="0.0085108 -0.04927 0">
|
|
77
|
+
<inertial pos="0.0255016 -0.00914642 -0.00175616" quat="0.568212 0.571522 0.412623 0.424547" mass="0.0339319" diaginertia="1.36948e-05 1.35553e-05 3.4264e-06"/>
|
|
78
|
+
<joint name="gripper_right_joint_2" pos="0 0 0" axis="0 0 -1" range="0 1.52" limited="true" armature="0.01" damping="1.0" frictionloss="0.1" />
|
|
79
|
+
<geom type="mesh" rgba="1 1 1 1" mesh="gripper_right_link_2"/>
|
|
80
|
+
</body>
|
|
81
|
+
</body>
|
|
82
|
+
</body>
|
|
83
|
+
</body>
|
|
84
|
+
</body>
|
|
85
|
+
</body>
|
|
86
|
+
</body>
|
|
87
|
+
</body>
|
|
88
|
+
</body>
|
|
89
|
+
</mujocoinclude>
|
{hex_zmq_servers-0.2.0 → hex_zmq_servers-0.2.2}/hex_zmq_servers/mujoco/archer_d6y/model/scene.xml
RENAMED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<headlight diffuse="0.6 0.6 0.6" ambient="0.1 0.1 0.1" specular="0 0 0"/>
|
|
10
10
|
<rgba haze="0.15 0.25 0.35 1"/>
|
|
11
11
|
<global azimuth="120" elevation="-20"/>
|
|
12
|
-
<map znear="0.
|
|
12
|
+
<map znear="0.001" zfar="50"/>
|
|
13
13
|
</visual>
|
|
14
14
|
|
|
15
15
|
<asset>
|
|
@@ -41,11 +41,11 @@
|
|
|
41
41
|
<include file="setting.xml"/>
|
|
42
42
|
|
|
43
43
|
<keyframe>
|
|
44
|
-
# qpos:
|
|
45
|
-
# ctrl:
|
|
44
|
+
# qpos: 12 + 7
|
|
45
|
+
# ctrl: 7
|
|
46
46
|
<key name="home" qpos="
|
|
47
|
-
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
47
|
+
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
48
48
|
0.5 0.0 0.5 1.0 0.0 0.0 0.0" ctrl="
|
|
49
|
-
0.0 0.0 0.0 0.0 0.0 0.0 0.0
|
|
49
|
+
0.0 0.0 0.0 0.0 0.0 0.0 0.0"/>
|
|
50
50
|
</keyframe>
|
|
51
51
|
</mujoco>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<mujocoinclude>
|
|
2
|
+
<contact>
|
|
3
|
+
<exclude body1="base_link" body2="link_1" />
|
|
4
|
+
<exclude body1="link_1" body2="link_2" />
|
|
5
|
+
<exclude body1="link_2" body2="link_3" />
|
|
6
|
+
<exclude body1="link_3" body2="link_4" />
|
|
7
|
+
<exclude body1="link_4" body2="link_5" />
|
|
8
|
+
<exclude body1="link_5" body2="gripper_base_link" />
|
|
9
|
+
<exclude body1="gripper_base_link" body2="gripper_left_helper_link" />
|
|
10
|
+
<exclude body1="gripper_left_helper_link" body2="gripper_left_link_1" />
|
|
11
|
+
<exclude body1="gripper_left_helper_link" body2="gripper_left_link_2" />
|
|
12
|
+
<exclude body1="gripper_left_link_1" body2="gripper_left_link_2" />
|
|
13
|
+
<exclude body1="gripper_base_link" body2="gripper_right_helper_link" />
|
|
14
|
+
<exclude body1="gripper_right_helper_link" body2="gripper_right_link_1" />
|
|
15
|
+
<exclude body1="gripper_right_helper_link" body2="gripper_right_link_2" />
|
|
16
|
+
<exclude body1="gripper_right_link_1" body2="gripper_right_link_2" />
|
|
17
|
+
</contact>
|
|
18
|
+
|
|
19
|
+
<equality>
|
|
20
|
+
<joint joint1="gripper_left_joint_1" joint2="gripper_left_joint_2" />
|
|
21
|
+
<joint joint1="gripper_left_joint_1" joint2="gripper_left_help_joint" />
|
|
22
|
+
<joint joint1="gripper_left_joint_1" joint2="gripper_right_joint_1" />
|
|
23
|
+
<joint joint1="gripper_left_joint_1" joint2="gripper_right_joint_2" />
|
|
24
|
+
<joint joint1="gripper_left_joint_1" joint2="gripper_right_help_joint" />
|
|
25
|
+
</equality>
|
|
26
|
+
|
|
27
|
+
<actuator>
|
|
28
|
+
<motor joint="joint_1" ctrlrange="-28 28" forcerange="-28 28"/>
|
|
29
|
+
<motor joint="joint_2" ctrlrange="-28 28" forcerange="-28 28"/>
|
|
30
|
+
<motor joint="joint_3" ctrlrange="-28 28" forcerange="-28 28"/>
|
|
31
|
+
<motor joint="joint_4" ctrlrange="-10 10" forcerange="-10 10"/>
|
|
32
|
+
<motor joint="joint_5" ctrlrange="-10 10" forcerange="-10 10"/>
|
|
33
|
+
<motor joint="joint_6" ctrlrange="-10 10" forcerange="-10 10"/>
|
|
34
|
+
<motor joint="gripper_left_joint_1" ctrlrange="-10 10" forcerange="-10 10"/>
|
|
35
|
+
</actuator>
|
|
36
|
+
|
|
37
|
+
</mujocoinclude>
|