轨迹多项式生成装置及其轨迹序列控制器的制作方法



1.本发明涉及一种电子电路,且特别涉及一种轨迹多项式生成装置及其轨迹序列控制器。


背景技术:



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


技术实现要素:



3.本发明提供一种轨迹多项式生成(trajectory polynomial generation)装置及其轨迹序列控制器(trajectory sequential controller),以调度轨迹浮点计算电路去计算运动路径的多个路径点(waypoint)中任意两个相邻路径点之间的曲线的系数(coefficient)。
4.在根据本发明的实施例中,所述轨迹序列控制器包括轨迹序列生成器(trajectory sequential generator)、准备(prepare)电路、前进(forward)电路、后进(backward)电路以及生成(generation)电路。准备电路耦接至轨迹序列生成器。准备电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,以及调度所述轨迹浮点计算电路使用x轴步长与多个路径点的坐标准备三次样条插值算法(cubic spline interpolation algorithm)的线性方程组中的系数矩阵与常数矢量。前进电路耦接至轨迹序列生成器。前进电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的至少一个元素。后进电路耦接至轨迹序列生成器。后进电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用系数矩阵与常数矢量计算二次差分值矢量中的其余元素。生成电路耦接至轨迹序列生成器。生成电路用以基于轨迹序列生成器的激活去调度轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与二次差分值矢量计算出曲线的系数。
5.在根据本发明的实施例中,所述轨迹多项式生成装置包括轨迹浮点计算电路、轨迹缓存(trajectory buffer)以及轨迹序列控制器。轨迹缓存用以提供多个路径点的坐标。轨迹序列控制器耦接至轨迹缓存与轨迹浮点计算电路。轨迹序列控制器用以调度述轨迹浮点计算电路去进行三次样条插值算法,以将多个路径点的坐标转换为曲线的系数。轨迹序列控制器调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,
调度轨迹浮点计算电路使用x轴步长与多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量,调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的元素,以及调度轨迹浮点计算电路使用所述x轴步长、所述多个路径点的所述坐标与二次差分值矢量计算出曲线的系数。
6.基于上述,所述轨迹多项式生成装置可以硬件去加速生成任意两个相邻路径点之间的多个曲线的系数,从而减少轨迹规划中的实时计算延迟。
附图说明
7.图1是依照本发明的一实施例的一种轨迹多项式生成装置的电路方块(circuit block)示意图;
8.图2是依照本发明的一实施例的一种轨迹序列控制器的电路方块示意图;
9.图3是依照本发明的一实施例所绘示,装配缓存的配置示意图。
10.附图标记说明
11.10:外部装置
12.100:轨迹多项式生成装置
13.110:接口转换电路
14.120、130、140:乒乓寄存器
15.150、200:轨迹序列控制器
16.160:轨迹浮点计算电路
17.161:浮点乘加计算电路
18.162:浮点除算电路
19.170:直接内存访问(dma)控制器
20.180:轨迹缓存
21.181:装配缓存
22.182:中间缓存
23.183:交付缓存
24.210:轨迹序列生成器
25.220:准备电路
26.230:前进电路
27.240:后进电路
28.250:生成电路
29.bank1、bank2、bank3、bankm:库
30.trdma:轨迹读取直接内存访问控制器
31.twdma:轨迹写入直接内存访问控制器
32.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)或其他外部装置可以进行路径规划而生成运动路径的一系列路径点,然后将路径点的坐标提供给下述诸实施例所述的轨迹多项式生成装置。轨迹多项式生成装置可以计算任意两个相邻路径点之间的曲线(多项式)的系数(coefficient),然后将这些曲线的系数回传给外部装置。因此,外部装置可以依据轨迹多项式生成装置所生成的系数去创建任意两个相邻路径点之间的多项式。
[0036]
三次样条插值的计算方式有两类,其中一类是使用追赶法。追赶法是针对于三对角、五对角等对角矩阵线性方程组设计出的快速求解方式。第二类是使用求解常用矩阵线性方程组。求解常用矩阵线性方程组的方式,其场景更为复杂,需要更多的较复杂约束,导致矩阵方程组没有形成三对角矩阵。下述诸实施例使用针对追赶法的计算方式,可以使三次样条插值的实时运算过程中,使用更少的硬件资源和更少的计算延迟。
[0037]
图1是依照本发明的一实施例的一种轨迹多项式生成装置100的电路方块(circuit block)示意图。外部装置10(例如cpu)可以进行路径规划而生成运动路径的多个路径点,然后将这些路径点的坐标提供给轨迹多项式生成装置100。轨迹多项式生成装置100可以计算运动路径的多个路径点中任意两个相邻路径点之间的曲线(多项式)的系数,然后将这些曲线的系数回传给外部装置10。图1所示轨迹多项式生成装置100包括接口转换电路110、乒乓寄存器(ping-pong register)120、乒乓寄存器130、乒乓寄存器140、轨迹序列控制器(trajectory sequential controller,tsc)150、轨迹浮点计算电路160、直接内存访问(direct memory access,dma)控制器170以及轨迹缓存(trajectory buffer)180。依照不同的设计需求,上述接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170的实现方式可以是硬件(hardware)、固件(firmware)、软件(software,即程序)或是前述三者中的多者的组合形式。
[0038]
以硬件形式而言,接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170可以实现于集成电路(integrated circuit)上的逻辑电路。接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170的相关功能可以利用硬件描述语言(hardware description languages,例
如verilog hdl或vhdl)或其他合适的编程语言来实现为硬件。举例来说,接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170的相关功能可以被实现于一或多个控制器、微控制器、微处理器、特殊应用集成电路(application-specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、场可程序逻辑门阵列(field programmable gate array,fpga)及/或其他处理单元中的各种逻辑区块、模块和电路。
[0039]
以软件形式及/或固件形式而言,接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170的相关功能可以被实现为编程码(programming codes)。例如,利用一般的编程语言(programming languages,例如c、c++或汇编语言)或其他合适的编程语言来实现接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170。所述编程码可以被记录/存放在“非临时的可读取媒体(non-transitory readable medium)”中。在一些实施例中,所述非临时的可读取媒体例如包括半导体内存、可程序设计的逻辑电路以及(或是)存储装置。中央处理器(central processing unit,cpu)、控制器、微控制器或微处理器可以从所述非临时的可读取媒体中读取并执行所述编程码,从而实现接口转换电路110、轨迹序列控制器150、轨迹浮点计算电路160以及(或是)直接内存访问控制器170的相关功能。
[0040]
在图1所示实施例中,接口转换电路110可以提供从高级外设总线(advanced peripheral bus,apb)到配置空间总线(configuration space bus,csb)的转换接口。接口转换电路110可以通过apb总线从外部装置10取得配置信号与控制信号。接口转换电路110耦接至乒乓寄存器120、130与140,而乒乓寄存器120、130与140分别耦接至直接内存访问控制器170、轨迹序列控制器150与轨迹浮点计算电路160。接口转换电路110可以通过csb总线将所述配置信号与所述控制信号选择性地提供给乒乓寄存器120、130与140其中至少一者。因此,外部装置10可以通过配置信号与控制信号去设置/控制轨迹序列控制器150、轨迹浮点计算电路160与直接内存访问控制器170的操作。
[0041]
在图1所示实施例中,乒乓寄存器140用于从接口转换电路110获取来自外部装置10的配置信息与控制信号,以及将配置信息与控制信号提供给直接内存访问控制器170。配置信息包括(但是不限于)“路径点的数量”。控制信息包括(但是不限于)“路径点读取开始”。乒乓寄存器140耦接至直接内存访问控制器170。直接内存访问控制器170耦接至轨迹缓存180和外部装置10。直接内存访问控制器170包括轨迹读取直接内存访问控制器trdma以及轨迹写入直接内存访问控制器twdma。轨迹读取直接内存访问控制器trdma用以从第一外部装置读取多个路径点的坐标,而轨迹写入直接内存访问控制器twdma用以将所述系数提供给第二外部装置。依照实际设计,在一些实施例中,所述第一外部装置与所述第二外部装置可以是不同的装置。在另一些实施例(例如图1所示实施例)中,所述第一外部装置与所述第二外部装置可以是相同的外部装置10。
[0042]
轨迹缓存180包括装配缓存(assembly buffer,abuff)181、中间缓存(intermediate buffer,ibuff)182以及交付缓存(delivery buffer,dbuff)183。轨迹读取直接内存访问控制器trdma耦接至装配缓存181。轨迹读取直接内存访问控制器trdma可以通过高级可扩展接口4.0(advanced extensible interface 4.0,axi4)总线从外部装置10读取多个路径点的坐标,以及将这些路径点的坐标存放于装配缓存181。轨迹多项式生成装
置100可以计算任意两个相邻路径点之间的曲线(多项式)的系数,然后将这些曲线的系数暂存于交付缓存183。轨迹写入直接内存访问控制器twdma耦接至所述交付缓存183。轨迹写入直接内存访问控制器twdma可以从交付缓存183读取这些曲线的系数,然后通过axi4总线将暂存于交付缓存183的系数提供/回传给外部装置10。
[0043]
下述等式1是任意两个相邻路径点之间的曲线的一个多项式范例。其中,gi(x)表示在运动路径中的第i个曲线的y轴坐标,x表示第i个曲线的x轴坐标,xi表示在运动路径中的第i个路径点的x轴坐标,cai表示第i个曲线的常数项系数,cbi表示第i个曲线的一次项系数,cci表示第i个曲线的二次项系数,cdi表示第i个曲线的三次项系数。
[0044]gi
(x)=cai+cbi*(x

xi)+cci*(x

xi)2+cdi*(x

xi)3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式1
[0045]
乒乓寄存器120用于从接口转换电路110获取来自外部装置10的配置信息与控制信号。配置信息包括(但是不限于)“路径点的数量”、“三次样条插值的边界条件和边界情况”以及(或是)其他配置信息。控制信号包括(但是不限于)“轨迹序列控制器150的启动开始”。轨迹序列控制器150耦接至乒乓寄存器120与轨迹浮点计算电路160。轨迹序列控制器150可以调度轨迹浮点计算电路160去进行三次样条插值算法,以将多个路径点的坐标转换为曲线(多项式)的系数cai、cbi、cci与cdi。详而言之,轨迹序列控制器150可以调度轨迹浮点计算电路160去进行以下操作:计算任意两个相邻路径点之间的x轴步长,使用所述x轴步长求得三次样条插值算法的线性方程组中的系数矩阵的多个元素,使用所述x轴步长与这些路径点的坐标求得线性方程组中的常数矢量的多个元素,使用系数矩阵与常数矢量求得线性方程组中的二次差分值矢量,以及使用所述x轴步长、所述多个路径点的所述坐标与二次差分值矢量计算出曲线的系数cai、cbi、cci与cdi。轨迹序列控制器150可以将任意两个相邻路径点之间的这些曲线的系数暂存于交付缓存183。轨迹写入直接内存访问控制器twdma可以将暂存于交付缓存183的系数cai、cbi、cci与cdi提供/回传给外部装置10。
[0046]
三次样条插值算法的线性方程组可以是下述等式2。其中,cm表示线性方程组中的系数矩阵(等式3),mv表示线性方程组中的二次差分值矢量(等式4),而yv表示线性方程组中的常数矢量(等式5)。在此假设运动路径的路径点的数量为n+1,其中n为依据实际应用所决定的任意整数。系数矩阵cm为n*n的对角矩阵,其中a2、a3、

、a
n-1
与an为系数矩阵cm的第一对角线的元素,b1、b2、b3、

、b
n-1
与bn为系数矩阵cm的第二对角线的元素,c1、c2、c3、

、c
n-1
为系数矩阵cm的第三对角线的元素,f1、f2、f3、

、f
n-1
与fn为二次差分值矢量mv的元素,而d1、d2、d3、

、d
n-1
与dn为常数矢量yv的元素。轨迹序列控制器150可以调度轨迹浮点计算电路160去准备系数矩阵cm与常数矢量yv,以及使用系数矩阵cm与常数矢量yv求得二次差分值矢量mv。
[0047]
cm*mv=yv
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式2
[0048]
[0049][0050][0051]
三次样条插值算法的线性方程组(等式2)可以依照实际应用条件来决定。举例来说,在自由边界的应用条件下,系数矩阵cm(等式3)可以是下述等式6,而常数矢量yv(等式5)可以是下述等式7。在固定边界的应用条件下,系数矩阵cm(等式3)可以是下述等式8,而常数矢量yv(等式5)可以是下述等式9。在此假设运动路径有第1个路径点(x轴坐标与y轴坐标为x1与y1)至第n+1个路径点(x轴坐标与y轴坐标为x
n+1
与y
n+1
)。以下以xi与yi表示在运动路径中的第i个路径点的x轴坐标与y轴坐标。在等式6至等式9中,h1至hn表示在运动路径中任意两个相邻路径点之间的x轴步长。举例来说,在运动路径中第i个x轴步长hi为x
i+1-xi。等式9中的a与b为依照实际应用条件来决定的任意实数。
[0052][0053][0054]
~c
n-1
(等式3)。轨迹序列控制器150可以将任意两个相邻路径点之间的x轴步长h1~hn作为在系数矩阵cm中第一对角线的元素a2~an以及第三对角线的元素c1~c
n-1
。(详参等式6或等式8)。轨迹序列控制器150可以调度轨迹浮点计算电路160去使用x轴步长h1~hn计算第二对角线的元素b1~bn(详参等式6或等式8)。中间缓存182的第二缓存单元可以暂存系数矩阵cm的第二对角线的元素b1~bn(等式3)。轨迹序列控制器150可以调度轨迹浮点计算电路160去使用x轴步长h1~hn与多个路径点的坐标y1~y
n+1
计算多个商值[(y2–
y1)/h1]~[(y
n+1-yn)/hn]。轨迹序列控制器150可以使用这些商值[(y2–
y1)/h1]~[(y
n+1-yn)/hn]求得常数矢量yv的元素d1~dn(详参等式7或等式9)。中间缓存182的第四缓存单元可以暂存所述常数矢量yv的所述多个元素d1~dn(等式5)。轨迹序列控制器150可以调度轨迹浮点计算电路160去使用第一缓存单元、第二缓存单元、第三缓存单元与第四缓存单元的内容求得二次差分值矢量mv的元素f1~fn(等式4)。中间缓存182的第六缓存单元可以暂存二次差分值矢量mv的元素f1~fn(等式4)。中间缓存182的第五缓存单元可以暂存所述商值[(y2–
y1)/h1]~[(y
n+1-yn)/hn]。轨迹序列控制器150可以调度轨迹浮点计算电路160去复用这些商值[(y2–
y1)/h1]~[(y
n+1-yn)/hn]求得每一个曲线的系数cai、cbi、cci与cdi。
[0060]
图2是依照本发明的一实施例的一种轨迹序列控制器200的电路方块示意图。一照实计设计,图2所示轨迹序列控制器200可以作为图1所示轨迹序列控制器150的一个实施范例。在图2所示实施例中,轨迹序列控制器200包括轨迹序列生成器(trajectory sequential generator)210、准备(prepare)电路220、前进(forward)电路230、后进(backward)电路240以及生成(generation)电路250。请参照图1与图2。准备电路220、前进电路230、后进电路240以及生成电路250耦接至轨迹序列生成器210与轨迹缓存180。
[0061]
基于实际设计,在一些实施例中,轨迹序列生成器210(轨迹序列控制器150)可以依据轨迹浮点计算电路160的并行度将多个路径点分为至少一个批次去进行三次样条插值算法。准备电路220可以从轨迹缓存180的装配缓存181提取多个路径点的x轴坐标与y轴坐标。基于轨迹序列生成器210的激活,准备电路220可以调度轨迹浮点计算电路160去计算x轴步长h1~hn,调度轨迹浮点计算电路160使用x轴步长h1~hn与多个路径点的坐标y1~y
n+1
准备系数矩阵cm与常数矢量yv。
[0062]
举例来说,假设轨迹多项式生成装置100的并行度为m,则这些路径点的每一个批次包含m个路径点。图3是依照本发明的一实施例所绘示,轨迹缓存180的装配缓存181的配置示意图。基于并行度m,装配缓存181可以配置m个库(bank)bank1、bank2、bank3、

、bankm。第一个批次的路径点wp[1]、wp[2]、wp[3]、

、wp[m]的坐标以一对一方式被存放在装配缓存181的库bank1~bankm,而第二个批次的路径点wp[m+1]、wp[m+2]、wp[m+3]、

、wp[2m]的坐标亦以一对一方式被存放在装配缓存181的库bank1~bankm,如图3所示。其余路径点的坐标可以参照路径点wp[1]~wp[2m]的相关说明并且加以类推,故不再赘述。
[0063]
在任一个批次中准备电路220可以进行多个步骤,以计算x轴步长h1~hn、系数矩阵cm与常数矢量yv。在此假设准备电路220可以在目前批次中进行第一步骤至第六步骤。在第一步骤,准备电路220可以调度轨迹浮点计算电路160的浮点乘加计算电路161计算属于目前批次的多个路径点的对应x轴步长。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以从装配缓存181的库bank1~bankm并行取用第一个批次(假设为目前批次)的路径点wp[1]~wp[m]的坐标,以及调度浮点乘加计算电路161计算属于目前
批次的对应x轴步长h1~hm。这些对应x轴步长作为系数矩阵cm的第一部分元素,例如作为系数矩阵cm的第一对角线的部分元素a2~am以及第三对角线的部分元素c1~cm。准备电路220可以将系数矩阵cm的第一对角线的元素以及第三对角线的元素暂存在中间缓存182的第一缓存单元与第三缓存单元。
[0064]
在第二步骤,准备电路220可以调度浮点乘加计算电路161计算属于目前批次的多个路径点中任意两个相邻路径点之间的多个y轴步长。举例来说,在运动路径中第i个y轴步长为y
i+1-yi。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以调度浮点乘加计算电路161计算属于目前批次的多个路径点的y轴步长[y2–
y1]至[y
m+1

ym]。
[0065]
在第三步骤,准备电路220可以调度浮点乘加计算电路161计算第一步骤的每一个对应x轴步长的第一倍数值。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以调度浮点乘加计算电路161计算属于目前批次的每一个对应x轴步长h1~hm的第一倍数值,例如2*h1~2*hm。此外,准备电路220还可以在第三步骤调度轨迹浮点计算电路160的浮点除算电路162计算这些y轴步长与这些对应x轴步长的多个商值。例如在第一个批次中,假设浮点除算电路162的数量为m,则准备电路220可以在第三步骤调度浮点除算电路162计算属于目前批次的这些y轴步长[y2–
y1]至[y
m+1

ym]与这些对应x轴步长h1~hm的多个商值,例如[y2–
y1]/h1~[y
m+1

ym]/hm。准备电路220可以将这些商值暂存在中间缓存182的第五缓存单元。这些商值除了供给稍后的第五步骤使用外,生成电路250还可以去复用这些商值求得每一个曲线的系数cai、cbi、cci与cdi。
[0066]
在第四步骤,准备电路220可以调度浮点乘加计算电路161计算第三步骤的第一倍数值中任意两个相邻倍数值的和值。这些和值可以作为系数矩阵cm的第二部分元素。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以调度浮点乘加计算电路161计算属于目前批次的第一倍数值2*h1~2*hm中任意两个相邻倍数值的和值,例如2*[h1+h2]~2*[h
m-1
+hm]。这些和值2*[h1+h2]~2*[h
m-1
+hm]可以作为系数矩阵cm的第二对角线的元素b1~bm。准备电路220可以将系数矩阵cm的第二对角线的元素暂存在中间缓存182的第二缓存单元。
[0067]
在第五步骤,准备电路220可以调度浮点乘加计算电路161计算第三步骤的这些商值中任意两个相邻商值的差值。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以调度浮点乘加计算电路161计算属于目前批次的这些商值[y2–
y1]/h1~[y
m+1

ym]/hm中任意两个相邻商值的差值,例如{[y3–
y2]/h
2-[y2–
y1]/h1}~{[y
m+1

ym]/h
m-[ym–ym-1
]/h
m-1
}。
[0068]
在第六步骤,准备电路220可以调度浮点乘加计算电路161计算第五步骤的这些差值的每一个的第二倍数值,其中这些第二倍数值可以作为常数矢量yv的元素d1~dn。例如在第一个批次中,假设浮点乘加计算电路161的数量为m,则准备电路220可以调度浮点乘加计算电路161计算属于目前批次的这些差值{[y3–
y2]/h
2-[y2–
y1]/h1}~{[y
m+1

ym]/h
m-[ym–ym-1
]/h
m-1
}的每一个的第二倍数值,例如6*{[y3–
y2]/h
2-[y2–
y1]/h1}~6*{[y
m+1

ym]/h
m-[ym–ym-1
]/h
m-1
}。这些第二倍数值6*{[y3–
y2]/h
2-[y2–
y1]/h1}~6*{[y
m+1

ym]/h
m-[ym–ym-1
]/h
m-1
}可以作为常数矢量yv的元素d1~dm。准备电路220可以将常数矢量yv的元素d1~dm暂存在中间缓存182的第四缓存单元。
[0069]
在第六步骤完成后,一个批次(例如第一个批次)的准备操作便已完成,此时准备电路220可以回复“完成”信号给轨迹序列生成器210。轨迹序列生成器210可以激活准备电路220从装配缓存181的库bank1~bankm并行取用第二个批次的路径点wp[m+1]~wp[2m]的坐标,以及准备电路220可以对第二个批次进行准备操作(再一次进行第一步骤至第六步骤)。在准备电路220完成目前批次(例如第一个批次)的准备操作后,轨迹序列生成器210可以激活前进电路230去对目前批次(中间缓存182的内容)进行前进运算。基于轨迹序列生成器210的激活,前进电路230可以调度轨迹浮点计算电路160使用系数矩阵cm与常数矢量yv去计算出二次差分值矢量mv的至少一个元素。
[0070]
前进电路230可以进行多个迭代,以求得二次差分值矢量mv的至少一个元素。在所述多个迭代中的第i个迭代中,前进电路230可以调度轨迹浮点计算电路160计算tmp=bi–ai
*c
i-1
。其中,tmp为第i个迭代中的中间数,ai为系数矩阵cm的第一对角线的第i个元素(亦即中间缓存182的第一缓存单元的第i个数据),bi为系数矩阵cm的第二对角线的第i个元素(亦即中间缓存182的第二缓存单元的第i个数据),以及c
i-1
为系数矩阵cm的第三对角线的第i-1个元素(亦即中间缓存182的第三缓存单元的第i-1个数据)。在第i个迭代中,前进电路调230可以调度轨迹浮点计算电路160计算ci=ci/tmp。其中,ci为系数矩阵cm的第三对角线的第i个元素(亦即中间缓存182的第三缓存单元的第i个数据)。在第i个迭代中,前进电路230可以调度轨迹浮点计算电路160计算di=[di–ai
*d
i-1
]/tmp。其中,d
i-1
为常数矢量yv的第i-1个元素(亦即中间缓存182的第四缓存单元的第i-1个数据),以及di为常数矢量yv的第i个元素(亦即中间缓存182的第四缓存单元的第i个数据)。
[0071]
举例来说,前进电路230可以进行下述伪代码(pseudo code),以求得二次差分值矢量mv的最后一个元素fn。在完成所述伪代码后,前进电路230可以将二次差分值矢量mv的最后一个元素fn暂存至中间缓存182的第六缓存单元。
[0072][0073][0074]
在前进电路230完成前进运算后,前进电路230可以回复“完成”信号给轨迹序列生成器210。在前进电路230完成前进运算后,轨迹序列生成器210可以激活后进电路240去对中间缓存182的内容进行后进运算。基于轨迹序列生成器210的激活,后进电路240可以调度轨迹浮点计算电路160去使用系数矩阵cm与常数矢量yv计算二次差分值矢量mv中的其余元素。后进电路240可以进行多个迭代,以计算二次差分值矢量mv中的其余元素。在所述多个
迭代中的第i个迭代中,后进电路240可以调度轨迹浮点计算电路160计算fi=di–ci
*f
i+1
。其中,fi为二次差分值矢量mv的第i个元素,f
i+1
为二次差分值矢量mv的第i+1个元素,di为常数矢量yv的第i个元素(亦即中间缓存182的第四缓存单元的第i个数据),以及ci为系数矩阵cm的第三对角线的第i个元素(亦即中间缓存182的第三缓存单元的第i个数据)。后进电路240可以将二次差分值矢量mv的第i个元素fi暂存至中间缓存182的第六缓存单元。
[0075]
举例来说,后进电路240可以进行下述伪代码,以求得二次差分值矢量mv的其余元素f1~f
n-1
。在完成所述伪代码后,后进电路240可以将二次差分值矢量mv的其余元素f1~f
n-1
暂存至中间缓存182的第六缓存单元。
[0076][0077]
在后进电路240完成后进运算后,后进电路240可以回复“完成”信号给轨迹序列生成器210。在后进电路240完成前进运算后,轨迹序列生成器210可以激活生成电路250去对中间缓存182的内容进行系数生成运算。基于轨迹序列生成器210的激活,生成电路250可以调度轨迹浮点计算电路160去使用二次差分值矢量mv(亦即中间缓存182的第六缓存单元的数据)计算出每一个曲线的系数cai、cbi、cci与cdi。当三次样条插值算法完成一次计算时,轨迹序列生成器210可以将每一个曲线的系数cai、cbi、cci与cdi暂存至轨迹缓存180的交付缓存183,以及发出完成中断信号给外部装置10。
[0078]
生成电路250可以进行多个迭代,以计算所述曲线的所述系数。在所述多个迭代中的第i个迭代中,生成电路250可以计算下述等式10至等式13。在等式10中,生成电路250以第i个路径点的y轴坐标yi作为第i个曲线的常数项系数cai。生成电路250可以调度轨迹浮点计算电路160计算等式11作为第i个曲线的一次项系数cbi。其中,y
i+1
为第i+1个路径点的y轴坐标,yi为第i个路径点的y轴坐标,hi为第i+1个路径点与第i个路径点之间的x轴步长,fi为二次差分值矢量mv的第i个元素(亦即中间缓存182的第六缓存单元的第i个数据),以及f
i+1
为所述二次差分值矢量mv的第i+1个元素(亦即中间缓存182的第六缓存单元的第i+1个数据)。在等式10中,“(y
i+1

yi)/h
i”可以复用准备电路220在准备操作(第四步骤)中所计算出的中间数据(亦即中间缓存182的第五缓存单元的数据),以减少计算工作。生成电路250可以调度轨迹浮点计算电路160计算等式12作为第i个曲线的二次项系数cci。生成电路250可以调度轨迹浮点计算电路160计算等式13作为第i个曲线的三次项系数cdi。
[0079]
cai=yiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式10
[0080]
cbi=[(y
i+1

yi)/hi]

[(hi/2)*fi]

[(hi/6)*(f
i+1-fi)]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式11
[0081]
cci=fi/2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式12
[0082]
cdi=(f
i+1-fi)/(6*hi)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
等式13
[0083]
综上所述,轨迹多项式生成装置100可以硬件去加速生成任意两个相邻路径点之间的多个曲线的系数,例如第i个曲线的常数项系数cai、一次项系数cbi、二次项系数cci与三次项系数cdi。硬件可以加速生成系数cai、cbi、cci与cdi,从而减少轨迹规划中的实时计算延迟。
[0084]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

技术特征:


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所述的轨迹多项式生成装置,其特征在于,所述准备电路从所述轨迹缓存提取所述多个路径点的所述坐标。14.根据权利要求11所述的轨迹多项式生成装置,其特征在于,所述轨迹序列生成器依据所述轨迹浮点计算电路的并行度将所述多个路径点分为至少一个批次去进行所述三次样条插值算法。15.根据权利要求14所述的轨迹多项式生成装置,其特征在于,在所述至少一个批次的任一个中所述准备电路进行多个步骤以计算所述x轴步长、所述系数矩阵与所述常数矢量,其中,在所述多个步骤中的第一步骤,所述准备电路调度所述轨迹浮点计算电路计算属于目前批次的所述多个路径点的多个对应x轴步长,其中所述多个对应x轴步长作为所述系数矩阵的第一部分元素;在所述多个步骤中的第二步骤,所述准备电路调度所述轨迹浮点计算电路计算属于所述目前批次的所述多个路径点中任意两个相邻路径点之间的多个y轴步长;在所述多个步骤中的第三步骤,所述准备电路调度所述轨迹浮点计算电路计算所述多个对应x轴步长的每一个的第一倍数值,以及所述准备电路调度所述轨迹浮点计算电路计算所述多个y轴步长与所述多个对应x轴步长的多个商值;在所述多个步骤中的第四步骤,所述准备电路调度所述轨迹浮点计算电路计算所述第一倍数值中任意两个相邻倍数值的和值,其中所述和值作为所述系数矩阵的第二部分元素;在所述多个步骤中的第五步骤,所述准备电路调度所述轨迹浮点计算电路计算所述多个商值中任意两个相邻商值的差值,其中所述多个商值被所述生成电路所复用;以及在所述多个步骤中的第六步骤,所述准备电路调度所述轨迹浮点计算电路计算所述差值的每一个的第二倍数值,其中所述第二倍数值作为所述常数矢量的元素。
16.根据权利要求14所述的轨迹多项式生成装置,其特征在于,所述前进电路进行多个迭代以求得所述二次差分值矢量的所述至少一个元素,其中在所述多个迭代中的第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个元素。17.根据权利要求14所述的轨迹多项式生成装置,其特征在于,所述后进电路进行多个迭代以计算所述二次差分值矢量中的所述其余元素,其中在所述多个迭代中的第i个迭代中,所述后进电路调度所述轨迹浮点计算电路计算f
i
=d
i

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

y
i
)/h
i
]

