跳到主要内容

关节直立状态

关节直立状态将所有关节缓慢移动到 GR-W 配置的 JointStand 位置。此状态通常用于检查所有执行器是否正常工作以及关节位置是否准确。腰部目标为 [-1.25, 2.15, -0.918, 0, 0],不是全零位。

状态明细​

状态名称任务名称手柄映射DDS 映射频率
Joint StandJointStandTaskLB+A1500Hz
可用于悬挂可用于站立自动保护切换
是否否

手柄控制​

进入关节直立状态​

初始化 AuroraCore 后,同时按下肩键 LB 和按钮 A 进入关节直立状态。

客户端控制​

速度控制站姿控制关节控制关节参数控制
否否否否

进入关节直立状态​

初始化 AuroraCore 后,使用 aurora 客户端的 set_fsm_state 函数进入关节直立状态。

Python
import os
import time

os.environ.setdefault("FASTDDS_BUILTIN_TRANSPORTS", "UDPv4") # 机器人上运行必须设置

from fourier_aurora_client import AuroraClient

client = AuroraClient.get_instance(domain_id=123, robot_name="grw")
try:
time.sleep(1.0)
print(f"before: {client.get_fsm_state()} ({client.get_fsm_name()})")
if not client.set_fsm_state(1):
raise RuntimeError("状态切换请求未受理")
deadline = time.monotonic() + 4.0
while client.get_fsm_state() != 1:
if time.monotonic() >= deadline:
raise RuntimeError("未切换到关节直立状态")
time.sleep(0.05)
print(f"after: {client.get_fsm_state()} ({client.get_fsm_name()})")
finally:
client.close()

进入本状态后,各关节约 3 s 内收敛到 JointStand 目标位(腰部目标见上文)。