Question for Unitree engineering: is a whole-body motion policy achievable on the 23-DOF G1 EDU?
While deploying a sim-trained reach policy on our 23-DOF G1 EDU (Type F, 1-DOF waist), we hit a wall
on running a custom whole-body (CoM-shifting / squatting) motion policy via rt/lowcmd, and want to
confirm with Unitree whether it is supported on this variant at all.
What we found (verified live + against the SDK source and the developer forums)
MotionSwitcher.CheckMode() reports the configured mode, not the active controller. It returns
{'name':'ai','form':'0'} in both normal AI-Sport mode and a freshly-entered low-level Develop
mode (confirmed across a full power-cycle). rt/sportmodestate is not published on this variant.
So neither indicates whether the balancer thread is actually running.
- The only reliable software signal we found is high-level service liveness: a read-only loco
GET_FSM_ID RPC (id 7001) answers (code 0) in AI-Sport and errors/times out in Develop
(Develop → code 3102).
rt/lowcmd driving all joints against the live AI controller jitters/oscillates rather than
cleanly taking over (consistent with unitree_sdk2_python#43/#108). Our working path for arm tasks
is the rt/arm_sdk overlay (it blends with the balancer) + LocoClient.Move for locomotion.
The questions
- On the 23-DOF G1 EDU, is there a supported way to run a custom whole-body
rt/lowcmd policy
that drives the legs (squat / CoM shift), with the factory AI controller fully released so it does
not fight the commands? If so, what is the exact, supported sequence?
- Does handheld Develop mode (L2+R2) fully release the legs for
rt/lowcmd, or does the AI/balance
policy keep running? (We observe the robot is damped in Develop mode, suggesting the AI policy is
off — but CheckMode still says 'ai'.)
- Is there an SDK call that authoritatively reports whether the high-level balance service is running
vs released (beyond the loco-RPC liveness probe we are using)?
- Is whole-body
rt/lowcmd intended/recommended on the 23-DOF EDU at all, or is this variant meant
for rt/arm_sdk-over-balancer + LocoClient only (with whole-body reserved for the 29-DOF G1)?
Any guidance on (1) and (4) directly determines whether our bed-making demo on the 23-DOF EDU can use a
whole-body reach or must stay upper-body-only.
Question for Unitree engineering: is a whole-body motion policy achievable on the 23-DOF G1 EDU?
While deploying a sim-trained reach policy on our 23-DOF G1 EDU (Type F, 1-DOF waist), we hit a wall
on running a custom whole-body (CoM-shifting / squatting) motion policy via
rt/lowcmd, and want toconfirm with Unitree whether it is supported on this variant at all.
What we found (verified live + against the SDK source and the developer forums)
MotionSwitcher.CheckMode()reports the configured mode, not the active controller. It returns{'name':'ai','form':'0'}in both normal AI-Sport mode and a freshly-entered low-level Developmode (confirmed across a full power-cycle).
rt/sportmodestateis not published on this variant.So neither indicates whether the balancer thread is actually running.
GET_FSM_IDRPC (id 7001) answers (code 0) in AI-Sport and errors/times out in Develop(Develop → code 3102).
rt/lowcmddriving all joints against the live AI controller jitters/oscillates rather thancleanly taking over (consistent with
unitree_sdk2_python#43/#108). Our working path for arm tasksis the
rt/arm_sdkoverlay (it blends with the balancer) +LocoClient.Movefor locomotion.The questions
rt/lowcmdpolicythat drives the legs (squat / CoM shift), with the factory AI controller fully released so it does
not fight the commands? If so, what is the exact, supported sequence?
rt/lowcmd, or does the AI/balancepolicy keep running? (We observe the robot is damped in Develop mode, suggesting the AI policy is
off — but
CheckModestill says'ai'.)vs released (beyond the loco-RPC liveness probe we are using)?
rt/lowcmdintended/recommended on the 23-DOF EDU at all, or is this variant meantfor
rt/arm_sdk-over-balancer +LocoClientonly (with whole-body reserved for the 29-DOF G1)?Any guidance on (1) and (4) directly determines whether our bed-making demo on the 23-DOF EDU can use a
whole-body reach or must stay upper-body-only.