fix: 修改 RealManAdapter 中对机械臂的引用,确保正确获取关节状态

This commit is contained in:
2026-08-05 15:59:06 +08:00
parent 43699a81f1
commit bb672e3f39
2 changed files with 9 additions and 8 deletions
+8 -7
View File
@@ -237,9 +237,9 @@ class RealManAdapter:
)
def read_joint_state(self) -> JointStateSnapshot:
self._require_arm()
arm = self._require_arm()
started_at = time.monotonic()
result = self._arm.rm_get_joint_degree()
result = arm.rm_get_joint_degree()
finished_at = time.monotonic()
if not isinstance(result, tuple) or len(result) != 2:
raise RuntimeError(
@@ -256,10 +256,10 @@ class RealManAdapter:
)
def send_joint_target(self, joints: list[float], follow: bool) -> None:
self._require_arm()
arm = self._require_arm()
if len(joints) != 7 or not all(math.isfinite(value) for value in joints):
raise ValueError("joint target must contain 7 finite values")
ret = self._arm.rm_movej_canfd(
ret = arm.rm_movej_canfd(
[math.degrees(value) for value in joints],
follow,
0,
@@ -315,9 +315,10 @@ class RealManAdapter:
self._arm = None
self._realtime_callback = None
def _require_arm(self) -> None:
def _require_arm(self) -> Any:
if self._arm is None:
raise RuntimeError("睿尔曼机械臂尚未连接")
return self._arm
def _on_realtime_arm_state(self, data: Any) -> None:
if not self._accept_realtime_feedback:
@@ -457,11 +458,11 @@ class RealManAdapter:
self._try_call("rm_set_joint_max_acc", joint_index, self._joint_max_acc)
def move_to_initial_pose(self) -> None:
self._require_arm()
arm = self._require_arm()
if self._initial_joint_pose is None:
raise RuntimeError("启用初始位姿移动时必须配置 initial_joint_pose")
ret = self._arm.rm_movej(
ret = arm.rm_movej(
self._initial_joint_pose,
self._init_move_speed,
0,