天天看点

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

下载hector_quadrotor软件包

软件库地址

https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor/tree/indigo-devel

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

下载后解压到自己的工作空间的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:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-controls/ros_control/tree/indigo-devel

到上面的网址下载缺失的程序包,放到src目录下.

错误2:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-simulation/gazebo_ros_pkgs/tree/indigo-devel

到上面的网址下载缺失的程序包,放到src目录下.

错误3:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-controls/realtime_tools/tree/indigo-devel

到上面的网址下载缺失的程序包,放到src目录下.

错误4:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-controls/control_toolbox/tree/indigo-devel

到上面的网址下载缺失的程序包,放到src目录下.

错误5:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-geographic-info/geographic_info

到上面的网址下载缺失的程序包,放到src目录下.

错误6:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

办法:

https://github.com/ros-geographic-info/unique_identifier

到上面的网址下载缺失的程序包,放到src目录下.

到此,该下载的东西都已经下载好了

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

编译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
           

发现真的有可用的安装包,那么我们就选择安装!

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

然后再catkin_make,就真得可以编译成功了!!!

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

番外:

再记录一下安tab补全ros包时有可能会出现的小问题,如下

[rospack]Warning: error while crawling /home/g214-m1:boost::filesystem::status: Permission denied: "/home/g214-m1/.gvfs"

解决办法:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

tab补全操作将会变得正常.

跑一下demo

roslaunch hector_quadrotor_demo outdoor_flight_gazebo.launch
           

rviz:

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

gazebo: 

ROS-indigo版本下hector_quadrotor的编译问题总结及解决方案

继续阅读