我在ROS中有一个用于凉亭模拟的.world
文件,它是一个XML文件。
如何在<uri>
标签中放置动态起始路径而不是静态路径?
这是我的简化.world
文件:
<?xml version="1.0" ?>
<sdf version='1.5'>
<world name='default'>
<visual name='base_link_visual_front_sonar'>
<pose>0.109 0 0.209 0 -0 0</pose>
<geometry>
<mesh>
<uri>/home/agn/catkin_ws/src/description/meshes/sonar.stl</uri> <!--Note-->
</mesh>
</geometry>
</visual>
</world>
</sdf>
如何使用$HOME
代替/home/agn
?
我尝试了以下结果失败的情况:
<uri>~/catkin_ws/src/description/meshes/sonar.stl</uri>
<uri>$HOME/catkin_ws/src/description/meshes/sonar.stl</uri>
<uri>"$HOME/catkin_ws/src/description/meshes/sonar.stl"</uri>
<uri>${HOME}/catkin_ws/src/description/meshes/sonar.stl</uri>
<uri>"${HOME}/catkin_ws/src/description/meshes/sonar.stl"</uri>
<uri>"${sys:user.home}/catkin_ws/src/description/meshes/sonar.stl"</uri>
<uri>${sys:user.home}/catkin_ws/src/description/meshes/sonar.stl</uri>
<uri>${user.home}/catkin_ws/src/description/meshes/sonar.stl</uri>
<uri>"${user.home}/catkin_ws/src/description/meshes/sonar.stl"</uri>
答案 0 :(得分:0)
根据Gazebo tutorial凉亭,可以在环境变量GAZEBO_MODEL_PATH
上列出的路径中找到其他模型。
在How to correctly add a path to PATH?中对添加到环境变量的路径进行了很好的描述,并且可以像
PATH=$GAZEBO_MODEL_PATH:/your/path/to/check
现在您可以将uri设置为
<uri>model://relative/path/file.stl</uri>
请注意,还有a hacks允许更改 package.xml 中的环境变量。
答案 1 :(得分:0)
根据roslaunch wiki,您应该尝试以下操作:
<uri>$(env HOME)/catkin_ws/src/description/meshes/sonar.stl</uri>