前言:
当前姐妹们对“贝塞尔曲线计算曲率”大概比较关切,你们都需要剖析一些“贝塞尔曲线计算曲率”的相关内容。那么小编在网摘上汇集了一些对于“贝塞尔曲线计算曲率””的相关内容,希望我们能喜欢,大家快快来了解一下吧!文 | 中史华纳
编辑 | 中史华纳
蠕虫式机器人以其类似蠕虫的蠕动运动方式,能够充分利用其整个身体表面进行牵引,使其能够在有限的空间内进行导航,特别适用于那些对其他自主机器人而言难以穿越的环境。
蠕虫式机器人的这种优势也伴随着一个代价,即速度相对较慢,蠕动运动的波形由一系列小而协调的身体驱动组成,每个驱动都有其限制应变的能力。
在单次挥动过程中,每个节段的运动(行程长度)通常相对于整个身体长度来说较小,当机器人需要转弯时,行程长度甚至可以进一步缩短,从而导致速度减慢。
01
类蠕虫机器人结构与运动学
这项研究旨在开发有效的路径规划方法,以帮助类似蠕虫的机器人绕过障碍物,特别是一种具有转向能力的模块化网状蠕虫式机器人。
在先前的研究中,为该机器人建立了一个运动学模型,该模型假设机器人的每个部分(最靠近一组电缆执行器的区域)都呈梯形形状。
梯形的两条边长度相等,等于直径d,而左侧由左电缆控制的长度为WL,右侧由右电缆控制的长度为RL。
这个模型在考虑机器人转弯时证明非常实用,而且它可能适用于其他类似蠕虫的机器人。
通过调整机器人的相关参数,起初机器人的身体形状是一个直径为20厘米的圆柱形,可以看作是由六个独立的部分组成,而这些部分的形状(直径和左/右宽度)可以由相应的执行器进行控制。
通过预先编写的代码,执行器依次控制这些节段的膨胀或收缩,从而形成蠕动波来实现机器人的移动,主要使用2×1波形来进行运动。
这种模式意味着两个连续的节段同时变形,其中一个前节段收缩,而后节段膨胀,而在任何给定的时间内只有一对这种变形发生。
在模拟中,每个机器人部分都被简化为梯形,其参数包括d、WR和WL,直径(d)被视为一个预设的常数值。这些梯形的左/右宽度(WL和WR)定义了机器人当前的形状,它们随时间的变化代表了蠕虫状机器人的运动。
模拟环境被设定为将机器人放置在障碍物的左侧,并使其面向水平方向,从左到右,需要注意的是,这项研究的结果与坐标参考系的选择无关,但为了方便比较,始终将机器人的初始配置设置为后缘位于y轴上,中心线与y轴平行。
x轴上形成一个通道,该通道在机器人的起始位置和目标位置之间,通道宽度为30厘米,两侧保留有相当于直径的25%的间隙,这一设置有助于模拟机器人在绕过障碍物时的实际情况。
02
贝塞尔曲线
为了改进先前小组发布的路径生成算法,现采用三次贝塞尔曲线来为CMWorm-S机器人生成更为平滑的路径。
在这个过程中,使用笛卡尔坐标系中指定的控制点p1、p2、p3和p4,通过将变量t从0逐渐增加到1,由B(t)定义的路径将形成一条贝塞尔曲线,其起点为p1,终点为p4。
将p1到p2之间的向量称为起始控制向量,而p3到p4之间的向量则作为终止控制向量。对于要应用于平滑路径生成器的曲线,必须满足以下条件:给定的起点和终点必须分别成为曲线的起点和终点。
这些方向可以来自路径规划配置(即初始/目标机器人面向的方向),或者可以来自曲线当前起点处前一条曲线的面向方向。
幸运的是,贝塞尔曲线的性质使得满足这些条件变得相对简单,基于方程可以确定曲线始终从p1出发,最终到达p4。
通过将p1和p4的坐标设置为起点和终点,并将相应的方向信息设置为所需的方向,可以平滑地应用曲线以连接路径规划算法生成的两个路点,曲线的导数也是连续的,这表明沿着应用曲线的路径不存在突然的转弯。
通过调整长度和形状,可以在满足要求的前提下对曲线进行优化。可以确定曲线始终从p1开始,最终到达p4。这一方法有望改善CMWorm-S机器人的路径规划和导航性能。
03
具有避障功能的路径生成
路径生成是一个关键步骤,它通过寻找关键路径点,生成可行的曲线,并按顺序连接这些点来完成。
这一算法将重复执行,直到找到一条连接初始位置和目标位置、且不会与任何障碍物碰撞的路径。随后,还会进行优化以减少总路径长度。
航路点可以通过两种方式确定:随机生成或者通过启发法确定。在随机生成的情况下,当没有提供先验信息且需要发现路径点时,算法将从整个空间中选取随机点,然后生成具有随机控制的贝塞尔曲线路径。
该路径通过这些点的向量长度,同时避开了两个障碍物以形成一条通道,在采用启发法的情况下,通常会选择通道中心入口处的航路点,这被认为更加有效。
一旦潜在路径生成完毕,算法会执行碰撞检查,这一过程包括在障碍物边界周围添加一定的间隙余量以计算碰撞。
为了优化最终结果,路径生成和碰撞检查过程会多次重复,使用不同的参数生成不同的非碰撞路径。
最终被认为是最佳路径的是总长度最短的路径。这种方法甚至可以证明可以减少用于机器人移动的总波数,尽管路径长度和总波数之间的关系由于蠕动机器人的复杂动力学而非线性。
一旦路径长度计算出来,还可以计算路径上有多少个波,先前的工作建立了用于研究蠕虫式机器人的运动学模型,以及允许机器人遵循路径的算法。
基于这些工作,可以跟踪路径生成机器人的整个运动,从而计算出波的数量,每个波的第二部分会发生变形,以使机器人的头部中心遵循路径。
接着,2×1蠕动波向后传播到其余部分,以确保机器人遵循无滑动运动学约束,每个波都会被计数,直到机器人达到目标位置。
04
限制因素分析:半径、偏移和间隙
通道的特征是相对于机器人初始方向的位置,即y轴偏移和x轴间隙。换句话说,拥有较大偏移的通道将需要容纳更多的转弯,而拥有更大间隙的通道则提供更多的空间以容纳所需的转弯。
在之前的研究中,已确定了稳定的重定向转弯的安全转弯半径为77厘米,尝试在许多波浪中保持更小半径的转弯可能导致失速情况,其中波浪的前进变得越来越小。
所有转弯的半径都被限制在77厘米,这是最紧凑完整圆的极限半径。由于在这里贝塞尔曲线的半径总是变化的,这展示了蠕虫式机器人如何通过使用贝塞尔曲线在短距离内进行更紧凑的转弯。
为了与之前的转弯半径进行比较,将贝塞尔曲线分解为三个部分:第一个重定向转弯、一段有效的直线和第二个重定向转弯。确定边界的方式是基于路径的曲率半径是否大于机器人的安全转弯半径。
在第一个重定向转弯期间,机器人需要调整其方向以适应障碍物或通道,高效线段具有相对较大的曲率半径,这可以让机器人更有效地前进。
在第二个重定向转弯期间,机器人需要再次转向一定角度并重新定位以穿越障碍物。这三个部分的比例影响了机器人的转弯间隙。
05
通过贝塞尔曲线应用程序改进路径
贝塞尔曲线具有一项重要的能力,即能够在匹配起始和结束配置的同时调整曲线形状,这使得它可以帮助优化不同环境下具有相同起始和目标的路径。
为了验证这一方法的有效性,进行了相关的仿真测试,并将结果与以前使用椭圆路径的研究成果进行了比较。
在测试中,起始方向和目标方向都设置为水平向右,控制向量与x轴的夹角均为0。最有效的路径到达目标配置(位置和方向)是由较小的控制向量(10厘米和10厘米)所形成的,这条路径需要51个波(总长度为229厘米)才能完成。
然后,引入了障碍物灰色矩形,先前的有效路径从(a)开始(绿色虚线),但只有6.3厘米的可用空间来避开障碍物,这小于机器人的半径(10厘米)。
需要对路径进行优化(粉色实线)以避免碰撞,通过增加控制向量的大小(60厘米和60厘米),可以实现这种调整,从而产生更大的转弯半径。
随着环境复杂性的增加,优化路径现在需要使用127个波(总长度为234厘米)才能达到目标,由于机器人的运动学特性,每步的最大向前运动在转弯时会减少,波的总数增加超过了总路径长度的增加。
测试了机器人在不同椭圆路径下的性能,使用椭圆曲线,对于给定的一组起始和目标配置,最多有一个可用的对应椭圆路径。
这种关系没有留下优化两个航路点之间的路径形状的空间,由于软体蠕虫机器人的结构限制,其转动角度也受到限制,只能沿着给定曲率内的曲线运动。
当椭圆路径的曲线半径过大,机器人无法到达时,到达目标时会出现较大误差(2.24 cm)。贝塞尔曲线允许机器人通过调整控制向量以更好地适应机器人的运动学约束来准确地遵循路径。
在测试中,贝塞尔曲线的应用导致位置误差小于椭圆路径误差的一半,具体而言,贝塞尔曲线的位置误差为0.60厘米,而椭圆路径的位置误差为1.34厘米。
贝塞尔曲线的曲率半径可以进行调整,使其迅速增大然后减小,通过这种调整,机器人可以更快地遵循路径,同时在达到目标之前更好地消除累积的位移误差。
综合考虑所有这些特点,贝塞尔曲线在可跟踪路径生成和误差减少方面表现出明显的优势。
标签: #贝塞尔曲线计算曲率 #贝塞尔曲线的曲率 #贝塞尔曲线曲率极值 #贝塞尔曲线计算曲率怎么算出来的