pocketxjl / humanoid-control

A humanoid bipedal walking control repo using NMPC and WBC, and simulation with mujoco. Contact: xuejl2001@mail.ustc.edu.cn
MIT License
188 stars 34 forks source link

ERROR: Maximum number of working set recalculations performed ERROR: WeightWBC Not Solved!!! #2

Closed kavinwkp closed 5 months ago

kavinwkp commented 6 months ago

您好,我运行legged_robot_sqp.launch没问题,但是运行前2个launch文件会出现上述问题,您知道是什么原因吗,会不会是mujoco版本问题

pocketxjl commented 6 months ago

你好,这只是一个警告,WBC有时候会出现解不出来的情况,这时候会保留上一个时刻的解,如果机器人能行走就可以忽略它。

kavinwkp commented 6 months ago

好的,另外,我运行前2个mujoco环境里面机器人一启动就会摔倒,您知道是什么原因吗

pocketxjl commented 6 months ago

最近的一次更新机器人启动是能站住的。 拉一下最新的代码,编译。 另外,检查一下teleop.py有没有正确运行。如果没有的话装一下pynput 正确运行的话,会有一个空窗口给你wsad控制用,如果没有的话,相当于没有目标速度输入,是会倒的。

starsoul-ss commented 6 months ago

我前几天运行正常,这几天写了点注释,没有动代码,也遇到了类似的问题。第三个步态正常,但是前两个一运行就会有错误,我的操作顺序是:launch启动,等待终端的编译命令完成后输入stance,此时机器人开始以脚为轴做角度逐渐变大的摆动,最终倒地。如果选择trot,则会直接倒地。在这两个命令中都没有出现之前机器人不断抬脚跺脚的情况,我感到很迷惑。

pocketxjl commented 6 months ago

代码只有stance和trot两个步态,不知道你所说的第三个步态是什么意思。另外stance的时候腿开始摆动后倒地的问题,怀疑是运行频率跟不上。ctrl+c终止程序后应该会打印出程序运行频率,检查MPC是否在平均10ms以内,wbc是否在平均2ms以内,并检查编译优化选项。

控制器完全启动后,默认的状态是stance,最新的代码中,此时按空格开启仿真应该是能站住的。

Zhenyuan-Fu commented 5 months ago

您好,我也遇到相似的问题,stance正常运行。但切换trot时会走几步后倒下。这是和求解频率相关吗。以下是运行频率:########################################################################

MPC Benchmarking

Maximum : 28.3691[ms].

Average : 15.8759[ms].

########################################################################

WBC Benchmarking

Maximum : 4.4088[ms].

Average : 0.887534[ms].

pocketxjl commented 5 months ago

MPC的计算速度有点慢,平均要控制在10ms以内,要不然稳定性会比较差。你可以在运行仿真的时候关掉其它无关的程序节约一下CPU的性能,或者调一下MPC的参数,比如并行线程数,或者调低time horizon让他运行快一些。

vanceeasleaf commented 3 months ago

输入trot后毫无反应,连续报下面的错有人遇到过吗 ubuntu 22.04
->ERROR: Removing from active set failed ->ERROR: Initialisation failed! QP could not be solved! ERROR: WeightWBC Not Solved!!! ERROR: Projected Hessian matrix not positive definite ->ERROR: Removing from active set failed ->ERROR: Unable to perform homotopy step ->ERROR: Removing from active set failed ->ERROR: Initialisation failed! QP could not be solved! ERROR: WeightWBC Not Solved!!! ERROR: Projected Hessian matrix not positive definite ->ERROR: Removing from active set failed ->ERROR: Unable to perform homotopy step ->ERROR: Removing from active set failed ->ERROR: Initialisation failed! QP could not be solved! ERROR: WeightWBC Not Solved!!!

pocketxjl commented 3 months ago

仿真窗口里面按下空格启动了吗

vanceeasleaf commented 1 month ago

按下了的,相关视频都看过了,感觉是ubuntu22下面的什么适配问题