carm 0.0.20250812__tar.gz → 0.0.20250822__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.
- carm-0.0.20250822/PKG-INFO +10 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm/carm.py +18 -1
- carm-0.0.20250812/scripts/carm → carm-0.0.20250822/carm/carm_dds.py +7 -5
- carm-0.0.20250812/scripts/carm_ros2 → carm-0.0.20250822/carm/carm_ros2.py +7 -5
- carm-0.0.20250822/carm.egg-info/PKG-INFO +10 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm.egg-info/SOURCES.txt +5 -5
- carm-0.0.20250822/carm.egg-info/entry_points.txt +3 -0
- carm-0.0.20250822/pyproject.toml +32 -0
- carm-0.0.20250812/PKG-INFO +0 -9
- carm-0.0.20250812/carm.egg-info/PKG-INFO +0 -9
- carm-0.0.20250812/carm.egg-info/zip-safe +0 -1
- carm-0.0.20250812/setup.py +0 -21
- {carm-0.0.20250812 → carm-0.0.20250822}/README.md +0 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm/__init__.py +0 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm.egg-info/dependency_links.txt +0 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm.egg-info/requires.txt +0 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/carm.egg-info/top_level.txt +0 -0
- {carm-0.0.20250812 → carm-0.0.20250822}/setup.cfg +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: carm
|
|
3
|
+
Version: 0.0.20250822
|
|
4
|
+
Summary: Python interface for cvte arm.
|
|
5
|
+
Author-email: Yong Zhao <zhaoyong11933@cvte.com>
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
8
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
9
|
+
Requires-Python: >=3.6
|
|
10
|
+
Requires-Dist: websocket-client
|
|
@@ -2,6 +2,7 @@ import websocket
|
|
|
2
2
|
import threading
|
|
3
3
|
import json
|
|
4
4
|
import uuid
|
|
5
|
+
import time
|
|
5
6
|
|
|
6
7
|
class Carm:
|
|
7
8
|
def __init__(self, addr = "ws://100.84.147.120:8090"):
|
|
@@ -22,7 +23,7 @@ class Carm:
|
|
|
22
23
|
self.res_pool = {}
|
|
23
24
|
self.task_pool = {}
|
|
24
25
|
|
|
25
|
-
self.reader = threading.Thread(target=self.recv_loop).start()
|
|
26
|
+
self.reader = threading.Thread(target=self.recv_loop, daemon=True).start()
|
|
26
27
|
self.open_ready = threading.Event()
|
|
27
28
|
self.open_ready.wait()
|
|
28
29
|
self.limit = self.get_limits()["params"]
|
|
@@ -42,6 +43,8 @@ class Carm:
|
|
|
42
43
|
"type":"version"})
|
|
43
44
|
|
|
44
45
|
def set_ready(self):
|
|
46
|
+
while self.state is None:
|
|
47
|
+
time.sleep(0.1)
|
|
45
48
|
arm = self.state["arm"][0]
|
|
46
49
|
if arm["fsm_state"] == "POSITION" or arm["fsm_state"] == "MIT":
|
|
47
50
|
return True
|
|
@@ -204,6 +207,20 @@ class Carm:
|
|
|
204
207
|
self.wait_task(res["task_key"])
|
|
205
208
|
|
|
206
209
|
return res
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def move_line(self, pos, speed=50, sync=True, user=0, tool=0):
|
|
213
|
+
res = self.request({"command":"webRecieveTasks",
|
|
214
|
+
"task_id":"TASK_MOVL",
|
|
215
|
+
"task_level":"Task_General",
|
|
216
|
+
"arm_index":0,
|
|
217
|
+
"point_type":{"space":1},
|
|
218
|
+
"data":{"user":user,"tool":tool, "target_pos": pos, "speed":speed}})
|
|
219
|
+
|
|
220
|
+
if sync and res["recv"]=="Task_Recieve":
|
|
221
|
+
self.wait_task(res["task_key"])
|
|
222
|
+
|
|
223
|
+
return res
|
|
207
224
|
|
|
208
225
|
def wait_task(self, task_key):
|
|
209
226
|
event = threading.Event()
|
|
@@ -48,7 +48,7 @@ class ArmDriver:
|
|
|
48
48
|
time.sleep(0.005)
|
|
49
49
|
|
|
50
50
|
def send_cmd(args):
|
|
51
|
-
arm = carm.Carm(args.addr
|
|
51
|
+
arm = carm.Carm(args.addr)
|
|
52
52
|
|
|
53
53
|
cmd = args.cmd
|
|
54
54
|
|
|
@@ -72,10 +72,7 @@ def driver_main(args):
|
|
|
72
72
|
|
|
73
73
|
driver.loop()
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
# 测试代码
|
|
78
|
-
if __name__ == "__main__":
|
|
75
|
+
def main():
|
|
79
76
|
parser = argparse.ArgumentParser()
|
|
80
77
|
parser.add_argument("--addr", type=str, default="ws://localhost:8090", help="Device address, including ip and port")
|
|
81
78
|
parser.add_argument("--cmd", type=str, default="", help="Send command instead of start driver, support enable,disable,remote")
|
|
@@ -102,5 +99,10 @@ if __name__ == "__main__":
|
|
|
102
99
|
driver_main(args)
|
|
103
100
|
else:
|
|
104
101
|
send_cmd(args)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
# 测试代码
|
|
105
|
+
if __name__ == "__main__":
|
|
106
|
+
main()
|
|
105
107
|
|
|
106
108
|
|
|
@@ -19,7 +19,7 @@ class ArmDriver(Node):
|
|
|
19
19
|
|
|
20
20
|
self.arm = carm.Carm(args.addr)
|
|
21
21
|
if args.mit:
|
|
22
|
-
self.arm.set_control_mode(
|
|
22
|
+
self.arm.set_control_mode(2)
|
|
23
23
|
else:
|
|
24
24
|
self.arm.set_control_mode(1)
|
|
25
25
|
|
|
@@ -60,9 +60,8 @@ class ArmDriver(Node):
|
|
|
60
60
|
self.pub_end.publish(end_msg)
|
|
61
61
|
|
|
62
62
|
time.sleep(0.005)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if __name__ == "__main__":
|
|
63
|
+
|
|
64
|
+
def main():
|
|
66
65
|
parser = argparse.ArgumentParser()
|
|
67
66
|
parser.add_argument("--addr", type=str, default="ws://localhost:8090", help="Device address, including ip and port")
|
|
68
67
|
parser.add_argument("--device", type=str, default="carm", help="device name, used as topic prefix")
|
|
@@ -90,5 +89,8 @@ if __name__ == "__main__":
|
|
|
90
89
|
rclpy.spin(node)
|
|
91
90
|
node.destroy_node()
|
|
92
91
|
rclpy.shutdown()
|
|
93
|
-
|
|
92
|
+
|
|
93
|
+
# 测试代码
|
|
94
|
+
if __name__ == "__main__":
|
|
95
|
+
main()
|
|
94
96
|
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: carm
|
|
3
|
+
Version: 0.0.20250822
|
|
4
|
+
Summary: Python interface for cvte arm.
|
|
5
|
+
Author-email: Yong Zhao <zhaoyong11933@cvte.com>
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
8
|
+
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
9
|
+
Requires-Python: >=3.6
|
|
10
|
+
Requires-Dist: websocket-client
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
README.md
|
|
2
|
-
|
|
2
|
+
pyproject.toml
|
|
3
3
|
carm/__init__.py
|
|
4
4
|
carm/carm.py
|
|
5
|
+
carm/carm_dds.py
|
|
6
|
+
carm/carm_ros2.py
|
|
5
7
|
carm.egg-info/PKG-INFO
|
|
6
8
|
carm.egg-info/SOURCES.txt
|
|
7
9
|
carm.egg-info/dependency_links.txt
|
|
10
|
+
carm.egg-info/entry_points.txt
|
|
8
11
|
carm.egg-info/requires.txt
|
|
9
|
-
carm.egg-info/top_level.txt
|
|
10
|
-
carm.egg-info/zip-safe
|
|
11
|
-
scripts/carm
|
|
12
|
-
scripts/carm_ros2
|
|
12
|
+
carm.egg-info/top_level.txt
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=42"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "carm"
|
|
7
|
+
version = "0.0.20250822"
|
|
8
|
+
authors = [
|
|
9
|
+
{name = "Yong Zhao", email = "zhaoyong11933@cvte.com"},
|
|
10
|
+
]
|
|
11
|
+
description = "Python interface for cvte arm."
|
|
12
|
+
requires-python = ">=3.6"
|
|
13
|
+
dependencies = ["websocket-client"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Programming Language :: Python :: Implementation :: CPython",
|
|
17
|
+
"Programming Language :: Python :: Implementation :: PyPy",
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
[project.scripts]
|
|
21
|
+
carm = "carm.carm_dds:main"
|
|
22
|
+
carm_ros2 = "carm.carm_ros2:main"
|
|
23
|
+
|
|
24
|
+
[tool.setuptools]
|
|
25
|
+
packages = ["carm"]
|
|
26
|
+
|
|
27
|
+
[tool.setuptools.package-data]
|
|
28
|
+
carm = [
|
|
29
|
+
"__init__.py",
|
|
30
|
+
"carm.py",
|
|
31
|
+
"carm_dds.py",
|
|
32
|
+
]
|
carm-0.0.20250812/PKG-INFO
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
carm-0.0.20250812/setup.py
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
from setuptools import setup, find_packages
|
|
2
|
-
|
|
3
|
-
setup(
|
|
4
|
-
name="carm",
|
|
5
|
-
version="0.0.20250812",
|
|
6
|
-
packages=find_packages(),
|
|
7
|
-
package_data={
|
|
8
|
-
"carm": [
|
|
9
|
-
"__init__.py",
|
|
10
|
-
"carm.py",
|
|
11
|
-
],
|
|
12
|
-
},
|
|
13
|
-
scripts=['scripts/carm','scripts/carm_ros2'],
|
|
14
|
-
include_package_data=True,
|
|
15
|
-
install_requires=["websocket-client"],
|
|
16
|
-
zip_safe=True,
|
|
17
|
-
author='Yong Zhao',
|
|
18
|
-
author_email='zhaoyong11933@cvte.com',
|
|
19
|
-
description="Python interface for cvte arm.",
|
|
20
|
-
long_description='Python interface for cvte arm.',
|
|
21
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|