【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码实现


????1 概述

四旋翼飞行器是一种能够垂直起降和悬停的飞行器,由四个独立的旋翼推进器提供动力。它们通常被用于航拍、搜救和军事应用等领域。而悬链机器人是一种由缆绳悬挂并由外部推动的机器人,常用于高空作业和建筑清洁等领域。

设计和控制由两个四旋翼飞行器推动的缆绳研究,可以将两个四旋翼飞行器连接在一起,通过缆绳将它们与悬链机器人连接。这样的设计可以使悬链机器人具有更强的动力和稳定性,从而提高其在高空作业和其他领域的应用效率。

在控制方面,需要设计一套复杂的控制系统来协调两个四旋翼飞行器的动作,确保它们能够有效地推动悬链机器人并保持平衡。这可能涉及到对飞行器的姿态控制、飞行路径规划和动力分配等方面的研究。

综上,设计和控制由两个四旋翼飞行器推动的缆绳研究是一项复杂而具有挑战性的工作,但它有望为悬链机器人的应用带来新的突破和进展。通过充分发挥四旋翼飞行器的优势,可以为悬链机器人赋予更大的动力和灵活性,从而拓展其在各种领域的应用范围。

???? 2 运行结果

部分代码:

%% plot function
function plott(t,x,xdA,posA_err_fx,velA_err_fx, xdB,posB_err_fx,velB_err_fx, xC, xdC,params)
disp('Plotting graphs...');
index = round(linspace(1, length(t), round(1*length(t))));
figure(1);
subplot(3,1,1);
plot(t(index),x(index,1),'Color',[0.3010 0.7450 0.9330],'LineWidth',2); hold on;
%         plot(t(index),xdA(index,1),':r','LineWidth',2);
plot(t(index),x(index,19),'Color',[0.9290 0.6940 0.1250],'LineWidth',2);
%         plot(t(index),xdB(index,1),':r','LineWidth',2);
plot(t(index),xC(index,1),'b','LineWidth',2);
plot(t(index),xdC(index,1),':r','LineWidth',2);


hold off;
%axis equal;
grid on;
legend('$x_A$','$x_B$','$x_C$','$x_C$ desired','Interpreter','latex');%axis equal;
ylabel('$x(m)$','Interpreter','latex');set(gca,'xticklabel',[])

subplot(3,1,2);
plot(t(index),x(index,2),'Color',[0.3010 0.7450 0.9330],'LineWidth',2); hold on;
%         plot(t(index),xdA(index,2),':r','LineWidth',2);
plot(t(index),x(index,20),'Color',[0.9290 0.6940 0.1250],'LineWidth',2);
%         plot(t(index),xdB(index,2),':r','LineWidth',2);
plot(t(index),xC(index,2),'b','LineWidth',2);
plot(t(index),xdC(index,2),':r','LineWidth',2);hold off;
%axis equal;
grid on;
legend('$x_A$','$x_B$','$x_C$','$x_C$ desired','Interpreter','latex');
ylabel('$y(m)$','Interpreter','latex');set(gca,'xticklabel',[])

subplot(3,1,3);
plot(t(index),x(index,3),'Color',[0.3010 0.7450 0.9330],'LineWidth',2); hold on;
plot(t(index),x(index,21),'Color',[0.9290 0.6940 0.1250],'LineWidth',2);
plot(t(index),xC(index,3),'b','LineWidth',2);
plot(t(index),xdC(index,3),':r','LineWidth',2);hold off;
%axis equal;

grid on;
legend('$x_A$','$x_B$','$x_C$','$x_C$ desired','Interpreter','latex');
xlabel('$t(s)$','Interpreter','latex');ylabel('$z(m)$','Interpreter','latex');
print('../results/FigTrajectory','-dpng')

figure(2)
plot3(x(index,1),x(index,2),x(index,3),'-b','LineWidth',2); hold on;
plot3(xdA(index,1),xdA(index,2),xdA(index,3),'-.r','LineWidth',3.5);

plot3(x(index,19),x(index,20),x(index,21),'-k','LineWidth',2);
plot3(xdB(index,1),xdB(index,2),xdB(index,3),':r','LineWidth',3.5);

plot3(xC(index,1),xC(index,2),xC(index,3),'Color',[0.4660 0.6740 0.1880],'LineWidth',2);
plot3(xdC(index,1),xdC(index,2),xdC(index,3),'or','LineWidth',5);
plot3(x(end,1),x(end,2),x(end,3),'ok','LineWidth',4);
plot3(x(end,19),x(end,20),x(end,21),'ok','LineWidth',4);

plot3(x(1,1),x(1,2),x(1,3),'or','LineWidth',2);
plot3(x(1,19),x(1,20),x(1,21),'or','LineWidth',2);

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]宋曜先.四旋翼无人飞行器编队控制算法的研究[D].杭州电子科技大学[2023-11-22].DOI:CNKI:CDMD:2.1017.133374.

[2]庞庆霈,李家文,黄文浩.四旋翼飞行器设计与平稳控制仿真研究[J].电光与控制, 2012, 19(3):5.DOI:10.3969/j.issn.1671-637X.2012.03.012.

