【机器人】具有扰动抑制功能的有限时间基于方位角的领航者-跟随者编队控制(Matlab代码实现)

本文介绍了如何在Matlab中实现一个基于方位角的领航者-跟随者机器人编队控制,详细阐述了控制策略及其在不同参数调整下的应用,包括模拟时间、控制参数和领航者速度。通过实例演示和理论分析,探讨了优化和适应实际需求的方法。
摘要由CSDN通过智能技术生成

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

本文提供的示例展示了如何实现一个简单的四个代理机器人编队,并说明了一个基于方位角的领航者-跟随者编队控制定律的实现。这个控制定律确保了在有限时间内,即使领航者以时变速度移动,跟随者仍能够追踪领航者,并且方位角误差最终会收敛到零。

在实践中,我们可以对这个示例进行一些扩充和改进,以满足不同的需求和条件。首先,我们可以更改模拟时间,这将影响整个仿真过程的时间长度和分辨率,从而更好地模拟真实场景中的运动行为。

其次,我们可以调整控制参数,例如调整比例增益kp和ke以及其他相关参数,以使编队系统更加稳定和适应不同的环境条件。这样的调整可能需要通过实验和仿真来确定最佳参数值,以确保系统具有良好的性能和鲁棒性。

另外,我们也可以通过设置领航者的速度来模拟不同的运动情况和场景需求。如果领航者移动速度较快,可能需要增加跟随者的响应速度或调整控制参数,以确保跟随者能够及时地追踪领航者,而不会产生过大的偏差或失控现象。

需要注意的是,调整这些参数和设置可能需要经过一定的实验和调试过程,以便在实际应用中取得良好的效果。同时,对于不同的应用场景和需求,可能需要进一步优化和改进编队控制算法,以满足更复杂和多样化的实际需求。因此,在实际应用中,我们需要根据具体情况进行灵活调整和优化,以确保系统能够达到预期的性能和效果。

📚2 运行结果

直接去掉图框:

部分代码:

%initial and desired position
p_des = [5  5 -5 -5  
         5 -5  5 -5];
p_init = [5  5  0 -7
          5 -5  6  0];

e_des = H_bar*[p_des(:,1)' p_des(:,2)' p_des(:,3)' p_des(:,4)']';
g_des = [e_des(1)/norm(e_des(1:2)) e_des(2)/norm(e_des(1:2)) e_des(3)/norm(e_des(3:4)) e_des(4)/norm(e_des(3:4)) ...
         e_des(5)/norm(e_des(5:6)) e_des(6)/norm(e_des(5:6)) e_des(7)/norm(e_des(7:8)) e_des(8)/norm(e_des(7:8)) ...
         e_des(9)/norm(e_des(9:10)) e_des(10)/norm(e_des(9:10))]';
 
% Simulation parameters
t_end = 40;
dt = 0.001;
t = 0:dt:t_end; %simulation horizon
num_steps = length(t);

% Pre-allocate memory
p = zeros(N*d,num_steps);
g_memo = zeros(5,num_steps);%to record bearing error
p_next = [p_init(:,1)' p_init(:,2)' p_init(:,3)' p_init(:,4)']';
omega_hat = zeros(N*d,1);
for i = 1:num_steps 
    p(:,i) = p_next;
    e = H_bar*p_next;
    g = [e(1)/norm(e(1:2)) e(2)/norm(e(1:2)) e(3)/norm(e(3:4)) e(4)/norm(e(3:4)) ... 
         e(5)/norm(e(5:6)) e(6)/norm(e(5:6)) e(7)/norm(e(7:8)) e(8)/norm(e(7:8)) ...
         e(9)/norm(e(9:10)) e(10)/norm(e(9:10))]'; 
    [p_dot,omega_hat_dot] = system(e,g,g_des,H_bar,omega_hat,dt*i); 
    p_next = p_next+p_dot*dt;
    omega_hat = omega_hat+omega_hat_dot*dt;
    %p_next'*H_bar'*sig_alpha(g,g_des) >0;
    
    %record distance errors
    g_memo(1,i) = norm(e(1:2))-10;

🎉3 参考文献

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

[1] Wang C , Zuo Z , Gong Q ,et al.Formation control with disturbance rejection for a class of Lipschitz nonlinear systems[J].Science China Information Sciences, 2017.DOI:10.1007/s11432-016-9125-2.

[2]吴一尘,刘天宇,王营.基于领航者-跟随者技术的多机器人编队控制[J].南方农机, 2021(019):052.

[3]陈鑫.基于领航-跟随者结构的移动机器人预设性能编队控制研究[D].华南理工大学,2019. 

🌈4 Matlab代码、数据

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值