Airsim动态 | ROS教程(AirSim ROS Tutorial)

导语
今天为大家带来一组教程,为ROS中使用AirSim提供了教学示例。其中包含有AirSim的settings.json,roslaunch和rviz文件的讲解。针对如何在AirSim中添加其他飞机模型,我们在最后讲解了怎么将Gazebo中的飞行模型导入到AirSim中,快来和阿木一起看看吧。

一、设置
1.首先检查是否已经完成airsim_ros_pkgs的安装程序和其他必要的安装。
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

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

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
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 rviz.launch

可以在rivz中查看tfs,并在【rostopic list】和【rosservice list】中检查服务缴费。

  1. 二十五架飞机方阵
    Settings.json - twenty_five_drones.json
    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 rviz.launch

同上,可以在rivz中查看tfs,并在【rostopic list】和【rosservice list】中检查服务缴费。

Gazebo仿真软件中所使用的飞机模型,也可以直接导入到AirSim中,并且能够使用Gazebo无人机作为飞机动力学模型(FDM)并且生成环境传感器数据。可以实现多轴飞行器,固定翼以及任何其他飞行器模型。

四、导入Gazebo模型
1.确保已经安装了Gazebo依赖项:
sudo apt-get install libgazebo9-dev

  1. 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科技的教育和智能装备,让机器人研发更高效!

你可能感兴趣的:(Airsim动态 | ROS教程(AirSim ROS Tutorial))