一、前言
展示了如何使用虚拟碰撞传感器以交互方式控制仿真,以及如何使用 Simulink3D 动画更改虚拟世界对象的外观。该示例表示一个简单的无人机 (UAV) 挑战。无人机比赛场景基于2013年在法国图卢兹举行的IMAV飞行比赛。
穿越窗口
降落直升机停机坪
二、示例
比赛任务是飞过蓝墙上的大窗户,越过障碍物,降落在蓝色着陆区的直升机停机坪上。飞行时间在越过起始窗口时开始,当无人机降落在直升机停机坪时,模拟停止。在飞行过程中,记录与障碍杆的碰撞次数。在越过起始窗口之前,击中蓝色启动墙是注册的,没有惩罚,您可以进入开始窗口。
simulink模型:
默认情况下,为无人机设置模型以遵循预定义的轨迹。您还可以使用SpaceMouse(R)来控制无人机,并手动将其穿过障碍物飞到着陆台上。要更改导航源,请在模型中切换 SpaceMouse/预定义导航开关块。
在相关的虚拟世界中,定义了四个节点来检测无人机与各种目标几何形状的碰撞——起始墙、起始窗口、橙色障碍杆和着陆直升机停机坪。传感器为仿真提供以下反馈:
撞击起始墙只会改变墙的颜色
通过起始窗口将开始挑战的经过时间
与障碍物的碰撞将被记录并计入得分
降落在直升机停机坪会停止模拟,并将无人机旋翼叶片的视觉外观设置为静态状态
碰撞是近似的 - 检测包裹在无人机机身上的透明盒子的碰撞。在模型中,有VR接收器,VR源和VR文本输出块,与相同的虚拟世界相关联。VR源用于读取传感器信号。VR接收器用于设置虚拟世界对象的无人机位置/旋转和视觉属性。VR 文本输出模块更新 HUD 显示文本。
三、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
使用simulink,打开下面的“xxx.slx”文件,点击运行,就可以看到上述效果。
程序下载:基于simulink仿真无人机比赛场景资源-CSDN文库