我想模拟我们在Gazebo中编写的算法。我使用的基础机器人是赫斯基河。并且,我需要在其上放置一个Velodyne VLP-16激光雷达来提取点云。我正在进行的方式是尝试创建我自己的自定义世界并启动赫斯基发布文件,该文件在自定义世界中产生赫斯基。我只是想知道将激光雷达放在哈士奇顶部的最佳方法是什么?我可以修改世界文件吗?或者我需要更改clearpath文件吗?我从Velodyne下载了velodyne_simulator包,它带有一个VLP-16.urdf.xacro。无论如何我可以使用它吗?任何帮助,将不胜感激。谢谢
答案 0 :(得分:0)
赫斯基(Husky)允许通过文件<xacro:include filename="$(arg urdf_extras)" />
中此行代码指示的 husky.urdf.xacro 文件添加其他附件。
文件可位于此处https://github.com/husky/husky/blob/kinetic-devel/husky_description/urdf/husky.urdf.xacro
最后一步是将以下VLP-16代码行添加到/path/to/my/file.urdf
:
<VLP-16 parent="base_link" name="velodyne" topic="/velodyne_points">
<!-- The 0.2 will most likely have to be adjusted to fit -->
<origin xyz="0 0 0.2" rpy="0 0 0" />
</VLP-16>
现在,可以在凉亭中使用VLP-16发射“哈士奇”了。
roslaunch husky_gazebo husky_playpen.launch urdf_extras=/path/to/my/file.urdf
答案 1 :(得分:0)
@ mastash3ff的答案大部分是正确的,除了缺少一些东西。根据最新的赫斯基软件包,您可以通过将环境变量“ HUSKY_URDF_EXTRAS”设置为要包含的urdf文件来调出velodyne VLP-16或说出任何模型。
export HUSKY_URDF_EXTRAS=/path/to/vlp.urdf
在我的情况下,vlp.urdf看起来像这样。您也可以遵循相同的模式
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="example">
<xacro:include filename="$(find velodyne_description)/urdf/VLP-16.urdf.xacro"/>
<VLP-16 parent="top_plate_link" name="velodyne" topic="/velodyne_points" hz="10" samples="440">
<origin xyz="0.2206 0.0 0.00635" rpy="0 0 0" />
</VLP-16>
</robot>
希望这会有所帮助。