Joint Stand State
The Joint Stand State slowly moves all joints to the configured GR-W JointStand positions. This state is typically used to verify actuator operation and joint positions. The waist target is [-1.25, 2.15, -0.918, 0, 0], not an all-zero pose.
State Details
| State Name | Task Name | Joystick Mapping | DDS Mapping | Frequency |
|---|---|---|---|---|
| Joint Stand | JointStandTask | LB+A | 1 | 500Hz |
| Available for Hanging | Available for Standing | Auto Protection Switch |
|---|---|---|
| Yes | No | No |
Joystick Control
Enter Joint Stand State
After initializing AuroraCore, press shoulder button LB and button A simultaneously to enter the Joint Stand State.
Client Control
| Velocity Control | Pose Control | Joint Control | Motor Config |
|---|---|---|---|
| No | No | No | No |
Enter Joint Stand State
After initializing AuroraCore, use the set_fsm_state function to enter the Joint Stand State.
Python
import os
import time
os.environ.setdefault("FASTDDS_BUILTIN_TRANSPORTS", "UDPv4") # required on the robot
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("state change request not accepted")
deadline = time.monotonic() + 4.0
while client.get_fsm_state() != 1:
if time.monotonic() >= deadline:
raise RuntimeError("did not switch to Joint Stand State")
time.sleep(0.05)
print(f"after: {client.get_fsm_state()} ({client.get_fsm_name()})")
finally:
client.close()
After entering this state, all joints converge to the JointStand targets within about 3 s (waist target above).