Autonomous Mobile 3D Printing of Large-Scale Trajectories——文献精读

news2025/1/16 0:43:35

一、文章信息

标题:Autonomous Mobile 3D Printing of Large-Scale Trajectories

作者:Julius Sustarevas

发表刊物:IEEE/RSJ 智能机器人与系统国际会议 (IROS

发表时间:20221023-27

二、背景

  •  大多数现有的增材制造施工解决方案都使用静态龙门架或臂架。它们具有很强的限制性,部署成本高昂。
  • 移动3D打印(Mobile 3D Printing, M3DP)是一种新兴的增材制造技术,结合了移动机器人和3D打印技术。M3DP系统通常包括一个能够移动的机器人平台、一个机械臂和一个安装在机械臂上的挤出头。通过这种方式,机器人可以在移动的同时进行3D打印,逐步创建结构和物体。
  • 探索移动3D打印(M3DP)应用的工作非常少,因为M3DP的打印路径需要强大的运动和路径规划方法。
  • 迄今为止,还没有一个M3DP系统能够在给定打印任务的情况下自主规划和3D打印结构。

研究目标:实现大规模自主移动3D打印 

 

三、相关工作

3.1移动3D打印(M3DP路径规划

  •  本文提出了一种根据所需的打印轨迹和机器人运动学知识计算机器人基础路径的方法。TCPP 算法考虑了 M3DP 特有的挑战,例如:打印过程产生的不断演变的障碍物和保持末端执行器可达性。
  • TCPP详情:使用逆可达性图(IRM来帮助在RRT*搜索过程中对打印路径上的机器人基座位置进行采样和验证。给定一个机器人基座位置及其在打印路径上的关联点,IRM为该打印点提供了一个可达性指数(RI)。RI是与操纵器局部工作空间中的体素相关的度量。对于体素内的许多SE(3)位姿,它是具有现有逆运动学(IK)解的位姿的比例。IK计算考虑了机器人的自碰撞和关节限制。直观地说,RI与机器人将末端执行器定位在给定点的能力有关。因此,通过在验证机器人基座位置时施加RI的下限,我们能够找到适合长打印轨迹的机器人基座路径,同时确保打印任务始终在机械臂的良好可操作范围内。
  • TCPP算法的应用:路径采样和验证:在TCPP算法中,使用IRM对打印路径上的机器人基座位置进行采样和验证。通过设置RI的下限,确保选择的基座位置始终保持高可操作性;找到最佳路径:这种方法帮助我们在长打印轨迹上找到最佳的机器人基座路径,同时保证打印任务的连续性和精确性

 

 3.2 逆可达性图(IRM

IRM的定义逆可达性图(Inverse Reachability Map, IRM)是一种用于评估机器人在特定基座位置上的可操作性的工具。它通过计算和存储机械臂在各种基座位置上的可达性,帮助路径规划算法选择最佳的基座位置。IRM的核心思想是将机械臂的工作空间(即机械臂末端执行器可以到达的区域)反转,评估机械臂在给定基座位置上能否到达特定的目标点。

流程

1.工作空间离散化:将机械臂的工作空间离散化为若干个体素(voxel),每个体素代表一个小的三维区域。

2.逆运动学计算:对于每个体素,计算机械臂末端执行器在该体素内所有可能的位姿(SE(3)位姿)是否存在逆运动学解(Inverse Kinematics, IK

3.可达性指数(RI):对于每个体素,计算存在逆运动学解的位姿的比例,定义为可达性指数(Reachability Index, RI)。RI值介于01之间,表示在该体素内,机械臂能够到达的位姿的比例。RI值越高,表示该位置的可操作性越好。它考虑了自碰撞和关节限制,是衡量机械臂可操作性的关键指标。

4.存储和查询:将计算得到的RI值存储在逆可达性图(IRM)中。路径规划算法在进行路径规划时,可以查询IRM以获取特定基座位置的可操作性。

IRM的作用IRM用于评估机械臂在特定基座位置上的可操作性。它为给定位置提供可达性指数(RI),衡量机械臂在该位置执行任务的能力。

3.3 RRT*搜索

RRT*搜索的定义RRT*Rapidly-exploring Random Tree Star,快速扩展随机树*)是一种路径规划算法,是RRTRapidly-exploring Random Tree,快速扩展随机树)的改进版本。RRT*通过在配置空间中随机采样生成节点,并不断优化这些节点之间的连接,生成一条从起点到终点的最优路径。RRT*在路径优化方面比RRT更有效,能够生成更短、更平滑的路径。

RRT*算法步骤:

1. 初始化:在配置空间中定义起点和终点。并创建一个包含起点的树结构。
2. 随机采样:在配置空间中随机生成一个新节点(采样点)。
3. 扩展树:找到树中离新节点最近的节点,并尝试连接它们。如果连接有效(没有碰撞),则将新节点添加到树中,并记录其父节点。
4. 重新连接:查找新节点附近的所有节点,并尝试通过新节点重新连接这些节点。如果重新连接能够优化路径 ,则更新这些节点的父节点和路径长度。
5. 迭代:重复步骤 2 4 ,直到找到终点或达到预设的迭代次数。
6. 生成路径:从终点开始,沿着树结构反向跟踪,直到回到起点,生成最终路径。

RRT*在移动3D打印中的应用RRT*是路径规划中的一种高效算法,通过随机采样和路径优化,生成从起点到终点的最优路径。在移动3D打印系统中,RRT*被用于生成和优化机器人基座路径,结合逆可达性图(IRM)确保路径的可行性和高效性,从而实现复杂环境中的高精度打印任务。

3.4 M3DP的机械臂控制

 在移动3D打印(M3DP)系统中,机械臂控制是实现高精度打印的重要组成部分。本文通过将任务一致路径规划(TCPP)和模型预测控制(MPC)相结合,实现了对机械臂和机器人基座的同步控制,以应对复杂的动态环境。

基于SLQ-MPC的控制策略:本文采用了顺序线性二次模型预测控制(SLQ-MPC)策略,用于控制机械臂的运动。这种控制策略能够有效处理连续过程任务,通过优化末端执行器轨迹,实现高精度的打印任务。

SLQ-MPC的步骤:

  1. 预测范围内的控制策略推出:在每个控制周期内,SLQ-MPC控制器会预测未来一个时间范围 𝑇内的系统行为。这个预测范围 𝑇通常被称为“预测范围”或“预测时域”。在预测范围内,控制器基于当前的系统状态和模型,推出未来的控制策略。
  2. 系统线性化:由于许多实际系统具有非线性特性,直接求解非线性优化问题可能非常复杂。因此,SLQ-MPC控制器在每个时间步内将系统的非线性动态方程线性化。线性化通常是在当前状态附近进行的,以便将非线性系统近似为线性系统,使得优化问题可以用线性二次调节器(LQR)方法来求解。
  3. 成本函数:成本函数通过量化系统状态、参考轨迹和控制输入之间的偏差,指导系统行为,实现目标跟踪,施加系统约束,并优化控制输入。通过最小化成本函数,控制器能够在复杂的动态环境中有效地控制系统,确保其在满足各种约束条件的同时,实现高效和精确的控制。
其中,瞬时成本函数:

累积成本函数:这是在整个预测范围内的累积成本。目标是最小化这个累积成本函数,以找到最优的控制输入 u

x:系统状态x^:参考状态。u:控制输入。t0​:当前时间(规划开始的时间点)T:预测时域。控制器预测未来的时间范围,从当前时间 t0​ 开始,持续到 𝑡0+𝑇

系统状态和输入定义

对于给定的任务轨迹p^、末端执行器跟踪成本函数Cee定义如下:

此外,在本文中,软约束函数用于在SLQ-MPC控制策略中实现对系统状态和输入的柔性限制。软约束函数不仅可以对超出约束范围的行为进行惩罚,还能在一定程度上允许违背约束,从而提供更大的灵活性

软约束函数的定义:通过软约束函数,我们可以对系统状态或输入的约束违背情况进行适当的惩罚,使系统在允许的范围内运行。具体来说:当系统状态或输入接近但不超过约束时,使用对数函数进行温和惩罚。当系统状态或输入超过约束时,使用二次函数进行较大惩罚,确保系统迅速回到安全范围内。这种惩罚机制提供了柔性限制,既能防止过度惩罚轻微的违背,又能在严重违背约束时提供强烈的反馈,确保系统的稳定性和安全性。

对于公式中惩罚的理解

3.5 M3DP的基础路径

移动3D打印要求机器人准确地遵循较长的末端执行器轨迹。但是,M3DP 在整个打印过程中不会显示精确的机器人底座姿势。因此,在本节中,我们将介绍SLQ-MPC运动控制器如何通过机器人基础路径参考进行全局引导,以确保完成长时间打印任务的可行性。

以下公式用于路径平滑和优化过程中,帮助选择和优化路径节点,从而提高路径的平滑性和实际可操作性。

任务一致路径规划(TCPP)算法产生的基路径被整合到系统的顺序线性二次模型预测控制器(SLQ-MPC)中。特别是,我们探索了三种不同的方法来在MPC中纳入基路径参考:

二次跟踪成本

定义:在成本函数中加入二次跟踪成本

基路径参考整合:在最小化成本函数的过程中引入了一个额外的二次基路径跟踪项

实验结果: 能够有效减少路径跟踪误差,但在一些情况下,系统的灵活性受到限制。

时变软约束

 定义:对参考基路径设置时变软约束

基路径参考整合:基于基础路径的软约束形式为

实验结果: 提供了较好的灵活性,但在路径跟踪精度方面略有欠缺。

基路径参考整

混合成本/约束

 定义:结合前两种方法,使用混合的成本/约束方法。

基路径参考整合:第三种方法结合了二次跟踪成本和时变软约束,通过同时使用这两种方法来增强路径跟踪效果。

实验结果:在各项指标上均表现优异,实现了最佳的路径跟踪精度和系统稳定性。

四、实验

为了评估方法的有效性,进行了两组大规模打印实验。第一组实验中,我们通过经验评估了将机器人基座轨迹整合到SLQ-MPC中的三种不同方法。第二组实验探讨了使用车载传感器(里程计和SLAM)进行平台定位的效果。

打印件参数:打印任务是一个蝴蝶结形状的轨迹,如图4所示,轨迹由56厘米宽的交叉填充图案组成,形状为2×1米的蝴蝶结形状。选择这种形状是因为它包含内外角和直线段。每层的长度为51.93米,路径积分以2.5毫米的间隔采样,因此总路径长度约为260米。打印速度为每秒3厘米,每层打印需要28分钟。为了将控制器行为与定位误差分离,我们使用了OptiTrack系统提供基座位置估计。

下图显示了TCPP算法解决的任务的前三层。当打印第1层时,空间逐渐被打印的结构阻挡。当打印第2层和第3层时,打印图案实际上成为一个静态障碍物。由于交叉填充图案在偶数层和奇数层中交替倾斜以帮助覆盖区域,这一任务在不同层之间略有不同。

不同定位方法的末端执行器误差

外部OptiTrack系统提供最高的定位精度和稳定性,使末端执行器能够精确跟踪参考轨迹,误差最小。

里程计由于误差累积,导致末端执行器误差较大,特别是在长时间任务中表现不佳。

SLAM系统提供了中等精度,能够在动态和未知环境中较好地定位,但其误差依赖于环境特征和传感器性能。

不同定位方法对末端执行器误差的影响

OptiTrack系统提供了最高的定位精度,误差最小且稳定,适用于高精度需求的打印任务。

里程计由于误差累积,导致误差较大且不稳定,长时间使用会显著偏离参考轨迹。

SLAM系统提供了适中的定位精度,在动态和未知环境中表现较好,但误差依赖于环境特征和传感器性能。

通过图10的比较,表明选择合适的定位方法对于确保移动3D打印系统的高精度和稳定性至关重要。在高精度需求的任务中,外部跟踪系统(如OptiTrack)是最佳选择;在未知或动态环境中,SLAM系统提供了较好的平衡

五、创新点分析

  1. 1.自动化路径规划和控制该论文的创新之一是在移动3D打印系统中引入了高层次的路径规划算法和模型预测控制器(MPC)的结合。相比之前的研究,作者不仅提出了任务一致路径规划(TCPP)算法来生成机器人基路径,还将其与MPC整合,实现了基于全局信息和局部最优的联合基臂运动规划。
2. 硬件系统 Armstone 的开发 论文介绍了一个新的移动操控器机器人 Armstone ,该机器人具有成本低、独立供电和材料供应的特点。 Armstone 系统包括一个 6 自由度的机械臂和一个挤出系统,可以实现多层、大规模的 3D 打印任务。
  1. 3.长时间打印实验作者进行了250米长的多层打印实验,这比之前的任何打印运动系统都要长约5倍,展示了所提出的算法和控制方法在实际应用中的有效性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1791072.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI短片制作全流程详解——掌握未来视频创作新技能!

老铁们! 期待已久的AI短片免费直播分享来了!!! 还是老规矩,只讲干货,全程不废话! 在这个直播中,我们将深入探讨AI短片制作的全过程,从构思到最终输出,全方位解析每一个步骤的关键要素…

Ant Design Vue Table组件全单元格编辑实现方案

在ant上的table常见用法是一行的元素可编辑&#xff0c;如下&#xff1a; 但是现在有一个需求是全部单元格均可编辑&#xff0c;如何实现呢&#xff1f; 表格组件 <a-tablev-if"query.personnel_type 0"size"middle"row-key"id":scroll&qu…

中继器、集线器、网桥、交换机、路由器和网关

目录 前言一、中继器、集线器1.1 中继器1.2 集线器 二、网桥、交换机2.1 网桥2.1.1 认识网桥2.1.2 网桥的工作原理2.1.3 生成树网桥 2.2 交换机2.2.1 交换机的特征2.2.2 交换机的交换模式2.2.3 交换机的功能 三、路由器、网关3.1 路由器的介绍3.2 路由器的工作过程3.2.1 前置知…

迅雷极简易下载

一、简介 1、迅雷是一家全球领先的去中心化服务商&#xff0c;以技术构建商业&#xff0c;以服务创造共识&#xff0c;从而建立一个高效可信的存储与传输网络。 迅雷成立于2003年&#xff0c;总部位于中国深圳&#xff0c;2014年于纳斯达克上市&#xff08;纳斯达克股票代码&a…

Threejs墙体挖洞做门或窗

在使用Threejs代码构建的展厅中&#xff0c;需要在一面墙中间挖个洞作为门或窗户&#xff0c;效果如下&#xff1a; 引入ThreeBSP.js <script src"plugins/three/ThreeBSP.js"></script> 创建 // 1 定义墙面var cubeGeometry new THREE.BoxGeometry(1…

4.2 索引及其操作

对数据库中的表进行查询操作时有两种搜索扫描方式&#xff0c;一种是全表扫描&#xff0c;另一种就是使用表上建立的索引进行扫描。 全表扫描要查找某个特定的行&#xff0c;必须从头开始一一查看表中的每一行&#xff0c;与查询条件做对比&#xff0c;返回满足条件的记录&…

FFA-Net:用于单图像去雾的特征融合注意力网络

摘要 论文链接&#xff1a;https://arxiv.org/pdf/1911.07559v2 在这篇论文中&#xff0c;我们提出了一种端到端的特征融合注意力网络&#xff08;FFA-Net&#xff09;来直接恢复无雾图像。FFA-Net架构由三个关键组件组成&#xff1a; 一种新颖的特征注意力&#xff08;FA&…

Mac下删除系统自带输入法ABC,正解!

一、背景说明 MacOS 在 14.2 以下的系统存在中文输入法 BUG&#xff0c;会造成系统卡顿&#xff0c;出现彩虹圆圈。如果为了解决这个问题&#xff0c;有两种方法&#xff1a; 升级到最新的 14.5 系统使用第三方输入法 在使用第三方输入法的时候&#xff0c;会发现系统自带的 …

[论文笔记]Mixtral of Experts

引言 今天带来大名鼎鼎的Mixtral of Experts的论文笔记&#xff0c;即Mixtral-8x7B。 作者提出了Mixtral 8x7B&#xff0c;一种稀疏专家混合(Sparse Mixture of Experts&#xff0c;SMoE)语言模型。Mixtral与Mistral 7B具有相同的架构&#xff0c;不同之处在于每个层由8个前馈…

数据结构【树】(理论篇)

树的概念 树是一个非线性的数据结构&#xff0c;前面我们学习的顺序表、链表等等等等&#xff0c;他们的逻辑结构都是成一条线的&#xff0c;都是所有元素都是排成一条的&#xff1b;而树他是有多个分支的&#xff0c;是发散的。 树是由n&#xff08;n>0&#xff09;个有限…

AI编程新手快速体验SpringCloud Alibaba 集成AI功能

上周六写了一篇文章 震撼发布&#xff01;Spring AI 框架重磅上线&#xff0c;Java 集成 AI 轻松搞定&#xff01; 部分同学可能没有科学上网的条件&#xff0c;本地ollama 集成又比较笨重。趁着周六&#xff0c;写一篇基于SpringCloud Alibaba 集成AI的文章。 先简单介绍…

Ollama教程,本地部署大模型Ollama,docker安装方法,仅供学习使用

不可商用&#xff01;&#xff01;仅仅提供学习使用&#xff01; 先上视频教学&#xff1a; Ollama教程&#xff0c;本地部署大模型Ollama&#xff0c;docker安装方法&#xff0c;仅供学习使用&#xff01; 资料获取 &#xff1a; Ollama下载包和安装文档在这里&#xff…

AI大模型还没有到卷长文的时候

AI风口上&#xff0c;国内大模型技术突飞猛进&#xff0c;很多人都沉浸在用AI来辅助办公&#xff0c;辅助学习等等工具化应用落地&#xff0c;但也有趁着风口想大赚一笔&#xff0c;为了估值什么都敢说的。 前几天&#xff0c;Kimi对外宣称自己的技术狂飙到能读200万字甚至100…

webgl_decals

ThreeJS 官方案例学习&#xff08;webgl_decals&#xff09; 1.效果图 2.源码 <template><div><div id"container"></div></div> </template> <script> // 光线投射相关代码 https://threejs.org/docs/index.html#api/z…

一文了解JVM面试篇(上)

Java内存区域 1、如何解释 Java 堆空间及 GC? 当通过 Java 命令启动 Java 进程的时候,会为它分配内存。内存的一部分用于创建 堆空间,当程序中创建对象的时候,就从对空间中分配内存。GC 是 JVM 内部的一 个进程,回收无效对象的内存用于将来的分配。 2、JVM 的主要组成…

天润融通,荣获2024中国AI应用层创新企业

AI技术发展日新月异&#xff0c;可谓“AI一天&#xff0c;人间一年”。 从2023年到2024年&#xff0c;短短一年的时间&#xff0c;大模型技术的发展就已经逐步从追求“技术突破”转向了追求“应用落地”。如何将大模型的技术与企业的生产、运营、销售等场景结合起来&#xff0…

Vue——子级向父级传递数据(自定义事件)

文章目录 前言子级向父级传递数据实现浏览器效果展示 前言 在上一篇博客中&#xff0c;说到了父级向子级组件中传递对应的数据信息&#xff0c;以及增加传递数据的类型现在、默认值填充等规则。 Vue——组件数据传递与props校验 但使用props只能是单向的数据传递&#xff0c;也…

门外汉一次过软考中级(系统集成项目管理工程师)秘笈,请收藏!

24上软考考试已经结束&#xff0c;24下软考备考又要开启了&#xff01;今年软考发生了改革&#xff0c;很多考试由一年考两次变成了一年考一次&#xff0c;比如高级信息系统项目管理师&#xff0c;比如中级系统集成项目管理工程师&#xff0c;这两科是高、中级里相对简单&#…

vue2的element的table组件使用form校验

1.需求描述 vue2有时候做自增表格el-table&#xff0c;希望能够带一些校验&#xff0c;但又不想手搓校验逻辑&#xff0c;可以借用el-form的校验逻辑。 2.代码处理 1. html <template><div class"sad-cont"><el-form ref"form" :model&…

小程序跳转1688<web-view>无效后的实现

web-view 跳转方式 1&#xff1a;这种方法需要在微信开发平台 -> 开发管理 -> 业务域名中配置好要跳转的网站域名&#xff1b; 2&#xff1a;基本上跳转的网址是第三方就不可以配置&#xff0c;因为配置需要在这个域名中的根目录上放你的验证文件&#xff1b; <web-v…