首页 >> 大全

AirSim多台无人机控制封装

2023-11-15 大全 33 作者:考证青年

多台无人机控制封装

文章目录 总结

前言闲谈

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

本文实现的效果

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

_无人机控制终端_无人机控制台

一、修改.json配置文件

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

{"SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.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.建立.yaml配置文件

为了方便配置实验时使用的无人机,以及设置一些基本参数,比如无人机的,控制的速度,角速率以及PID参数

等等,我们尽量将其写在.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 以及 文件夹。其中,data 文件夹用来存放 文件,保存数据集和视频等程序自动生成的数据, 文件及用来存放各个模块的源代码

总结

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了