Skip to main content

Security Protection State

The Security Protection State is designed for scenarios where the robot loses control. Upon entering this state, the controller first sets all actuators to damping mode for 2 seconds, then sets all actuators to zero-torque mode. Joint state can still be read in zero-torque mode.

Some controllers include an auto protection switch mechanism. When they detect they are outside a controllable range, they automatically switch to the Security Protection State.

State Details​

State NameTask NameJoystick MappingDDS MappingFrequency
Security ProtectionSecurityProtectionTaskLT+RT9500Hz
Available for HangingAvailable for StandingAuto Protection Switch
YesNoNo

Joystick Control​

Enter Security Protection State​

After initializing AuroraCore, press triggers LT and RT simultaneously to enter the Security Protection State.

Client Control​

Velocity ControlPose ControlJoint ControlMotor Config
NoNoNoNo

Enter Security Protection State​

After initializing AuroraCore, use the set_fsm_state function to enter the Security Protection 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(9):
raise RuntimeError("state change request not accepted")
time.sleep(2.5) # 2 s of damping, then zero torque
print(f"after: {client.get_fsm_state()} ({client.get_fsm_name()})")
print(f"joints still readable: {client.get_group_state('head', key='position')}")
finally:
client.close()
GR-W notes
  • A standing GR-W (supported by the wheeled base) entering state 9 first damps and then zero-torques the joints; the upper body and waist go limp while the wheeled base keeps the robot upright. The "available for hanging/standing" table above is legacy GR-3 wording.
  • get_group_state() still reads all joint states normally in zero-torque mode (including waist, head, and both arms).
  • Recovery path 9 → 1 (JointStand) → 3 (grw_policy_task): joints converge back to the JointStand targets. On-site personnel should steady the robot and keep the e-stop within reach during recovery.