下載hector_quadrotor軟件包
軟件庫地址
https://github.com/tu-darmstadt-ros-pkg/hector_quadrotor/tree/indigo-devel
下載後解壓到自己的工作空間的src目錄下.
注意:最後一個文件包括了hector_quadrotor及其依賴項的下載指令.
執行指令:
g214-m1@g214-m1:~/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: