1.安裝ROS
參考文獻
流程參照
官網安裝
rosdep init和update失敗
驗證
roscore
rosrun turtlesim turtlesim_node
出現小海龜gui界面就行了,因為我這裡安裝完整版是以有界面顯示。comm版本運作roscore不報錯即可。
2.安裝mavros
參考文獻
安裝參考
官網二進制安裝
可能出現的錯
二進制安裝就這幾步
sudo apt-get install ros-kinetic-mavros ros-kinetic-mavros-extras
sudo /opt/ros/kinetic/lib/mavros/install_geographiclib_datasets.sh
測試mavros
roslaunch mavros px4.launch
如果隻出現
FCU: DeviceError:serial:open: No such file or directory
說明成功了。這裡不用開啟roscore。
3.建立工作空間,在空間裡建立節點再編譯
參考文獻
1
2
cd catkin_ws/src
catkin_create_pkg demo std_message mavros roscpp
demo檔案名,後面3個是屬性。
要修改demo裡面的cmakelist,不然不具備運作的屬性
119 include
136add_executable
149target_link_libraries開始3行
複制136行後面檔案名demo_node.cpp在demo的src裡面建立demo_node.cpp檔案,内容直接移植,随便找一個例子好了。
cd catkin_ws
catkin_make
source ./devel/setup.bash
使用ros節點的話一定要運作上面的代碼添加一下環境變量,再啟動ros節點。這裡直接把他添加到bashrc這樣每次運作就不用添加環境變量。
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
4.仿真
1.在Firmware中打開gazebo:
make posix_sitl_default gazebo
2.在Firmware中打開ros核心:
roscore
3.在Firmware中打開連接配接飛控和ubuntu:
roslaunch mavros px4.launch fcu_url:="udp://:[email protected]:14557"
連接配接本地,這是仿真,不連接配接數傳
roslaunch mavros px4.launch fcu_url:=/dev/ttyUSB0:57600
連接配接飛控,這是真的飛,數傳連接配接;需要把qgc參數SYS_COMPAION設定成對應57600,才能連接配接上。
4.建立好mavros節點後編譯,就是上一步
5.
cd ~/catkin_ws
打開終端輸入
rosrun demo demo_node
開啟節點,可以看到gazebo無人機飛起來或者實體無人機直接開始飛了,在室内最好把螺旋槳去掉。