AirSim多台无人机控制封装

编程入门 行业动态 更新时间:2024-10-15 04:19:29

AirSim多台<a href=https://www.elefans.com/category/jswz/34/1768918.html style=无人机控制封装"/>

AirSim多台无人机控制封装

AirSim多台无人机控制封装

文章目录

  • AirSim多台无人机控制封装
  • 前言闲谈
  • 本文实现的效果
  • 一、修改settings.json配置文件
  • 二、Base类封装
    • 1.建立configs.yaml配置文件
    • 2.类封装
    • 工程结构
  • 总结


前言闲谈

拖了很久也没有更新文章,一个是因为项目紧急,当前做的仿真工作是为论文服务的,好消息是实验部分已经完成验证,有望在一个月左右完成初稿,届时仿真部分的代码工程会在Github开源,有兴趣的小伙伴记得关注哈;另外就是博主之前写的时候没什么人看,所以没有动力继续写博客。该专栏大概半个月更新一次,大家学习过程有疑问积极在评论区留言(一般不看私信),我有时间就会回复的。

本文实现的效果

在一个进程里通过类封装创建实例对象,利用多线程进行多台无人机的"并行"控制


一、修改settings.json配置文件

为了方便在线程中对多个无人机进行相应绑定操作,如一号子线程控制一号无人机,5号子线程控制所有无人机起飞降落,销毁AirSim代理以及停止仿真等,对于每台无人机的名称,我们可以用基本名称和索引来组合,如

{"SeeDocsAt": ".md","SettingsVersion": 1.2,"SimMode": "Multirotor","PawnPaths": {"Default": {"PawnBP": "Class'/Game/Matrice200/BP_FlyingPawn.BP_FlyingPawn_C'"}},"ClockSpeed": 1.0,"Vehicles": {"Drone0": {"VehicleType": "SimpleFlight","X": 10,"Y": 0,"Z": -0,"Yaw": 0,"EnableTrace": false},"Drone1": {"VehicleType": "SimpleFlight","X": 0,"Y": -6,"Z": -0,"Yaw": 0,"EnableTrace": false},"Drone2": {"VehicleType": "SimpleFlight","X": 0,"Y": -2,"Z": -0,"Yaw": 0,"EnableTrace": false},"Drone3": {"VehicleType": "SimpleFlight","X": 0,"Y": 2,"Z": -0,"Yaw": 0,"EnableTrace": false},"Drone4": {"VehicleType": "SimpleFlight","X": 0,"Y": 6,"Z": -0,"Yaw": 0,"EnableTrace": false}},"CameraDefaults": {"CaptureSettings": [{"ImageType": 0,"Width": 480,"Height": 360,"FOV_Degrees": 90}]}
}

二、Base类封装

1.建立configs.yaml配置文件

为了方便配置实验时使用的无人机,以及设置一些基本参数,比如无人机的base_name,控制的速度,角速率以及PID参数
等等,我们尽量将其写在configs.yaml文件中,不需要在程序中逐个查找修改。

#  ****  base configs **** #
basic_rate: 0.05
basic_velocity: 0.2
yaw_ctrl_ratio: 0.02
basic_throttle: 0.595base_name: 'Drone'
show_trace_line: Falsetarget_vehicle_index: 0
vehicle_index: [0, 1, 2, 3, 4]#  ****  weather ctrl **** #
weather_fog: 0.0
weather_snow: 0.0
weather_wind: [0, 0, 0]
enable_weather_ctrl: False
# NED axis, (0, 15, 0) --> right 15m/s

2.类封装

代码如下:

等待整理上传

工程结构

我们在工程的根目录下建立data 以及uav_swarm 文件夹。其中,data 文件夹用来存放 configs文件,保存数据集和视频等程序自动生成的数据,uav_swarm 文件及用来存放各个模块的源代码

总结

更多推荐

AirSim多台无人机控制封装

本文发布于:2024-03-10 07:43:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727381.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:无人机   多台   AirSim

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!