[(h
i
/2)*m
i
]

[(h
i
/6)*(m
i+1-m
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
)作为所述曲线的三次项系数。19.根据权利要求10所述的轨迹多项式生成装置,其特征在于,所述系数矩阵为对角矩阵。20.根据权利要求10所述的轨迹多项式生成装置,其特征在于,所述轨迹浮点计算电路包括:浮点乘加计算电路,耦接至所述轨迹序列控制器,其中所述轨迹序列控制器调度所述浮点乘加计算电路计算所述x轴步长以及所述系数矩阵的多个元素;以及浮点除算电路,耦接至所述轨迹序列控制器,其中所述轨迹序列控制器调度所述浮点除算电路计算所述常数矢量的多个元素。21.根据权利要求10所述的轨迹多项式生成装置,其特征在于,当所述轨迹浮点计算电路发生计算异常时,所述轨迹浮点计算电路发出异常中断信号给外部装置。22.根据权利要求10所述的轨迹多项式生成装置,其特征在于,所述轨迹缓存包括:装配缓存,耦接至所述轨迹序列控制器,用以提供所述多个路径点的所述坐标给所述轨迹序列控制器;
中间缓存,耦接至所述轨迹序列控制器,用以暂存所述三次样条插值算法的中间数据;以及交付缓存,耦接至所述轨迹序列控制器以接收所述曲线的所述系数。23.根据权利要求22所述的轨迹多项式生成装置,其特征在于,所述中间缓存包括:第一缓存单元,用以暂存所述系数矩阵的第一对角线的元素,其中所述轨迹序列控制器将所述多个路径点中任意两个相邻路径点之间的所述x轴步长作为在所述系数矩阵中所述第一对角线的所述元素以及第三对角线的元素;第二缓存单元,用以暂存所述系数矩阵的第二对角线的元素,其中所述轨迹序列控制器调度所述轨迹浮点计算电路去使用所述x轴步长计算所述第二对角线的所述元素;第三缓存单元,用以暂存所述系数矩阵的所述第三对角线的所述元素;第四缓存单元,用以暂存所述常数矢量的多个元素,其中所述轨迹序列控制器调度所述轨迹浮点计算电路去使用所述x轴步长与所述多个路径点的所述坐标计算多个商值,以及所述轨迹序列控制器使用所述多个商值求得所述常数矢量的所述多个元素;第五缓存单元,用以暂存所述多个商值,其中所述轨迹序列控制器调度所述轨迹浮点计算电路去复用所述多个商值求得所述曲线的所述系数;以及第六缓存单元,用以暂存所述二次差分值矢量的所述元素。24.根据权利要求22所述的轨迹多项式生成装置,其特征在于,所述轨迹多项式生成装置还包括:直接内存访问控制器,耦接至所述轨迹缓存和外部装置,其中所述外部装置包括第一外部装置和第二外部装置,以及所述直接内存访问控制器包括:轨迹读取直接内存访问控制器,耦接至所述装配缓存,用以从所述第一外部装置读取所述多个路径点的所述坐标,以及将所述坐标存放于所述装配缓存;以及轨迹写入直接内存访问控制器,耦接至所述交付缓存,用以从所述交付缓存读取所述曲线的所述系数,以将所述系数提供给所述第二外部装置。25.根据权利要求24所述的轨迹多项式生成装置,其特征在于,所述轨迹读取直接内存访问控制器通过axi4总线从所述第一外部装置读取所述多个路径点的所述坐标,以及所述轨迹写入直接内存访问控制器通过所述axi4总线将所述系数提供给所述第二外部装置。26.根据权利要求24所述的轨迹多项式生成装置,其特征在于,所述轨迹多项式生成装置还包括:第一乒乓寄存器,耦接至所述轨迹浮点计算电路;第二乒乓寄存器,耦接至所述轨迹序列控制器;第三乒乓寄存器,耦接至所述直接内存访问控制器;以及接口转换电路,耦接至所述第一乒乓寄存器、所述第二乒乓寄存器与所述第三乒乓寄存器,其中所述接口转换电路通过apb总线从外部装置取得配置信号与控制信号,以及所述接口转换电路通过csb总线将所述配置信号与所述控制信号提供给所述第一乒乓寄存器、所述第二乒乓寄存器与所述第三乒乓寄存器其中至少一者。

技术总结


本发明提供轨迹多项式生成装置及其轨迹序列控制器。轨迹序列控制器包括轨迹序列生成器、准备电路、前进电路、后进电路以及生成电路。轨迹生成器序列激活准备电路、前进电路、后进电路以及生成电路。准备电路调度轨迹浮点计算电路计算多个路径点中任意两个相邻路径点之间的x轴步长,以及使用x轴步长与多个路径点的坐标准备三次样条插值算法的线性方程组中的系数矩阵与常数矢量。前进电路调度轨迹浮点计算电路使用系数矩阵与常数矢量计算线性方程组中的二次差分值矢量的至少一个元素。后进电路调度轨迹浮点计算电路使用系数矩阵与常数矢量计算二次差分值矢量中的其余元素。生成电路去调度轨迹浮点计算电路使用二次差分值矢量计算出曲线的系数。矢量计算出曲线的系数。矢量计算出曲线的系数。


技术研发人员:

ꢀ(74)专利代理机构

受保护的技术使用者:

上海壁仞智能科技有限公司

技术研发日:

2022.07.01

技术公布日:

2022/11/1

本文发布于:2024-09-20 23:49:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/24074.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   轨迹   电路   浮点
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议