轨迹多项式生成装置及其轨迹序列控制器制造方法及图纸

技术编号:35448317 阅读:33 留言:0更新日期:2022-11-03 12:02
本发明专利技术提供轨迹多项式生成装置及其轨迹序列控制器。轨迹序列控制器包括轨迹序列生成器、准备电路、前进电路、后进电路以及生成电路。轨迹生成器序列激活准备电路、前进电路、后进电路以及生成电路。准备电路调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,以及使用x轴步长与多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量。前进电路调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的至少一个元素。后进电路调度轨迹浮点计算电路使用系数矩阵与常数矢量计算二次差分值矢量中的其余元素。生成电路去调度轨迹浮点计算电路使用二次差分值矢量计算出曲线的系数。矢量计算出曲线的系数。矢量计算出曲线的系数。

【技术实现步骤摘要】
轨迹多项式生成装置及其轨迹序列控制器


[0001]本专利技术涉及一种电子电路,且特别涉及一种轨迹多项式生成装置及其轨迹序列控制器。

技术介绍

[0002]在机器人导航过程中,如何控制机器人从A点移动到B点,通常称之为运动规划。运动规划一般又分为两步:路径规划和轨迹规划。所谓路径规划是指,在地图中搜索一条从A点到B点的运动路径,其中运动路径由一系列离散的路径点(waypoint)组成。运动路径的路径点可能比较稀疏(不平滑)。为了能更好的控制机器人运动,需要将稀疏的路径点变成平滑的曲线或稠密的轨迹点,也就是轨迹规划。如何实现硬件去加速生成多个路径点中任意两个相邻路径点之间的曲线的系数(coefficient),从而减少轨迹规划中的实时计算延迟,是机器人
的诸多重要课题之一。

技术实现思路

