首页 > 其他分享 >水下机器人编队(可同样适用于欠驱无人船或者无人车)

水下机器人编队(可同样适用于欠驱无人船或者无人车)

时间:2024-12-23 16:28:29浏览次数:6  
标签:cos 机器人 sin x10 HandleVisibility psi0 无人 y10 编队

论文名称:基于路径参数一致的水下机器人编队与避障控制

主要内容:水下机器人;编队控制;避障控制;虚拟结构;路径参数一致

一、代码及文献获取

1.复现代码链接:哔哩哔哩工房

2.复现最终效果视频:水下机器人/无人车/欠驱无人船 编队 避障 变换队形_哔哩哔哩_bilibili

二、文章主要内容

第一步:个体跟踪控制,基于欠驱水下机器人与虚拟参考点之间的位置和速度误差反馈实现个体路径跟踪控制(等价于欠驱无人船,欠驱无人车可通用)


第二步:编队控制,考虑邻居节点状态信息,设计一致性编队控制器


第三步:避障,利用人工势函数设计基于速度修正的避障控制律,实现机器人编队与避障控制
首先,构建基于虚拟结构的机器人编队误差模型,将路径引导下的编队控制解耦为路径跟踪控制与路径参数同步。

三、部分复现结果展示

四、主要代码

x0=[x1(i),x2(i),x3(i)];y0=[y1(i),y2(i),y3(i)];
psi0=[pi/2,pi/2,pi/2]-[psi1(i),psi2(i),psi3(i)];%x0,y0,psi0为航迹中的某一确定点
l=8;      %船长
b=4;      %船宽
x10=x0-(l/2)*sin(psi0);
y10=y0-(l/2)*cos(psi0);

x7=x0+(l/4)*sin(psi0);
y7=y0+(l/4)*cos(psi0);

x20=x10-(b/2)*cos(psi0);
y20=y10+(b/2)*sin(psi0);

x30=x7-(b/2)*cos(psi0);
y30=y7+(b/2)*sin(psi0);

x4=x0+(l/2)*sin(psi0);
y4=y0+(l/2)*cos(psi0);

x5=x7+(b/2)*cos(psi0);
y5=y7-(b/2)*sin(psi0);

x6=x10+(b/2)*cos(psi0);
y6=y10-(b/2)*sin(psi0);

x11=[ x10(1) x20(1) x30(1) x4(1) x5(1) x6(1) x10(1)];
y11=[ y10(1) y20(1) y30(1) y4(1) y5(1) y6(1) y10(1)];
x22=[ x10(2) x20(2) x30(2) x4(2) x5(2) x6(2) x10(2)];
y22=[ y10(2) y20(2) y30(2) y4(2) y5(2) y6(2) y10(2)];
x33=[ x10(3) x20(3) x30(3) x4(3) x5(3) x6(3) x10(3)];
y33=[ y10(3) y20(3) y30(3) y4(3) y5(3) y6(3) y10(3)];
plot(x11,y11,'g','HandleVisibility','off');
plot(x22,y22,'r','HandleVisibility','off');
plot(x33,y33,'b','HandleVisibility','off');
fill(x11,y11,'g','HandleVisibility','off');
fill(x22,y22,'r','HandleVisibility','off');
fill(x33,y33,'b','HandleVisibility','off');


i=2400;
% psi=-0.1:0.1:2*pi;
% ox1=30+12*cos(psi);
% oy1=45+12*sin(psi);
% plot(ox1,oy1,'black','LineWidth',1.5,'HandleVisibility','off');
% fill(ox1,oy1,'black','HandleVisibility','off');
% ox2=200+8*cos(psi);
% oy2=150+8*sin(psi);
% plot(ox2,oy2,'black','LineWidth',1.5,'HandleVisibility','off');
% fill(ox2,oy2,'black','HandleVisibility','off');
    
x0=[x1(i),x2(i),x3(i)];y0=[y1(i),y2(i),y3(i)];
psi0=[pi/2,pi/2,pi/2]-[psi1(i),psi2(i),psi3(i)];%x0,y0,psi0为航迹中的某一确定点
l=8;      %船长
b=4;      %船宽
x10=x0-(l/2)*sin(psi0);
y10=y0-(l/2)*cos(psi0);

x7=x0+(l/4)*sin(psi0);
y7=y0+(l/4)*cos(psi0);

x20=x10-(b/2)*cos(psi0);
y20=y10+(b/2)*sin(psi0);

x30=x7-(b/2)*cos(psi0);
y30=y7+(b/2)*sin(psi0);

x4=x0+(l/2)*sin(psi0);
y4=y0+(l/2)*cos(psi0);

