Skip to main content

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 NameTask NameJoystick MappingDDS MappingFrequency
Joint StandJointStandTaskLB+A1500Hz
Available for HangingAvailable for StandingAuto Protection Switch
YesNoNo

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 ControlPose ControlJoint ControlMotor Config
NoNoNoNo

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).