[0003]本专利技术提供一种轨迹多项式生成(trajectory polynomial generation)装置及其轨迹序列控制器(trajectory sequential controller),以调度轨迹浮点计算电路去计算运动路径的多个路径点(waypoint)中任意两个相邻路径点之间的曲线的系数(coefficient)。
[0004]在根据本专利技术的实施例中,所述轨迹序列控制器包括轨迹序列生成器(trajectory sequential generator)、准备(prepare)电路、前进(forward)电路、后进(backward)电路以及生成(generation)电路。准备电路耦接至轨迹序列生成器。准备电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,以及调度所述轨迹浮点计算电路使用x轴步长与多个路径点的坐标准备三次样条插值算法(Cubic Spline Interpolation Algorithm)的线性方程组中的系数矩阵与常数矢量。前进电路耦接至轨迹序列生成器。前进电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的至少一个元素。后进电路耦接至轨迹序列生成器。后进电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用系数矩阵与常数矢量计算二次差分值矢量中的其余元素。生成电路耦接至轨迹序列生成器。生成电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与二次差分值矢量计算出曲线的系数。
[0005]在根据本专利技术的实施例中,所述轨迹多项式生成装置包括轨迹浮点计算电路、轨迹缓存(trajectory buffer)以及轨迹序列控制器。轨迹缓存用以提供多个路径点的坐标。轨迹序列控制器耦接至轨迹缓存与轨迹浮点计算电路。轨迹序列控制器用以调度述轨迹浮点计算电路去进行三次样条插值算法,以将多个路径点的坐标转换为曲线的系数。轨迹序列控制器调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,
调度轨迹浮点计算电路使用x轴步长与多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量,调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的元素,以及调度轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与二次差分值矢量计算出曲线的系数。
[0006]基于上述,所述轨迹多项式生成装置可以硬件去加速生成任意两个相邻路径点之间的多个曲线的系数,从而减少轨迹规划中的实时计算延迟。
附图说明
[0007]图1是依照本专利技术的一实施例的一种轨迹多项式生成装置的电路方块(circuit block)示意图;
[0008]图2是依照本专利技术的一实施例的一种轨迹序列控制器的电路方块示意图;
[0009]图3是依照本专利技术的一实施例所绘示,装配缓存的配置示意图。
[0010]附图标记说明
[0011]10:外部装置
[0012]100:轨迹多项式生成装置
[0013]110:接口转换电路
[0014]120、130、140:乒乓寄存器
[0015]150、200:轨迹序列控制器
[0016]160:轨迹浮点计算电路
[0017]161:浮点乘加计算电路
[0018]162:浮点除算电路
[0019]170:直接内存访问(DMA)控制器
[0020]180:轨迹缓存
[0021]181:装配缓存
[0022]182:中间缓存
[0023]183:交付缓存
[0024]210:轨迹序列生成器
[0025]220:准备电路
[0026]230:前进电路
[0027]240:后进电路
[0028]250:生成电路
[0029]BANK1、BANK2、BANK3、BANKm:库
[0030]TRDMA:轨迹读取直接内存访问控制器
[0031]TWDMA:轨迹写入直接内存访问控制器
[0032]WP[1]、WP[2]、WP[3]、WP[m]、WP[m+1]、WP[m+2]、WP[m+3]、WP[2m]:路径点
具体实施方式
[0033]现将详细地参考本专利技术的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
[0034]在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
[0035]三次样条插值算法(Cubic Spline Interpolation Algorithm)可以被用于无人驾驶算法中的轨迹规划。无人车(或机器人)在运动中,会使用地图计算到达终点的最短运动路径(也就是路径规划),其中运动路径由一系列离散的路径点(waypoint)组成。在完成路径规划后,无人车(或机器人)再进行插值操作以计算任意两个相邻路径点之间的曲线。本专利技术将以下述诸实施例说明,针对三次样条插值算法设计的专用硬件加速装置:轨迹多项式生成(trajectory polynomial generation,TPG)装置。例如中央处理器(Central Processing Unit,CPU)或其他外部装置可以进行路径规划而生成运动路径的一系列路径点,然后将路径点的坐标提供给下述诸实施例所述的轨迹多项式生成装置。轨迹多项式生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种轨迹序列控制器,用以调度轨迹浮点计算电路去计算运动路径的多个路径点中任意两个相邻路径点之间的曲线的系数,其特征在于,所述轨迹序列控制器包括:轨迹序列生成器;准备电路,耦接至所述轨迹序列生成器,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路计算所述多个路径点中任意两个相邻路径点之间的x轴步长,以及调度所述轨迹浮点计算电路使用所述x轴步长与所述多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量;前进电路,耦接至所述轨迹序列生成器,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述系数矩阵与所述常数矢量计算所述线性方程组中的二次差分值矢量的至少一个元素;后进电路,耦接至所述轨迹序列生成器,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述系数矩阵与所述常数矢量计算所述二次差分值矢量中的其余元素;以及生成电路,耦接至所述轨迹序列生成器,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与所述二次差分值矢量计算出所述曲线的所述系数。2.根据权利要求1所述的轨迹序列控制器,其特征在于,当所述三次样条插值算法完成一次计算时,所述轨迹序列生成器发出完成中断信号给外部装置。3.根据权利要求1所述的轨迹序列控制器,其特征在于,所述准备电路从轨迹缓存提取所述多个路径点的所述坐标。4.根据权利要求1所述的轨迹序列控制器,其特征在于,所述轨迹序列生成器依据所述轨迹浮点计算电路的并行度将所述多个路径点分为至少一个批次去进行所述三次样条插值算法。5.根据权利要求4所述的轨迹序列控制器,其特征在于,在所述至少一个批次的任一个中所述准备电路进行多个步骤以计算所述x轴步长、所述系数矩阵与所述常数矢量,其中,在所述多个步骤中的第一步骤,所述准备电路调度所述轨迹浮点计算电路计算属于目前批次的所述多个路径点的多个对应x轴步长,其中所述多个对应x轴步长作为所述系数矩阵的第一部分元素;在所述多个步骤中的第二步骤,所述准备电路调度所述轨迹浮点计算电路计算属于所述目前批次的所述多个路径点中任意两个相邻路径点之间的多个y轴步长;在所述多个步骤中的第三步骤,所述准备电路调度所述轨迹浮点计算电路计算所述多个对应x轴步长的每一个的第一倍数值,以及所述准备电路调度所述轨迹浮点计算电路计算所述多个y轴步长与所述多个对应x轴步长的多个商值;在所述多个步骤中的第四步骤,所述准备电路调度所述轨迹浮点计算电路计算所述第一倍数值中任意两个相邻倍数值的和值,其中所述和值作为所述系数矩阵的第二部分元素;在所述多个步骤中的第五步骤,所述准备电路调度所述轨迹浮点计算电路计算所述多个商值中任意两个相邻商值的差值,其中所述多个商值被所述生成电路所复用;以及在所述多个步骤中的第六步骤,所述准备电路调度所述轨迹浮点计算电路计算所述差
值的每一个的第二倍数值,其中所述第二倍数值作为所述常数矢量的元素。6.根据权利要求4所述的轨迹序列控制器,其特征在于,所述前进电路进行多个迭代以求得所述二次差分值矢量的所述至少一个元素,其中在所述多个迭代中的第i个迭代中,所述前进电路调度所述轨迹浮点计算电路计算tmp=b
i