x5=x7+(b/2)*cos(psi0);
y5=y7-(b/2)*sin(psi0);

x6=x10+(b/2)*cos(psi0);
y6=y10-(b/2)*sin(psi0);

x11=[ x10(1) x20(1) x30(1) x4(1) x5(1) x6(1) x10(1)];
y11=[ y10(1) y20(1) y30(1) y4(1) y5(1) y6(1) y10(1)];
x22=[ x10(2) x20(2) x30(2) x4(2) x5(2) x6(2) x10(2)];
y22=[ y10(2) y20(2) y30(2) y4(2) y5(2) y6(2) y10(2)];
x33=[ x10(3) x20(3) x30(3) x4(3) x5(3) x6(3) x10(3)];
y33=[ y10(3) y20(3) y30(3) y4(3) y5(3) y6(3) y10(3)];
plot(x11,y11,'g','HandleVisibility','off');
plot(x22,y22,'r','HandleVisibility','off');
plot(x33,y33,'b','HandleVisibility','off');
fill(x11,y11,'g','HandleVisibility','off');
fill(x22,y22,'r','HandleVisibility','off');
fill(x33,y33,'b','HandleVisibility','off');

标签:cos,机器人,sin,x10,HandleVisibility,psi0,无人,y10,编队
From: https://blog.csdn.net/weixin_43789589/article/details/144666251

相关文章

  • ABB机器人IO板短路怎么解决
    解决ABB机器人IO板短路问题的步骤  - 关闭控制系统电源:首先,关闭ABB机器人的控制系统电源,以确保安全操作。  - 检查线路连接:检查IO板的线路连接是否牢固,有无松动或损坏的迹象。  - 使用万用表测量:使用万用表测量电路的三相是否有短路或接地现象。在测量时,需要注......
  • 重塑跨智能体灵巧手抓取,NUS邵林团队提出全新交互式表征,斩获CoRL Workshop最佳机器人论
    本文的作者均来自新加坡国立大学LinSLab。本文的共同第一作者为上海交通大学实习生卫振宇和新加坡国立大学博士生徐志轩,主要研究方向为机器人学习和灵巧操纵,其余作者分别为实习生郭京翔,博士生侯懿文、高崇凯,以及硕士生蔡哲豪、罗嘉宇。本文的通讯作者为新加坡国立大学助理教......
  • 如何快速创建企业微信机器人并实现自动化消息推送?(如何获取企业微信API接口参数)
    文章目录......
  • 光伏智能踏勘流程-无人机踏勘
    一、无人机航飞采集屋顶使用无人机+焱图慧云飞控软件踏勘精灵APP,无需专业飞手,操作简单,自适应多场景航拍(二维弓字、三维环绕)。自主巡航作业,支持断点续飞。无人机自主飞行采集数据、自动规划航飞路线,一键采集,快速获取屋顶现状照片数据。踏勘再也不同爬屋顶了。  二、数据上......
  • 工业机器人仿真工具 —— Drake
    Drake是一个用于机器人系统的模型驱动设计和验证的开源项目。它由麻省理工学院(MIT)开发,旨在为机器人研究人员和工程师提供一个强大的工具集,用于模拟、分析和验证机器人系统的行为。Drake支持多种机器人应用,包括但不限于运动规划、控制、感知和仿真。项目源码地址:https://githu......
  • halcon单相机+工业机器人=模板匹配抓取过程原理及代码实现
    先来看看包含哪些流程1.1相机拍照到的工作台物体到机器人底座间的转换关系1,单相机自身的相机内参的标定得到相机的内参cameraparam2,进行手眼标定,用眼在手外,得到camerainbasepose相机相对于工业机器人底座的位姿3,由标定板确定工作台面与相机的位姿关系objincamerapo......
  • 【无人机】空地多无人平台协同路径规划技术研究(Matlab代码实现)
          ......
  • 无人智慧超市管理系统(源码+数据库+报告)
    一、项目介绍基于SpringBoot的无人智慧超市管理系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块二、项目技术编程语言:Java数据库:MySQL项目管理工具:Maven前端技术:Vue后端技术:SpringBoot三、运行环境操作系统:Windows、macOS都可以JDK版本:JDK1.8以上都可......
  • 洛谷P1126 机器人搬重物
    题目描述机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个N×M的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地......
  • [机器人机构学]课设三:SOLIDWORKS模型转URDF
    提示:使用软件SOLIDWORKS2022插件sw2urdf需要安装:VMwareWorkstationProROS操作系统不想自己安装ROS的看这里系列文章目录[机器人机构学]课设一:通过杆件四大参数确定机械臂模型[机器人机构学]课设二:三维建模及爆炸图动画制作[机器人机构学]课设三:SOLIDWORKS模......