以宇树a1模型作为例子,按照legged_control项目,github上的介绍输入指令。
打开一个终端输入,(记得source)
export ROBOT_TYPE=a1
roslaunch legged_unitree_description empty_world.launch
另开一个终端,(source)
export ROBOT_TYPE=a1
roslaunch legged_controllers load_controller.launch cheater:=false
再另开一个终端,(source)
rqt
在rqt界面只能显示碰撞模型
终端报错,不能定位和打开dae文件
问题在于urtf文件对于dae文件的调用上,不同版本的ros语法上有区别。需要改动两个文件。
将/legged_control/legged_examples/legged_unitree/legged_unitree_description/urdf/common/leg.xacro文件中的
<mesh filename="${mesh_path}/hip.dae"
<mesh filename="${mesh_path}/thigh.dae"
<mesh filename="${mesh_path}/thigh_mirror.dae"
<mesh filename="${mesh_path}/calf.dae"
分别改为
<mesh filename="package://legged_unitree_description/meshes/a1/hip.dae"
<mesh filename="package://legged_unitree_description/meshes/a1/thigh.dae"
<mesh filename="package://legged_unitree_description/meshes/a1/thigh_mirror.dae"
<mesh filename="package://legged_unitree_description/meshes/a1/calf.dae"
注意:可以使用查找功能,直接寻找.dae找到位置。
同样的操作,将/legged_control/legged_examples/legged_unitree/legged_unitree_description/urdf/robot.xacro中
<mesh filename="${mesh_path}/trunk.dae" scale="1 1 1"/>
改为
<mesh filename="package://legged_unitree_description/meshes/a1/trunk.dae" scale="1 1 1"/>
修改后重新输入上面的三个指令,发现可以显示模型了。