carm 0.0.20250815__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.20250815 → carm-0.0.20250822}/PKG-INFO +1 -1
- {carm-0.0.20250815 → carm-0.0.20250822}/carm/carm.py +15 -1
- carm-0.0.20250815/scripts/carm → carm-0.0.20250822/carm/carm_dds.py +7 -5
- carm-0.0.20250815/scripts/carm_ros2 → carm-0.0.20250822/carm/carm_ros2.py +7 -5
- {carm-0.0.20250815 → carm-0.0.20250822}/carm.egg-info/PKG-INFO +1 -1
- {carm-0.0.20250815 → carm-0.0.20250822}/carm.egg-info/SOURCES.txt +3 -3
- carm-0.0.20250822/carm.egg-info/entry_points.txt +3 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/pyproject.toml +4 -3
- carm-0.0.20250815/carm.egg-info/entry_points.txt +0 -3
- {carm-0.0.20250815 → carm-0.0.20250822}/README.md +0 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/carm/__init__.py +0 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/carm.egg-info/dependency_links.txt +0 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/carm.egg-info/requires.txt +0 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/carm.egg-info/top_level.txt +0 -0
- {carm-0.0.20250815 → carm-0.0.20250822}/setup.cfg +0 -0
|
@@ -23,7 +23,7 @@ class Carm:
|
|
|
23
23
|
self.res_pool = {}
|
|
24
24
|
self.task_pool = {}
|
|
25
25
|
|
|
26
|
-
self.reader = threading.Thread(target=self.recv_loop).start()
|
|
26
|
+
self.reader = threading.Thread(target=self.recv_loop, daemon=True).start()
|
|
27
27
|
self.open_ready = threading.Event()
|
|
28
28
|
self.open_ready.wait()
|
|
29
29
|
self.limit = self.get_limits()["params"]
|
|
@@ -207,6 +207,20 @@ class Carm:
|
|
|
207
207
|
self.wait_task(res["task_key"])
|
|
208
208
|
|
|
209
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
|
|
210
224
|
|
|
211
225
|
def wait_task(self, task_key):
|
|
212
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
|
|
|
@@ -2,11 +2,11 @@ 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
|
|
8
10
|
carm.egg-info/entry_points.txt
|
|
9
11
|
carm.egg-info/requires.txt
|
|
10
|
-
carm.egg-info/top_level.txt
|
|
11
|
-
scripts/carm
|
|
12
|
-
scripts/carm_ros2
|
|
12
|
+
carm.egg-info/top_level.txt
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "carm"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.20250822"
|
|
8
8
|
authors = [
|
|
9
9
|
{name = "Yong Zhao", email = "zhaoyong11933@cvte.com"},
|
|
10
10
|
]
|
|
@@ -18,8 +18,8 @@ classifiers = [
|
|
|
18
18
|
]
|
|
19
19
|
|
|
20
20
|
[project.scripts]
|
|
21
|
-
carm = "carm:main"
|
|
22
|
-
carm_ros2 = "carm:
|
|
21
|
+
carm = "carm.carm_dds:main"
|
|
22
|
+
carm_ros2 = "carm.carm_ros2:main"
|
|
23
23
|
|
|
24
24
|
[tool.setuptools]
|
|
25
25
|
packages = ["carm"]
|
|
@@ -28,4 +28,5 @@ packages = ["carm"]
|
|
|
28
28
|
carm = [
|
|
29
29
|
"__init__.py",
|
|
30
30
|
"carm.py",
|
|
31
|
+
"carm_dds.py",
|
|
31
32
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|