天天看點

ubuntu16.04安裝ros和mavros及仿真1.安裝ROS2.安裝mavros3.建立工作空間,在空間裡建立節點再編譯4.仿真

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無人機飛起來或者實體無人機直接開始飛了,在室内最好把螺旋槳去掉。

繼續閱讀