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
180 stars 33 forks source link

关于RVIZ中机器人初始位姿设置 #8

Closed rcone11 closed 1 month ago

rcone11 commented 1 month ago

首先感谢作者的分享,我现在在尝试将作者的机器人模型进行替换因此遇到了一些问题,将URDF、XML、task.info、reference.info等文件修改完之后,尝试运行roslaunch humanoid_dummy legged_robot_sqp.launch,但是机器人leg_r1_joint的位姿并不是我在task.info中设定的值。 微信图片_20240709230305 微信图片_20240709225110 当我将关节的值全部设定为0后, 微信图片_202407092303051 微信图片_202407092303052 模型处于直立状态。我想请问关于机器人初始位姿是不是只需要在task.info以及humanoidcontroller.cpp进行修改就可以了,以及关于机器人的任务和约束那些代码需不需要进行修改(目前关于这部分基本没有改动),感谢大佬

pocketxjl commented 1 month ago

task.info, reference.info, humanoidControllers.cpp以及mujoco相关的humanoid_sim.py均有初始位姿的设定。另外,如果你要修改机器人模型,你需要在humanoid_interface功能包中的一些头文件和cpp文件中修改关节名称,具体位置可以使用vscode全局搜索关节名称找到。

rcone11 commented 1 month ago

task.info, reference.info, humanoidControllers.cpp以及mujoco相关的humanoid_sim.py均有初始位姿的设定。另外,如果你要修改机器人模型,你需要在humanoid_interface功能包中的一些头文件和cpp文件中修改关节名称,具体位置可以使用vscode全局搜索关节名称找到。

感谢您的回复,为了避免一些错误,我在定义机器人的关节名称时与您使用了相同的关节名称,只不过我的每条腿只有5个关节,我想请问关于机器人MPC中的约束以及WBC中的任务需要进行一些改动吗,如果按照与您同样的约束与任务,可以正常运行吗?

pocketxjl commented 1 month ago

wbc一般不用调整。可以在dummy中试一下MPC的Q和R参数是否合适。关节控制的Kp和Kd一般要重新调节。

rcone11 commented 1 month ago

wbc一般不用调整。可以在dummy中试一下MPC的Q和R参数是否合适。关节控制的Kp和Kd一般要重新调节。

好的谢谢您,我现在知道了为什么位姿与设定的有差异,因为我的机器人有5个关节,但是他仍按照6个关节设置,并且终端有警告在URDF中无法找到第6个关节,因此右腿的角度都是错误的,leg_r1用了r2的角度,r2用了r3的角度,以此类推;现在代码中的关节已经将第6个关节删除了,自由度数也改为了10,但是运行sqp.launch依然是有位姿问题请问您有什么建议的解决方法吗?

pocketxjl commented 1 month ago

有一个foot roll constraint那个约束项可以删掉,然后有一个通过雅可比矩阵计算关节空间R矩阵的函数,需要从6自由度改成五自由度,然后urdf,以及humanoid_dummy功能包里面发布TF的相关的地方可能也要改

rcone11 commented 1 month ago

有一个foot roll constraint那个约束项可以删掉,然后有一个通过雅可比矩阵计算关节空间R矩阵的函数,需要从6自由度改成五自由度,然后urdf,以及humanoid_dummy功能包里面发布TF的相关的地方可能也要改

好的,谢谢您,我先按照您的提示去改

rcone11 commented 1 month ago

有一个foot roll constraint那个约束项可以删掉,然后有一个通过雅可比矩阵计算关节空间R矩阵的函数,需要从6自由度改成五自由度,然后urdf,以及humanoid_dummy功能包里面发布TF的相关的地方可能也要改 作者您好:有个问题想请问您,关于机器人的初始位姿是必须屈腿姿态吗,如果我将初始位姿设置为站立姿态会有影响吗