主题
整机 HW1 与生命周期
同时使用多个组件时创建一个 HW1()。使用它访问组件,不再为同一设备独立创建重复对象。升降机构必须在机械最低位置启动。
连接与状态
python
from libark.robot.hw1 import HW1
with HW1() as robot:
print(robot.get_state())| 调用形式 | 含义 / 返回值 |
|---|---|
HW1() | 完整机器人;.dual_arm.left / .dual_arm.right / .chassis / .lift / .power 为组件 |
Arm("left") / Arm("right") | 独立单臂 |
DualArm() | 独立双臂,.left / .right 与 Arm 接口相同 |
Chassis() / Lift() | 独立底盘 / 升降 |
Power() | 独立只读电量模块 |
RemoteControl() | 独立只读遥控器输入;当前不属于 HW1() |
connect() | 连接并初始化;运动前检查状态并显式使能;返回 None,推荐用 with 自动调用 |
enable() / disable() | 使能 / 失能;返回 None |
stop() | 取消旧运动;臂/升降位置保持、底盘减速至零速,不主动失能;返回 None |
estop() | 软件急停锁存并尽力下使能;返回 None,不受普通运动排队限制 |
reset_estop() | 仅复位软件锁存;返回 None,不使能、不恢复旧任务 |
estopped / stop_error | 软件急停状态 / 停止错误(正常为 None);不是硬件安全证明 |
disconnect() | 停止并释放连接,不自动失能;返回 None |
connected | SDK 是否已连接;双臂表示至少一侧连接,整机要求左右臂、底盘、升降和 Power 全部连接 |
get_state() | 返回对应状态快照,不用自行刷新底层反馈 |
其中使能、停止、急停和复位只适用于运动组件;Power 和 RemoteControl 仅使用连接、 断开、状态读取和 connected。
connected 表示 SDK 连接状态,不保证所有设备持续在线或反馈新鲜。
with 退出先停止运动,再断开连接,不自动失能。需要失能时,在退出前显式调用 disable()。 退出后创建新实例重连。整机连接失败会释放已连接部件与连接资源,不锁存急停;使能失败会触发整机急停。整机不是全身协同轨迹控制器。
整机状态
get_state() 返回 HW1State,包含 model、name、timestamp_ns、dual_arm、chassis、lift 和 power;未连接组件为 None。timestamp_ns 使用单调时钟纳秒,不是日历时间。