【轨迹规划】Trajectory planning for automatic machines and robots

这本书比较基础主要是把框架看一下,搞清楚轨迹规划究竟要注意什么问题。

前言

本书涉及轨迹规划问题,即自动机器驱动系统所需运动剖面的计算。由于其广泛的使用,这里只考虑电动驱动器,其运动被定义为自动机器的实时控制与一个或多个执行器,如包装机,机床,装配机,工业机器人等。一般来说,为了解决这个问题,还需要了解机器及其驱动系统,例如运动模型(直接和反向)(通常所需的运动在操作空间中指定,而运动在驱动空间中执行,通常这些领域是不同的)和系统的动态模型(以便规划适当的运动定律,允许执行所需的运动与负载和机械结构的努力)。此外,为了实时执行计划的运动,有必要定义适当的位置/速度控制算法,以优化系统的性能,并补偿运动期间的干扰和误差,如驱动系统的饱和度。有几种技术可用于规划所需的运动,每种技术都有其独特的特征,必须广为人知和理解。在本书中,考虑到上述问题,对轨迹规划的最重要和最常用的技术进行了详细说明和分析。

A General Overview on Trajectory Planning

基本上,轨迹规划问题在于找到属于不同域的两个元素之间的关系:时间和空间。因此,轨迹通常表示为时间参数函数,它在每个瞬间提供相应的所需位置。显然,在定义了此功能之后,还应考虑与它实现相关的其他方面,例如时间离散化(自动机器由数字控制系统控制)、驱动系统的饱和度、负载上引起的振动等。如图1.1所示,各种轨迹类别的主要区别在于,它们可以是一维或多维的。在第一种情况下,它们界定了自由度(dof)系统的位置,而在后一种情况下,则考虑多维工作空间。从形式上看,这两类轨迹之间的区别在于它们由标量(q = q(t))或向量(p = p(t))函数定义。但是,如果考虑这两种情况下用于计算的方法和工具,差异会更深。在单维和多维轨迹之间,有一类具有中间特征的轨迹,即应用于多轴系统的单轴运动定律,由以所谓的主从配置排列的多个执行器组成。在这种情况下,单个执行器的运动虽然是一维的,但不能单独设计,但必须进行适当的协调/同步1。
在这里插入图片描述
在这本书中,首先考虑了一维轨迹的设计。然后,解决其协调/同步问题,最后考虑三维空间中运动的规划。本书中报告的技术,无论是一维的还是多维的轨迹,也根据以下事实进行分类:所需的运动是仅假设初始和最终点(点到点轨迹)或考虑一组中间通点,必须正确插值/近似(多点轨迹)。
在上一种情况下,通过连接多个点对点轨迹获得复杂运动,这些轨迹通过考虑每个轨迹的初始和最终边界条件以及其最大值的约束来单独优化。相反,在多点轨迹的情况下),通过指定中间点,可以定义任意复杂的运动,轨迹可以作为全局优化问题的解决方案,该解决方案取决于每个通过点和整体轮廓施加的条件。此外,根据给定的通过点,可以采用不同的标准来定义运动轮廓,而该标准不一定由轨迹跨越。特别是,可以区分两种类型的拟合:插值:曲线与给定点的时间某些值,图 1.2(a)。近似:曲线不会完全穿过点,但有一个错误可以通过指定规定的公差(图 1.2(b))进行分配。在多维轨迹中,如果需要降低沿曲线的速度/加速度值,而牺牲了较低的精度,则后一种方法非常有用。
在这里插入图片描述

One-dimensional Trajectories

