PX4开发指南-11.6.Gazebo Octomap
PX4开发指南-11.6.Gazebo Octomap
OctoMap
安装
需要预先安装ROS,Gazebo和Rotors Simulator插件,按照Rotors Simulator中的指南安装这些。
接着,安装OctoMap库
sudo apt-get install ros-indigo-octomap ros-indigo- octomap-mapping
rosdep install octomap_mapping
rosmake octomap_mapping
- 现在,打开
~/catkin_ws/src/rotors_simulator/rotors_gazebo/CMakeLists.txt
并在文件底部添加下面内容:
find_package(octomap REQUIRED)
include_directories(${OCTOMAP_INCLUDE_DIRS})
link_libraries(${OCTOMAP_LIBRARIES})
- 打开
~/catkin_ws/src/rotors_simulator/rotors_gazebo/package.xml
添加下面内容:
<build/depend>octomap</build/depend>
<run_depend>octomap</run_depend>
- 执行下面两行
提示:第一行是将默认的shell编辑器(vim)修改为gedit。推荐不熟悉vim的用户使用,如果熟悉的话,可以忽略。
export EDITOR='gedit'
rosed octomap_server octomap_tracking_server.launch
- 将下面两行
<param name="frame_id" type="string" value="map" />
...
<!--remap from="cloud_in" to="/rgbdslam/batch_clouds" /-->
- 修改为
<param name="frame_id" type="string" value="world" />
...
<remap from="cloud_in" to="/firefly/vi_sensor/camera_depth/depth/points" />
运行仿真
- 现在,在三个不同的终端窗口中执行下面三行。这将打开Gazebo,Rviz和octomap服务器。
roslaunch rotors_gazebo mav_hovering_example_with_vi_sensor.launch mav_name:=firefly
rviz
roslaunch octomap_server octomap_tracking_server.launch
在Rviz窗口的左上方,修改域
Fixed Frame
,将map
改为world
,然后在窗口左下方单击add按钮并选择MarkerArray,最后双击MarkerArray
,并将Marker Topic
从/free_cells_vis_array
修改为/occupied_cells_vis_array
。现在,你应该看到地面的一部分。
在Gazebo窗口的红色旋翼飞行器前方插入一个立方体,此时你应该可以在Rviz中看到它。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号