unitreerobotics / unitree_guide

BSD 3-Clause "New" or "Revised" License
251 stars 62 forks source link

SwingTest中torque未初始化的问题 #74

Closed Desny closed 6 months ago

Desny commented 6 months ago

State_SwingTest.cpp的函数_torqueCtrl()中仅声明torque变量,并未对其进行初始化。这会导致除了RF腿以外的其他腿关节可能出现危险的torque指令数值。我观测的情况是:从fixed_stand切换为swing_test状态时,仿真中左前腿轻微后退,实机中(go1)左前腿会立刻向后抬起至限位。 所以出于安全考虑,建议修改:Vec12 torque; -> Vec12 torque = Eigen::VectorXd::Zero(12);

xiaoliangstd commented 6 months ago

您好,谢谢你的反馈,我这边测试一下您说的问题。但是我有点疑问,enter() 函数中默认对每条腿的所有关节都事先设置了一个kp kd ,即使是这样,实机中(go1)左前腿还会立刻向后抬起至限位嘛?

Desny commented 6 months ago

发送指令包含两部分,一个是位置的PID控制,还有一个是修正力,即各个关节的扭矩torque。在代码里torque未初始化,就有可能是一个较大的值,会立刻出现一个危险动作。

xiaoliangstd commented 6 months ago

发送指令包含两部分,一个是位置的PID控制,还有一个是修正力,即各个关节的扭矩torque。在代码里torque未初始化,就有可能是一个较大的值,会立刻出现一个危险动作。

明白,谢谢您的反馈,这边看确实可能会有这个问题,这个问题我近期会修复。谢谢!

xiaoliangstd commented 6 months ago

已更新