如今,高速自动机器的设计,其驱动系统主要基于电动驱动,通常涉及使用分布在机器中的多个执行器和相对简单的机构,见图1.3,其中包装机的草图报告。这种类型的机器中存在大约二十个运动轴。所谓的电子凸轮和电子齿轮用于根据需要生成运动,而不是单个或几个执行器和复杂的运动链。这样,可以获得更灵活的机器,能够满足市场所需的不同生产需求,[2]。在这方面,轨迹规划问题越来越重要[3],因为一旦确定了位移及其持续时间,选择从初始到最后一点的运动方式,对于执行器的尺寸、在结构上产生的努力以及指定运动的跟踪能力(跟踪误差)具有重要影响。因此,有必要仔细考虑可用于特定系统(驱动和负载)的不同类型的点对点轨迹。事实上,对于给定的边界条件(初始和最终位置、速度、加速度等)和持续时间,轨迹的类型对中间点的速度和加速度的峰值以及结果剖面的光谱含量有强烈的影响。因此,在本书的第一部分,描述了工业实践中最常见的轨迹系列,提供了他们的分析表达。然后,通过考虑整个机器的频率方面和可实现的性能,对这些轨迹进行分析和比较。
在这里插入图片描述

Mechanical Cams and Electronic Cams

机械凸轮和电子凸轮机械凸轮有很长的历史。虽然一些作者追溯到旧石器时代的起源,如[4],当然达芬奇可以被认为是"现代"凸轮机制设计的首批先驱之一,他设计一些机器基于这些机制,图1.4。过去几十年,机械凸轮已广泛应用于自动机器中,用于传输、协调和改变运动类型,从主设备到一个或多个从属系统,图1.5。参照图 1.6,凸轮应以恒定的旋转速度移动,因此其角度位置 = 是时间线性函数。主体 F(跟随者)具有由凸轮轮廓定义的替代运动 q(+)。机械凸轮的设计,特别是平面机构的设计,已经广泛和仔细的研究,并提供了广泛的文献,关于这个主题,见例如[4,5,6,7,8,9]。如前所述,机械凸轮现在越来越经常被所谓的电子凸轮取代。目标是获得更灵活的机器,提高性能,易于重新编程,并可能以更低的成本。使用电子凸轮,运动 q(t) 直接通过电动执行器获得,正确编程和控制,以生成所需的运动轮廓。因此,设计凸轮以获得所需运动的需要已逐渐被为电机规划适当轨迹的必要性所取代。在基于机械凸轮的多轴机器中,只需将从机连接到单个主阀(在机械级别执行协调),即可实现不同运动轴的同步(在电子凸轮的情况下,必须在设计不同执行器的运动轮廓时考虑问题(同步在软件级别执行),见图1.7)。常见的解决方案是通过定义主运动(可以是虚拟的(由软件生成)或真实(机器执行器的位置)来获取电机的同步,然后使用此主位置作为其他轴的"时间"(即图 1.6(b)中的变量 μ(t))。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Multi-dimensional Trajectories

正确地说,术语轨迹表示三维空间中的路径。例如,梅里亚姆-韦伯斯特字典将轨迹定义为"身体在空间中描述的曲线"[10]。虽然在由多个电机组成的机器中,每个电机都可以进行独立编程和控制(在关节空间中控制),但许多应用需要协调不同运动轴,以便获得机器操作空间中所需的多维轨迹。这是用于切割、铣削、钻孔、研磨或抛光给定工件的工具机床,或必须在三维空间中执行任务的机器人(如点焊、电弧焊接、搬运、粘合等)的情况。在这些应用程序中,必须指定

  1. 要遵循的几何路径 p = p(u),包括沿曲线的方向。
  2. 必须跟踪几何路径的方式,即运动定律 u = u(t)。

后跟末效应器的曲线必须根据任务施加的限制(例如,给定一组 viapoint 的插值)进行设计,而运动定律的确定则来自其他约束,例如将条件强加于驱动系统能够提供的最大速度、加速度和扭矩上。从几何路径和运动定律的组成中获得完整的轨迹,
在这里插入图片描述

如图1.8所示。一旦指定了所需的运动,机制的反向运动学3被用于在驱动(关节)空间中获得相应的轨迹,其中运动被生成和控制。
在这里插入图片描述
在这里插入图片描述

Contents and Structure of this Book

有关通过机械凸轮移动自动机器部件的问题,特别是确定最佳凸轮轮廓以便在负载时获得所需运动的问题,提供了相关的详细书目。如前所述,在众多优秀的参考书中,可以参考[4、5、6、7、8、9]。另一方面,目前没有关于通过电动执行器解决相同问题的类似书目。这些问题虽然相当简单,但在机器人学中部分面临[11、12、13],但仅限于简单运动剖面图和操作空间轨迹的规划。本书讨论了与关节空间轨迹规划有关的主要问题,特别是自动机器的电动执行器。还考虑了在操作空间中定义的轨迹情况,讨论了在 3D 空间中规划运动的插值和近似技术。具体说明以下主题:

Part 1 Basic motion profiles

  • 第2章.说明了定义简单轨迹的基本功能:多项式、三角、指数化,并基于 Fourier 系列扩展。介绍了这些基本函数的主要属性并进行了讨论。
  • 第 3 章。提出了更复杂的轨迹,定义是为了在运动、速度、加速度(如梯形或双S)方面获得特定特征。
  • 第4章.提出了一组通过点插值的轨迹。特别是,说明了通过多项式函数、立方样条线、B 样条线和定义"最佳"(即最小时间)轨迹的技术进行插值。

Part 2 Elaboration and analysis of trajectories

  • 第五章。讨论了轨迹运动和动态"缩放"的问题。给出几个运动轴同步的注释。
  • 第六章.通过考虑对驱动系统产生的影响,对轨迹进行分析和比较。为此,将考虑速度和加速度的最大值和根均平方值,以及不同运动轮廓的结果。
  • 第7章.通过考虑其频率特性及其对机械系统中可能的振动现象的影响,对轨迹进行分析。

Part 3 Trajectories in the operational space

  • 8 章。在操作空间中考虑了自动机器的轨迹规划问题,特别是机器人操纵器的轨迹规划问题。说明了解决此问题的基本工具以及一些示例。
  • 第9章.详细讨论了几何路径与运动定律的分析组成问题。目标是定义时间参数函数,以便满足对速度、加速度等的给定限制。

四个附录接近这本书,详细介绍了与一维轨迹的计算问题相关的一些方面,即有效的多项式计算、矩阵反转等(附录A)、B样条、Nurbs和B+e-zier的定义和属性(附录B)、三维空间方向定义工具(附录C)以及和数字信号的光谱分析(附录D)。

Part 1 Basic motion profiles

基本都是一些一自由度轨迹(可参照前面)。
在这里插入图片描述
通常,有用的运动配置文件可以作为定义基本轨迹的函数的适当组合获得。事实上,人们可能不仅有兴趣获得连续函数,具有连续导数,直到给定顺序,而且还希望获得其他功能,例如最大加速度或抖动的最小值。现在介绍了第2章中所示函数的适当构成所获取的轨迹。其中一些在工业实践中很常见,例如"梯形速度"或"双S"轨迹。
相当于在基础轨迹上进行了一些”修饰“。
在这里插入图片描述
本章讨论了多点轨迹的定义问题,即适用于一组给定点(tk、qk)、k = 0 的插值或近似的函数。.特别是,在单运动轴的情况下讨论了这个问题:第 8 章讨论了与 3D 空间相关的更普遍的问题。提出了不同的方法:适当程度的多项式函数、正交和三角多分项、样条函数和非线性滤波器,能够实时生成最优轨迹,满足最大速度、加速度和抖动的限制。
在这里插入图片描述
在这里插入图片描述

Part 2 Elaboration and analysis of trajectories

仍然是在一个自由度里面讨论。

Operations on Trajectories

可以修改轨迹轮廓,以便获得满足给定约束的运动,例如,驱动系统的饱和度限制。可以应用的典型修改是几何缩放、时间或位置的平移、反射。另一个操作,当由于驱动系统的饱和而对运动轮廓施加适当的约束时,特别有用的是时间缩放。有两种饱和度:运动饱和度和动态饱和度。在前一种情况下,为了执行给定的轨迹,必须确定以驱动系统可实现的速度和/或加速度为特征的所需位移。在后一种情况下,典型的多轴机器,如机器人机械手,驱动系统可能无法应用执行给定运动所需的扭矩,因为耦合和可变动力学可能作为机器的特征。另一个典型的操作,特别适用于许多运动轴的同步,是定义轨迹的函数的分析组合。在电子凸轮系统中,所谓的从属(一般不止一个)的轨迹是根据主凸轮的位置定义的,而不是作为时间函数定义的。因此,每个从轴的最终运动定律由定义关系主从的函数组成给出,该函数的轮廓描述主轴的运动,通常是"锯齿"轮廓。
在这里插入图片描述

Trajectories and Actuators

现在考虑了工业应用中最常用的轨迹的主要特性。特别是,以下讨论突出了轨迹选择与驱动系统之间的联系和影响。事实上,任何给定的驱动系统及其物理限制,对运动法的选择都有相关影响,相反,它可能发生,运动的选择是按照预期要执行的轨迹选择的。
在这里插入图片描述

Dynamic Analysis of Trajectories

振动是自动机器中经常出现的不需要的现象。它们基本上是由于机械系统中存在结构弹性,并且可能在机器正常工作周期期间产生,原因有多种。特别是,除其他原因,如果将具有不连续加速度轮廓的轨迹强加于驱动系统,则可能会产生振动。事实上,加速度轮廓的不连续性意味着施加在机械结构的惯性力的快速变化(不连续性)。当施加到弹性系统时,这些力的相关不连续性会产生振动。由于每个机制都具有某种程度的弹性,因此在设计轨迹时必须始终考虑此类现象,因此,该轨迹应具有平滑的加速度轮廓,或者更一般地考虑有限的带宽。
在这里插入图片描述

Part 3 Trajectories in the operational space

本章讨论了3D轨道规划的问题。此问题在多自由度的操作中具有相关性,例如机器人或特殊的打磨/铣削机。3D 空间中的规划运动比单轴情况下更为复杂,因为一般必须定义两个方面:轨迹的几何形状(例如直线、圆等)和遵循几何路径时要采用的运动定律。此外,还应考虑(工具)的方向问题。因此,对于 3D 轨迹至少要指定七个变量:位置三个,方向三个,运动定律一个。除了这些方面之外,为了通过多自由度机器在空间中执行所需的运动,还必须考虑以下事实:必须使用机器的(反向)运动模型,以便将给定轨迹从指定位置的 3D 空间转换为执行器运动发生的驱动空间(通常称为关节空间)。 一般来说,这种运动变换可能相当复杂,取决于手头的特定机器或机器人。
在这里插入图片描述

Introduction

笛卡尔 (3D) 空间中轨迹的定义意味着确定一个几何路径,使用规定的运动定律进行跟踪,该路径可以通过类似于前几章中报告的功能来定义。为此,在 p (+) 是 (3 × 1) 连续矢量函数的空间中考虑曲线的参数表示非常方便,该函数描述独立变量 u 在域空间的一些间隔内范围时曲线。在许多情况下,机器人任务空间或多轴自动机器中轨迹的定义也需要在曲线的每个点中分配刀具的方向。这可以通过指定与基(世界)框架链接到最终效应器(工具框架)的帧的配置来实现。因此,在一般情况下,轨迹的参数化描述 (8.1) 是一个六维函数,为变量 u 的每个值提供工具的位置和方向:因此,工作区中轨迹的规划包括定义:

  1. 函数 p(u),该函数插值一组所需的点/配置。
  2. 运动定律 u _ u (t) 描述工具应如何沿路径移动。

如果多维问题可以分解在其组件中,3D轨迹规划可以视为一组标量问题,并且可以使用前几章中报告的技术来解决问题。在这种情况下,每个函数 pi (+) 直接取决于时间 t,并且不同组件之间的同步通过同时强制插值条件执行。本章通过考虑使用规定运动定律跟踪的三维几何路径的计算,处理多维问题。一旦定义了任务空间中的轨迹,就有必要通过系统的反向运动模型在关节/电机空间中转换轨迹。有兴趣在此主题的读者应参考专业文献,例如见[12]和许多其他优秀的教科书[79,80,81]。
在讨论可用于定义函数 p(u) 的技术之前,需要一些初步的考虑和定义。通常,位置和方向的轨迹是单独定义的,因为最好在工作空间中跟踪定义良好的路径,例如直线,并且仅指定工具的方向在运动的端点。事实上,除了某些应用(如焊接、喷漆等)外,位置和方向之间并不总是有严格的关系。

虽然这两个问题可以分开处理,但它们在概念上相似,即给定一组通过点2 qk = xk、yk、zk=T(位置)或 qk = μk、k=T(方向),因此必须找到一个通过它们附近的参数曲线。在简单的情况下,可以通过圆形/斜线运动基元直接以分析方式提供此类函数。更经常的是,它必须通过采用更复杂的方法来构造,这些方法也保证了所需的平滑度(曲线及其导数的连续性,达到所需的顺序)。在这种情况下,经典方法基于 B 样条函数、贝塞尔曲线或 Nurbs [82],这些函数是由

其中 pj 是所谓的控制点,即通过加权基础函数 Bj(u 来确定曲线形状的常量系数),根据使用的曲线类型正确定义。附录B总结了B样条曲线、贝塞尔曲线和努尔布斯曲线的定义和最重要的属性。

Continuity of the geometric path and continuity of the trajectory

在这里插入图片描述
如图 8.1 所示,几何路径通常由多个段组成,即 在这里插入图片描述

因此有必要通过对关节施加连续性约束来保证曲线的平滑度,即段3组成曲线的位置,请参见图 8.2。为此,有必要指定连续性的含义,因为对于 3D [83, 84] 中运动的此属性存在不同的概念。特别是,笛卡尔空间中的轨迹具有两种连续性:几何和参数连续性。事实上,使用参数曲线进行轨迹规划通常要求,除了几何路径的明显连续性外,速度和加速度向量(分别是曲线的第一和第二参数化导数向量)也是连续的。另一方面,如果不采取适当的注意,它可能发生曲线,虽然几何平滑,是不连续的速度或加速度。在这种情况下,曲线表示几何连续,但参数不连续。让我们考虑图 8.1 的(显然连续)路径的示例。其第一个导数如图8.4(a)所示,很明显,采用参数化时,导数是不连续的,尽管几何路径看起来是平滑的。
在这里插入图片描述

如果前n个参数导数,则在一个公共点处相遇的两个无穷分段,即pk(1)= pk + 1(0)4(如图8.2所示)满足n阶参数连续性,用Cn表示。在公共点匹配,即如果
在这里插入图片描述
这里主要涉及了计算机图形学,博客比较老,为了防止大哥的东西被删掉,这里直接引用。

参数连续和集合连续
设计一条复杂曲线时,常常通过多段曲线组合而成,这需要解决曲线段之间如何实现光滑连接的问题。
曲线间连接的光滑度的度量有两种:一种是函数的可微性,把组合参数曲线构造成在连接处具有直到n阶连续导矢,即n阶连续可微,这类光滑度称之为Cn或n阶参数连续性。另一种称为几何连续性,组合曲线在连接处满足不同于Cn的某一组约束条件,称为具有n阶几何连续性,简记为Gn。曲线光滑度的两种度量方法并不矛盾,Cn连续包含在Gn连续之中。下面我们来讨论两条曲线的
若要求在结合处达到G0连续或C0连续,即两曲线在结合处位置连续:
若要求在结合处达到G1连续,就是说两条曲线在结合处在满足G0连续的条件下,并有公共的切矢:
若要求在结合处达到G2连续,就是说两条曲线在结合处在满足G1连续的条件下,并有公共的曲率矢:
C1连续保证G2连续,C1连续能 保证G2连续,但反过来不行。也就是说Cn连续的条件比Gn连续的条件要苛刻。

不幸的是,导数向量不是曲线的固有属性[83],它们的值通过用等价的一个ˆu替换参数化u而改变。因此,如果改变其中一条曲线的参数化,两条在Cn连续点相交的曲线可能会失去此特性。相反,单位切线和单位曲率向量是曲线的固有属性,它们导致几何连续性的概念。当且仅当具有共同的单位切向量时,两条参数曲线才具有由G1表示的一阶几何连续性。在这种情况下,保留了关节处的切线方向,但是不能保证速度矢量的连续性,因为切线矢量的大小可能不同。
当且仅当两条曲线具有共同的单位切线和曲率向量时,两条曲线才具有G2连续性。 更笼统地说,当且仅当存在与u相等的参数化uu使得ˆpk(ˆu )和pk + 1(u)在接头处满足Cn连续性。 这意味着,给定一个由多个段组成的Gn曲线,可以找到使曲线Cn连续的参数化,从而保证速度,加速度等的连续性。
由五个多项式线段(B’ezier曲线)组成的图8.1的轨迹是G1连续的。 从视觉上看,路径似乎是平滑的,但是图8.4(a)揭示了一阶导数在关节处是不连续的。 因此,等效参数化用于使曲线C1连续,如图8.4(b)所示。

Global and local interpolation/approximation

如上所述,通常为了拟合给定的一组数据点而构造3D空间中的轨迹。为此,可以根据特定应用程序的需求采用不同的标准。特别是,可以区分两种拟合:插值和逼近(见图8.5)[85,86]。如果对这些点进行插值,则对于自变量的某些值,曲线正好通过它们。如果近似,则曲线不会精确地通过给定点,而是在规定公差范围内。当轨迹必须适合大量点时,通常采用这种情况,但是表征曲线的自由参数不足以获得精确的插值。在其他应用中,近似比插值更可取。当目标是构造一条再现数据形状的曲线时,避免在连续点之间快速振荡(以这种方式减小沿轨迹的曲率/加速度);这就是平滑B样条曲线的情况
在这里插入图片描述
内插/逼近曲线可以通过全局或局部过程确定。 通过全局算法,定义轨迹的参数例如 等式中的控制点。 (8.2)是通过解决优化问题来计算的。 这是基于整个数据点集,通常允许将某些数量减到最少,例如 整体路径的曲率。 使用全局算法,如果修改了某些点,则会干扰整个曲线的形状。 相反,局部过程仅基于每对点的局部数据(切向量,曲率向量等)。 这些算法通常在计算上比全局方法便宜,但是要在关节处实现所需的连续性水平是一项非常棘手的工作。 另一方面,局部方法允许以更简单的方式处理角,直线段和其他特殊性,并且点的修改仅涉及两个相邻的段。

Orientation of the Tool

末端执行器6的方向R可以通过旋转矩阵来表示,该旋转矩阵由三个正交的单位矢量(在机器人法线,滑动和逼近中称为)组成,这些矢量定义了工具相对于基本世界框架的方向:R = [ n,s,a]。 因此,为了指定末端执行器在轨迹的不同点上的定向,必须在每个点pk处指定所需的旋转矩阵Rk,并且必须在它们之间使用适当的插值技术,请参见图8.6。
在这里插入图片描述

Case of independent position and orientation

在定义轨迹时,通常不方便采用旋转矩阵对给定姿势之间的方向进行插值。实际上,通过从对应于旋转矩阵R0的初始值到最后一个R1内插三个单位矢量n,s,a,不可能保证在每个瞬间都保持正交性条件7。由于这个原因,取向改变的计划通常是基于一组三个角度φ=(ϕ,ϑ,ψ),例如。附录C中的Euler角或Roll-Pitch-Yaw角,根据某些定律(通常是时间的多项式函数)从初始值φ0到最终值φ1有所变化。以这种方式,获得了取向的连续变化(和连续的角速度)。例8.2在图8.7中,显示了一条在位置和方向上都有位移的轨迹。尤其是,每个通孔点中的方向是通过相对于世界框架的滚动俯仰-偏航角提供的(在该图中报告了根据等式(C.13)计算的相应框架)。六维通孔点为
在这里插入图片描述

通过适当的插值算法8,将在本节中讨论。 8.4.2找到了一条穿过所有点的C2曲线。这保证了角度的平滑变化,并且可以证明相应的角速度和角加速度都是连续的。轨迹的组成(位置和方向)如图8.8所示。
在这里插入图片描述
在这里插入图片描述
在笛卡尔空间中具有更明确含义的另一种方法是基于所谓的角轴表示。给定两个具有相同原点但方向不同的框架,总是可以找到向量w,从而可以通过围绕w旋转角度ϑ从前一个框架获得后一个框架。给定初始帧F0(在基本帧中由旋转矩阵R0表示)和最终帧F1(具有关联的矩阵R1),描述该变换的旋转矩阵为
在这里插入图片描述

即R1 = R00R1。矩阵0R1可以表示为绕固定轴的旋转矩阵
在这里插入图片描述

刀具从R0到R1的旋转运动可以描述为

其中Rt(θ(t))是时间依赖矩阵,使得Rt(0)= I3,(3×3)单位矩阵,以及Rt(θt)= 0R1。矩阵Rt(θ)的表达式为

其中cθ= cos(θ),sθ= sin(θ)。因此,从R0到R1过渡时刀具的方向取决于参数θ。此时,仅需要分配运动定律θ(t)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这种情况下,通过三次B样条插值描述位置的点,同时通过一次考虑一对点将方向从初始配置更改为最终配置。 因此,定向的总体轨迹由四个部分组成,分别由轴
在这里插入图片描述
和角度
在这里插入图片描述
定义
在这里插入图片描述
在每个段中,轴保持恒定,而角度通过u的5次多项式函数(位置轨迹的B样条的相同独立变量)在0到θtk之间变化,从而可以设置初始值( 对于u = uk,是uk,即穿越点qk的瞬间),最终速度(对于u = uk + 1)等于零。 位置和方向的轨迹组成如图8.11所示。 使用与轨迹的每个点处的局部帧相对应的RPY角度。 特别要注意的是,由于RPY角度定义在[-π,π]范围内,因此角度的轮廓是不连续的。

Case of position and orientation coupled

在这里插入图片描述

在许多任务中,定位和方向问题是在笛卡尔坐标级上耦合的。在这种情况下,可以应用一种技术,该技术允许基于给定点处的路径的方向来指定末端执行器的方向。实际上,如果要跟踪的(规则)曲线的参数形式是用曲线坐标s(用于测量弧长)表示的

可以定义直接与曲线相关的坐标系,Frenet框架,由三个单位矢量表示:

  • 切线单位矢量et,位于与曲线相切的线上,并根据曲线上的正方向定向由s。
  • 法线单位向量en,位于通过点p且与et正交的线上; en的方向使得在p的附近,曲线相对于通过et且垂直于en的平面完全位于en的一侧。
  • 双态单位向量eb,以这样的方式定义:三个向量(et,en,eb)形成右手框架。
    可以通过简单的关系从曲线Γ的表达式推导通用点p的Frenet向量的值:
    在这里插入图片描述

请注意,如果曲线的特征是弧长参数化s而不是通用参数 u,切向量et具有单位长度。 在这些应用中,工具必须相对于运动方向具有固定的方向,例如 在电弧焊中,Frenet向量隐式定义了这种方向。 因此,定义位置轨迹函数以在每个点上获得工具的方向就足够了。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Definition of the Geometric Path Through Motion Primitives

将规划轨迹由一些直线和弧线链接起来。
在三维空间中定义几何路径的一种简单方法是使用一系列基本运动图元,例如直线,圆等,或更一般而言,使用一系列参数函数。显然,内插给定点序列的最简单方法是使用直线。在这种情况下,连接两个点p0和p1的线段的参数形式为
在这里插入图片描述

尽管由一组线性段组成的轨迹是连续的,但其特征是在中间点处的导数不连续。然后,运动的速度和加速度分布出现了不希望有的不连续性,如第二节中更详细讨论的。 8.11中,此技术通常伴随使用混合功能,以确保两个连续段之间的平滑过渡。另一个典型的运动图元是圆弧,它从给定的点p0开始,中心位于所需的轴上,由1矢量z1和通用点d唯一地确定,见图8.15。给定这些数据,可以计算出循环路径。首先,有必要确定中心的确切位置,前提是轨迹不会在点上退化。
…怎么定义圆弧
在这里插入图片描述

Global Interpolation

n维B样条曲线

Global Approximation

在许多情况下,例如出于计算原因,需要减少数据点的数量,就需要采用较简单的曲线(相对于通过插值技术获得的曲线),但会降低精度。 这样的轨迹并不精确地穿过通孔点,而是在规定的公差δ内近似它们。 同样在这种情况下,最直接的解决方案是基于B样条的使用。 然而,尽管在插值问题中,一旦给出了控制点(和节)的数量和样条顺序,就确定了控制点的数量(或节数),但近似值需要根据所需的精度选择适当数量的控制点。

A Mixed Interpolation/Approximation Technique

在某些应用中,可能需要轨迹准确地穿越一组数据点,而其他点只是简单地近似。 在这些情况下,可以通过定义受约束的最小化问题,采用将上一部分中介绍的两种技术混合在一起的方法。

以下都是一些关于在路径点之间保证平滑以及插值方法。

Smoothing Cubic B-splines

B-spline Functions for Trajectories with High Degree of Continuity

Use of Nurbs for Trajectory Generation

NURBS,Non-Uniform Rational B-Splines(非均匀有理B样条)

Local Interpolation with B´ezier Curves

Linear Interpolation with Polynomial Blends

From Geometric Paths to Trajectories

在这里插入图片描述

在本章中,考虑了将几何路径与运动定律组合在一起的问题。 目的是定义时间的参数函数,以便满足对速度,加速度的给定约束。 一个有趣的特殊情况是恒速运动,用于多种工业任务。

introduction

在这里插入图片描述

在许多情况下,函数u(t)是一个简单的比例律,例如 u =λt,但在常见情况下,采用特定运动定律来保证轨迹符合速度和加速度约束。 值得注意的是,在这种情况下,运动定律不过是曲线的重新参数化,它修改了速度和加速度矢量,见图9.1。 实际上,通过应用链式规则来计算轨迹的导数〜p(t)=(p u)(t):
在这里插入图片描述
在这里插入图片描述

显然,〜p(t)的速度矢量等于由运动定律的速度调制的参数曲线p(u)的一阶导数,而加速度取决于加速度和(平方)速度 的u(t)。 特别是通过将(9.1)与(8.2.2)进行比较,得出的结果是,速度始终沿与曲线相切的方向定向,而加速度由沿切线(切向加速度)和 法线(向心加速度)。

读后感

  • 没有讲关节空间和笛卡尔空间之间的映射约束。 希望可以找到相关的论文和书进行一下学习。
  • 最后一章的几个例子可以实践一下。
  • 涉及了很多计算机图形学的东西,这方面可以补一补。

Guess you like

Origin blog.csdn.net/weixin_44229927/article/details/111587779