[3]曹健,丁力.四旋翼飞行器的动态滑模轨迹跟踪控制研究[J].组合机床与自动化加工技术, 2019(8):5.DOI:CNKI:SUN:ZHJC.0.2019-08-022.

???? 4 Matlab代码实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现) 的相关文章

  • Ilnumerics Ilpanel 在 winform 中编译成 dll 并加载到 matlab 时不激活

    我想将 Visual studio 2012 中用 C 编写的 winform 编译为 dll 然后将其加载到 matlab 2013a 中 然后 我想使用 matlab net 接口与 winform 进行交互 侦听其事件并通过一组预定义
  • 禁止 MATLAB 自动获取焦点[重复]

    这个问题在这里已经有答案了 我有以下问题 在我的 MATLAB 代码中 我使用如下语句 figure 1 更改某些数据的目标数字 问题是 在此 MATLAB 之后 系统将焦点集中在具有该图形的窗口上 当我在后台运行一个大脚本并尝试在计算机上
  • 通过多次合并相同的行向量来构建矩阵

    有没有一个matlab函数可以让我执行以下操作 x 1 2 2 3 然后基于x我想建立矩阵m 1 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 您正在寻找REPMAT http www mathworks com help t
  • 将向量(或弧)绘制到玫瑰图上。 MATLAB

    我有两个数据集 其中详细列出了angles 我正在绘制玫瑰图 angles 0 8481065519 0 0367932161 2 6273740453 n 另一个 从这组角度详细说明方向统计 angle error 0 848106563
  • 在 Matlab 中保存 Kinect 深度图像?

    通过使用 Kinect 我可以获得深度图像 其中每个深度图像像素存储相机和物体之间的距离 以毫米为单位 现在我想保存它们以便以后使用 最好的推荐是什么 我正在考虑将深度图像保存为图像 jpg png等 然而 该值通常是从50毫米到10000
  • 更新:随机将行添加到矩阵中,但遵循严格的规则

    以下是一个更大的矩阵的一部分 0 1 0000 1 0000 77 0000 100 0000 0 0 2500 0 1 0000 1 0000 72 0000 100 0000 0 2500 0 2500 0 1 0000 1 0000
  • 通过颜色渐变修补圆

    我正在尝试绘制一个颜色渐变 我希望它沿轴均匀 在下图由角度定义的情况下 pi 7 当我使用patch命令 绘图与所需的梯度方向匹配 但沿其方向并不均匀 沿圆的点之间形成各种三角形 这是代码 N 120 theta linspace pi p
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • 在 Pari-GP 中嵌套特定递归

    每个人 我最初在 Stackexchange 上发布了类似的问题 它已移至此处 可以在链接中找到 在 Matlab 中声明函数递归序列 https stackoverflow com questions 67146061 declaring
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • Blob 的簇生长

    考虑以下来自 Mathworks 的图像 我已经用标签标记了斑点 L num bwlabel I 如何迭代连接所有斑点 即从一个斑点开始 找到离它最近的一个 考虑最左边的两个斑点 可以从一个斑点的许多点绘制许多条线来连接到另一个斑点blob
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • 二维随机微分方程 (SDE)

    我第一次研究随机微分方程 我正在寻求模拟和求解二维随机微分方程 模型如下 dp F t p dt G t p dW t where p 是一个 2 1 向量 p theta t phi t F是列向量 F sin theta Psi cos
  • Matlab 中的 3D 堆叠条形图

    我想在一个图中绘制多个堆叠条形图 detached 条形图 例如 准确地想象一下bar http mathworks com help matlab ref bar3 detached png绘图 但堆叠在一起 而不是单一颜色 Set up
  • 在 MATLAB 中验证输入的最佳实践

    在验证 MATLAB 函数中的输入时 什么时候使用 inputParser 比使用断言更好 或者还有其他更好的工具可用吗 我个人发现使用 inputParser 不必要地复杂 对于 Matlab 始终需要检查 3 项内容 存在 类型和范围
  • 在 Matlab/Java 中将手部运动建模为 3D 曲线

    我只需要一些关于我遇到的问题 在哪里查看等的指导 我在我的一个项目中使用了运动跟踪手套 它返回每个手指和手掌的 X Y 和 Z 值 我想做的是首先根据这些坐标创建每个手指运动的表示 然后将它们每个附加到手掌的运动 以获得手的表示 一旦我完成
  • 使用正常数据直方图与直接公式进行熵估计(matlab)

    假设我们已经绘制了n 10000标准正态分布的样本 现在我想使用直方图计算其熵来计算概率 1 计算概率 例如使用matlab p x hist samples binnumbers area x 2 x 1 sum p p p area b
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • MATLAB 图形渲染:OpenGL 与 Painters?

    当谈到使用哪个渲染器来处理 MATLAB 图形或何时它很重要时 我一无所知 但我遇到过某些示例 其中does matter plot 0 0 ko markersize 50 linewidth 8 set gcf renderer ope
  • Python 中的 eig(a,b) 给出错误“需要 1 个位置参数,但给出了 2 个”

    根据https docs scipy org doc numpy 1 15 0 user numpy for matlab users html https docs scipy org doc numpy 1 15 0 user nump

随机推荐