Airsim動態 | ROS教程(AirSim ROS Tutorial)

導語 今天爲大家帶來一組教程,爲ROS中使用AirSim提供了教學示例。其中包含有AirSim的settings.json,roslaunch和rviz文件的講解。針對如何在AirSim中添加其他飛機模型,我們在最後講解了怎麼將Gazebo中的飛行模型導入到AirSim中,快來和阿木一起看看吧。

一、設置 1.首先檢查是否已經完成airsim_ros_pkgs的安裝程序和其他必要的安裝。 $ cd PATH_TO/AirSim/ros $ catkin build airsim_tutorial_pkgs

2.請注意,這裏如果您的GCC版本不是8以上的版本,則會導致編譯失敗。 catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8

注意: 對於運行示例,以及每當打開新終端時,【setup.bash】都需要獲取文件。如果您經常使用 ROS wrapper,則可以添加【source PATH_TO/AirSim/ros/devel/setup.bash】到【~/.profile】或【~/.bashrc】中,這樣可以避免每次打開新終端時都需要運行該命令。

二、示例 1.搭載單目和深度相機以及激光雷達的單無人機 Settings.json - front_stereo_and_center_mono.json

$ source PATH_TO/AirSim/ros/devel/setup.bash $ roscd airsim_tutorial_pkgs $ cp settings/front_stereo_and_center_mono.json ~/Documents/AirSim/settings.json

Start your unreal package or binary here

$ roslaunch airsim_ros_pkgs airsim_node.launch;

in a new pane / terminal

$ source PATH_TO/AirSim/ros/devel/setup.bash $ roslaunch airsim_tutorial_pkgs front_stereo_and_center_mono.launch

以上是使用tf’s啓動的rviz。通過使用depth_to_pointcloud啓動文件並使用depth_image_proc註冊的RGBD雲端。

2.兩架無人機,並且每架都有攝像頭、激光雷達、IMU模塊 Settings.json - two_drones_camera_lidar_imu.json $ source PATH_TO/AirSim/ros/devel/setup.bash $ roscd airsim_tutorial_pkgs $ cp settings/two_drones_camera_lidar_imu.json ~/Documents/AirSim/settings.json

Start your unreal package or binary here

$ roslaunch airsim_ros_pkgs airsim_node.launch; $ roslaunch airsim_ros_pkgs rviz.launch

可以在rivz中查看tfs,並在【rostopic list】和【rosservice list】中檢查服務繳費。

  1. 二十五架飛機方陣 Settings.json - twenty_five_drones.json $ source PATH_TO/AirSim/ros/devel/setup.bash $ roscd airsim_tutorial_pkgs $ cp settings/twenty_five_drones.json ~/Documents/AirSim/settings.json

Start your unreal package or binary here

$ roslaunch airsim_ros_pkgs airsim_node.launch; $ roslaunch airsim_ros_pkgs rviz.launch

同上,可以在rivz中查看tfs,並在【rostopic list】和【rosservice list】中檢查服務繳費。 。

Gazebo仿真軟件中所使用的飛機模型,也可以直接導入到AirSim中,並且能夠使用Gazebo無人機作爲飛機動力學模型(FDM)並且生成環境傳感器數據。可以實現多軸飛行器,固定翼以及任何其他飛行器模型。

四、導入Gazebo模型 1.確保已經安裝了Gazebo依賴項: sudo apt-get install libgazebo9-dev 2. AirLab 該項目是從GCC 8構建出來的,所以AirLib也需要用GCC 8進行構建,從AirSim的根文件進行運行:

./clean.sh ./setup.sh ./build.sh --gcc

  1. Airsim中的設置 AirSim模擬器的UE插件需要用clang構建,所以不能使用上步進行編譯,可以使用官方所提供的的二進制文件 (https://github.com/microsoft/AirSim/releases), 或者可以在了另一個文件夾中再次克隆AirSim,並在沒有上面選項的情況下構建它,然後可以運行Blocks測試文件或者自己所添加的文件。

在AirSim中的設置需要現在【settings.json】文件中個,添加以下行: "PhysicsEngineName":"ExternalPhysicsEngine"

如果需要更改AirSim無人機的視覺模型,可以按照官網教程進行操作: https://youtu.be/Bp86WiLUC80

  1. 創建 從AirSim的根文件夾執行此操作:

cd GazeboDrone mkdir build && cd build cmake -DCMAKE_C_COMPILER=gcc-8 -DCMAKE_CXX_COMPILER=g++-8 .. make

  1. 運行 注意此處運行需要先運行AirSim模擬器和Gazebo模型,然後從AirSim根文件夾執行命令:

cd GazeboDrone/build ./GazeboDrone

參考資料: 1.有關ROS API的相關資料可以參考: https://github.com/microsoft/AirSim/blob/master/docs/airsim_ros_pkgs.md

2.AirSim中ROS使用教程: https://microsoft.github.io/AirSim/airsim_tutorial_pkgs/

3.導入Gazebo仿真模型: https://microsoft.github.io/AirSim/gazebo_drone/

  • End -

技術發展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業最新的技術和硬件推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公衆號,我們將持續發佈機器人行業最有價值的信息和技術。 阿木實驗室致力於前沿IT科技的教育和智能裝備,讓機器人研發更高效!

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