“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
在现代工程与自动化领域,利用无人机技术进行高空作业、货物运输或特殊任务执行的需求日益增长。两个四旋翼飞行器协同推进的电缆系统,即悬链机器人,是一种创新解决方案,它结合了四旋翼飞行器的灵活性与悬链机器人的负载能力,为高空作业提供了新的可能性。设计和控制由两个四旋翼飞行器推进的电缆系统,是一项跨学科的工程挑战,它结合了飞行器动力学、控制理论、材料科学和计算机技术。随着技术的不断进步,这类系统将在未来的工业和商业应用中发挥重要作用,提供更高效、更安全的高空作业解决方案。
设计和控制一个由两个四旋翼无人机通过电缆相连的系统是一项复杂的工程挑战,涉及到机械设计、控制系统设计、动力学分析及稳定控制等多个方面。这样的系统可能会用于提高载重能力、协同作业或者执行特殊任务,比如空中货物运输或结构检查等。下面简要概述设计与控制该系统时需要考虑的关键点:
机械设计
-
连接结构:设计坚固而轻便的连接电缆是关键,既要保证足够的强度以支撑两个四旋翼的重量及其可能携带的负载,又要尽量减少对飞行性能的影响。材料选择(如高强度纤维)和连接方式(如可旋转接头以减少扭力积累)都是重要考虑因素。
-
平衡与稳定性:确保系统的整体重心在飞行过程中保持稳定,可能需要在设计中加入调节机制,比如可移动的配重块,以适应不同负载条件。
-
动态适应性:电缆的长度和弹性需仔细设计,以适应飞行过程中的动态变化,减少摆动和振动,保证系统的稳定性和安全性。
控制系统设计
-
协调控制算法:开发一套高级的协调控制算法,使得两个四旋翼能够根据系统状态(位置、速度、加速度等)以及外部环境变化,协同调整各自的推力和方向,维持整个系统的稳定飞行和机动性。
-
动力学模型:建立精确的动力学模型,包括两个四旋翼的相互作用力、由电缆引起的耦合效应以及空气动力学影响,这对于控制器的设计至关重要。
-
通信与同步:确保两架四旋翼之间的高效通信,实现飞行参数的实时共享和同步控制,这对于避免碰撞、保持队形和优化任务执行至关重要。
-
故障容错机制:设计故障检测与隔离策略,以及在单一或多个部件失效情况下的安全降落或返回基地的能力,保障操作安全。
实现与测试
- 模拟与仿真:在实际构建之前,使用仿真软件进行大量的模拟实验,验证控制算法的有效性,优化系统设计。
- 原型制作与测试:基于仿真结果制作原型机,进行实地测试,包括静态悬挂测试、低空飞行测试到全功能测试,逐步调整和完善。
- 安全评估与法规遵循:确保系统符合相关航空法规和安全标准,进行详尽的风险评估和安全测试。
综上所述,设计与控制这样一个双四旋翼联动系统是一个涉及多学科交叉的复杂工程,需要跨领域的专业知识和细致的系统工程方法来完成。
📚2 运行结果
主函数部分代码:
close all; clc; clear all;
addpath('Geometry-control-functions');
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% INITIALZING SYSTEM PARAMETERS %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% moment of Inertia in Kg(m^2)
params.mass = 0.3 ;
% moment of Inertia in Kg(m^2)
params.J = diag([0.557, 0.557, 1.05]*10e-2);
% acceleration via gravity contant
params.g = 9.81 ;
% interial fram axis
params.e1 = [1;0;0] ;
params.e2 = [0;1;0] ;
params.e3 = [0;0;1] ;
% distance of center of mass from fram center in m
params.d = 0.315;
% fixed constant in m
params.c = 8.004*10e-4;
%defining parameters different for each trajectories
params.x_desired = nan;
params.gen_traj = 1; %change here
params.vel = nan;
params.acc = nan;
params.b1d = nan;
params.w_desired = [0;0;0];
params.k1 = diag([15, 15 ,15]);
params.k2 = diag([5, 5, 10]);
params.kR = 200;
params.kOm = 1;
params.l = 2.0;
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% INTIALIZING - INTIAL PARAMETERS x,v,R,w %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Intial position
x_quad_A = [-0.08; 0.8; 1.];
x_quad_B = [0.08; 0.8; 1.];
% xQ0 = [1;3;2];
% Intial velocity
v_quad_0 = zeros(3,1);
% Initial orientation
R0 = RPYtoRot_ZXY(0*pi/180, 0*pi/180, 180*pi/180);
%R0 = eye(3);
% Intial angular velocity
w0= zeros(3,1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Concatenating the entire initial condition into a single vector
qA = [x_quad_A; v_quad_0; reshape(R0,9,1); w0];
qB = [x_quad_B; v_quad_0; reshape(R0,9,1); w0];
x0 = [qA ; qB];
x0 = [qA; qB];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% SIMULATION
odeopts = odeset('RelTol', 1e-8, 'AbsTol', 1e-9) ;
% odeopts = [] ;
tend = 25;
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]李方正,刘振,刘昆,等.基于模糊滑模的四旋翼无人机固定时间姿态跟踪[J/OL].控制工程:1-10[2024-07-17].https://doi.org/10.14107/j.cnki.kzgc.20230871.
[2]胡少华.基于牛顿-欧拉法的四旋翼无人机飞行姿态自抗扰控制系统设计[J/OL].计算机测量与控制:1-12[2024-07-17].http://kns.cnki.net/kcms/detail/11.4762.tp.20240712.1445.010.html.
🌈4 Matlab代码实现