基於Ros系統的Dronet安裝與使用

一、基於Ros的Dronet的安裝介紹,以及必須具備的組件

1、Dronet介紹:https://github.com/uzh-rpg/rpg_public_dronet

是一個神經網絡,有一定的障礙物識別能力,輸入一定質量的場景圖片,能夠識別圖片中的障礙物,並且根絕障礙物的場景判定是不是障礙物,從而可以給無人機一個輔助參考信號,因爲神經網絡是概率模型,很有可能某一部分障礙物是不具備識別特徵的,所以此方案必須結合其他方法使用。

2、Bebop介紹:https://bebop-autonomy.readthedocs.io/en/latest/installation.html

官方解釋:bebop_autonomy - ROS Driver for Parrot Bebop Drone (quadrocopter),意思就是可以用來驅動Parrot Bebop Drone無人機,從而對無人機進行控制,同時可以利用此驅動採集無人機的各個傳感器數據,來達到融合控制的目的。

3、安裝流程介紹:

1)首先安裝ros操作系統

2)然後安裝bebop組件

3)接着安裝Dronet神經網絡組件包

4)安裝Dronet控制組件包

5)啓動ros系統,並且通過命令進行控制

二、Ros操作系統的安裝

1、官方文檔地址:http://wiki.ros.org/kinetic/Installation/Ubuntu

2、此部分完成按照官方教程安裝就可以了,最後看下環境變量ROS_PACKAGE_PATH,是不是包含編譯的Ros目錄,如果沒有包含那麼就需要重新添加環境變量。

三、bebop組件安裝

1、文檔地址:https://bebop-autonomy.readthedocs.io/en/latest/installation.html

2、安裝依賴的Python庫:

# sudo apt-get install build-essential python-rosdep python-catkin-tools

3、創建工作環境,此工作環境是依賴於ros的依賴環境,初始化以後就可以使用了,不過此工作環境只是有了bebop的基礎環境,如果需要執行復雜的任務,那麼就需要編寫更多的package來進行任務處理了。

# Create and initialize the workspace

$ mkdir -p ~/bebop_ws/src && cd ~/bebop_ws

$ catkin init

$ git clone https://github.com/AutonomyLab/bebop_autonomy.git src/bebop_autonomy

# Update rosdep database and install dependencies (including parrot_arsdk)

$ rosdep update

$ rosdep install --from-paths src -i

# Build the workspace

$ catkin build

 

四、安裝DroNet package

1、安裝DroNet perception package

將dronet_perception包複製src下面的dronet文件夾

cp -r YOUR_PATH/dronet_perception ~/bebop_ws/src/dronet

cd ~/bebop_ws/src/dronet/dronet_perception

catkin build --this

2、同理安裝dronet_control,再次提示,千萬不要完全按照原版官方安裝,不然就會出現錯誤。

3、在安裝以上兩個包的時候有可能會出現包丟失的錯誤,從官網下載下來放在src目錄裏面安裝就好了

比如catkin_simple包缺失會導致編譯不過,所以得先到官方下載然後catkin build –this編譯以後就可以了,這裏順便說下,ros系統的軟件都是寫成包的形式,編譯然後安裝(其實並不是真的安裝,只是將編譯生成的可執行程序的路徑加到了環境變量裏面)。

4、測試以上的包是否安裝成功

1)對無人機的控制板塊測試程序:

cd ~/bebop_ws/dronet/dronet_perception/launch

roslaunch bebop_launch.launch

2)對無人機的神經網絡處理板塊測試:

cd ~/bebop_ws/dronet/dronet_perception/launch

roslaunch dronet_launch.launch

需要注意的是在測試以前一定要先運行roscore運行主節點,然後才能進行分只節點的測試。

5、ros系統的簡單原理

Ros系統其實就是一個多線程的管理工具,用於管理多個節點產生的信息,並且採集到的信息能夠和主節點進行反饋,從而通過節點來控制多個傳感器的使用。

五、Publish commands through a GUI (RECOMMENDED)

It is generally recommended to implement a GUI(http://wiki.ros.org/rqt) to perform all the aforementioned steps. In this way, it will be easier to command the drone, and perform quickly many experiments. The steps to do remain the same as in the previous section.

本文主要的介紹就是通過gui對無人機的bebop工具發送指令,從而控制無人機。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章