问题:
使用绝对路径RVIZ2无法正常显示,使用相对路径Gazebo显示黑屏。
解决方法:
目前通过编写两个URDF文件分别导入RVIZ2和Gazebo,可以暂时解决该问题。
RVIZ2:
<mesh filename="package://car_description/meshes/car_base.STL" scale="0.001 0.001 0.001"/>
Gazebo
<mesh filename="/home/***/***_ws/install/car_description/share/car_description/meshes/front_wheel.STL" scale="0.001 0.001 0.001"/>
有朋友指出可以用该方法,但我在ROS2 humble 的环境下出现错误
[SystemPaths.cc:459] File or path does not exist [“”] [$(find car_description)/meshes/car base.STL]
最终方案:
采用SW_urdf插件生成文件:
Gazebo卡屏的问题可以通过添加如下代码解决。
pkg_share = os.pathsep + os.path.join(get_package_prefix(package_name), 'share')
if 'GAZEBO_MODEL_PATH' in os.environ:
os.environ['GAZEBO_MODEL_PATH'] += pkg_share
else:
os.environ['GAZEBO_MODEL_PATH'] = "/usr/share/gazebo-11/models" + pkg_share