agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?
生活随笔
收集整理的這篇文章主要介紹了
agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.?搭建無人機仿真環境
首先需要安裝mavros,這是一個飛機固件與ros通信的包:sudo apt install ros-kinetic-mavros ros-kinetic-mavros-extraswget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.shsudo chmod a+x ./install_geographiclib_datasets.sh./install_geographiclib_datasets.sh ##此時執行速度很慢,耐心等待完成接下來,下載固件:git clone https://github.com/PX4/Firmware.git ##我一般將固件放在主目錄下而不是ros的工作空間中cd Firmwaregit checkout v1.9.2make posix_sitl_default gazebo一般來說,第一次安裝飛控固件,編譯時會報錯,因為缺少了必要的python依賴,因此在下載玩Firmware后,在編譯之前,首先: cd Firmware bash bash ./Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools ##此處跳過了仿真器的安裝,因為已經在ros已經配置好了這之后,再執行下面指令,一般就不會出錯,如果繼續報錯,一般為個人電腦環境配置的問題,請根據終端中的錯誤提示自行安裝依賴。make posix_sitl_default gazebo現在,px4無人機的基本環境就配置好了,應該可以看到gazebo界面中已經有了一個叫做iris的無人機。為了方便,將Firmware的環境變量加入bashrc中:source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware/ ~/Firmware/build/px4_sitl_defaultexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmwareexport ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/Tools/sitl_gazebo在這之后,就可以通過launch文件啟動仿真了:roslaunch px4 mavros_posix_sitl.launch ##此命令同時啟動了mavros接下來,安裝無人機的地面站控制軟件QGC:sudo usermod -a -G dialout $USERsudo apt-get remove modemmanager -ysudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav -yDownload [QGroundControl.AppImage](https://s3-us-west-2.amazonaws.com/qgroundcontrol/latest/QGroundControl.AppImage)chmod +x ./QGroundControl.AppImage./QGroundControl.AppImage (or double click)打開地面站后,可以看見已經自動連接上了仿真中的無人機。在這里,無人機環境搭建已經全部完成了。2. 切換無人機模型
上面啟動的無人機,并沒有攜帶相機,我們進行目標檢測,需要攜帶一個攝像頭,Firmware中已經提供了模型,因此,我們只需要更換一個帶有相機的飛機模型。
我提供了一個模型下載:鏈接: https://pan.baidu.com/s/1JnmHeN7RIQmiY630dSQlRw ?密碼: 7sqd
?
將下載的模型放到Firmware/tools/sitl_gazebo/models下,替換原來的模型文件。然后修改Fimeware/launch/mavros_posix_sitl.launch的第16行:name=”sdf” default=”$(find mavlink_sitl_gazebo)/models/iris_stereo_camera/iris_stereo_camera.sdf”/>此時,iris模型已經攜帶了一臺雙目相機,有用的話題為:/stereo/camera/left/camera_info/stereo/camera/left/image_raw/stereo/camera/right/camera_info/stereo/camera/right/image_raw
3. 配置YOLO環境
該過程參開官方配置文檔即可,基本沒什么坑,yolo并不完全依賴gpu,但是沒有gpu速度會非常慢。官網提供的環境配置為:darkned_ros安裝配置方法?https://github.com/leggedrobotics/darknet_ros
按照官方文檔安裝必要的依賴和包是非常有必要的。安裝完成后,需要修改兩處:首先,在darknet_ros/launch/darknet_ros.launch中修改:"image" 接著修改darknet_ros/config/ros.yaml:camera_reading: topic: /stereo/camera/left/image_raw然后運行:roslaunch darknet_ros darknet_ros.launch此時在終端中可以看到:說明yolo已經正常運行并且開始檢測目標了。接著,可以在gazebo中添加各種模型,然后使用yolo進行檢測。本文在這里提供一個gazebo的world文件,下載地址為:XTDronehttps://gitee.com/robin_shaun/XTDrone下載后,復制 XTDrone /sitl_config /worlds/outdoor1.world到Firmware/tools/sitl_gazebo/worlds下。接著修改Fimeware/launch/mavros_posix_sitl.launch的第15行為:"world" 此時再次啟動,應該看到是這樣的:這樣,就完成了所有的配置。
4.?運行效果展示
關閉之前所有的命令,按照這個順序重新啟動仿真:roslaunch px4 mavros_posix_sitl.launch啟動地面站 ##此處建議使用游戲手柄控制無人機,或更簡單直接開啟QGC自帶的虛擬搖桿功能對飛機控制roslaunch darknet_ros darknet_ros.launch演示效果請看視頻:最后,如果你對無人機的仿真和應用感興趣,推薦一個非常優秀的開源的無人機項目:XTDrone??(https://gitee.com/robin_shaun/XTDrone)在里面可以學習到更多的無人機知識。古月居原創作者簽約計劃已開啟,網站(guyuehome.com)已上線【投稿】功能,歡迎大家積極投稿,原創優質文章作者將有機會成為古月居簽約作者。
總結
以上是生活随笔為你收集整理的agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 记录用户转成超级用户的文件名字_Linu
- 下一篇: excel取整函数_数据分析小白学习之路