下载hector_quadrotor软件包
软件库地址
https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor/tree/indigo-devel
下载后解压到自己的工作空间的src目录下.
注意:最后一个文件包括了hector_quadrotor及其依赖项的下载指令.
执行指令:
[email protected]:~/indigo_workspace/hector_quadrotor_ws$ wstool init src /home/g214-m1/indigo_workspace/hector_quadrotor_ws/src/hector_quadrotor/tutorials.rosinstall
下载完成后,有可能会将hector_quadrotor重新下载一遍,如果是的话,那么删除其中一个即可.
到此,hector_quadrotor和一些依赖包就下载完了.
编译:
整个编译过程会出现好几个缺失包的错误,解决办法就是耐心地一个一个下载,然后再编译
错误1:
办法:
https://github.com/ros-controls/ros_control/tree/indigo-devel
到上面的网址下载缺失的程序包,放到src目录下.
错误2:
办法:
https://github.com/ros-simulation/gazebo_ros_pkgs/tree/indigo-devel
到上面的网址下载缺失的程序包,放到src目录下.
错误3:
办法:
https://github.com/ros-controls/realtime_tools/tree/indigo-devel
到上面的网址下载缺失的程序包,放到src目录下.
错误4:
办法:
https://github.com/ros-controls/control_toolbox/tree/indigo-devel
到上面的网址下载缺失的程序包,放到src目录下.
错误5:
办法:
https://github.com/ros-geographic-info/geographic_info
到上面的网址下载缺失的程序包,放到src目录下.
错误6:
办法:
https://github.com/ros-geographic-info/unique_identifier
到上面的网址下载缺失的程序包,放到src目录下.
到此,该下载的东西都已经下载好了
编译catkin_make,最后还会有一个hector_pose_estimation_core程序包找不到geographic_msgs/GeoPose.h的编译错误!
这个错误是因为hector_pose_estimation_core程序包下的include文件夹下没有包含geographic_msgs/GeoPose.h头文件,那怎么办呢?
解决办法很有可能是将geographic_msgs程序包安装进系统,hector_pose_estimation_core编译的时候即使在自身的程序包中不含有geographic_msgs/GeoPose.h这个头文件,那么也能在系统路径中搜索到.
sudo apt-cache search geographic-msgs
发现真的有可用的安装包,那么我们就选择安装!
然后再catkin_make,就真得可以编译成功了!!!
番外:
再记录一下安tab补全ros包时有可能会出现的小问题,如下
[rospack]Warning: error while crawling /home/g214-m1:boost::filesystem::status: Permission denied: "/home/g214-m1/.gvfs"
解决办法:
tab补全操作将会变得正常.
跑一下demo
roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch
rviz:
gazebo: