未知环境下四旋飞行器运动规划应用研究Matlab代码实现
👨🎓个人主页:研学社的博客
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
无人机现在利用最佳搜索策略,使用PRISM模型检查器生成,以寻找目标。本文设计并编写了一种对抗性模式搜索算法来比较性能。
四旋翼无人机由于具有可悬停,可垂直起降,在设计速度范围内向任意方向飞行的运动特点,以及结构简单,构造容易,成本低廉等特点,被广泛运用于巡检、救灾、农业植保等各个领域。对于四旋翼无人机来说,运动规划就是在给定的障碍环境中,从无人机当前的未知到给定摘要未知找到一条安全的无人机可以执行的轨迹,而在未知环境下进行运动规划是无人机执行复杂任务的关键能力。本文以此为应用研究背景,从软件系统设计层面,本文的研究主要包括三个关键方面:路径规划、轨迹规划以及在未知环境下整个运动规划系统控制问题。本文首先针对四旋翼无人机的硬件平台及飞行系统,对未知环境下的运动规划应用进行了分析,将整个应用分成了:地图表示、运动规划、安全检测、状态管理四个关键组成。确立了以运动规划问题为主要研究对象,并结合运动规划问题的评价标准,使用路径规划加轨迹规划来解决运动规划问题。对于路径规划问题,本文采用确定性算法,采用路径搜索的思想在真实环境下规划出一条最短路径。使用状态栅格算法,基于四旋翼无人机的运动学,通过离散控制空间的方法构建搜索图并使用图搜素算法找到最优路径,并对状态栅格算法进行了改进,通过解决最优边界值问题基于运动学重新设计了算法的启发式函数,提高了图搜素过程的速度,并通过仿真实验对结果进行了验证。
📚2 运行结果
动态视频,这里就放几张运行结果图:
-
Transporting decreased battery by 8 ; Coordinates = (2,2); New battery value: 8
-
Time 125.74 s: Identifying target
-
Time 125.75 s: Moving above target
-
Above target
-
Time 130.56 s: Descending to grab
-
Target within reach
-
Time 133.59 s: Grabbing target
-
Grabbed successfully
-
Time 133.60 s: Ascending to transport
-
At transport height
-
Time 136.93 s: Transporting target
-
Above drop zone
-
Time 141.12 s: Descending to deposit
-
Releasing grabber
-
Time 144.44 s: Dropping target
-
All targets deposited
-
Time 144.45 s: Landing
-
Landed
-
Time 146.77 s: Agent idle
-
MISSION COMPLETE
-
-
Simulation complete
-
Time taken: 31.02 s
-
-
-
- VISUALISATIONS -------------------------
-
|
-
| 1: Animate agents
-
| 2: Compare states
-
| 3: Compare inputs
-
| 0: Exit
-
| x: Exit and close all windows
-
|
-
| Select visualisation: 2
-
|
-
------------------------------------------
-
-
Generating state comparison...
-
-
-
- AGENT STATE COMPARISON -----------------
-
|
-
| Select property to compare:
-
|
-
| Individual rigid-body states:
-
| x, y, z, phi, theta, psi,
-
| xdot, ydot, zdot, p, q, r,
-
|
-
| Grabber arm position:
-
| xG, yG, zG, xGdot, yGdot, zGdot
-
|
-
| Combined rigid-body states:
-
| position, attitude, velocity, ang rates,
-
| Gposition, Gvelocity
-
|
-
| Camera gimbal states:
-
| phiG, thetaG
-
|
-
| Other properties:
-
| battery, airspeed
-
|
-
| Selection: battery
-
|
-
| Comparing results for battery...
-
|
-
------------------------------------------
-
-
Returning to main menu...
-
-
-
- VISUALISATIONS -------------------------
-
|
-
| 1: Animate agents
-
| 2: Compare states
-
| 3: Compare inputs
-
| 0: Exit
-
| x: Exit and close all windows
-
|
-
| Select visualisation: 1
-
|
-
------------------------------------------
-
-
Animating agents...
-
Transporting decreased battery by 8 ; Coordinates = (2,2); New battery value: 8
Time 125.74 s: Identifying target
Time 125.75 s: Moving above target
Above target
Time 130.56 s: Descending to grab
Target within reach
Time 133.59 s: Grabbing target
Grabbed successfully
Time 133.60 s: Ascending to transport
At transport height
Time 136.93 s: Transporting target
Above drop zone
Time 141.12 s: Descending to deposit
Releasing grabber
Time 144.44 s: Dropping target
All targets deposited
Time 144.45 s: Landing
Landed
Time 146.77 s: Agent idle
MISSION COMPLETE
Simulation complete
Time taken: 31.02 s
- VISUALISATIONS -------------------------
|
| 1: Animate agents
| 2: Compare states
| 3: Compare inputs
| 0: Exit
| x: Exit and close all windows
|
| Select visualisation: 2
|
------------------------------------------
Generating state comparison...
- AGENT STATE COMPARISON -----------------
|
| Select property to compare:
|
| Individual rigid-body states:
| x, y, z, phi, theta, psi,
| xdot, ydot, zdot, p, q, r,
|
| Grabber arm position:
| xG, yG, zG, xGdot, yGdot, zGdot
|
| Combined rigid-body states:
| position, attitude, velocity, ang rates,
| Gposition, Gvelocity
|
| Camera gimbal states:
| phiG, thetaG
|
| Other properties:
| battery, airspeed
|
| Selection: battery
|
| Comparing results for battery...
|
------------------------------------------
Returning to main menu...
- VISUALISATIONS -------------------------
|
| 1: Animate agents
| 2: Compare states
| 3: Compare inputs
| 0: Exit
| x: Exit and close all windows
|
| Select visualisation: 1
|
------------------------------------------
Animating agents...
🌈3 Matlab代码实现
部分代码:
% Monte Carlo simulation script based on RunSimSingle.
% Runs 1000 instances of the simulation recording run time and mission
% status.
close all
clearvars -except h GlobalTime Count Run Runs SaveFile
clc
fprintf('-----------------------------------------------------\n')
fprintf('Monte Carlo Simulation of UAV\n')
fprintf('Douglas H Fraser\n')
fprintf('March 2019\n')
fprintf('-----------------------------------------------------\n\n')
SimTime = tic;
NumSims = 100;
fprintf('Running %d simulations...\n\n', NumSims)
results = ["Sim #","Time","Status","Battery Used","Remaining Objects","Initial Search Mode","Final Search Mode","Details"];
% Simulation Loop --------------------------------------------------
for simNum = 1:NumSims
close all
clearvars -except h GlobalTime row results simNum NumSims Count Run Runs SaveFile
% Initialize controller and environment for simulation.
DecisionsFile = 'ControllerV2/scenario3b_5x5_1'; % Initial state: 303
[States, Transitions] = LoadDecisions(DecisionsFile);
Environment = cEnvironment('Grid size',[5, 5]);
Agents.Quad = cQuadrotor('Quad',Environment,'Pose',[0 0 0 0 0 0]',...
'States', States, 'Transitions', Transitions);
% Targets
NumTargets = 3;
Shapes = {'Cube','Ball','Pyramid'};
for i = 1:NumTargets
Agents.Target(i) = cTarget(Shapes{i},Environment);
end
% Simulation properties
t = 0; % Initialise time (s)
tfin = 500; % End time (s)
dt = 0.002; % Solver increment (s)
tsamp = dt; % Sample increment (s)
tsamp = 0.05;
% Initialise blackbox
Data = cBlackBox;
% Initialise
Sim = cSimEngine(Data,Environment,Agents,t,tfin,dt,tsamp);
% Simulation loop
fprintf('Running instance #%d of %d\n',
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhaegej
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13