旋转指针分区对干扰以及移除/插入机器人的鲁棒性的模拟研究(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了旋转指针分区对干扰以及移除/插入机器人的鲁棒性的模拟研究(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文档讲解


💥1 概述

1. 对扰动的鲁棒性
在传统的基于Voronoi图的覆盖控制中,Voronoi分区依赖于机器人的位置。相比之下,所提出的旋转指针分区对于固定的机器人邻接关系是独立于机器人位置的,这使得可以灵活地更新旋转指针以实现区域分割,并且能够平衡子区域之间的工作负载。由于每个机器人都配备有虚拟旋转指针,旋转指针的顺序取决于机器人的邻接关系(即机器人的顺序)。因此,只要机器人位置的扰动不改变机器人的邻接关系,所提出的旋转分区就可以可靠地实现。接下来,将考虑所提出的分区方法对机器人扰动的鲁棒性。
1.1 对机器人的轻微扰动
图1展示了在第i个机器人上添加轻微扰动后机器人位置的变化。由于第i个机器人在轻微扰动后仍然停留在自己的子区域内,机器人的邻接关系保持不变,从而确保了正常的旋转分区和覆盖控制。图2展示了在时间t=20秒时,在第3和第4个机器人(红色圆圈)上添加轻微扰动时的多机器人覆盖的快照,图3显示了工作负载分配、相位角和覆盖成本的时间演化。观察到,覆盖控制算法仍然良好运行,只是在时间t=20秒时覆盖成本J(ϕ,p)出现了微小扰动。这是因为轻微扰动导致了

2. 机器人偏离各自子区域的质心,导致覆盖成本增加。
1.2 对机器人的严重扰动
如果严重扰动导致机器人离开其分配的子区域并改变了机器人的邻接关系,旋转分区将被重新定义,并且分区动态将根据更新后的机器人邻接关系进行实现。图4展示了在第i个机器人上添加严重扰动时机器人位置的变化。严重扰动导致第i个机器人离开其自己的子区域,并且改变了机器人的邻接关系(例如,严重扰动后第i个机器人不再是第(i-1)个机器人的邻居)。因此,分区动态将根据新的机器人邻接关系进行实现,从而重新定义旋转分区以平衡工作负载并完成覆盖任务,尽管在所提出的架构中,严重扰动可能会导致机器人离开其分配的分区。图5和图6分别展示了数值模拟中多机器人覆盖的快照和时间演化。在时间t=20秒时,第3个机器人(红色圆圈)受到严重扰动,导致该机器人离开其子区域,并因此改变了机器人的邻接关系。观察到,严重扰动后,子区域工作负载、相位角和覆盖成本都明显受到干扰。然而,覆盖控制算法仍然继续运行,多机器人系统最终收敛到一个新的配置。这意味着旋转分区对机器人的扰动也具有鲁棒性。
1.3 移除机器人
旋转分区方法对于机器人的移除或插入等扰动同样具有鲁棒性。实际上,机器人的移除或插入可能导致重构多机器人系统的邻接关系和通信拓扑,只要条件λmin > 0成立,旋转分区和区域覆盖仍然可以实现。图7展示了在时间t=20秒时移除一个机器人(即第8个机器人)时的四个多机器人覆盖的快照,图8显示了子区域工作负载、旋转指针相位角和覆盖成本的演化。需要注意的是,多机器人系统的通信拓扑是一个有向环,并且在移除一个机器人后仍然满足λmin > 0。此外,移除一个机器人会导致其旋转指针消失,这可能会导致相邻子区域的工作负载增加。观察到,在t=20秒移除第8个机器人后,第7个机器人的子区域工作负载激增,然后收敛到与其他子区域相同的值。同样,尽管由于机器人的移除,在t=20秒旋转指针的相位角和覆盖成本也受到干扰,但它们最终仍然能够收敛到准确的值。对于机器人的插入,多机器人系统也能够吸收扰动并恢复到正常状态。

📚2 运行结果

旋转指针分区对干扰以及移除/插入机器人的鲁棒性的模拟研究(Matlab代码实现),机器人,matlab,数据结构

旋转指针分区对干扰以及移除/插入机器人的鲁棒性的模拟研究(Matlab代码实现),机器人,matlab,数据结构

部分代码:

function pointSets = computePointSets(phaseArray, inner_points, theta)
    % 初始化空单元格数组用于存储每对相邻相位之间的点集
    pointSets = cell(1, length(phaseArray)-1);

    % 遍历相位数组
    for i = 1 : length(phaseArray) - 1
        % 将X和Y坐标组成点集并添加到结果数组中
        mid = theta >phaseArray(i);
        pointSets{i} =  theta <phaseArray(i+1);
        if phaseArray(i)>phaseArray(i+1)
            pointSets{i} = (mid | pointSets{i}) &inner_points;

        else
            pointSets{i} = mid & pointSets{i} &inner_points;
        end
    end
end

🎉3 参考文献

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

[1]Coverage Optimization of  Robotic Sensor Networks in Non-Convex Environments via Rotary Pointer Partitions, by Chao Zhai,  Pengyang Fan and Hehong Zhang文章来源地址https://www.toymoban.com/news/detail-769893.html

🌈4 Matlab代码、文档讲解

到了这里,关于旋转指针分区对干扰以及移除/插入机器人的鲁棒性的模拟研究(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 六自由度JAKA机器人基于视觉的多颜色方块抓取(色块颜色识别、坐标提取、旋转角度提取)

    目录 一、任务描述 二、视觉处理方案(重点) 2.1 图像标定与单应性矩阵计算 2.2 目标坐标与旋转角度提取 三、运动控制方案 四、结果讨论 五、完整代码(无控制底层)         基于JAKA ZU3机器人平台与固定位置的彩色相机(非垂直),完成不同颜色木块的识别与抓取

    2024年02月02日
    浏览(71)
  • PostgreSQL 分区表插入数据及报错:子表明明存在却报不存在以及column “xxx“ does not exist 解决方法

    记录分区表插入遇到的俩个问题: 这个问题可真的是,太难查了,俩个sql看着一模一样,但就是一个报错,一个不报错;只有导入的文件有差别,猜测是文件的原因; 但具体是什么呢?来实锤下 错误的文件前面有非法字符:uFEFF ; 怎么解决呢?代码兼容, 1. 每次替换下非法

    2024年01月16日
    浏览(61)
  • 【网络教程】如何创建/添加钉钉机器人以及如何获取机器人的Token/Secret

    这里以PC端的操作为例,按照如下操作进行 访问 钉钉开放平台 选择 机器人 选项卡,点击右上角的 创建应用 ,这里会有一个弹窗,我这里选择的是 继续使用旧版 ,如图 按照要求填写相关信息创建自己的机器人,如图 创建成功后,点击创建成功的机器人进入设置界面,如图

    2024年02月12日
    浏览(65)
  • FANUC机器人SRVO062报警原因以及处理办法

    报警原因: 脉冲编码器的绝对位置后备用电池尚未连接,或者电池耗尽。换.上新电池后仍然发生该报警时,可能是由于机器人内的电池电缆断线等所致。 处理办法: 1. 更换机器人基座的电池盒内的电池。 2. 更换已发生报警的轴的脉冲编码器。 3.确认向脉冲编码器供应来自电池

    2024年04月26日
    浏览(35)
  • RobotStudio的基本布局方法,模型加载,工件坐标系的创建,手动操作机器人示教,以及模拟仿真机器人运动轨迹。

    1、在文件功能选项卡中,选择【空工作站】,单击【创建】,创建一个新的工作站。 2、在【基本】功能选项卡中,打开【ABB模型库】,选择【IRB2600】。 3、设定好数值,然后单击【确认】。 4、在【基本】功能选项里,打开【导入模型库】—【设备】,选择【myTool】。 5、右

    2023年04月08日
    浏览(146)
  • RViz成功显示多个机器人模型以及解决显示的模型没有左右轮

    在RViz中显示多个机器人模型需要设置好几个关键的参数 首先点击Add,找到RobotModel,添加进来 Fixed Frame:选择TF树最上层的坐标系,一般是世界坐标系,即固定不动的全局坐标系 Robot Description:/robot1/robot_description,要在robot_description前加上对应的命名空间 TF Prefix:robot1,机器

    2024年01月18日
    浏览(49)
  • ROS学习第三十七节——机器人运动控制以及里程计信息显示

    https://download.csdn.net/download/qq_45685327/87719766 https://download.csdn.net/download/qq_45685327/87719873 gazebo 中已经可以正常显示机器人模型了,那么如何像在 rviz 中一样控制机器人运动呢?在此,需要涉及到ros中的组件: ros_control。 场景: 同一套 ROS 程序,如何部署在不同的机器人系统上,比

    2024年02月13日
    浏览(37)
  • 机器人训练环境isaac gym以及legged_gym项目的配置问题

    isaac gym是现阶段主流的机器人训练环境之一,而“https://leggedrobotics.github.io/legged_gym/”(下称legged_gym)则是入门isaac gym机器人训练的经典开源项目,博主在这里记录实现legged_gym项目过程中的部分环境配置过程: 首先在ubuntu系统中创建新的虚拟环境,python版本为3.8: 进入虚拟

    2024年01月24日
    浏览(39)
  • ROS仿真软件Turtlebot-Gazebo的安装使用以及错误处理[机器人避障]

            很多时候由于机器人价格比较贵,而且会因为环境因素、操作失误或者摔坏等,所以我们可以先在仿真软件上做测试,也可以避免这些问题,虽然没有那么真实感,可毕竟是免费的嘛。我们可以在这些仿真的机器人身上去学习如何控制机器人,读取它们的传感器数

    2024年02月08日
    浏览(38)
  • 机器人在笛卡尔空间和关节空间的多项式轨迹规划以及matlab代码(三次、五次、七次)

    三次多项式轨迹规划就是s(t)相对于时间t的变化满足三次多项式变化,其表达式如下:                      如前文所述:t的取值范围是[0,T],s(t)的取值范围是[0,1], 又因为初始速度和末速度都为0,所以: S(t)的一阶导数表达式为: 从而可以计算出对应的系数: 将

    2024年01月17日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包