自适应多机器人编队以包围和跟踪具有运动和可见性约束的目标研究(Matlab代码实现)

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述

摘要:
解决包围和跟踪目标的问题需要多个具有适当运动策略的代理机构。我们考虑一队带有标准摄像头的单轮机器人。这些机器人必须在处理非完整运动约束的同时保持所需的包围形态。参考的形态轨迹还必须通过克服摄像头的有限视野来保证目标的持续可见性。在本文中,我们提出了一种新颖的方法来描述机器人轨迹的条件,考虑了运动和视觉约束。我们还提出了在线和离线运动规划策略,以解决包围和跟踪目标任务中涉及的约束。这些策略基于保持具有可变大小的形态或者保持具有灵活形状的形态大小。

摘要:
多机器人系统涉及许多方面和问题。这些系统使得集体执行复杂任务成为可能,尽管它们带来了众多理论和实践挑战。在多机器人系统的不同相关话题中,目标跟踪问题日益受到关注。

多机器人系统的一个新应用是动态事件的监测。这一应用与光学运动捕捉系统(MOCAP)密切相关。MOCAP或运动跟踪的目标是记录物体或人的运动。通常,获取的信息用于为数字模型的人类演员进行动画制作,其中对目标表面和形状的持续全覆盖是基本要求。一般而言,这些系统由固定在某个空间周围的一组校准摄像机组成。因此,演员的活动空间受限,无法脱离这个感知范围。

受此应用的启发,考虑使用装有摄像头的移动机器人替代固定摄像头。这允许摄像头围绕目标灵活配置,有可能处理遮挡问题。然后,摄像头可以在无空间限制的情况下跟踪目标。例如,一组机器人可以在户外追踪一位长跑者数英里,随时制作三维(3-D)模型。在本文中,我们考虑的目标是被包围和追踪的,其运动符合单轮运动学。这适合于预期的应用,因为一般来说,人类的运动也可以用非完整运动学来描述。为了完成任务,通常假设有一个全局框架可用,例如使用GPS系统,或者需要一个外部定位系统来减少估计代理姿态的不确定性。然而,这种类型的系统再次受限于有限的设置(例如,户外需要GPS可用性或室内需要本地定位系统),并不能用于捕捉沿不同环境的长路径移动的动态目标。在目标跟踪的上下文中,通过使用共识算法执行群集行动或通过飞行摄像机拍摄目标来解决这一运动协调问题。

📚2 运行结果

部分代码:

function [A,C,v_thetarCost,m_thetar]=optimizeACtheta(vA,vC,m_complyBmaxF,dr0,N,ntF,deltaF,tF,m_thetar0F,v_vtF,v_wtF,betaMax)

%
%function [A,C,v_thetarCost,m_thetar] =
%optimizeACtheta(vA,vC,m_complyBmaxF,dr0,N,ntF,deltaF,tF,m_thetar0F,v_vtF, 
% v_wtF,betaMax)
%This function returns the values of (A,C) that minimize the variation of
%thetar (Angles of each robot in the formation shape with respect to target)
%with respect to the prescribed values thetar0 such that constraints are held.
%
%Input
% (vA,vC): Optimization parameters that define the evolution of the
%          robots' angles in the formation shape. 
%          Two options depending on their size:
%          size [1,N]: We give the known optimal values A and C for each
%          robot (e.g. precomputed) and directly compute the result.
%          size [3,N]: optimization parameters [Astep;Amin;Amax] and
%          [Cstep;Cmin;Cmax] for each robot (N). Where
%          (Astep, Cstep): Optimization step to evaluate cost function. It
%          is iteratively (Niterations) decreased (deltastep).
%          (Amin, Cmin) and (Amax, Cmax): Initial evaluation interval of 
%          the cost fuction
% m_complyBmaxF: Binary value (0,1) for each robot (N) showing if FOV
%         constraints are held (1) for all time (nt) or not (0). Expressed
%         (replicated) in matrix form [nt,N]
% dr0: Constant scale (distance robots-target) of the formation [1,1]
% N: Number of robots [1,1]
% ntF: Number ot time steps [1,1]
% deltaF: Time step [1,1]
% tF: vector of time [nt,1]
% m_thetar0F: Angles of the formation shape (constant) in matrix form [nt,N]
% v_vtF, v_wtF: Target velocities [nt,1]
% betaMax: Half of the field of view (FOV) angle of the camera [1,1]
%
%Output
% (A,C): Parameters of the cost function for each robot that defines the
%        evolution of the robots' angles in the formation shape [1,N] 
% v_thetarCost: Final cost function for each robot using (A,C) [1,N]
% m_thetar: Evolution of robots' angles in the formation using (A,C) [nt,N]

%Optimization parameters (compromise between time computation and precision):
Niterations = 4;
deltastep = 5;


%Find which robots do not comply FOV constraint: irToCorrect
irToCorrect=find(sum(m_complyBmaxF,1)<ntF);

%Initialize final result
A=zeros(1,N);
C=zeros(1,N);


if (size(vA,1)==3) && (size(vA,2)==N), %3xN
    %Perform optimization with configuration parameters in (vA, vC)
    
    for ir=irToCorrect, %For each robot that do not comply FOV constraint
        disp(['optimizeACtheta: Optimizing theta for robot ', num2str(ir), ' of [', num2str(irToCorrect),']']);
        
        Astep=vA(1,ir);

🎉3 参考文献

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

Gonzalo Lopez-Nicolas, Miguel Aranda, Youcef Mezouar,2020

🌈4 Matlab代码、数据、文章

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值