a
i
*c
i
‑1,其中tmp为所述第i个迭代中的中间数,a
i
为所述系数矩阵的第一对角线的第i个元素,b
i
为所述系数矩阵的第二对角线的第i个元素,以及c
i
‑1为所述系数矩阵的第三对角线的第i

1个元素;所述前进电路调度所述轨迹浮点计算电路计算c
i
=c
i
/tmp,其中c
i
为所述系数矩阵的第三对角线的第i个元素;以及所述前进电路调度所述轨迹浮点计算电路计算d
i
=[d
i

a
i
*d
i
‑1]/tmp,其中d
i
‑1为所述常数矢量的第i

1个元素,以及d
i
为所述常数矢量的第i个元素。7.根据权利要求4所述的轨迹序列控制器,其特征在于,所述后进电路进行多个迭代以计算所述二次差分值矢量中的所述其余元素,其中在所述多个迭代中的第i个迭代中,所述后进电路调度所述轨迹浮点计算电路计算f
i
=d
i

c
i
*f
i+1
,其中f
i
为所述二次差分值矢量的第i个元素,f
i+1
为所述二次差分值矢量的第i+1个元素,d
i
为所述常数矢量的第i个元素,以及c
i
为所述系数矩阵的第三对角线的第i个元素。8.根据权利要求4所述的轨迹序列控制器,其特征在于,所述生成电路进行多个迭代以计算所述曲线的所述系数,其中在所述多个迭代中的第i个迭代中,所述生成电路以第i个路径点的y轴坐标作为所述曲线的常数项系数;所述生成电路调度所述轨迹浮点计算电路计算[(y
i+1

y
i
)/h
i
]

[(h
i
/2)*f
i
]

[(h
i
/6)*(f
i+1

f
i
)]作为所述曲线的一次项系数,其中y
i+1
为第i+1个路径点的y轴坐标,y
i
为第i个路径点的y轴坐标,h
i
为第i+1个路径点与第i个路径点之间的所述x轴步长,f
i
为所述二次差分值矢量的第i个元素,以及f
i+1
为所述二次差分值矢量的第i+1个元素;所述生成电路调度所述轨迹浮点计算电路计算f
i
/2作为所述曲线的二次项系数;以及所述生成电路调度所述轨迹浮点计算电路计算(f
i+1

f
i
)/(6*h
i
)作为所述曲线的三次项系数。9.根据权利要求1所述的轨迹序列控制器,其特征在于,所述系数矩阵为对角矩阵。10.一种轨迹多项式生成装置,用以计算运动路径的多个路径点中任意两个相邻路径点之间的曲线的系数,其特征在于,所述轨迹多项式生成装置包括:轨迹浮点计算电路;轨迹缓存,用以提供所述多个路径点的坐标;以及轨迹序列控制器,耦接至所述轨迹缓存与所述轨迹浮点计算电路,用以调度所述轨迹浮点计算电路去进行三次样条插值算法,以将所述多个路径点的所述坐标转换为所述曲线的所述系数,其中所述轨迹序列控制器调度所述轨迹浮点计算电路计算所述多个路径点中任意两个相邻路径点之间的x轴步长,调度所述轨迹浮点计算电路使用所述x轴步长与所述多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量,调度所述轨迹浮点计算电路使用所述系数矩阵与所述常数矢量计算所述线性方程组中的二次差分值矢量的元素,以及调度所述轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与所述二次差分值矢量计算出所述曲线的所述系数。11.根据权利要求10所述的轨迹多项式生成装置,其特征在于,所述轨迹序列控制器包
括:轨迹序列生成器;准备电路,耦接至所述轨迹序列生成器与所述轨迹缓存,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路计算所述x轴步长,以及调度所述轨迹浮点计算电路使用所述x轴步长与所述多个路径点的坐标准备所述系数矩阵与所述常数矢量;前进电路,耦接至所述轨迹序列生成器与所述轨迹缓存,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述系数矩阵与所述常数矢量计算所述二次差分值矢量的至少一个元素;后进电路,耦接至所述轨迹序列生成器与所述轨迹缓存,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述系数矩阵与所述常数矢量计算所述二次差分值矢量中的其余元素;以及生成电路,耦接至所述轨迹序列生成器与所述轨迹缓存,用以基于所述轨迹序列生成器的激活去调度所述轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与所述二次差分值矢量计算出所述曲线的所述系数。12.根据权利要求11所述的轨迹多项式生成装置,其特征在于,当所述三次样条插值算法完成一次计算时,所述轨迹序列生成器发出完成中断信号给外部装置。13.根据权利要求11所述的轨迹多项式生...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海壁仞智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1