【轨迹跟踪】模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】

这篇具有很好参考价值的文章主要介绍了【轨迹跟踪】模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【轨迹跟踪】模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】,Matlab物理应用(初级版),matlab

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【轨迹跟踪】基于matlab模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab物理应用(初级版)

备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、部分源代码

% 利用MPC跟踪轨迹
clc
clear
close all
load path.mat

%% 初始参数
dt = 0.1; % 时间步长
L = 2.9; % 轴距
max_steer =60 * pi/180; % in rad
target_v =30.0 / 3.6;

%% 参考轨迹的相关参数
% 定义参考轨迹
refPos = path;
refPos_x = refPos(:,1);
refPos_y = refPos(:,2);

% 计算航向角和曲率
diff_x = diff(refPos_x) ;
diff_x(end+1) = diff_x(end);
diff_y = diff(refPos_y);
diff_y(end+1) = diff_y(end);
derivative1 = gradient(refPos_y) ./ abs(diff_x); % 一阶导数
derivative2 = del2(refPos_y) ./ abs(diff_x); % 二阶导数
refHeading = atan2(diff_y , diff_x); % 航向角
refK = abs(derivative2) ./ (1+derivative1.2).(3/2); % 计算曲率

% 根据阿克曼转向原理,计算参考前轮转角
refDelta = atan(L*refK);

% 绘图
figure
plot(refPos_x,refPos_y,‘r-’)
hold on

%% 主程序
x = refPos_x(1)+0.5;
y = refPos_y(1) + 0.5;
yaw = refHeading(1)+0.02;
v = 0.1;
U = [0.01;0.01];
idx =0;
pos_actual = [refPos_x,refPos_y];
latError_MPC = [];

% 循迹
while idx < length(refPos_x)-1

% 调用MPC控制器
[Delta,v,idx,latError,U] = mpc_control(x,y,yaw,refPos_x,refPos_y,refHeading,refDelta,dt,L,U,target_v) ;

% 误差太大,退出程序
if abs(latError) > 3
    disp('误差过大,退出程序!\n')
    break
end

% 更新状态量
[x,y,yaw] = updateState(x,y,yaw,v , Delta, dt,L, max_steer); 

% 保存每一步的实际量
pos_actual(end+1,:) = [x,y];
latError_MPC(end+1,:) = [idx,latError];

% 画跟踪轨迹图
scatter(x,y,150,'b.')
pause(0.01);

end

%% 保存
path_MPC = pos_actual;
save path_MPC.mat path_MPC
save latError_MPC.mat latError_MPC

⛄三、运行结果

【轨迹跟踪】模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】,Matlab物理应用(初级版),matlab

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]王宇航,李晓峰.无人机轨迹跟踪控制方法研究综述[J].2018

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除文章来源地址https://www.toymoban.com/news/detail-833900.html

到了这里,关于【轨迹跟踪】模型预测控制MPC无人机轨迹跟踪【含Matlab源码 3958期】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【轨迹跟踪】基于自适应跟踪(EAT)方法的无人机/移动机器人轨迹跟踪(Matlab&Simulink)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码Simulink实现 摘

    2024年02月07日
    浏览(34)
  • 路径跟踪算法之模型预测控制(MPC)跟踪

    模型预测控制(以下简称 MPC)是一种依赖于系统模型进行数学优化的复杂控制器。它利用优化算法计算有限时间范围内一系列的控制输入序列,并优化该序列,但控制器仅执行序列中的第一组控制输入,然后再次重复该循环。MPC 主要分为 3 个关键步骤:模型预测、滚动优化

    2024年01月23日
    浏览(37)
  • 【无人机】采用最基本的自由空间路损模型并且不考虑小尺度衰落(多径多普勒)固定翼无人机轨迹规划(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 文献结果:  2.2 Matlab代码复现结果 🎉

    2024年02月01日
    浏览(55)
  • USV的MPC轨迹跟踪控制

    该博客用以记录MPC轨迹控制的理论和matlab程序 被控对象运动学模型,为无人艇USV模型: x ˙ ( k ) = f ( x , u ) = { x ˙ = u cos ⁡ ( ψ ) − v sin ⁡ ( ψ ) y ˙ = u sin ⁡ ( ψ ) + v cos ⁡ ( ψ ) ψ ˙ = r begin{equation} dot{bold{x}}(k)= f(bold{x},bold{u})=left{ begin{aligned} dot{x}=ucos(psi)-vsin(psi) \\\\

    2024年01月19日
    浏览(38)
  • 无人机原理::(一)模型框架与控制系统框架详解

    上图为PX4固件框架总览,蓝色方块是指飞控系统中的各个模块。 下面分别介绍各个模块的作用: Mavlink模块最为常用,可以调整为off_board模式以配合机载电脑,机载电脑可以将控制信息与飞控的姿态信息打包成MAVLink消息传给飞控 对于图中的位置控制与姿态控制模块,主要关

    2024年02月10日
    浏览(41)
  • 【PX4&Simulink&Gazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化

    本篇文章介绍如何使用ROS2控制无人机沿自定义圆形轨迹飞行并在Gazebo中可视化,提供了Matlab/Simulink源代码,以及演示效果图。 环境: MATLAB : R2022b Ubuntu :20.04 LTS Windows :Windows 10 ROS :ROS2 Foxy Python: 3.8.2 Visual Studio :Visual Studio 2019 PX4 :1.13.0 ROS2的应用程序管道非常简单,这要

    2024年02月22日
    浏览(46)
  • 【无人机】四轴无人机的轨迹进行可视化和动画处理(Matlab代码实现)

     📋📋📋 本文目录如下: ⛳️⛳️⛳️ ​ 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 随着传感器检测技术、智能控制技术和材料技术的快速发展,四轴无人机及其配套系统的发展越来越成熟。无人机遥感系统具有成本低、易维护、效率高、时效性强及对环境要求低

    2024年02月14日
    浏览(36)
  • 基于人工蜂群算法多无人机轨迹规划

    # 生物背景 蜜蜂是一种群居生物,生物学家研究发现蜜蜂以跳舞的方式来交换蜜源信息。根据分工的不同,蜜蜂被分为三个工种: 引领峰、跟随蜂、侦察蜂 。 侦察蜂 的职责是侦察蜜源(即蜜蜂的食物),一旦某一个侦察蜂找到蜜源后,实际上它的角色就切换为 引领蜂 了。

    2024年01月19日
    浏览(27)
  • 【无人机协同任务】基于虚拟引导结合MPC的人工势场算法实现无人机群系统协同攻击附Matlab代码

     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进, 代码获取、论文复现及科研仿真合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab完整代码及仿真定制内容点击👇 智能优化算法       神经网络预测       雷达通信    

    2024年02月04日
    浏览(44)
  • 【rotors】多旋翼无人机仿真(二)——设置飞行轨迹

    【rotors】多旋翼无人机仿真(一)——搭建rotors仿真环境 【rotors】多旋翼无人机仿真(二)——设置飞行轨迹 【rotors】多旋翼无人机仿真(三)——SE3控制 【rotors】多旋翼无人机仿真(四)——参数补偿和PID控制 【rotors】多旋翼无人机仿真(五)——多无人机仿真 本贴内

    2024年02月02日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包