CN116888552A - 运动装置的运动控制 - Google Patents

运动装置的运动控制 Download PDF

Info

Publication number
CN116888552A
CN116888552A CN202180094518.4A CN202180094518A CN116888552A CN 116888552 A CN116888552 A CN 116888552A CN 202180094518 A CN202180094518 A CN 202180094518A CN 116888552 A CN116888552 A CN 116888552A
Authority
CN
China
Prior art keywords
acceleration
track
speed
constraint
magnitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180094518.4A
Other languages
English (en)
Inventor
蒂亚戈·米根斯·里霍·布兰科·乔治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ocado Innovation Ltd
Original Assignee
Ocado Innovation Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ocado Innovation Ltd filed Critical Ocado Innovation Ltd
Priority claimed from PCT/EP2021/087163 external-priority patent/WO2022136475A1/en
Publication of CN116888552A publication Critical patent/CN116888552A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Warehouses Or Storage Devices (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

一种用于生成轨迹以控制运动装置的移动的方法,所述方法包括:i)接收轨迹的说明,说明包括命令位置,ii)接收至少一个加加速度约束;iii)基于至少一个加加速度约束生成一个或多个轨迹段的序列,一个或多个轨迹段中的每一个都是轨迹的各部分,轨迹规定了作为时间函数的的加加速度参考、加速度参考、速度参考和位置参考中的至少一个;其中轨迹段序列的一个或多个轨迹段通过应用速度变换算法生成,速度变换算法包括在给定时间内将一个或多个轨迹段的速度参考的大小移动到预期最终速度参考,预期最终速度参考和速度参考的差限定了速度增量,其中速度变换算法包括计算峰值加速度,峰值加速度的大小是速度增量的函数。

Description

运动装置的运动控制
技术领域
本发明涉及存储或履行系统的领域,其中箱或容器的堆垛被置于网格框架结构内,更具体地说,涉及负载处理装置的运动的生成和控制,负载处理装置运作以移动存储在存储或履行系统中的一个或多个容器。
背景技术
存储系统包括三维存储网格结构,其中存储容器/箱在彼此的顶部堆叠,这是众所周知的。PCT专利公开第WO2015/185628A号(Ocado)描述了一种已知的存储和履行系统,其中箱或容器的堆垛被置于网格框架结构内。箱或容器可通过在位于网格框架结构顶部的轨道上运作的负载处理装置(也称为“机器人”)进行访问。这种类型的系统由附图中的图1至3示意性地示出。
如图1和2所示,可堆叠的容器——称为存储容器或箱子或箱10,彼此堆叠以形成堆垛12。堆垛12被置于仓储或生产环境下的网格框架结构14中。网格框架结构由复数个存储柱或网格柱组成。网格框架结构中的每个网格都具有用于存储容器的堆垛的至少一个网格柱。图1是网格框架结构14的示意性立体图,图2是被置于框架结构14中的箱10的堆垛12的俯视图。每个箱10通常存放有复数个产品物品(未示出),根据其应用,箱10内的产品货物可以是相同或者不同的产品类型。
网格框架结构14包括支撑水平构件18、20的复数个直立构件16。第一平行水平网格构件18集合被设置为垂直于第二平行水平构件20集合,以网格图案来形成由直立构件16支撑的复数个水平网格结构15。构件16、18、20通常由金属制造。箱10被堆叠在网格框架结构14的构件16、18、20之间,使得网格框架结构14防止箱10的堆垛12水平移动,并引导箱10竖直移动。
网格框架结构14的顶层包括网格或网格结构15,网格或网格结构包括在堆垛12顶部以网格图案布置的轨路22。此外,参考图3,轨路或轨道22引导复数个负载处理装置30。平行轨路22的第一集合22a引导机器人负载处理装置30在网格框架结构14的顶部以第一方向(例如,X方向)移动,而布置为垂直于第一集合22a的平行轨路22的第二集合22b引导负载处理装置30以垂直于第一方向的第二方向(例如,Y方向)移动。以此种方式,轨路22允许机器人负载处理装置30在水平的X-Y平面内二维横向移动,使得负载处理装置30可以被移动至任一堆垛12的上方位置。
PCT专利公开第WO2015/019055号(Ocado)(通过引用并入本文)描述了图4和5示出的已知负载处理装置30包括载具主体32,其中每个负载处理装置30仅覆盖网格框架结构14的一个网格空间。此处,负载处理装置30包括轮组件,轮组件包括第一组轮34和第二组轮36,第一组轮34由载具主体32前部的成对轮和载具主体32后部的成对轮34组成,用于接合第一组轨路或轨道以引导该装置在第一方向上移动,第二组轮36由载具主体32每侧的成对轮36组成,用于接合第二组轨路或轨道以引导该装置在第二方向上移动。每一组轮子被驱动以使载具能够分别沿轨路以X和Y方向移动。一组或两组轮可以垂直移动以将每组轮抬离各自的轨路,从而允许载具在网格上以预期方向移动。
负载处理装置30配备有抬升装置或起重机构,以从上方抬升存储容器。起重机构包括卷绕在卷轴或卷盘(未示出)上的绞盘系绳或缆绳38以及抓取装置39。抬升装置包括一组以垂直方向延伸并连接在抬升构架39的四个拐角处或附近的抬升绳索38,也称为抓取装置(抓取装置的四个拐角的每个拐角附近有一条绳索),用于可释放地连接至存储容器10。抓取装置39被配置为可释放地夹持存储容器10的顶部,以将其从图1和2所示类型的存储系统中的容器的堆垛中抬升。一个或多个电机可被用来推动抬升装置。
轮34、36围绕下部分中的空腔或凹槽——也称为容器接收凹槽或容器接收空间40的外围布置。如图5(a和b)所示,凹槽的尺寸适于在容器10被起重机构抬升时容纳容器10。在凹槽中时,容器被抬离下方的轨路,以便载具能够横向移动至不同的位置。在到达目标位置(例如另一堆垛、存储系统中的访问点或传送带)时,箱或容器可从容器接收部分下移并从抓取装置释放。
通常,在网格结构上远程运作的一个或多个负载处理装置被配置为接收来自主控制器的指令,以在网格框架结构内从特定的存储位置取回存储容器。无线通信和网络可被用来提供从主控制器到在网格结构上运作的一个或多个负载处理装置、经由一个或多个基站的通信基础设施。负载处理装置中响应接收指令的控制器被配置为控制各种驱动机构,以控制负载处理装置的移动。例如,负载处理装置可受指令在网格结构上的特定位置从存储柱取回容器。指令可包括在网格结构上以X-Y方向的各种移动。一旦处于存储柱,抬升机构便进行操作以抓取存储容器并将其抬升至负载处理装置主体内的容器接收空间,随后在那里将容器运送到网格结构上通常称为卸货口的另一位置。存储容器被降低至合适的取货站,以允许从存储容器中取出物品。负载处理装置在网格结构上的移动还包含负载处理装置受指令移动到通常位于网格结构外围的充电站。
为了使控制器能够确定负载处理装置相对于网格结构的位置,每个负载处理装置可设有一个或多个无线射频识别(RFID)标签读取器或扫描器,而复数个RFID标签可设在网格结构的顶部。RFID标签可相对网格结构固定,以提供网格结构上的系列参照点。当负载处理装置在网格结构上移动时,负载处理装置的各RFID标签读取器会读取来自固定在网格结构上不同位置的一个或多个RFID标签的信号。通常,RFID标签会固定在每个网格单元的轨道交叉处或十字口处。
为了在网格结构上操纵负载处理装置从一个目的地到另一目的地,负载处理装置中的每一个都配备了用于驱动负载处理装置的轮的电机。轮的旋转可由与轮相连的一个或多个带驱动,或由并入轮的电机单独驱动。通常,对于负载处理装置的覆盖区占据单个网格单元的单个单元负载处理装置来说,由于载具主体的利用空间有限,用于驱动轮的电机会并入轮中。单个单元负载处理装置的轮会由轮毂电机驱动。每个轮毂电机包括外齿轮,外齿轮包括布置为围绕轮毂旋转的复数个永磁体,轮毂包括形成内定子的线圈。
单个单元负载处理装置的主要缺点之一在于负载处理装置在轨道上移动时的稳定性,而这造成了挑战,尤其是当负载处理装置在轨道上加速/减速时。轨道上的高加速度或减速度可能会导致负载处理装置在网格结构上振荡甚至翻倒。通常,负载处理装置的轮的旋转会被单独控制,以便负载处理装置在轨道上以直线受驱动,不会偏航或偏离其预定路线。
由于轮大小相似,当负载处理装置在轨道上移动时,它们通常会以相同的速度旋转。然而,有几个因素可能会影响负载处理装置在轨道上移动的平稳,使其可能偏航或以偏离预期的角度受驱动。这些因素可能包括一个或多个轮的打滑、滑动和/或负载的一个或多个轮不同,所有这些都会导致一个或多个轮以不同的速度旋转。另外,负载处理装置在轨道上加速度的突然变化——也被称为加加速度(jerk),会影响负载处理装置在轨道上移动的平稳。当载运易碰坏或损坏的物品例如食品物品时,这种负载处理装置在加速或减速时的突然移动可能会导致物品在存储容器中被抛来抛去。
欧洲专利第3535633号(Autostore Technology AS)启示了一种用于控制机器人从起始位置到停止位置的移动的方法和控制器,机器人具有成对轮,成对轮具有由本地控制器控制的驱动工具。此处,主控制器被配置为基于每个轮的当前速度和角度位置、机器人当前的全局位置以及机器人的起始位置和停止位置,设置用于成对轮的单独速度驱动序列。速度驱动序列被传输给控制成对轮的本地控制器,进而通过各自的驱动工具控制每个轮的加速和减速。在欧洲专利第3535633号(Autostore Technology AS)中,本地控制器确保成对轮的速度保持同步。因此,欧洲专利第3535633号(Autostore Technology AS)的启示重点聚焦于控制轮的各自速度,并确保成对轮的速度同步。
因此,本发明的目标在于提供用于控制负载处理装置从起始位置到停止位置的移动的方法和装置,以确保负载处理装置在网格结构上变换不同速度时的平稳移动。
本申请要求均在2020年12月24日提交的申请号为GB2020680.1、GB2020668.6、GB2020681.9、GB2020684.3的英国专利优先权,其内容以引用方式并入本文。
发明内容
本发明通过提供一种用于高效生成基于约束的、时间最优的运动控制廓线的系统和方法来缓解上述问题,更具体地说,是在控制系统内生成以实时提供时间最优的点对点运动的运动控制廓线。为了实现平稳准确的点对点运动,本发明提供了轨迹生成器或运动控制生成器,其基于S曲线廓线计算轨迹或运动控制廓线。轨迹生成器生成具有随时间推移的连续的加加速度参考的廓线,用于运动控制廓线的至少一个加速或减速段。通过计算包含随时间变动的加加速度参考的运动控制廓线,本发明的轨迹生成器能够产生平稳稳定的运动。
更具体地说,本发明提供一种用于生成轨迹以控制运动装置的移动的方法,所述方法包括:
i)接收轨迹的说明,此说明包括命令位置;
ii)接收至少一个加加速度约束;
iii)基于至少一个加加速度约束生成轨迹段的序列,一个或多个轨迹段中的每一个都是轨迹的各部分,轨迹规定了作为时间函数的加加速度参考、加速度参考、速度参考和位置参考的至少一个;
其中轨迹段序列的一个或多个轨迹段通过应用速度变换算法生成,速度变换算法包括在给定时间内将一个或多个轨迹段的速度参考的大小移动到预期最终速度参考,预期最终速度参考和速度参考的差限定了速度增量,其中速度变换算法包括计算峰值加速度,所述峰值加速度的大小(magnitude)是速度增量的函数。
出于本发明的目的,术语“位置参考”和“位置”可以互换使用,表示相同的特征。同样,术语“速度”和“速度参考”可以互换使用,术语“加速度”和“加速度参考”可以互换使用,术语“位置参考”和“位置”可以互换使用。
生成有限的加加速度(S曲线)轨迹的过程很大程度上依赖于解决本发明中所称的速度变换算法。轨迹基于至少一个加加速度约束、使用S曲线方程生成。出于本发明的目的,术语“移动”包含“拟合”。生成有限的加加速度(S曲线)轨迹的过程很大程度上依赖于解决本发明中所称的速度变换算法。在生成轨迹时,生成一个或多个轨迹段的过程涉及应用S曲线轨迹方程。为了在考虑轨迹加速度的大小以及轨迹是否超过或未达到命令位置的同时设计用于点对点移动的运动控制廓线或轨迹廓线,本发明已经设计出了速度变换算法,以确定将轨迹从轨迹点带到预期最终速度vf已到达且轨迹加速度的大小基本为零的点所需的轨迹段。为了到达预期最终速度vf,轨迹加速度的大小需要基本趋近于零,否则轨迹将加速远离预期最终速度vf
优选地,所述方法进一步包括接收至少一个速度约束、至少一个加速度约束和/或至少一个减速度约束的步骤,所述至少一个速度约束、至少一个加速度约束、至少一个减速度约束以及至少一个加加速度约束限定了用于生成一个或多个轨迹段的序列的复数个约束。
可选地,复数个约束中至少一个的值是负载处理装置的总质量的函数。
可选地,至少一个速度约束、至少一个加速度约束和/或至少一个减速度约束中任意一个的值与负载处理装置的总质量成反比。
优选地,一个或多个轨迹段中的每一个包括各起始点和各终点,使得一个或多个轨迹段中的每一个的起始点包括初始位置参考、初始速度参考以及初始加速度参考,且一个或多个轨迹段中的每一个的终点包括终点位置参考、终点速度参考以及终点加速度参考。
速度变换算法的基本特征是速度增量,它代表预期最终速度参考vf的大小和速度参考v0之间的差,即Δv=vf-v0。速度参考的值v0可以是沿轨迹的任何点,并且取决于轨迹中应用了速度变换算法的点。例如,最初,在轨迹的开始处,速度参考v0可以是初始速度参考。如果需要,在变换至预期最终速度vf之前,一个或多个轨迹段被生成(即,以解决i)过大的加速度;ii)轨迹远离预期最终速度加速;iii)轨迹超出预期最终速度参考vf),随后在确定速度增量时,速度参考v是在变换至预期最终速度参考vf时最新轨迹段或之前轨迹段中的终点速度参考vE
因此,速度增量的值Δv可取决于根据本发明的速度变换算法应用在轨迹中的位置而改变。优选地,速度增量基于预期最终速度参考与一个或多个轨迹段的初始速度参考或是终点速度参考之间的差值。
本发明已经实现了速度增量Δv能够用来计算峰值加速度a。峰值加速度根据假想的三角加速度轨迹从初始加速度参考a0到基本为零的加速度来确定,即
其中:
a是峰值加速度;
j是增加加速度的大小的加加速度的值;
j是减少加速度的大小的加加速度的值;
Δv是速度增量。
通过将计算的峰值加速度的大小限定为速度增量的函数,所需的轨迹段能够被确定,以从初始速度参考v0变换到预期速度参考vf。预期最终速度vf可以是将轨迹从速度v0移动到预期最终速度vf的任何值。
例如,在点对点移动中,速度变换算法可以不止一次地使用,以变换至一个以上的预期最终速度参考vf。出于本发明的目的,术语“移动”包含“拟合”。生成有限的加加速度(S曲线)轨迹的过程很大程度上依赖于解决本发明中所称的速度变换算法。这涉及在变换至零速度之前,先变换至预期峰值速度v,即连续的速度变换。对于给定的移动,最后的速度将保持vf=0以使轨迹停止。
优选地,复数个约束包括加速度约束,而生成一个或多个轨迹段的步骤基于:
i)轨迹的加速度参考的大小是否基本等于计算的峰值加速度,和/或
ii)计算的峰值加速度是否小于或基本等于加速度约束,和/或
iii)计算的峰值加速度是否超过加速度约束。
一旦峰值加速度a的大小被计算出,优选地通过应用至少一个加加速度约束来生成一个或多个轨迹段,以便达到预期最终速度参考的大小。可选地,预期最终速度参考vf基本为零。然而,上述限定的三种可能之一可能成真。为了应对这三种可能,下列步骤经过计算来生成一个或多个轨迹段。
优选地,一个或多个轨迹段通过应用至少一个加加速度约束生成,以便预期最终速度参考基本为零。
如果轨迹加速度参考的大小基本等于峰值加速度的大小,即|a0|=|a|,那么轨迹已经处于峰值加速度,只需要将轨迹加速度的大小逐渐降低至零,以使轨迹速度参考的大小达到预期最终速度vf。为了解决轨迹的加速度参考的大小基本等于计算的峰值加速度,优选地通过以下步骤来生成一个或多个轨迹段:
i)运用至少一个加加速度约束,以便一个或多个轨迹段的初始加速度参考具有基本等于计算的峰值加速度的大小,且一个或多个轨迹段的各终点加速度具有基本等于零的大小,终点速度参考基本等于预期最终速度参考。
如果峰值加速度的大小基本小于或等于加速度约束的大小,即|a|≤amax,那么轨迹加速度的大小仍可被增加至|a|,然后需要被逐渐降低至基本为零,在此点上将达到预期最终速度vf。为了应对轨迹段序列的一个或多个轨迹段中计算峰值加速度小于加速度约束,可选地,所述方法进一步包括通过以下步骤生成一个或多个轨迹段的步骤:
i)通过应用至少一个加加速度约束生成第一轨迹段,以便第一轨迹段的终点加速度参考具有基本等于峰值加速度的大小;
ii)通过应用至少一个加加速度约束生成第二轨迹段,以便第一轨迹段的终点被分配至第二轨迹段的起始点,且第二轨迹段的终点加速度的大小基本等于零,第二轨迹段的终点速度参考基本等于预期最终速度参考。
在计算的峰值加速度大于加速度约束的大小情况下,轨迹加速度的大小必须全程增加到加速度约束。它必须在一段时间内保持在加速度约束处,然后最终被逐渐降低至基本为零以达到预期最终速度vf。在这种情况下,取决于轨迹加速度参考的大小是否被移至等于加速度约束或者它是否小于加速度约束,可通过应用至少一个加加速度约束生成两个或三个轨迹段。在轨迹加速度参考的大小被移至小于加速度约束的情况下,轨迹加速度将看起来像梯形,因为轨迹必须全程增加达到amax(加速度约束),然后必须在一段时间内保持amax,最后需要及时逐渐降低至零以达到预期最终速度vf。为了解决计算的峰值加速度的大小基本超出加速度约束,优选地,生成一个或多个轨迹段包括以下步骤:
i)通过应用至少一个加加速度约束生成第一轨迹段,以便第一轨迹段的终点加速度参考具有基本等于加速度约束的大小;
ii)通过应用具有基本为零的大小的至少一个加加速度约束生成第二轨迹段,以便第一轨迹段的终点被分配给第二轨迹段的起始点,且第二轨迹段的终点加速度参考的大小基本等于加速度约束;
iii)通过应用至少一个加加速度约束生成第三轨迹段,以便第二轨迹段的终点被分配给第三轨迹段的起始点,且第三轨迹段的终点加速度参考的大小基本等于零,第三轨迹段的终点速度参考基本等于预期最终速度参考。
优选地,一个或多个轨迹段被生成,以响应轨迹加速度参考的大小基本小于加速度约束。
为了解决计算的峰值加速度的大小超出加速度约束,优选地,生成一个或多个轨迹段包括以下步骤:
i)通过运用具有基本为零的大小的至少一个加加速度约束生成第一轨迹段,以便第一轨迹段的终点加速度参考具有基本等于峰值加速度的大小的大小。
ii)通过运用至少一个加加速度约束生成第二轨迹段,以便第一轨迹段的终点被分配至第二轨迹段的起始点,且第二轨迹段的终点加速度的大小基本等于零,第二轨迹段的终点速度的大小基本等于预期最终速度参考。
优选地,一个或多个轨迹段被生成,以响应轨迹加速度参考的大小基本等于加速度约束。
每次速度变换算法被用来生成序列中的一个或多个轨迹段时,速度增量Δv的值会发生变化,因为用于计算速度增量Δv的速度参考会随着序列中生成的每个连续轨迹段而变化。例如,当解决轨迹加速度小于或等于加速度约束的大小的问题时,生成的轨迹段会改变下一个或后续问题的速度参考值,直到达到预期最终速度参考值vf
根据本发明,速度变换算法的应用包括解决以下问题:
a)轨迹加速度的大小过大,也就是说轨迹加速度的大小大于加速度约束,即|a0|>|amax|。
b)轨迹加速远离预期最终速度vf
c)轨迹超出预期最终速度vf
如果情况(a)至(c)中的任意一个成真,那么需要实施纠正措施以在峰值加速度被算出之前解决这些问题。
优选地,应用速度变换算法进一步包括生成一个或多个轨迹段的步骤,以响应:
i)加速度参考的大小超出加速度约束;和/或
ii)轨迹远离预期最终速度参考值加速;和/或
iii)轨迹超出预期最终速度参考值。
在应用速度变换算法前,如果轨迹加速度参考的大小过大,也就是说轨迹加速度参考的大小大于加速度约束,即|a0|>|amax|,那么轨迹加速度参考的大小需要降低至加速度约束。优选地,响应于峰值加速度参考的大小超出加速度约束,生成一个或多个轨迹段包括以下步骤:
i)应用至少一个加加速度约束,以便一个或多个轨迹段的终点加速度参考具有基本等于加速度约束的大小的大小。
如果轨迹加速度参考随后被发现加速远离预期最终速度vf,那么轨迹加速度的大小需要在计算a之前降低至基本为零。优选地,所述方法进一步包括通过以下步骤来确定轨迹是否远离预期最终速度参考值加速的步骤:
i)确定速度增量的大小是否基本等于零且轨迹加速度参考的大小是否基本不等于零;和/或
ii)确定速度增量的大小和轨迹加速度参考的大小的积是否基本小于零,以及如果步骤(i)或(ii)中的任一步骤为是,那么将通过应用至少一个加加速度约束生成一个或多个轨迹段,以便一个或多个轨迹段的终点加速度参考具有基本等于零的大小。
如果轨迹速度的大小随后超出预期最终速度vf,那么必须生成一个或多个轨迹段将加速度参考的大小逐渐降低至基本为零。优选地,响应于轨迹超过预期最终速度,生成一个或多个轨迹段包括以下步骤:
i)通过应用至少一个加加速度约束,计算试探性轨迹段,其中试探性轨迹段具有包括初始位置参考、初始速度参考和初始加速度参考的起始点,以及包括终点位置参考、终点速度参考和终点加速度参考的终点,以便试探性轨迹段的终点加速度参考的大小基本为零;
ii)计算辅助速度增量,其与预期最终速度参考和试探性轨迹段的终点速度参考之间的差相对应;
iii)如果速度增量和辅助速度增量的积基本小于零,则将试探性轨迹段纳入轨迹段序列中,否则忽略此试探性轨迹段。
如果试探性轨迹段未超出预期最终速度vf的大小,即速度增量和辅助速度增量的乘积基本大于或等于零,那么生成试探性轨迹段的步骤将被忽略。
用于解决上述问题(a)到(c)的方法步骤会导致新的轨迹段被生成,而生成的每一个新轨迹段都会产生速度增量Δv的新值,因为初始和终点速度参考会随着轨迹段序列中更多的轨迹段生成而改变。速度增量Δv的新值随后被用来确定a。在应用根据本发明的速度变换算法时,所述方法进一步包括将轨迹段序列中一个或多个轨迹段中每一个的终点分配给此序列中一个或多个后续轨迹段的起始点的步骤。因此,在一个或多个轨迹段的序列被生成时,轨迹段的终点被分配给序列中后续轨迹段的起始点。一个或多个轨迹段的终点位置参考、终点速度参考和终点加速度参考被分配给序列中一个或多个后续轨迹段的起始点位置参考、起始点速度参考和起始点加速度参考。当处理下个子问题时,这在序列中奠定了基础。这导致速度增量Δv逐渐变化,因为序列中最新生成的轨迹段的起始点发生了变化。例如,第一轨迹段的终点被分配给第二轨迹段的起始点,即(p0,v0,a0←pE,vE,aE)。解决问题(i)至(iii)时所计算的速度增量Δv随后被应用于峰值加速度的计算。
优选地,复数个约束包括加速度约束,加速度参考进一步包括具有上减速度约束和下减速度约束的减速度约束,以便轨迹段序列中的一个或多个轨迹段进一步规定作为时间的函数的至少一个减速度参考,至少一个减速度参考在减速度约束的上约束和下约束之间或等于减速度约束的上约束或下约束。一个或多个轨迹段中每一个的起始点进一步包括初始减速度参考,而一个或多个轨迹段的终点进一步包括终点减速度参考。
复数个约束进一步引入了具有上约束和下约束的减速度约束,以便轨迹进一步规定在上下约束之间的或者等于上约束或下约束的减速度参考。除了增加按定义是加速度的速度参考,加速度参考进一步包括由于降低速度参考而产生的减速度参考。速度参考降低的速率由上减速度约束和下减速度约束的应用而确定。
优选地,至少一个加加速度约束包括:
i)第一加加速度约束,用于增加加速度参考的大小,
ii)第二加加速度约束,用于减小加速度参考的大小;
iii)第三加加速度约束,用于增加减速度参考的大小;
iv)第四加加速度约束,用于减小减速度参考的大小;
在本发明的另一方面,强制减速算法(forced deceleration algorithm)被应用于轨迹以将轨迹停止,即轨迹速度基本为零。强制减速算法可被用于命令位置发生改变,即更加接近的情况。然而,如果速度参考的大小正在增加和/或加速度参考的大小过大以至于超过减速度约束,则不能应用强制减速度算法。
优选地,所述方法进一步包括通过以下步骤将强制减速算法应用于轨迹段的步骤:
i)通过应用至少一个加加速度约束生成一个或多个轨迹段来响应轨迹速度的大小增加,以便一个或多个轨迹段的终点减速度参考具有基本等于零的大小;和/或
ii)通过应用至少一个加加速度约束生成一个或多个轨迹段来响应减速度参考的大小基本大于上减速度约束,以便一个或多个轨迹段的终点减速度参考具有基本等于上减速度约束的大小。
一旦轨迹处于速度不再增加且没有超过减速度约束的过大加速度的位置,速度变换算法可被用于将轨迹速度的大小从起始点变换到终点,以便终点轨迹速度在命令位置处具有基本等于预期最终速度参考的大小。可选地,所述方法包括以下步骤:
i)应用速度变换算法、基于具有基本等于上减速度约束的大小的减速度约束来生成一个或多个轨迹段,以便一个或多个轨迹段的终点加速度参考的大小基本等于零,且终点速度参考基本等于预期最终速度参考。理想情况下,终点速度参考在命令位置处等于预期最终速度。
然而,如果在速度变换算法中使用上减速度约束导致生成的一个或多个轨迹段超出命令位置,即终点位置的大小超出命令位置,那么除了应用速度变换算法来生成使位置参考超出命令位置的一个或多个轨迹段外,还需要应用附加的或第二速度变换算法让轨迹从超出处返回,以便一个或多个轨迹段的终点加速度参考的大小基本等于零,作为应用第二速度变换算法的结果而生成的一个或多个轨迹段的终点速度参考在命令位置处基本等于零。
出于本发明的目的,当位置参考的大小超出命令位置时,也就是位置的大小大于命令位置时,就会应用“返回”。结果,速度变换算法被反向应用,以便加速度参考的大小和速度参考的大小在命令位置处基本为零。
优选地,所述方法包括以下步骤:
i)当相应的终点减速度参考的大小基本等于零且相应的终点速度参考基本等于预期最终速度参考时,确定轨迹的一个或多个轨迹段的终点位置参考是否超出命令位置;以及
ii)响应于轨迹超出命令位置,通过应用速度变换算法来生成一个或多个轨迹段来应用“返回”生成一个或多个轨迹段,以便终点加速度参考的大小基本等于零,且一个或多个轨迹段的终点速度参考在命令位置处基本等于预期最终速度参考。
然而,如果应用速度变换算法并使用上减速度约束过于急进,导致生成的轨迹未达到命令位置,也就是说计算位置参考小于命令位置,则可使用不那么急进的减速度。优选地,所述方法包括通过以下步骤生成一个或多个轨迹段的步骤:
i)当一个或多个轨迹段的相应的终点减速度参考的大小基本为零且相应的终点速度参考基本等于预期最终速度参考时,确定轨迹的一个或多个轨迹段的终点位置参考是否未达到命令位置;以及
ii)响应轨迹段未达到所述命令位置,应用速度变换算法生成一个或多个轨迹段,一个或多个轨迹段基于减速度约束,此减速度约束具有基本等于下减速度约束的大小。
在应用速度变换算法、使用下减速度约束时,如果轨迹仍然未达到命令位置,那么这将被认为是能够实现停止轨迹的最低减速度。然而,如果在应用速度变换算法时,使用上减速度约束太过急进而导致轨迹未达到命令位置,但使用下减速度约束又会导致轨迹超出命令位置,那么在速度变换算法中,可使用上减速度约束和下减速度约束之间的减速度约束来生成一个或多个轨迹段,以便终点速度参考的大小在命令位置处基本为零。
优选地,所述方法包括通过以下步骤生成一个或多个轨迹段的步骤:
i)使用求根算法来求得目标函数的根以预测强制减速约束,此目标函数是当一个或多个轨迹段的终点速度参考和终点加速度参考的大小基本为零时一个或多个轨迹段的终点位置参考离命令位置的位置偏差,与当离命令位置的位置偏差的大小小于预设阀值时对应于终点位置参考的值的根的总和。
ii)应用速度变换算法生成一个或多个轨迹段,使用基本等于预测强制减速度约束的减速度约束,使得当一个或多个轨迹段的终点参考离命令位置的位置参考的大小小于预设阀值时,终点加速度参考的大小基本等于零,且一个或多个轨迹段的终点速度参考基本等于预期最终速度参考。
预设阈值基本上小于5毫米,更优选地小于1毫米,更优选地小于0.5毫米,以便一个或多个轨迹段的终点加速度参考和终点速度参考的大小在命令位置处基本为零。出于本发明的目的,术语“位置偏差”包含离命令位置(目的地)的过冲或下冲程度。
在本发明的一个方面,求根算法被应用于在上减速度约束和下减速度约束之间确定最优减速度约束,以便在使用最优减速度约束时,生成的一个或多个轨迹段在应用速度变化算法时在命令位置处包括终点,此终点包括具有基本为零(预期最终速度参考值基本等于零)的大小的终点速度,以及具有基本为零的大小的终点加速度。
优选地,预测强制减速度约束具有基本介于上强制减速度约束和下强制减速度约束之间的大小。
优选地,速度变换算法嵌套在求根算法中,以便速度变换算法生成用于连续的减速度约束的一个或多个轨迹段,连续的减速度约束由求根算法进行预测,即,速度变化算法反复地被应用于由求根算法预测的减速度约束中的每一个。
优选地,所述方法进一步包括以下所述步骤:将一个或多个轨迹段中每一个的终点分配给序列中一个或多个后续轨迹段的起始点,以便一个或多个轨迹段的终点位置参考、终点速度参考和终点加速度参考分别被分配给序列中一个或多个后续轨迹段的起始点位置参考、起始点速度参考和起始点加速度参考。
优选地,轨迹为S形或有限的加加速度廓线,以便使用S曲线方程生成一个或多个轨迹段。更优选地,通过应用至少一个加加速度约束生成一个或多个轨迹段,这能生成限定加速度参考的轨迹,此加速度参考用于轨迹段序列中的一个或多个轨迹段,且作为时间函数不断变化。
优选地,预设阀值基本等于零。
本发明进一步提供用于生成轨迹以控制运动装置的移动的轨迹生成器,包括:
i)存储器;
ii)处理器,其被配置为执行存储在存储器上的计算机可执行指令,处理器被配置为在收到命令位置时根据本发明的方法来生成运动控制廓线。
优选地,运动装置是包括轮组件的负载处理装置,轮组件包括第一对轮和第二对轮、用于驱动轮组件的驱动机构以及与驱动机构相连的控制器,驱动机构受指令根据本发明的方法生成的运动控制廓线驱动轮组件。
本发明提供了负载处理装置,其包括含有第一对轮和第二对轮的轮组件、用于驱动轮组件的驱动机构以及与驱动机构连接的控制器,驱动机构受指令根据用上述速度变换算法的方法生成的运动控制廓线驱动轮组件。
本发明提供一种非暂时性计算机介质,具有存储其中的计算机可执行指令,计算机可执行指令响应执行,使计算机系统执行根据本发明的操作。
附图说明
现参考附图对本发明的图解具体实施方式作以下详细描述,本发明的更多特征及方面将一目了然。
图1是根据已知系统的网格框架结构的示意图。
图2是俯视视图的示意图,示出了布置在图1框架结构内的箱的堆垛。
图3是已知存储系统的示意图,示出了在网格框架结构上运作的负载处理装置。
图4是负载处理装置的示意性立体图,示出了抬升装置从上方夹持容器。
图5(a)和5(b)是图4负载处理装置的示意性剖视图,示出了(a)容纳在负载处理装置的容器接收空间内的容器,以及(b)负载处理装置的容器接收空间。
图6是根据本发明具体实施方式在网格结构的部分上的负载处理装置的示意性立体图。
图7是负载处理装置的轮的示意性立体图,示出了根据本发明具体实施方式的中心旋转轴。
图8是根据本发明具体实施方式的用来绕中心旋转轴驱动轮的轮毂电机的分解图。
图9是根据本发明具体实施方式的轮组件控制和界面架构。
图10是根据本发明具体实施方式负载处理装置和主控制器之间通过网络进行通信的示意图。
图11(a至c)是梯形轨迹廓线的示意图。
图12(a至d)是S曲线轨迹廓线的示意图。
图13是根据本发明具体实施方式包括轨迹或运动廓线生成器的运动控制系统的框图。
图14是根据本发明具体实施方式包括位置传感器的机器人负载处理装置的立体图。
图15是根据本发明具体实施方式用于生成轨迹廓线的方法的实施例的流程图。
图16是框图,示出了根据本发明具体实施方式示例性运动廓线生成器的输入和输出。
图17是框图,示出了根据本发明具体实施方式示例性位置控制器的输入和输出。
图18是根据本发明具体实施方式用于生成轨迹廓线的方法的实施例的流程图。
图19为图18中强制减速度的步骤。
图20是图18中将加速度的大小逐渐降低到命令加速度的补救步骤。
图21是图18中将速度的大小逐渐降低到基本为零的补救步骤。
图22是图18中从过冲处应用返回的补救步骤。
图23是图18中将加速度的大小逐渐降低到基本为零且从过冲处运用返回的补救步骤。
图24是轨迹加速度的大小大于命令速度时的补救步骤。
图25是当前轨迹速度的大小基本等于命令速度时的补救步骤。
图26是将当前轨迹速度的大小增加至命令速度时的补救步骤。
图27是根据本发明具体实施方式第一速度变换子算法的实施例方法的流程图。
图28是根据本发明具体实施方式第二速度变换子算法的实施例方法的流程图。
图29是根据本发明具体实施方式,描述连续的速度变换的轨迹加速度的大小的示意性假想三角形。
图30是根据本发明具体实施方式,描述多个速度变换的轨迹加速度的大小的示意性假想梯形。
图31(a至d)是根据本发明具体实施方式当应用速度变换算法用于不同的预期速度vf时的轨迹廓线。
图32(a至c)是根据本发明具体实施方式当结合应用求根算法与速度变换算法时用于不同的峰值速度v时的轨迹廓线。
图33是根据本发明具体实施方式求根算法的目标函数与图32中不同峰值速度的折线图。
图34是根据本发明具体实施方式强制减速算法的实施例方法的流程图。
图35(a至c)是梯形廓线的实施例的示意图。
图36的折线图表示出了提升电机的平均电流如何随着被电机吊起的存储容器的内容物的质量而变化。
具体实施方式
针对存储系统的已知特征,例如参考图1至5如上所述的网格框架结构和负载处理装置设计了本发明。本发明由用于在网格结构上控制负载处理装置或“机器人”的移动的方法和系统限定。
负载处理装置130包括配备有抬升机构(未示出)的载具主体132,抬升机构包括绞车或起重机构以从下方抬升存储容器或箱,也称为箱子。起重机构包括卷绕在卷轴或卷盘上的绞盘系绳以及抓取装置。抓取装置被配置为夹持容器的顶部以将其从图4和5所示类型的存储系统中的容器的堆垛中抬升。
载具主体132包括上部分和下部分。下部分包括轮组件,轮组件包括在存储系统的网格框架结构顶部处的轨路上运转的两个组轮134、136。出于解释本发明的目的,两个组轮被限定为第一组轮134和第二组轮136。第一134和第二136组轮被布置成围绕负载处理装置130的外围。第一134和第二136组轮中的每一个被布置在载具主体132的下部分中的相对侧上,包括在载具主体的相对侧上的成对轮,即第一和第二组轮中的每一个共包括四个轮。在图6所示的本发明特定具体实施方式中,第一134和第二136组轮中的每一个可旋转地安装到载具主体132的下部分中的载具构架上,以便负载处理装置能够沿轨道或轨路分别以X和Y方向移动。虽然本发明的特定具体实施方式示出了安装到载具主体的相对侧的成对轮,但是本发明不限于负载处理装置在载具主体的任一侧上安装成对轮。相比安装在载具的相对侧上的成对轮,负载处理装置的稳定性可以通过在载具主体的相对侧上,且彼此对角相对设置的至少一个轮来实现。因此,第一和第二组轮各自包括安装到载具主体的相对侧的至少一个轮,使得它们彼此对角相对。
在本发明特定具体实施方式中,第一134和第二136组轮布置成围绕下部分中的空腔或凹槽——被称为容器接收凹槽的外围(参见图4和5)。如图5(a和b)所示,凹槽的尺寸被设计成在容器10被起重机构抬升时容纳存储容器或容器10。虽然特定具体实施方式描述了布置在载具主体内的容器接收空间,例如WO 2015/019055(Ocado Innovation Limited)中所述,但载具主体可包括如WO2019/238702(Autostore Technology AS)中所启示的悬臂,在这种情况下,容器接收空间位于负载处理装置的悬臂下方。这种情况下,抓取装置由悬臂吊升,使得抓取装置能够接合容器并将其从堆垛抬升到悬臂下方的容器接收空间中。
载具主体132的上部分可容纳负载处理装置的大部分大件部件。通常,载具主体的上部分容纳用于驱动抬升机构的驱动机构以及用于为驱动机构和抬升机构提供电力的车载可充电电源。可充电电源可以是任何合适的电池,例如但不限于锂电池,甚至是电容器。
如图6所示,网格结构115包括以第一方向延伸的第一平行网格构件集合和以第二方向延伸的第二网格构件集合,它们被布置成包括复数个单元的网格图案。为了便于解释本发明,负载处理装置在水平平面中以第一方向的移动表示以X方向的移动,在网格结构上以第二方向的移动表示以Y方向的移动。为了允许一个或多个负载处理装置在网格结构上行进,第一网格构件集合包括第一组轨道122a,而第二网格构件集合包括第二轨道122b。可选地,第一组网格构件包括第一轨道支撑件集合(未示出),而第二组网格构件包括第二组轨道支撑件(未示出)。可选地,第一组轨道122a卡扣配合到第一组轨道支撑件,而第二组轨道122b卡扣配合到第二组轨道支撑件。在本发明中同样合理的是,复数个轨道122a、122b可以融合到第一和第二组轨道支撑件中,使得网格结构的网格构件包括轨道和轨道支撑件。
为了在网格结构上改变方向,进而允许载具或负载处理装置以正交方向移动,第一134和第二136组轮中的每一个被布置为竖直移动以抬离其各自轨道或轨路。例如,为了在网格结构115上改变方向(例如以X方向移动改为以Y方向移动),第一组轮134被抬离第一组网格构件或轨道122a,而第二组轮136与第二组网格构件或轨道122b接合。诸如电机的驱动机构(未示出)在网格结构115上以X方向或Y方向驱动第一134或第二136组轮。在本发明特定具体实施方式中,载具主体132的下部分中的第一134和第二136组轮中的每个轮单独由轮毂电机驱动,以提供负载处理装置130在网格结构115上的四轮驱动能力。换言之,第一和第二组轮中的所有轮由单独轮毂电机驱动。这是为了允许当组轮134、136中的任何一个轮在轨路或轨道上滑动时,负载处理装置能够沿着网格结构115上的轨路或轨道122a、122b行进。图7和图8示出了根据本发明具体实施方式的负载处理装置130的轮150的立体图。
详细地,图7和8所示的轮毂电机160包括外转子162,外转子包括布置成与网格结构(例如轨道)接合的外表面以及包括环形永磁体164的内表面,环形永磁体布置成围绕包括轮毂电机160的定子的轮毂或内毂166旋转。通常,定子包括轮毂电机的线圈。为了驱动第一或第二组轮中的每个轮150,并由此在网格结构上以第一方向或第二方向移动负载处理装置,轮毂电机160的外转子162被布置成绕对应于各轮的中心轴的旋转轴A-A旋转。转子162的外表面可以可选地包括用于与轨道或轨路接合的轮胎168。在图8所示的特定具体实施方式中,外转子162在轴承(未示出)上绕旋转轴旋转,并且包括外转子162,永磁体164粘合到外转子162的内表面上。通过将包括轮毂电机的定子的内毂或毂166联接到载具主体,轮150中的每一个联接到负载处理装置的载具主体,进而允许外转子162相对于轮毂166旋转。虽然特定具体实施方式描述了第一134和第二136组轮的每个轮150的驱动机构包括轮毂电机,其他可旋转驱动轮的方式也适用于本发明。例如,在负载处理装置前后和两侧的成对轮可以由连接到适合的滑轮或齿轮机构的一个或多个电机驱动。
在图9所示的轮组件的框图中,第一134和第二136组轮中的成对轮的每一个由控制模块或控制器170指示以绕它们各自的旋转轴旋转。控制模块170可包括计算机系统,计算机系统包括一个或多个处理器和存储指令的存储器,当由一个或多个处理器执行所述指令时,一个或多个处理器会指示第一或第二组轮绕它们各自的旋转轴同步地旋转。存储器可以是本领域众所周知的任意存储装置,包括但不限于RAM、计算机可读介质、磁存储介质、光存储介质或其他电子存储介质,能用来存储数据并由处理器访问。一个或多个处理装置可以是本领域已知的任何处理装置。典型实施例包括但不限于微处理器。第一134和第二136组轮的每一个的驱动机构和轮定位经由任何适合的通信接口单元172通信性耦合到控制模块。这些包括但不限于本领域已知的任何有线或无线通信。
控制器170将控制指令发送给驱动机构,驱动机构根据控制指令将控制指令转化为合适的驱动电流输出信号后发送给轮电机,以控制负载处理装置在轨道上的移动。控制信号可直接被提供给轮电机,或者提供给通过改变输出至轮电机的功率来控制轮电机的速度和方向的电机驱动。当控制器170确定驱动机构必须将负载处理装置从当前位置移动到新位置或改变其速度时,控制器170生成也被称为运动控制廓线的轨迹,运动控制廓线被转化为合适的控制信号,以通过驱动机构将负载处理装置从当前位置或速度驱动至目标位置或命令停止位置。当负载处理装置从当前位置移动到命令停止位置时,运动控制廓线限定了负载处理装置的运动状态,例如随时间变化的速度、加速度和/或位置。当前位置可以是在网格结构上静止或停留,这种情况下负载处理装置的初始速度和加速度基本为零,或者在运动中,这种情况下负载处理装置具有大于零的初始速度。命令位置可以是网格结构上的预期存储地点或网格单元,例如在取回或存放存储容器时。替代地,命令位置也可以是网格结构上靠近一个或多个充点电的位置或网格单元,例如在负载处理装置受指示为可充电电源重新充电的情况下。通常,充电点位于网格结构的外围。
一旦生成运动控制廓线,控制器将运动控制廓线转化为适当的控制信号,用于通过由运动控制廓线限定的轨迹来移动负载处理装置。运动控制廓线的不同段(或阶段)基于与驱动机构的机械限制相对应的一个或多个预设约束进行计算。一个或多个预设约束包括但不限于最大速度、最大加速度和最大减速度。例如,根据本发明具体实施方式的负载处理装置预计以最高4m/s的速度行进,并以2m/s2的加速度加速。给定这些约束和预期命令位置,控制器将计算运动控制廓线以执行预期移动。预期移动可包括网格结构上沿X和Y方向的复数个位置,这些位置可混在一起执行或按顺序执行,以使负载处理装置到达预期存储柱。复数个位置中的每一个可包括网格结构上沿X方向或Y方向的单个移动。出于本发明的目的,术语“命令速度”和“速度约束”互换使用,表示相同的函数。同样地,术语“命令加速度”和“加速度约束”互换使用,表示相同的函数。
本发明涉及基于约束的、时间最优的运动控制廓线的生成,运动控制廓线用于网格结构上负载处理装置的点对点移动。在本发明的背景下,点对点移动是指从起始位置到命令停止位置的移动。当负载处理装置抵达规划目的地或命令停止位置时,最终加速度和速度被移至零。在本发明特定具体实施方式中,控制器的输入通过主控制器174被接收。如图10所示,控制器可通过网络176联接到主控制器174。如图10所示,控制器并入到负载处理装置130中。网络176可以是各种类型网络中的任意一种,包括LAN(局域网)、WAN(广域网)、互联网或内联网等。一个或多个基站(未示出)可将输入信息传输到控制器。在本发明特定具体实施方式中,输入可包括一个或多个约束以及网格结构上的命令位置或目标位置。一个或多个约束可独立于命令位置被接收。例如,主控制器174可将命令位置和一个或多个约束单独传递给运动控制廓线或存储在负载处理装置130的控制器中的轨迹生成器。
基于接收的一个或多个约束以及与网格结构上预期位置相对应的命令位置——可以是网格结构上的预期存储地点或充电点,运动控制廓线被生成或计算(例如自动通过控制器)。根据本发明,运动控制廓线或轨迹包括一系列的位置信号、速度信号、加速度信号和/或加加速度信号。当达到命令位置且剩余信号(速度、加速度、加加速度)精确为零时,轨迹被终止(或到达终点)。
所产生的运动控制廓线是控制器配置生成的廓线类型的函数。这包括S曲线廓线以及其简化版本——梯形廓线。
1.0梯形和S曲线轨迹廓线
在点对点移动的背景下,梯形廓线在三角形运动廓线中通常包括3个不同的运动阶段。梯形廓线最简单的形式如图11所示(a至c),它包括由恒定加速度到最大速度的时段,以及紧接着的从恒定减速度回到零速度的时段。正加速度的时段被称为“加速阶段”,负加速度的时段被称为“减速阶段”。如图11c中的加速段所示,加速度和减速度几乎瞬间增加和减少。在这些地点上,加速度变化率(da/dt)未被限定,且被认为等于无穷大。加速度相对于时间的变化率被称为加加速度(Jerk),j=da/dt,在高吞吐量应用中,未限定的加加速度会导致冲击载荷、负载处理装置在网格结构上的振荡以及可能的可闻噪声。生成的运动控制廓线作为时间函数包括一系列的(i)加速度参考(图11c)、(ii)速度参考(图11b)和(iii)位置参考(图11a)。因此,图11(a至c)所示的梯形轨迹包括与位置、速度和加速度相关的信号。基于梯形廓线,运动控制廓线的生成的主要输入为:(i)命令位置(在轨迹结束时应达到的位置);(ii)命令速度(允许的最大速度);和(iii)命令加速度(允许的最大加速度)。命令速度和命令加速度代表基于梯形廓线的运动控制廓线的生成时的一个或多个约束。因此,在梯形廓线中通过操控加速度参考控制速度参考。
给定时间t=0、速度v(t)=v0和位置p(t)=p0的初始条件,并保持操纵变量加速度参考a恒定(时间上t≥t(0)),那么对于梯形轨迹廓线,作为时间函数的速度参考和位置参考可由以下方程得出:
v(t)=+v0+at (1)
在时间上的任何点,当操纵变量(加速度)的值发生变化时,可以简单通过将在时间τ处的轨迹点的值设为初始条件,例如v0←v(τ),p0←p(τ),并将时间重置为(t-τ),可再次应用方程(1)和(2)。轨迹点指的是在特点时间加速度参考、速度参考和位置参考上的点的值,这可以是轨迹段的起始点或终点,稍后将进行解释。
这里的“操纵变量”是指值由控制系统设置的变量。对于梯形廓线,操纵变量是加速度,因此加速度的值由控制系统设置。不是操纵变量的其他变量(位置和速度)根据上述方程从操纵变量的值计算得出。
如图12(a至d)所示,S曲线加速度廓线是典型的梯形廓线的替代物,通常由七个不同的运动阶段组成。加速度廓线可大体上分为三个部分:加速阶段(阶段I、II和III)、恒定速度阶段(阶段IV)和减速阶段(阶段V、VI和VII)。参考图11(a至c),S曲线廓线中的加速阶段、恒定速度阶段和减速阶段相当于上述梯形廓线中的加速阶段、恒定速度阶段和减速阶段,但由于加加速度的应用使得曲线更加复杂,需要对加速阶段和减速阶段进行细分以完全描述轨迹。在加速度阶段,阶段I开始以正的加加速度值从停留或开始位置移动负载处理装置,直到它达到最大加速度。在阶段II中,廓线以最大加速率加速,直到它随着接近最大速度而必须开始减小。在图12c所示的轨迹廓线中,轨迹在阶段II变换到零加加速度。在阶段III中,加速度减小直至为零,即加加速度变换到负的加加速度值,直到在处于预期速度时达到零加速度。在阶段IV——恒定速度阶段中,预期速度保持恒定,加速度和加加速度均为零。阶段V、VI和VII是减速阶段,廓线在这些阶段以与阶段I、II和III对称的方式减速。在减速阶段,S曲线廓线开始于阶段V中应用负的加加速度值、在阶段VI中应用零加加速度,最终在阶段VII中将加加速度增加到正值以让轨迹减速,直到达到零速度。
相比基于梯形廓线的运动控制廓线的生成,基于S曲线廓线的运动控制廓线的生成的主要输入为:(i)命令位置(轨迹结束时应达到的位置);(ii)命令速度(允许的最大速度,vmax);(iii)命令加速度(允许的最大加速度,amax);和(iv)命令加加速度。因此,生成运动控制廓线的一个或多个约束包括命令速度、命令加速度和命令加加速度。命令加速度可包括加速阶段的最大正加速度和减速阶段的最大负加速度。替代地,可以使用不同的术语,将与加速度相关的约束分解为命令加速度和命令减速度,以区分加速阶段和减速阶段的加速度。出于解释本发明的目的,术语命令速度和速度约束可互换使用,表示相同的函数,术语命令加速度和加速度约束同样表示相同的函数。所生成的运动控制廓线作为时间函数包括一系列的(i)加加速度参考;(ii)加速度参考;(iii)速度参考;和(iv)位置参考。因此,图12所示的S曲线轨迹包括与位置、速度、加速度和加加速度相关的信号。
与恒定速度和加速度之间变换突然的梯形廓线相比,S曲线运动廓线中由一个或多个命令加加速度提供的速度廓线的边缘或“角”平稳,这减少了加速度的突变,从而让负载处理装置在网格结构上的运动更加平滑,也就是说,S曲线廓线在连接机构和负载处理装置的负载上注入的振动能量显著减少。当用于驱动轮组件的驱动机构是伺服电机或步进电机时,情况尤为如此。与梯形廓线相比,S曲线廓线提供了控制机构,控制机构通过调整廓线的变换阶段与恒定加速度阶段的比例,来消除负载处理装置中的振荡。就加加速度而言,加加速度越高,产生的不必要振动能量就越大,振动能量的频谱范围也就越广。这意味着加速度变化越快,振动就越强。通过降低加加速度,可以减少当加速度在速度廓线的边缘或“角”处变换到恒定加速度时加速度在区域内的突变。这将通过是速度廓线的边缘或“角”平缓而一目了然。
与加速度是操纵变量的梯形廓线相比,S曲线廓线中的位置、速度和加速度都是通过操控一个或多个加加速度值进行控制。将变换时间(或变换)定义为操纵变量改变其值的时间,那么至少有四个操纵变量改变其值的变换点。简单来说,操纵变量在每对连续变换点之间保持恒定。在梯形轨迹的情况下,操纵变量是加速度,而在S曲线轨迹的情况下,操纵变量是加加速度。变换处的轨迹值被称为变换点。出于解释梯形廓线和S曲线廓线中术语的目的,轨迹段是指当操纵变量(用于梯形廓线的加速度和用于S曲线廓线的加加速度)保持恒定时廓线的部分。换句话说,轨迹段从变换点开始,到变换点结束。参考图11和图12,在上述对梯形和S曲线轨迹的描述中,梯形轨迹的三个阶段和S曲线轨迹的七个阶段也可以被描述为轨迹段。出于解释本发明的目的,轨迹段具有由轨迹点(p0、v0、a0)给定的起始点以及终点(pE、vE、aE),其中p0、v0、a0分别是初始位置参考a0、初始速度参考v0和初始加速度参考a0,而pE、vE、aE分别是终点位置参考pE、终点速度参考vE和终点加速度参考aE。运动控制廓线或轨迹是由操纵变量的变化所导致的这样的轨迹段的系列或序列。
给定时间t=0以及开始加速度a(t)=a0、开始速度v(t)=v0、开始位置p(t)=p0的初始条件,并保持操纵变量加加速度j对于t≥0恒定,那么对于S曲线轨迹廓线,作为时间函数的加加速度参考、加速度参考、速度参考和位置参考之间的关系可由以下方程得出:
a(t)=a0+jt (3)
就梯形廓线来说,在时间τ上的任何点,当操纵变量的值发生变化时,可以简单通过将在时间τ处的轨迹点的值设为初始条件,例如a0←a(τ)、v0←v(τ)、p0←p(τ),并将时间重置为(t←τ),再次应用方程(3)至(5)。
图11和图12中的轨迹廓线显示,在梯形轨迹的情况下,位置的二阶导数——即加速度存在不连续,而在S曲线轨迹的情况下,位置的三阶导数——即加加速度存在不连续。梯形轨迹通常被用来取代S曲线轨迹,因为它提供了足够好的对系统运动的近似,并且在数学复杂度上(因此也是软件实现上)更加轻量。然而,由于负载处理装置的稳定性,根据梯形廓线生成的运动控制廓线在控制网格结构上的负载处理装置的运动方面并不理想。为了实现轨迹的生成,对于梯形轨迹,操纵变量——加速度被允许以不连续的方式变化。与梯形轨迹相比,对于S曲线轨迹,操纵变量——加加速度被允许以不连续的方式变化。操纵变量改变其值的时间——也被称为变换时间,会影响负载处理装置在网格结构上的平稳。由于加速度的变化会影响负载处理装置在网格结构上行程的平稳,梯形廓线中操纵变量的变换时间太过突然,导致负载处理装置在网格结构上的振荡,即加速度以不连续的方式变化。而在S曲线轨迹中,允许操纵变量即加加速度以不连续的方式变化,使得加速度能够以更连续的方式变化,进而让行程更加平稳。
在本发明特定具体实施方式中,将参考S曲线轨迹来描述运动控制廓线的生成。
2.0轨迹生成器的部件
如上所述,用来控制网格结构上负载处理装置的轮组件的驱动机构的运动控制廓线的生成或计算主要由负载处理装置中的控制器完成,控制器会响应接收自主控制器的一个或多个约束以及网格结构上轨迹的预期说明(命令位置)。图13是示例性的非限制性运动控制廓线生成系统180的框图,此系统能够生成用于负载处理装置在网格结构上的点对点移动的运动廓线。运动控制系统包括用于生成运动控制信号的运动廓线生成器或轨迹生成器182,以及根据本发明的一个或多个具体实施方式,将运动控制信号转化为适当的扭矩信号以驱动驱动机构186的位置控制器184。在本说明书中,术语“运动廓线生成器”和“轨迹生成器”可以互换使用。
运动廓线生成器182可以是例如可编程逻辑控制器(PLC)或其他监测和控制负载处理装置的驱动机构的控制器。在这个实施例中,运动廓线生成器可以是控制器的操作系统和/或由位于控制器中的一个或多个处理器执行的控制软件的功能部件。运动廓线生成器182也可以是位于控制器内部的硬件部件,例如与控制器的其他功能元件交换数据的电路板或集成电路。其他运动控制廓线的合适的具体实施方式也在本发明的范围内。尽管图13中示出的运动廓线生成器182是控制器或控制系统的集成部件,但运动廓线生成器182也可以是控制器之外的独立部件。在这种配置下,运动廓线生成器可以通过任何合适的通信方式与控制器或运动控制生成系统的其他部件交换数据,包括但不限于有线或无线网络、硬连线数据链路或其他合适的通信链路。在本发明特定具体实施方式中,控制器因此还有运动廓线生成器位于负载处理装置中。
生成的运动廓线限定了用于控制负载处理装置从当前状态(第一位置)或速度到命令位置(第二位置)的运动的轨迹或运动控制廓线,其中运动控制廓线根据作为时间函数的位置参考、速度参考、加速度参考以及加加速度(在S型曲线轨迹的情况下)中的一个或多个来限定。当处于命令位置时,负载处理装置可以与命令位置相隔预设阈值距离。优选地,预设阈值基本上小于5毫米,更优选地小于1毫米,更优选地小于0.5毫米,以便一个或多个轨迹段的终点加速度参考和终点速度参考的大小在命令位置处基本为零。优选地,预设阈值基本为零,即在命令位置处。
图15是流程图200,示出了在运动廓线生成器182中调整用于基于移动的位置的运动约束188的主要阶段,以及将运动控制廓线转化为发送给驱动机构的控制信号以实现负载处理装置的变换的主要阶段。此操作开始于轨迹生成器接收204指令,以将负载处理装置130从当前位置行进到命令位置——在这种情况下为特定的存储柱或网格单元。给定限定的约束和命令位置,轨迹生成器182生成206轨迹或运动控制廓线。在本发明特定具体实施方式中,轨迹生成器182定期沿着运动廓线前进208,以计算轮的运动扭矩需求来驱动负载处理装置130。
回到图13,在操作中,目的位置190由主控制器174可选地通过移动管理器192提供给运动廓线生成器182。目的位置190包含负载处理装置在网格结构上从当前位置或状态行进到命令位置的命令。负载处理装置的当前状态可以是负载处理装置在网格结构上的停留位置,或者是负载处理装置在网格结构上的当前运动状态(例如速度)。根据负载处理装置在网格结构上的当前状态,运动廓线生成器182计算作为一个或多个运动约束的函数的运动控制廓线,这些约束可以代表驱动机构186的机械约束或运动约束188,或者用户对于驱动机构的操作的偏好。如图16所示,运动廓线生成器182接收约束188集合的输入。这些约束包括对速度188a、加速度188b、减速度188c和加加速度188d的上限。这些约束188可在调动运动廓线生成器期间进行设置,或者被重新配置为用于负载处理装置在网格结构上的每次移动。例如,一旦接收到新的命令位置或一旦接收到用于其他约束之一的不同值时,运动廓线生成器182可被更新。运动廓线生成器允许单独配置加速度和减速度限制,以适应具有不对称加速度和减速度的运动控制廓线。接收到命令位置后,运动廓线生成器响应并计算基于约束的、时间最优的运动控制廓线194,此廓线限定用于将负载处理装置从当前位置移动到命令位置的轨迹。
如图15所示,运动控制廓线的生成涉及:在运动控制廓线的加速阶段和减速阶段,将操纵变量206——在S曲线廓线的情况下为加加速度应用于以连续的方式增加和/或减小加速度。如图12和16所示,运动控制廓线包括一个或多个加加速度参考、加速度参考、速度参考和位置参考。这些参考互相关联,是作为时间函数的数学上的导数。加加速度参考是加速度的导数,加速度是速度的导数,速度是位置的导数。运动廓线生成器定期推进运动控制廓线,计算一个或多个加加速度参考、加速度参考、速度参考和位置参考,以用于运动控制廓线的不同的轨迹段中的每一个。通常,参考图12的上述S曲线运动廓线有多达七个不同的阶段。运动控制生成器将这些参考限定为时间函数,用于运动控制廓线的被限定的运动廓线阶段集合中的每一个。本发明不限于S曲线运动廓线的七个不同阶段,可以是从最少四个阶段到多于七个阶段的任意数量的阶段。例如,在四个阶段的情况下,可能不存在阶段III中的恒定速度阶段,且负载处理装置无法达到最大速度约束。同样,如果由于一个或多个约束的变化或命令位置的变化而导致轨迹中至少发生一次变化,阶段的数量也可以大于七。根据本发明具体实施方式的运动控制廓线的生成的更多细节将在下一节(第3.0节)中进行讨论。出于本发明的目的,“运动控制廓线”、“运动廓线”和“轨迹”这些函数可以互换使用,表示相同特征。
如图14所示,负载处理装置相对于网格结构的位置由一个或多个位置传感器198a、b测量。在本发明特定具体实施方式中,位置传感器198a、b包括所谓的“第五”轮,也就是说在此具体实施方式中,第一和第二组轮中的每一个分别由四个轮组成——一对位于负载处理装置的前部,一对位于负载处理装置的后部,所以位置传感器轮是“第五”轮。在第一和第二组轮中存在的附加的“第五”轮,用于分别监测负载处理装置在网格结构上在第一方向和第二方向上的位置。如图14所示,第一“第五”轮198a安装在第一组轮的一个轮旁边,第二“第五”轮198b安装在第二组轮的一个轮旁边。与第一位置传感器相对应的第一“第五”轮198a被配置为在负载处理装置沿第一方向行进时与轨道接合,使得第一“第五”轮的旋转可以指示负载处理装置在第一方向上相对于时间的位置和行进方向。同样,与第二位置传感器相对应的第二“第五”轮198b被配置为在负载处理装置沿第二方向行进时与轨道接合,使得第二“第五”轮的旋转可以指示负载处理装置在第二方向上相对于时间的位置和行进方向。第一方向和第二方向可以分别是沿轨道的X和Y方向。在本发明特定具体实施方式中,一个或多个位置传感器包括增量式编码器,增量式编码器包括在“第五”轮旋转时产生脉冲的旋转机电装置,这些脉冲会指示旋转的位置和方向,且可被转化为负载处理装置相对于网格结构的位移。“第五”轮可以安装在臂上并向下偏倚,以便与轨道接合。除了来自一个或多个位置传感器(例如“第五”轮)的测量之外,限定在主控制器174中的网格结构上的预期命令位置也被传到移动管理器192,移动管理器192将其转化为相关的位置单位,然后再传给运动廓线生成器以实现运动控制廓线的生成。例如,移动管理器192将来自主控制器的命令位置——表示为负载处理装置受指示在网格结构上移动的网格单元数量——转化为控制器或运动廓线生成器可理解且与一个或多个位置传感器198(“第五”轮)的读数相对应的“位置单位”。随后,控制器或运动廓线生成器182能够将来自主控制器的所请求的命令位置与来自“第五”轮或一个或多个位置传感器的位置读数或运动控制廓线提供的位置参考进行关联。下面将论述有关网格结构上负载处理装置点对点移动的运动控制廓线或轨迹的生成的更多细节。
一旦生成运动控制廓线,位置控制器184将与运动控制廓线194相关联的数据转化为可以直接发送给驱动机构186的控制信号,以实现负载处理装置到命令位置的变换。如上所述,位置控制器184可以形成负载处理装置的控制器或控制系统170的部分,也就是说控制器或控制系统包括与轨迹生成器182和位置控制184相关的功能部件。图13是框图,展示了根据本发明具体实施方式的示例性的位置控制器的输入和输出。由轨迹生成器生成的运动控制廓线数据被传给位置控制器184,位置控制器将其转化为控制信号来驱动轮组件的轮。根据运动控制廓线,位置控制器184会改变驱动机构的功率来改变负载处理装置相对于网格结构的速度。与运动控制生成器一样,位置控制器184可以是与控制器一起存在的功能部件,或者替代地,是单独于运动廓线生成器、具有自己的控制系统的部件。例如,轮组件的成对轮可以连接到本地控制器,并被配置为转化来自运动廓线生成器的运动控制信号。运动控制信号的转化包括但不限于将运动控制数据转变为合适的扭矩控制信号,以用于驱动驱动机构或轮的电机。
如上所述并如图16所示,运动控制廓线在位置参考、速度参考、加速度参考和加加速度参考(在S曲线廓线的情况下)中的一个或多个方面限定负载处理装置随时间相对于网格结构的点对点移动的轨迹。这些参考代表轨迹生成器的函数计算,限定了驱动机构的各个运动属性如何作为时间函数而被控制,以实现给定的点对点移动。这些参考值作为导数在数学上相互关联。将运动控制廓线转化为指示负载处理装置按照运动控制廓线执行预期的点对点移动的控制信号涉及位置控制器根据运动控制廓线——更具体地说是从运动控制廓线导出的加速度参考——生成前馈信号。
图17是示例性的位置控制器184,示出了用于将来自轨迹或运动廓线生成器的信号转换到负载处理装置的驱动机构的位置控制器的架构。已知负载处理装置的质量,前馈信号210(在图17中表示为FFs)表示计算扭矩需求,扭矩需求与从运动控制廓线导出的加速度参考——更具体地说是速度参考的导数——成比例。前馈信号210可以转化为适当的信号来驱动轮组件的轮。然而,为了确保网格结构上负载处理装置的点对点移动与运动控制廓线的轨迹段对齐,计算前馈信号210通过表明负载处理装置相对于网格结构的实际运动状态的反馈信号212(在图17中表示为FBs)进行补偿。负载处理装置在网格结构上的运动状态包括但不限于负载处理装置相对于网格结构的位置和负载处理装置的速度。负载处理装置的速度可通过来自一个或多个位置传感器198相对于时间的位置测量的一阶导数得出。
基于反馈信号212,位置控制器184将调整或补偿来自一个或多个位置传感器198的控制信号,为确保负载处理装置尽可能贴近地按照运动控制廓线移动,这是必需的。在本发明特定具体实施方式中,来自一个或多个位置传感器的反馈信号212被反馈给位置控制器,以反映负载处理装置相对于网格结构的真实状态。在接收到来自一个或多个位置传感器的数据信号后,位置控制器进行响应,能够被指示通过改变操纵变量加加速度而重新生成运动控制廓线的一个或多个轨迹段,以确保负载处理装置到达命令位置且不会下冲或过冲,即在命令位置时加速度和速度为零。
在本发明特定具体实施方式中,来自一个或多个位置传感器的反馈信号212与前馈信号210相结合,以生成用于轮或驱动轮的驱动机构的总扭矩需求。将源自运动控制廓线的轨迹位置与来自一个或多个位置传感器的测量位置进行比较。此比较表示位置误差,即轨迹位置参考与作为时间函数的测量位置之间的差。位置误差被输入至PID(比例、积分和导数)控制器或PI控制器214中,根据PID或PI对位置进行校正,使其达到运动控制廓线所表示的设定点。来自PID或PI的输出214为校正扭矩,当应用时,它将校正位置误差,并使负载处理装置的实际轨迹回正与运动控制廓线对齐。前馈信号210代表为满足轨迹生成器要求的速度/加速度所需的扭矩。来自PID或PI的校正扭矩214与前馈信号210的扭矩需求相结合,以生成总扭矩需求。如图17中的通信路径所示,“加速度前馈”信号和“速度前馈”信号在前馈计算中被合并,并且可以存储在查找表中。实际上,加速度前馈扭矩需求项和速度前馈扭矩需求项与恒定扭矩需求项——即值固定(其符号为sign(轨迹速度))的零阶扭矩需求(Zero-order Torque Demand)相加。加速度前馈扭矩需求项和速度前馈扭矩需求项的大小分别通过生成的运动控制廓线或轨迹的加速度和速度来确定。
在一个实施例中,总扭矩需求可以按以下方式进行计算:
总扭矩需求=前馈扭矩需求+反馈扭矩需求
其中:
前馈扭矩需求=加速度前馈扭矩需求+速度前馈扭矩需求+零阶扭矩需求值
其中:
加速度前馈扭矩需求=轨迹加速度×加速度前馈增益
速度前馈扭矩需求=轨迹速度×速度前馈增益
零阶前馈扭矩需求=sign(轨迹速度)×零阶扭矩需求值
其中,以下三者的值通过经验确定:
加速度前馈增益是取决于包括容器和其内容物的负载处理装置的预估总质量的值,这使得在负载处理装置携带较重的容器时,它具有较高的增益值。
速度前馈增益也取决于负载处理装置的预估总质量。
零阶扭矩需求值是仅保持负载处理装置以恒定的、接近零的速度移动所需的总扭矩需求的值,即它是比例因子。
这三个分量——加速度前馈扭矩需求项、速度前馈扭矩需求项和零阶扭矩需求值经过求和构成前馈扭矩需求,并存储在查找表中。当用反馈扭矩信号对计算前馈扭矩需求进行补偿时,控制器从查找表中检索前馈扭矩需求来与反馈扭矩测量相结合。
替代地,加速度前馈增益、速度前馈增益和零阶扭矩需求的值可以通过计算而非经验来确定。
加速度前馈扭矩需求项是总扭矩需求的分量,它提供扭矩以使负载处理装置能够匹配轨迹的所需加速度。满足所需加速度需要的推进力可以通过将所需加速度乘以包括存储容器和内容物的负载处理装置的总质量计算得出。推进力可以通过乘以轮半径来转换为扭矩需求(扭矩=力×半径)。在已知负载处理装置的总质量的实施例中,加速度前馈增益可通过计算得出而非经验确定:
加速度前馈增益=负载处理装置的总质量×轮半径。
速度前馈扭矩需求项和零阶扭矩需求项是总扭矩需求的分量,总扭矩需求提供扭矩以便负载处理装置能够克服阻力。本领域中已知各种不同的计算阻力的模型,其中可能有与速度成比例的分量、与速度平方成比例的分量和恒定分量。阻力可能是由空气阻力、轮在轨道上的滚动阻力和/或轨道不完全水平时的坡度阻力引起的。在当前应用中,阻力的速度平方项可能不太重要,且为了使扭矩需求的计算更快速、计算负荷更小,可以忽略此项。
克服滚动阻力所需的推进力可以通过将法向力(包括存储容器和内容物的负载处理装置的总重量)与滚动阻力系数相乘计算得出,滚动阻力系数是轮和轨道的属性。推进力项可以通过乘以轮半径来转换为扭矩需求(扭矩=力×半径)。在已知负载处理装置的总质量以及轮在轨道上的滚动阻力系数的实施例中,速度前馈增益可以计算得出而非经验确定:
速度前馈增益=负载处理装置的总质量×重力加速度×滚动阻力系数×轮半径。
实际上,相比通过计算,通过经验来确定速度前馈增益和零阶扭矩系数可能更容易。
确定负载处理装置的总质量会很困难,因为必须考虑到任何存储容器和内容物的质量。通常,负载处理装置被配置为接收来自主控制器的指令,以在网格框架结构内从特定的存储位置取回存储容器。一些实施例中,主控制器会使用数据库来存储有关网格框架结构中所有存储容器的位置和内容物的数据,且因而已经含有每个存储容器的质量信息。当负载处理装置从网格框架结构中拾取存储容器时,主控制器将存储容器的质量传达给负载处理装置上的控制器,以便能使用质量计算负载处理装置的总质量。类似地,当负载处理装置将存储容器放回网格框架结构时,主控制器将向负载处理装置上的控制器传达不用考虑存储容器质量的信息。主控制器必须跟踪每个存储容器和内容物的质量,并不断更新(例如,当从存储容器中取出物品以履行客户订单时)。然后,负载处理装置携带的任何存储容器和内容物的质量可以并入负载处理装置本身的质量中来计算总质量。
确定存储容器及其内容物的质量的替代方法是测量用来操作抬升装置并将存储容器吊装到负载处理装置的容器接收空间的电机的电流消耗。电流消耗与存储容器的质量近似线性变化,因此这提供了简单方便的确定质量的方法,且好处在于不需要主控制系统跟踪每个存储容器的质量并将此信息传达给负载处理装置上的控制器。图36的图表绘制了起重电机经测量的平均电流消耗与存储容器的内容物的质量之间的关系。从中可见数据点落在直线上。截距代表抬升空的存储容器所需的电流(约为6kA)。由于数据点落在直线上,可以使用线性拟合来捕捉电流消耗与存储容器质量之间的关系,这样一来,测量的电流便可用来轻松准确地预估容器及其内容物的质量。
上述扭矩需求的计算是扭矩需求如何计算得出的一个实施例。技术人员能意识到,其他计算、预估或测量加速力和阻力的方法也可应用在本发明中。
一些实施例中,速度约束、加速度约束和/或加加速度约束可根据存储容器和内容物的质量发生变化。
由于加速度前馈扭矩需求是轨迹加速度和加速度前馈增益的乘积,且加速度前馈增益与负载处理装置(包括任何存储容器和内容)的总质量成比例,负载处理装置和其货物的总质量的变化将导致加速度前馈扭矩需求的变化。一些实施例中,加速度前馈需求是总扭矩需求中最重要的分量。由于轮电机额定提供给定的最大扭矩,而携带特别重的负载处理装置可能会要求轮电机提供超出其所能提供的更多扭矩,这样一来,要么负载处理装置无法保持其命令加速度,要么轮电机因为超过其额定扭矩运行存在过热的风险。或者替代性地,如果为了解决此问题提高轮电机的额定扭矩,那么轮电机的最大扭矩容量仅被偶尔使用,这样一来,轮电机在应用中实际上被过度设计,因而会比所需要的更重更贵。
为了解决此问题,在一些实施例中,可以根据负载处理装置和其货物的总质量来制定加速度约束。例如,如果加速度约束的值与负载处理装置和其货物的总质量成反比,加速度前馈扭矩需求将保持基本恒定,并且与负载处理装置携带的任何存储容器和内容物的质量基本无关。这样做的好处是可以选择轮电机的扭矩额定值来匹配想要的加速度前馈扭矩需求,并且扭矩需求基本不会因质量的变化而变化。
类似地,速度前馈扭矩需求是轨迹速度和速度前馈增益的乘积,且速度前馈增益与负载处理装置(包括任何存储容器和内容物)的总质量成比例,负载处理装置和其货物的总质量的变化将导致速度前馈扭矩需求的变化。与加速度约束类似,如果速度约束(例如)与负载处理装置和其货物的总质量成反比,那么速度前馈扭矩需求将保持基本恒定,并且与负载处理装置携带的任何存储容器和内容物的质量基本无关。使加速度约束和速度约束都取决于(例如,成反比)负载处理装置的总质量意味着前馈扭矩需求方程的三个项都不依赖于质量,因此扭矩需求相对负载处理装置及其货物的质量保持基本恒定。
一些实施例中,加加速度约束的值可以取决于负载处理装置以及位于负载处理装置的容器接收空间内的任何存储容器和内容物的总质量。例如,携带重型存储容器的负载处理装置可能重心较低而更加稳定,因此可以接受更高的加加速度值,且不会有负载处理装置在网格上翻倒的风险。加加速度约束的绝对值可被限定为负载处理装置的总负载质量的函数,可以是连续函数或离散值集合。
在其他实施例中,加加速度约束的值可以取决于存储容器的内容物。例如,当负载处理装置在其容器接收空间中携带含有精细或易碎物品的存储容器时,可以使用较低的加加速度值。而当负载处理装置在其容器接收空间中携带更坚固的物品或不太容易滚动并撞击容器壁的物品时,可以使用较高的加加速度值。
能够用来确定加加速度约束的值的一个方法是将负载处理装置置于梯形廓线(理论上无限加加速度)下,测量实现命令位置所需的时间,并测量负载处理装置实际运动的加加速度。然后,S曲线廓线可以用围绕测量的加加速度的系列加加速度值运行,并评估相对于梯形廓线对位置误差和达到命令位置所需的总时间的影响。
尽管此处已经描述了如何制定加加速度约束、加速度约束和速度约束相对负载处理载具的质量而变化的具体实施例,但应当理解本发明的范围涵盖其他变化,且可以应用加加速度约束、加速度约束和/或速度约束的其他值或数量。
计算得到的总扭矩需求被转化为适合的控制信号来驱动轮。在本发明特定具体实施方式中,根据是第一组轮与网格结构或轨道接合还是第二组轮与网格结构接合,将总扭矩需求分配给第一或第二组轮。在本发明特定具体实施方式中,如上所述,第一和第二组轮的每个轮都由轮毂电机220单独驱动。第一组轮包括处于负载处理装置主体前部的成对轮和处于负载处理装置主体后部的成对轮。第二组轮存在类似的成对轮,即负载处理装置主体两侧的第一对和第二对轮。在操作时,成对轮同步受到驱动,就好像它们是在“虚拟或假想”轴上被驱动。例如,前部的成对轮同步受到驱动,就好像它们在相同轴上被驱动,后部的成对轮也同步受到驱动,就好像它们在相同轴上被驱动。尽管第二组轮由单独的轮毂电机驱动,但同样的原理也适用于第二组轮。同样适用于本发明的还有这种情况:第一组轮的四个轮全都同步受到驱动。同样地,第二组轮的所有四个轮也可全都同步受到驱动。单独通过轮毂电机来驱动轮组件的轮的好处在于,给轮的扭矩可以有区别地分配给轮中的每一个,而这在轮打滑时尤为重要。
源自电机控制廓线或补偿的总扭矩需求的扭矩通过偏置机构216分配给轮组件的轮。偏置机构216在前后“轴”之间“分割”或分配总扭矩需求,以考虑负载处理装置在网格结构上的重量转移。例如,当负载处理装置在网格结构上加速时,较多的计算总扭矩需求被转移到前“轴”上。相反,当负载处理装置在网格结构上减速时,总扭矩需求更多地转移到后“轴”上。因此,偏置机构会改变分给前后“轴”的扭矩需求的量,以便当负载处理装置在网格结构上加速或减速时相应地在负载处理装置的前部和后部之间转移负载处理装置的重量。
按照运动控制廓线的轨迹加速度参考,偏置机构216将差动扭矩(differentialtorque)需求应用于轮,更具体地说是驱动轮的电机。运动控制廓线的轨迹加速度参考和/或轨迹速度参考提供了负载处理装置是否在网格结构上加速或减速的指示或参照点。换句话说,应用在轮上的差动扭矩遵循运动控制廓线的轨迹加速度参考,即对轮的扭矩分配与运动控制廓线的轨迹加速度参考之间存在比例关系。响应来自运动控制廓线生成器的指示加速的信号,偏置机构会将更多计算总扭矩需求转移到前轴上。相反,当指示减速时,更多的总扭矩需求被转移到后轴上,或者总扭矩需求被降低以提供“制动”力。同样地,当在网格结构上平稳行进时,总扭矩需求在前后“轴”之间基本均匀分割。
除了应用于前后“轴”的差动扭矩外,还可以控制用在负载处理装置主体两侧的轮电机的扭矩需求,以控制负载处理装置在网格结构上的偏航或转向。例如,根据负载处理装置在网格结构上的行进方向,扭矩需求可以被用来控制左侧或右侧组轮的速度,从而控制负载处理装置在网格结构上的偏航或转向角度。理想情况下,网格构件被布置为以横向或X-Y方向延伸,左右轮的差动扭矩被控制,以防止负载处理装置在轨道上偏航或转向,即基本上直线行驶。
除了将运动控制廓线转化为用于驱动驱动机构的控制信号之外,偏置机构216还可被配置为控制轮在轨道上的打滑,以及响应接收自安装在负载处理装置上的一个或多个位置传感器和/或一个或多个轨道位置传感器的位置信号,定期补偿运动控制廓线。一个或多个位置传感器还可以用来确定第一和第二组轮中的任意一个在轨道上的打滑。在图17中,这被表示为位置控制器中的单独的打滑部件218。当任何一个轮的旋转速度超过负载处理装置在网格结构上的运动状态时,轮会出现打滑。负载处理装置在网格结构上的运动状态可以通过作为时间函数的一个或多个位置传感器的一阶导数来确定或导出,例如,取决于负载处理装置在第一方向还是第二方向行进的第一或第二“第五”轮的旋转速度。第一和第二组轮的每个轮的单独旋转速度由靠近每个轮放置的一个或多个轮编码器来确定。一个或多个轮编码器可以是包括旋转机电装置的增量式编码器,旋转机电装置生成指示轮旋转速度的脉冲。在本发明特定具体实施方式中,通过将轮的旋转速度与负载处理装置在网格结构上的运动状态单独进行比较,打滑控制管理器管理轮组件的每个轮的打滑。负载处理装置在网格结构上的运动状态由取决于负载处理装置在网格结构上的行进方向的第一“第五”轮或第二“第五”轮来确定。在本发明特定具体实施方式中,打滑控制管理器位于位置控制器内,如图17中位置控制器的示意性框图所示。
如果任何一个轮的旋转速度超过负载处理装置在网格结构上的运动状态,打滑控制管理器通过控制对轮的扭矩需求的偏置来消除或降低此轮的扭矩,直到轮的旋转速度与负载处理装置的运动状态匹配。例如,通过偏置机构,位置控制器可以改变打滑轮上的扭矩需求,即降低扭矩需求或甚至完全消除轮上的扭矩需求来降低打滑轮的旋转速度,即让轮的旋转更加被动。替代地,打滑控制管理器还可以将打滑轮上的扭矩重新分配给其他轮来平衡轮组件的轮的速度,以与负载处理装置在网格结构上的运动状态相匹配。
应该理解的是,图17所示的架构仅为示例,位置控制的部件的其他布置均在本发明的范围内。例如,位置控制器可以并入到生成运动控制廓线或轨迹的控制器中,或者替代地,它们可以是单独的控制器。
3.0轨迹的生成
轨迹或运动控制廓线的生成涉及控制轨迹段的数量和持续时间,以便在轨迹段被“拼接”到一起时,加速度和速度在命令位置处基本为零。根据本发明,轨迹段的生成依赖于根据对轨迹中一个或多个情况的识别或对轨迹的一个或多个条件的满足来应用一个或多个加加速度参考。这些情况可能是约束和/或命令位置中的一个或多个的变化。在生成轨迹时,轨迹生成器应该能够决定需要哪些轨迹段,以使轨迹从当前点开始达到其终点。在识别这些情况时,生成器必须能够执行此决策过程(即生成轨迹),而不管当前轨迹点,因为其输入(尤其,但不绝对是命令位置)可能随时发生变化。例如,在通过网格单元时,命令位置通常会基于来自第五轮和/或网格传感器的反馈进行修改。
无论轨迹被终止还是仍在进行,在最简单的形式中,要求生成器重新生成轨迹(即通过修改其输入)的结果涉及生成一个或多个轨迹段,每个轨迹段包括:
·从此点起被应用的操纵变量的值,
·应用操纵值的时间长度(即轨迹段的持续时间——变换时间),以及
·段的终点(因为它是可以缓存的有用信息)。
因此,已经在进行的轨迹段将被重新生成的轨迹段所取代,或者如果轨迹被终止,则成为正在进行中的轨迹段。
操纵变量的值可以采用任何值(在下述规则范围内),而不用考虑重新生成轨迹的请求之前的值。在有限加加速度轨迹(S曲线轨迹)的情况下,轨迹段的数量通过应用一个或多个加加速度约束来控制,以增加或减小运动控制廓线的不同阶段期间的加速度的大小。为了便于解释本发明,加加速度约束应用于加速阶段(正加速度)和减速阶段(负加速度)。加速阶段对应于轨迹速度参考增加的轨迹。相反,减速阶段对应于轨迹速度参考减小的轨迹。因此,在加速阶段有加加速度约束集合来改变加速度,在减速阶段也有加加速度约束集合。
总结如下:
加速阶段
加加速度1——在想要增加速度时增加加速度的大小。
加加速度2——在想要增加速度时减小加速度的大小。
减速阶段
加加速度3——在想要减小速度时增加加速度的大小。
加加速度4——在想要减小速度时减小加速度的大小。
加加速度1、加加速度2、加加速度3和加加速度4也可以分别被称为J1、J2、J3和J4。在本发明特定具体实施方式中,使用了四个非零加加速度约束。加加速度1和加加速度2分别用来增加和减小加速阶段的加速度,而加加速度3和加加速度4分别用来增加和减小减速阶段的加速度(减速度)的大小。在本发明特定具体实施方式中,运动控制生成器被配置为在一个或多个切换模式中在加加速度1和加加速度2之间切换以控制加速阶段中轨迹段的数量和持续时间,以及在加加速度3和加加速度4之间切换来控制运动控制廓线中轨迹段的数量和持续时间,这样做的目的在于轨迹在最短时间内达到命令位置,即达到的加速度和速度在预期命令位置处基本为零。当想要在加速阶段保持预期加速度或在减速阶段保持预期减速度时,可以使用加加速度约束的零值。
在本发明特定具体实施方式中,加加速度约束1、2、3和4的绝对值相等,并且在加速阶段想要增加或减小加速度的大小时,运动控制生成器被配置为切换正负号S(+或-)。当想要增加加速度的的大小时使用正号“+”,想要减小加速度的大小时则使用负号“-”。所选择的加速度1、2、3和4的绝对值取决于负载处理装置承受加速度的突然变化而不会在网格结构上倾斜或倾倒的能力,而这取决于负载处理装置在网格结构上的稳定性。对于重心相对较低、非常稳定的负载处理装置而言,比起相对不太稳定的负载处理装置,这种负载处理装置可以承受的加加速度要高得多。在负载处理装置具有单个网格单元的覆盖区的情况下,选择加加速度的绝对值以便负载处理装置能够以约束所限定的最大速度加速,而不会倾斜或倾倒。在本发明特定具体实施方式中,加加速度的绝对值为20m/s3。因此,加加速度1和加加速度2将分别具有+20m/s3和-20m/s3的值。同样,加加速度3和加加速度4将分别具有+20m/s3和-20m/s3的值。然而,加加速度1、2、3和4并不是必须要有相同的值来控制轨迹段的数量。加加速度约束可以具有不同的绝对值。替代地,加加速度约束可以是在加速阶段和减速阶段中用来分别增加或减小加速度的大小的两个值。
如前所述,在一些实施例中,加速度约束的值可以取决于负载处理装置以及位于负载处理装置的容器接收空间内的任何存储容器和内容物的总质量。
在运动控制廓线的生成中,加加速度的值可以在上述任一加加速度约束之间切换,而不用考虑其重新生成轨迹的请求之前的值。例如,如果轨迹处于加速阶段(即向着命令速度逐渐加速)并且命令位置经修改回到起始位置,那么生成器必须立即生成新的轨迹段(一个或多个)以减速轨迹(即逐渐减速至零)。轨迹处于加速阶段的事实对于生成新的轨迹段以减速轨迹的决策完全没有任何影响。
另一实施例:如果轨迹速度已经处于命令速度限制,而轨迹位置仍远离命令位置,那么如果命令速度(的绝对值)或约束速度增加,且轨迹生成器输入的所有其他约束保持不变,为了满足“最短时间”要求,轨迹生成器必须开始增加轨迹速度,可能会全程增加到新的命令速度值,具体取决于命令位置的新值。在增加速度约束或命令速度的指令之前,轨迹处于恒定速度阶段的事实对于此决策没有影响。
生成轨迹涉及在给定时间内确立轨迹的状态或条件,根据轨迹在所述时间的情况生成一个或多个轨迹段,以便轨迹能够从当前点开始并达到预期目的地(可以是命令位置)。轨迹可包含多个轨迹段,每个轨迹段都有各自的轨迹段终点,它们共同代表轨迹或运动控制廓线。处于本发明的目的,术语“终点”反映了给定轨迹段结束时的轨迹点。
在给定时间内确立轨迹的状态的过程由决策过程通过排除的过程来完成,其中按照特定的顺序,用系列问题对控制器或控制系统进行提问或查询,直到某个答案清楚地指明下一步应采取什么行动方案来适应新的生成器输入值。在上述第一个实施例中,显而易见的行动方案是通过生成一个或多个轨迹段开始将速度逐渐降低到零,因为这个过程所需时间越长,轨迹移动离预期位置就会越远。在第二个实施例中,显而易见的行动方案是增加速度,因为不这样做(即保持相同速度)会让轨迹更长才能达到预期位置。
在生成轨迹的过程中,生成器会产生多个轨迹段,其中它使用第一个轨迹段,且能够缓存其他轨迹段以供后续使用。多个轨迹段中的每一个可以表示一个或多个速度变换。简单地说,通过应用使用加加速度约束的轨迹方程生成单个轨迹段来将轨迹从起始点(p0、v0、a0)带到终点(pe、ve、ae)可能并不够,因为轨迹可能会远离命令位置加速,所以需要轨迹来将此轨迹重新引回命令位置,和/或轨迹可能加速过度,无法让轨迹降在命令位置而不过冲(overshooting)。在变换到预期最终速度值vf时,所有这些条件必须加以考虑,而且这可能包括生成多个轨迹段。预期最终速度值vf可基本为零,也就是说,轨迹是到命令位置的点对点的移动,而控制系统被指示生成用于点对点移动的轨迹,以便命令位置处的最终速度值基本为零。每当新请求出现以重新生成轨迹时(再次,由于生成器输入的改变),生成器必须清除所有缓存的轨迹段,因为它们在新的生成器输入下可能无效。重新生成轨迹的行为本身将重新计算新的轨迹段。
结合图18所示的流程图300,下列部分概述了根据本发明具体实施方式的生成有限加加速度轨迹相关联的决策过程。每一部分以系列问题(粗体)的形式组织——这代表为产生答案而进行的逻辑检查,以及根据问题的答案必须采取的行动方案。每一行动方案由图19到图26所示的流程图来表示。每个问题的目的为在应用行动方案之前确立当前轨迹所处的状态。生成轨迹的系列问题如下:
A)是否正在进行(或刚刚请求)强制减速302?
在某些情况下会应用强制减速,例如,当命令位置发生变化并且需要生成不同的轨迹段以使轨迹达到更新的命令位置时,即轨迹被要求提前终止。此过程使用下文将进一步论述的强制减速算法来求得减速轨迹段以达到更新的命令位置,即在更新的命令位置处加速度和速度基本为零。选择减速轨迹以便轨迹在不过冲且不超过命令减速度的情况下到达更新的命令位置可能需要控制系统生成新的输入,包括但不限于减速中的新约束,以允许轨迹更强力地减速。如下所述的强制减速的方法涉及将强制减速约束应用于轨迹。在某些情况下,可以应用算法——更具体地说是求根算法(Root–Finding Algorithm)来确定轨迹的合适减速约束。目标函数是轨迹在选择的减速约束下执行减速时与更新的命令位置之间经历的过冲程度,而根是目标函数基本为零时的减速度。算法逐步产生更准确的根的近似值,它对应于使轨迹能够落在更新的命令位置的减速度值。例如,减速阶段的轨迹可被请求到达比先前请求的命令位置更接近的新的命令位置。在应用强制减速算法时,根据本发明的速度变换算法可以被执行,以将速度参考从初始起始点变换到具有基本为零的大小的预期最终速度vf。将速度的大小从初始值变换到预期最终速度vf——这种情况下即基本为零的速度可能涉及生成一个或多个轨迹段,取决于起始点的状态或轨迹的当前状态。
如果问题A的答案为是303,则按照下列章节强制减速所述的和图34所示的方法产生所需的轨迹段来将轨迹带到命令位置。否则,如果轨迹不存在此情况(即强制减速未进行且未被请求),控制系统将转到下个问题。
B)当前轨迹加速度(的绝对值)是否超过命令加速度304?
在这种情况下,将当前轨迹加速度的绝对值与命令加速度(加速度约束)进行比较。如果当前轨迹加速度的绝对值大于命令加速度,那将需要计算新的轨迹段,以便轨迹加速度的大小减小到命令加速度。在这种情况下,一个或多个加加速度值将被应用于轨迹,以减小轨迹加速度(参见图20),即加速度参考的终点具有等于命令加速度的降低的终点加速度。每次将加加速度应用于轨迹时,轨迹加速度的大小都会和命令加速度进行比较,直到轨迹加速度降低至命令加速度。这通过以下具有起始点(p0、v0、a0)和终点(pe、ve、ae)的轨迹段生成来说明:
·所使用的操纵变量(加加速度)值为J=J2(减小轨迹加速度参考),
·轨迹段持续时间由给出,
·通过直接应用轨迹方程3、4和5、使用起始点(p0、v0、a0)、J2和段持续时间T,可以获得终点加速度ae、终点速度ve和终点位置pe
如果情况是当前轨迹加速度不超过命令加速度,那么控制系统会转到下个问题。
C)如果轨迹现在开始被带到固定位置(零速度和零加速度),它的固定位置:
a)基本上等于(即在0.5个位置单位内)命令位置306?
b)在轨迹当前位置相对于命令位置的相反侧308(即过冲)?
c)比轨迹当前位置离命令位置更远310(即我们是否正远离命令位置移动)?
在知道轨迹加速度的大小不超过命令加速度的情况下,控制系统检查轨迹是否在将轨迹停止时处于命令位置。这也将指示轨迹距离命令位置有多远,或者是否将超过命令位置。通过对控制系统提出一系列问题以及排除的过程,可以确立当前状态下轨迹的状态,以及应用于轨迹的所需的补救措施,以确保轨迹在点对点移动的计划内。
如果问题(a)的答案为是,那控制系统会执行必要的步骤来逐渐减速到零速度,以便通过生成从当前轨迹点(p0、v0、a0)到终点的一个或多个轨迹段让轨迹在命令位置处达到固定位置,其中终点加速度ae和终点速度ve在命令位置基本为零(参见图21)。这通过生成以下具有起始点(p0、v0、a0)和终点(pe、ve、ae)的单个轨迹段来说明:
·所使用的操纵变量(加加速度)值为J=J2(降低轨迹加速度参考),
·轨迹段持续时间由给出,
·终点加速度ae和终点速度ve基本为零,而终点pe可通过直接应用轨迹方程3、4和5、使用起始点(p0、v0、a0)、J2和段持续时间T来获得。
然而,如果问题(a)的答案为否,但对于最后两个问题(b)和(c)308、310(参见图22和23)中的任何一个答案为是,则情况是轨迹超出了命令位置。而补救措施是将轨迹速度调为“逆向”值,以便轨迹可以通过“返回”重新朝着命令位置。与朝着命令位置的正向轨迹一样,通过应用一个或多个加加速度值来提供一个或多个逆向轨迹段,以便让逆向运作的负载处理装置朝向命令位置行进。逆向轨迹段的持续时间或长度取决于离命令位置的过冲程度。例如,如果过冲程度大,那么轨迹将有足够的时间在逐渐减速至零速度之前在命令位置处达到命令速度。相反,如果过冲程度小,则轨迹速度可能无法达到命令速度,也因此需要预期峰值速度v,此速度将允许逆向的轨迹以最短时间到达命令位置。在两种情况下,“速度变换算法”都会被应用来将速度的大小从初始或当前值变换到最终速度vf值。下面将进一步详细论述速度变换算法。实质上,第一速度变换算法被应用于将轨迹从初始(当前)状态或轨迹点移至与预期峰值速度v相对应的给定轨迹段的终点速度vE所到达的轨迹点。它被给定初始轨迹点(p0、v0、a0)、终点速度(vE)、命令加速度(amax),以及加加速度约束的具体值,以增加或减小轨迹加速度参考的大小。通过将第一速度变换算法的终点(pE、vE、aE)分配给起始点(p0、v0、a0),第二速度变换算法将速度参考的大小从与预期峰值速度v相对应的初始速度v0移到与预期最终速度vf相对应的新的终点速度vE,并具有基本为零的值和对应于基本为零的终点加速度aE。速度变换算法的更多细节将在下文论述。如果轨迹远离命令位置移动,那么在将速度变换算法应用于命令位置处的预期最终速度vf之前,必须将当前轨迹加速度的大小逐渐减小到基本为零。如图23示出的流程图所示,在将返回应用于在命令位置处基本为零的预期最终速度vf之前,轨迹加速度的大小被逐渐降低至基本为零。
然而,如果所有三个问题的答案都是“否”,那么情况一定为:现在逐渐降低至零速度将导致轨迹无法达到命令位置。在这种情况下,控制系统将进入下个问题来确立轨迹生成的下个阶段。
D)轨迹速度是否超过命令速度312?
根据本发明具体实施方式,运动控制廓线的生成取决于网格结构上负载处理装置在加速阶段能够实现且不会导致负载处理装置超出命令位置的最大可能速度。相反,速度过低将导致负载处理装置无法达到命令位置。然而,负载处理装置能够行进的峰值或最大速度很大程度上受限于最大速度限制约束或上述命令速度二者之一所限定的内容。能够达到接近驱动机构的命令速度的峰值速度v取决于在网格结构上的行程长度。如果行程长度较长,则速度在进入减速阶段之前有足够的时间达到命令速度。如果行程长度较短,速度在进入减速阶段之前将没有足够的时间在不超出命令位置的情况下达到命令速度。
控制器的目的始终在于达到由约束限定的命令速度,以便提供完成点对点移动所需的最短时间。当行程长度过短时,达到命令速度可能不太可行。在负载处理装置达到命令速度的情况下,负载处理装置将超出命令位置。因此,需要在命令速度和初始速度v0之间选择负载处理装置能够达到最优峰值速度v,以允许负载处理装置在最短时间内完成轨迹。
在此特定情况下,控制系统决定轨迹速度是否超过命令速度。如果问题D)的答案为是313(参见图24),则控制系统执行速度变换算法,以便通过生成一个或多个轨迹段将轨迹速度参考的大小降至命令速度,使得轨迹段的终点对应于命令速度;否则,控制系统将转到下个问题。下面将进一步论述的速度变换算法的原理在于,生成所需的一个或多个轨迹段,来将轨迹从起始点移到速度的大小为最终速度vf且终点加速度基本为零的轨迹点。
求根算法可被用来求得轨迹可达到且不会超出或未达到命令位置的预期峰值速度v。根据本发明具体实施方式的速度变换算法生成必要的轨迹段,以将速度的大小变换至峰值速度v,然后再返回降至基本为零。目标函数是过冲或下冲的程度,而根是预期峰值速度,其中目标函数基本为零。
E)当前轨迹速度的大小是否与命令速度相同314?
如果问题E)的答案为否,则转到下个问题F。如果答案为是315(参见图25),即情况为当前轨迹速度的大小与命令速度相同,控制系统将计算恒速阶段剩余部分的一个或多个轨迹段。为了计算恒速阶段或匀速阶段剩余部分的一个或多个轨迹段,需要计算轨迹从开始逐渐减速至零速度所行进的距离。通常,这会作为回答先前问题之一——特别是上面的问题C的结果来进行计算。
恒速阶段剩余部分的一个或多个轨迹段的持续时间,以及轨迹在恒速阶段仍然可以覆盖的距离,由当前剩余距离减去轨迹从开始逐渐减速至零速度所行进的距离来确定。这可以解释如下:
(1)轨迹可以在一段时间T内保持在命令速度,借此轨迹位置将前进Δp匀速,以及
(2)经过时间T后,轨迹必须通过应用速度变换算法完成从命令速度到零速度(即vf=0)的速度变换,借此轨迹位置将进一步前进Δp减速
(3)因此:剩余距离=Δp匀速+Δp减速,从轨迹的当前位置来看,剩余距离通过命令位置-当前位置(p0)计算得出。
Δp匀速以及Δp减速的值通过控制系统计算得出,具体如下:
求Δp减速:进行速度变换(2)时轨迹的行进距离。这通过速度变换算法完成,算法产生其平常的输出:轨迹段+行进距离。此距离相当于轨迹在减速阶段(从命令速度到零速度)行进的距离,即Δp减速
根据(3),控制系统现在可以计算Δp匀速=剩余距离-Δp减速
最后,处于匀速阶段的轨迹段的持续时间T如下确定:
其中:
Δp匀速是在恒定命令速度下行进的距离;
vmax是命令速度。
恒速阶段轨迹段的持续时间通过将距离Δp匀速的绝对值除以命令速度vmax来获得。在恒定速度阶段的轨迹段中,操纵变量加加速度的值为零。由于在恒定速度阶段的段中轨迹速度保持恒定,控制系统因此应断定轨迹加速度的大小在此点为零;如果不为零,则上个问题(C)(“速度过冲”)的处理未被正确执行,此计算可用作对问题(C)中计算的检查。
如果上述问题(A)到(E)中的所有问题都为否,则可以得出轨迹速度可以增加的结论。
通过排除的过程,轨迹的情况可以得出结论:如果移至固定位置轨迹将不会过冲,当前它既不超过命令速度也不超过命令加速度,而且也还没有以命令速度行进。因此,可以肯定的是速度的大小可以增加。通过以这一顺序组织问题,可以实现用于点对点移动的最短时间。
F)轨迹速度的大小是否可以增加到命令速度316?
在这种情况下,通过排除的过程,轨迹速度的大小处于可以增加到命令速度的条件。此处,控制系统应用第一速度变换算法来将轨迹速度的大小立即移到命令速度,然后紧接着应用第二速度变换算法,将轨迹移至固定位置,即当速度的大小基本为零时。如果由这两个连续的速度变换产生的轨迹位置未超出命令位置,则对这一问题的答案为是316(参见图26),在这种情况下,作为第一速度变换计算的部分而生成的轨迹段被采用为即时解决方案。
然而,如果轨迹速度不能在不超过命令位置的情况下将轨迹速度增加到命令速度,则需要与峰值速度v对应的预期最终速度vf,其中轨迹速度可以增加,以便在第二速度变换之后,轨迹速度在命令位置处达到固定位置。根据本发明,这将通过在目标问题中应用求根算法以搜寻最优峰值速度v来解决,其中候选峰值速度为横坐标,过冲距离的程度为纵坐标。因此,目标函数f(t)即过冲或下冲的程度,也就是与命令位置的偏差。根是位于命令速度vmax和初始速度v0之间的峰值速度v,其中与命令位置的偏差基本为零,即f(t)=0。求根算法从最终峰值速度v的一个或多个初始猜测开始,并通过应用速度变换算法来确定实现到最终峰值速度v的速度变换所需要的轨迹段。与命令位置的偏差或过冲通过应用轨迹方程(3至5)来确定。在应用求根算法时,对选中的每个峰值速度v都会重复这一过程。求根算法的每次迭代都会产生逐渐精确的对根的近似。重复此迭代,直到数字序列——在这种情况下为峰值速度选择朝着根收敛,即根的目标函数基本上等于零。峰值速度v的选择中,显而易见的候选为:
·初始轨迹速度的大小,
·命令速度,
·前两者的加权组合。
有关求根算法的应用的更多细节将在下列第5.0节进行讨论。求根算法可以是牛顿求根法、割线求根法、二分求根法、基于插值的求根法、基于逆插值的求根法、布伦特(Brent's)求根法、基于傅里叶-布当(Budan-Fourier-based)的求根法以及基于施图姆链(Strum-chain-based)的求根法中的任意一种。由速度变换(当前速度到方案的最高速度)产生的轨迹段将被保留。
如果处于生成轨迹或运动控制廓线的最终阶段,速度的大小不需要增加到命令速度或速度约束,那么将应用速度变换算法318,以使轨迹在命令位置处达到零速度。
4.0速度变换算法
生成有限加加速度(S曲线)轨迹的过程非常依赖于解决本发明所称的速度变换算法。速度变换算法聚焦于确定将轨迹从位置p0、速度v0和加速度a0的初始轨迹点带到最终加速度的大小基本为零的预期最终速度vf所需要的轨迹段。最终速度vf可以是预期的任何值。例如,当需要指示负载处理装置停止时,可以将vf设置为基本为零,而速度变换算法将执行所需的轨迹段以从当前轨迹点使轨迹停止。这受到命令加速度(amax)、命令速度(vmax)和一个或多个加加速度约束J1、J2、J3、J4的约束。为了便于解释和理解速度变换算法,增加加速度的大小的一个或多个加加速度约束被称为j,减小加速度的大小的一个或多个加加速度约束则称为j
速度变换算法被分解为子算法:第一速度变换子算法和第二速度变换子算法,二者都需要在完成根据本发明的速度变换算法之前执行。第一速度变换子算法检查轨迹的有效性或条件,以及一个或多个轨迹段是否有必要正确应用第二速度变换子算法。第二速度变换子算法是实际执行将(速度)变换到预期最终速度vf且不管vf的值是多少的算法。为避免疑义,术语“速度”和“速度参考”可互换使用,表示相同的函数。同样,术语“加速度”和“加速度参考”可互换使用,表示相同的函数。
在应用第二速度变换子算法时,必须确保:i)轨迹加速度不过大,ii)处理好轨迹远离最终速度vf加速的情况,iii)处理好最终速度vf的过冲。如果这些条件中任何一个未被满足,那么控制系统将应用第一子速度变换算法生成一个或多个轨迹段来处理这些异常或情况,然后再进行第二速度变换子算法。换句话说,为了处理速度变换算法的一般情况,控制系统首先需要检查这三项:即过大的加速度、错误方向的加速度以及轨迹速度超过预期最终速度vf。通过提供这些补救步骤或生成轨迹段来解决轨迹中可能出现的这些子问题,问题被简化为第二速度变换子算法能够解决的简单问题。
图28示出的流程图详细说明了第二速度变换子算法的应用以及根据本发明具体实施方式,第二速度变换子算法需要进行的检查。
在生成一个或多个轨迹段时,输出变量是加加速度值J和轨迹段的时持续时间T。出于说明速度变换算法的目的,速度增量Δv定义为预期最终速度vf与在给定时间点处的速度v0之间的差Δv=vf-v0,将被用来评估轨迹的状态。速度增量Δv或速度的值可取决于根据本发明的速度变换算法运用在轨迹中的位置而改变。这是因为速度参考v(t)取决于速度参考取自轨迹中的位置,即轨迹点处的速度轨迹的值。优选地,速度增量基于预期最终速度参考与一个或多个轨迹段的初始速度参考或是终点速度参考之间的差值。
此过程从初始化轨迹段的输出列表开始,并决定开始速度变换算法的条件是否正确。
4.1第一速度变换子算法的应用
然而,除非满足某些条件或无论轨迹中存在异常或情况需要处理,否则第二速度变换子算法无法开始。第二速度变换子算法的有效启动的条件为以下之一:
a)轨迹从零轨迹加速度a0开始,已经处于预期最终速度vf。数学上,这由以下条件给定:
Δv=0且a0=0
b)轨迹已经不在预期最终速度vf,且轨迹正朝着vf加速,但轨迹加速度未超出命令加速度的约束或初始加速度为零。数学上,这由以下条件给出:
(Δv≠0)且(Δv×a0≥0)且(|a0|≤amax)
c)轨迹已经不在预期最终速度vf,且初始加速度a0为零。数学上,这由以下条件给出:
(Δv≠0)且(a0=0)且(|a0|≤amax)
这些条件在图28中作为决策框504、506、508和510示出。与满足第二速度变换子算法的条件相反,除非需要处理轨迹中的某些异常或条件——例如轨迹加速度过大,否则第二速度变换子算法无法被执行。这些子问题由第一速度变换子算法解决。如果不解决这些异常或情况,第二速度变换子算法将无法将速度变换至预期最终速度vf。这些被称为无效的开始条件,并在图28的流程图中显示为标记“无效开始条件”512的方框,包括:
a)轨迹已经处于预期最终速度vf,但初始加速度a0不为零。换句话说,轨迹正在加速远离预期最终速度vf。为了纠正此异常,需要三个或四个轨迹段:一个将轨迹加速度的大小移为零,然后速度变换子算法可以生成另外两个或三个轨迹段,让轨迹速度的大小回到预期最终速度vf。从数学上讲,无效开始条件由以下条件给出:
Δv=0且a0≠0
b)轨迹正加速远离预期最终速度vf。在这种情况下,Δv和a0符号相反(即Δv为正而a0为负,或Δv为负而a0为正),且需要三个或四个轨迹段:一个将轨迹加速度的大小变为零,然后速度变换子算法可以生成另外两个或三个轨迹段,让轨迹速度的大小回到预期最终速度vf。数学上,无效条件由以下条件给出:
Δv×a0<0
c)初始加速度a0超过了最大约束或命令加速度amax。需要一个或多个轨迹段将轨迹加速度移至命令加速度amax。从数学上讲,无效条件由以下给出:
|a0|>amax
在完成速度变换算法之前,将首先论述不满足应用第二速度变换子算法的条件或必需条件的轨迹中的异常,以便让轨迹处于应用第二速度变换子算法的条件中。这些情况由第一速度变换子算法解决,并被描述为需要按照图27所示流程图400中所记录的特定顺序解决的子问题。解决这些异常将产生含有一到五个轨迹段的序列,这些轨迹段共同构成了速度变换算法的解决方案。
在解决子问题并生成一个或多个轨迹段时,除了J(Jinc)和J(Jdec),一些实施例中还将抢占的加加速度值J引入输入402,正如表1所示。
表1:应用第一速度变换子算法的输入和输出。
J和J不同,因为抢占的加加速度J需要以与J不同的方式将加加速度的大小降低至基本为零。换句话说,J以与J不同的速率降低加速度的大小,而且在处理下述两个初始检查(过大的加速度以及加速远离最终速度)时需要。因此,当加速度过大或者轨迹正加速远离预期最终速度vf时,控制系统将应用抢占的J来将加速度降低为基本为零。上述解释适用于J和J具有不同值的实施例。在其他实施例中,J和J的值可能相同。
图27所示的流程图400和下述内容详细说明了第一速度变换子算法的子问题的解决方案,以及在应用根据本发明的第二速度变换子算法生成轨迹之前它们的解决顺序。子问题被分解为一个或多个块,一个或多个块中的每一个代表由第一速度变换子算法解决的子问题的解决方案。子问题的每个解决方案生成被输入到输出列表中的一个或多个轨迹段。最初,轨迹段的输出列表为空。出于解释速度变换算法的目的,上下文中的“求积分”一词表示“应用轨迹方程3、4和5(使用起始点、轨迹段加加速度和段持续时间)以到达段终点”。
A)处理过大加速度
在决策过程中以及应用本发明第二速度变换子算法之前,控制系统会确定初始加速度|a0|的大小是否大于约束命令加速度amax。这由图27中的决策块404表示。如果答案为是,那么控制系统将轨迹段406添加到输出列表中。新的轨迹段将轨迹加速度降低至amax,然后再尝试解决第二速度变换子算法——在此情况下必须生成轨迹段,其中:
·所使用的操作变量加加速度值为:J=-sign(a0)×J。负号是为了将加速度从初始加速度a0降低所必需的。
·轨迹段持续时间由T1=|amax-|a0||/J给出。
·通过应用操纵变量加加速度J,终点轨迹加速度aE1将由aE1=sign(a0)×amax给出。
·通过直接应用轨迹方程3、4和5、使用起始点(a0、v0、p0)、加加速度J和轨迹段持续时间T1,初始位置p0、初始速度v0、终点速度vE1和终点位置pE1可以由此获得。在流程图中,这显示为从初始点(v0、a0)对轨迹求积分408,使用输出列表中的所有段来计算生成速度vE1和加速度aE1
如果轨迹段在此步骤中被生成,那它的终点会成为用于下个子问题的初始轨迹点,即(a0、v0、p0)←(aE1、vE1、pE1),且根据Δv←vf–vE1重新计算速度增量412。换句话说,生成的轨迹段的终点被分配为后续轨迹段的起始点。这表示为图27中的块410。
然而,如果初始加速度a0的大小小于或等于amax并且控制系统转移到下个子问题,则不需要生成新的轨迹段以将过大的加速度降为amax的步骤。
无论决策块404的结果如何(即加速度a0的大小是否大于amax),算法都会继续执行步骤408和410。步骤408从起始点对整个轨迹求积分,包括输出列表中所有的轨迹段。在加速度过大且步骤406中新的轨迹段已经生成的情况下,则对该段进行积分。在加速度不过大且新的轨迹段尚未生成的情况下,轨迹段的输出列表为空,求积分步骤408仍然会继续执行,但不会产生任何效果,因此生成速度vE1和加速度aE1将与初始速度v0和初始加速度a0相同。
与步骤408类似,不管之前的决策块的结果如何,仍会应用步骤420和436中对轨迹求积分的后续步骤。求积分步骤从起始点应用于整个轨迹,无论在之前的步骤中输出列表中是否加入了新的轨迹段。
B)处理加速远离预期最终速度vf的轨迹。
这在图27中由决策块414和416中表示。控制系统应用决策过程来应对速度的大小为vf但加速远离vf的异常414,和/或速度不处于vf且加速远离vf的异常(条件)416。在前一种异常414中,控制系统决定速度增量Δv是否等于零,即Δv=0,并且初始加速度a0的大小不等于零,即a0≠0。如果这两个条件都存在,则表明轨迹正在加速远离预期最终速度vf。如果两个条件都不存在,则控制系统转到决策块416并决定轨迹是否加速远离vf。为了确定情况是否如此,控制系统确定初始轨迹加速度a0的大小与速度增量Δv的乘积是否为负(Δv×a0<0)416。如果乘积为负,则表明轨迹正在加速远离预期最终速度vf,即朝相反的方向移动。如果加速度a0的符号与速度增量Δv的符号相反,Δv×a0的积将为负,即轨迹正向着与达到最终速度所需方向相反的方向加速。
如果在决策块414和416的任何一个中,这两种情况都是肯定的,即轨迹正加速远离预期最终速度vf,则必须生成轨迹段418,以通过在第二速度变换子算法能被应用之前将轨迹加速度降低至零来修正此异常。对于新的轨迹段418,
·所使用的操纵变量加加速度为:J=-sign(a0)×J。负号是为了将加速度降低至基本为零所必需的;
·轨迹段持续时间由给出;
·终点加速度的大小为零(aE2=0)。通过直接应用轨迹方程(方程3、4和5)、使用起始点(a0、v0、p0)、加加速度J和轨迹段持续时间T2,初始位置p0、初始速度v0、终点速度vE2和终点位置pE2可以由此获得。在流程图中,这表示为从起始点(v0、a0)对轨迹求积分420,使用输出列表上的所有段,计算终点速度vE2和终点加速度aE2
如果在此步骤中生成了这样的轨迹段,则其终点成为用于下个子问题的初始轨迹点,即(a0、v0、p0)←(aE2、vE2、pE2),且根据Δv←vf–vE2重新计算速度增量,即重新分配值420、422。
然而,如果在决策块414和416的任何一个中,两种条件都为否,则表示要么轨迹处于vf且加速度基本为零,要么轨迹正朝着vf加速,而后控制系统保持初始轨迹点(a0、v0、p0)的现状并转到下个子问题。
C)处理轨迹超出最终速度
第三检查由图27中的决策块424表示。步骤A)中的第一检查确定轨迹加速度不会过大,而步骤B)中的第二检查确定轨迹未以“错误”的方向加速。因此,到那时,轨迹加速度参考a将要么为零(在这种情况下第三检查不会执行任何操作,因为轨迹在那时侯实际上并未加速),要么轨迹将加速至预期最终速度vf(且可能超过它)。在这种情况下和在应用第二速度变换子算法之前,作为最终检查,控制系统会确定轨迹是否超出预期最终速度vf。决策过程开始于检查决策块424:初始轨迹加速度a0的大小是否基本等于零。如果初始轨迹加速度a0的大小基本等于零,则表明应用第二速度变换子算法的条件有效。然而,如果轨迹加速度并非基本等于零,则会有轨迹速度仍在上升轨迹上且会超过预期轨迹最终速度vf的风险。当应用第三检查时,此检查有助于捕捉这种情况,并应用将加速度的大小降低至零的轨迹段,这仅用于这样做轨迹速度会越过并继续远离预期最终速度vf移动的情况。
如果轨迹速度越过且超出预期最终速度vf,则接下来的补正措施会在应用第二速度变换子算法之前采取。起初会对试探性轨迹段进行计算,其中所应用的加速度为J=J,与之前两个检查中所使用的J不同,但试探性轨迹段不会添加到输出列表中。由于在第二子算法中J会随后应用于将速度变换至预期最终速度vf,所以在第三检查中继续使用相同的加加速度值J是有意义的,因为轨迹也在朝着预期最终速度vf前进,而且可能超过它。轨迹速度恰好超过vf的可能性(如果第三检查确定轨迹速度的确超过了)并不妨碍使用与如果轨迹能够在不超过vf的情况下落在vf的情况下使用的相同的加加速度值。在轨迹加速度过大和/或轨迹以错误的方向加速并需要返回的特定情况中,会使用抢占的加速度J=J
在步骤426中,使用试探性轨迹段对轨迹求积分,以计算负载处理装置在试探性轨迹段结束时的生成速度vaux。在下一步骤中需要该速度以计算轨迹是否超过了最终速度vf
在决策块432中确定轨迹速度是否超过最终速度vf时,
·速度增量Δv、428将被计算,速度增量代表从上一检查中的初始速度v0到预期最终速度vf的速度变换。因此,Δv代表初始速度v0相对于预期最终速度vf的过冲程度;
·速度增量Δvaux、430代表在步骤426中计算的试探性轨迹段的终点速度vaux到预期最终速度vf的速度变换。因此,Δvaux代表目前计算的vaux相对于预期最终速度vf的过冲程度。
如果在最终检查中轨迹段过冲,则v×vaux的积将小于零或为负数(Δv×Δvaux<0),即速度增量Δv或Δvaux之一为负数(参见图27中的决策块432)。如果(Δv×Δvaux<0),则清楚地表明轨迹段超过了预期最终速度vf。在这种情况下,在步骤434中,控制系统将之前计算的试探性轨迹段添加到输出列表中,以使加速度的大小基本为零。对于新的轨迹段(现在不再是试探性的):
所使用的操纵变量加加速度值是J,而不是抢占的(pre-emptive)加加速度J。因此,所应用的加加速度为J=-sign(a0)×J。负号是必需的,以将加速度降低至基本为零,即表示减速度。
·轨迹段持续时间由T3=|a0|/J给出。
·终点加速度为零(aE3=0)。通过直接应用轨迹方程(方程3、4和5)、使用起始点(a0、v0、p0)、加加速度J和轨迹段持续时间T3,初始位置p0、初始速度v0、终点速度vE3和终点位置pE3可以由此获得。在流程图中,这显示为从初始点(v0、a0)对轨迹求积分436,使用输出列表中的所有段来计算生成速度vE3和加速度aE3。终点速度vE3等于vaux
因此,第三检查确保加速度参考a逐渐减小至基本为零,并防止其进一步远离预期最终速度vf加速。如果在加速度参考a被逐渐减小到零时轨迹段超过了预期最终速度vf,则接受此条件。第三检查的目的是防止轨迹进一步加速远离预期最终速度vf,因此需要将加速度参考逐渐减小到基本为零。再一次,终点成为用于速度变换算法的初始轨迹点,即(a0、v0、p0)←(aE3、vE3、pE3)438,并且根据Δv=vf–vE3重新计算速度或速度增量。更新的轨迹点随后成为用于下个子问题的初始轨迹点。
如果轨迹段没有超出预期最终速度vf,则完全忽略此轨迹段,即不需要对初始轨迹点或速度增量Δv进行修改。
一旦轨迹条件被设定(例如将加速度的大小移至基本为零),其中涉及在第一速度变换子算法中生成一个或多个轨迹段,那么控制系统将进入速度变换算法的下个阶段——第二速度变换子算法440,以将速度的大小变换至预期最终速度。最后,通过对所有生成的轨迹段求积分442,可以确定应用第一速度变换子算法而产生的总距离Δp。第二速度变换子算法的应用将在之后的章节4.2进一步论述。
以下是在轨迹段的不同场景下应用第一速度变换子算法的实施例。所有这些实施例都使用国际单位制:距离以m为单位,时间以s为单位,速度以m/s为单位,加速度以m/s2为单位,加加速度以m/s3为单位。
实施例1
以输入值为以下的实施例中:
初始轨迹加速度a0=1.0
命令加速度amax=2.0
初始速度v0=1.0
预期最终速度vf=1.1
Δv=vf–v0=0.1
加加速度值J=J=J=0.1
A)第一个问题:加速度是否过大?否,|a0|=1.0且|amax|=2.0,所以起始加速度a0并未过大。
B)第二个问题:轨迹是否加速远离vf?否,Δv=0.1是正值且a0是正值,因此轨迹正朝着vf加速。
C)第三个问题:即使加速度立即开始降低为零,轨迹也会超出vf吗?是。
使用J为0.1的加加速度值,将a0逐渐减小至零时:T=|a0|/J=1.0/0.1=10个时间单位。当加速度逐渐减小至零,轨迹速度将增加10*1.0/2=5.0(直角三角形的面积,底为10个时间单位,高为a0=1.0)。因此,即使控制系统试图将轨迹加速度逐渐减小到零,轨迹速度仍将从v0=1.0增加到6.0,进而超出vf=1.1。
在这个实施例中,前两个检查没有产生任何操作(不需要操作),但仍旧需要第三检查存在以处理vf的过冲,否则将无法调用第二子速度变换算法(起始条件无效)。
实施例2
命令加速度amax=2.0
初始加速度a0=-3.0
初始速度v0=1.0
预期最终速度vf=3.0
Δv=vf–v0=3.0-1.0=2.0
J=1.0
J=J=0.5
A)第一个问题:加速度是否过大?是。|a0|=3.0大于amax,因此控制系统必须创建J=+J=+1.0的轨迹段,其持续时间为T=|amax-|a0||/J=1.0/1.0=1.0
--->段的终点为aE(终点加速度)=-2.0,vE(终点速度)=0.5
--->注意,加速度仍然是负值,因为此步骤所做的只是降低加速度的大小,使其不再过大(即高于amax)
--->重新计算Δv=vf-vE=3.0-(0.5)=2.5
--->重新分配a0=-2.0和v0=0.5
B)第二个问题:轨迹是否加速远离vf?是。Δv=2.5(正值)而a0=-2.0(负值),因此轨迹正加速远离vf。因此,我们必须创建J=+J=+1.0的轨迹段,且其持续时间为T=|a0|/J
=2.0/1.0=2.0
--->段的终点为加速度aE=0,vE=-1.5
--->重新计算Δv=vf-vE=3.0-(-1.5)=4.5
--->重新分配a0=0且v0=-1.5
C)第三个问题:即使加速度立即开始逐渐降低为零,轨迹是否超出vf?否,因为当下加速度已经为零。
在实施例2中,前两个检查产生了操作(每个检查生成了一个轨迹段),但第三检查没有产生任何操作(不需要操作)。根据之前的三个查询,轨迹现在具备了有效的条件,可以继续执行第二速度变换子算法,其具有a0=0、v0=-1.5、vf=3.0的初始轨迹点,即加速度已经逐渐减小至基本为零。应用第二速度变换子算法将创建另外两个轨迹段(因为a结果为1.5,低于amax),以将轨迹速度移至vf(并将加速度移至零)。a的计算对于第二子速度变换算法的应用至关重要。
4.2第二速度变换子算法的应用
第二速度变换子算法的输入和输出如下表2所示。一旦如上所述的之前的子问题已经由第一速度变换子算法解决,控制系统就能够调用第二速度变换子算法。第二速度变换子算法是实际执行将(速度)变换到vf而不论vf的值如何的算法。只有上述的特定起始条件已被解决时它才会被调用。这包括但不限于轨迹具有过大的加速度,和/或轨迹远离预期最终速度加速。检查由图28中的块504、506、508、510执行,并在上文作了说明。速度变换算法的目的是生成轨迹段以达到选中的速度vf。最终速度vf可以是任何受制于速度约束的速度选择。然而,如果速度或速度增量Δv基本为零——也就是轨迹速度v0的大小已经处于预期最终速度vf,并且加速度a0的大小基本为零,在这种情况下,轨迹不会加速远离预期最终速度vf,那么达到预期最终速度的条件已经成熟。这由从决策块506到第二速度变换子算法的流程图(图28)的末尾的路径示出。
根据本发明,发现能用于第二速度变换子算法的目的的有用概念是速度增量Δv,其被限定为预期最终速度vf与初始速度v0之间的差。初始速度v0的值取决于在上述第一速度变换子算法中分配给初始速度v0的终点速度参考vE。参照图28所示的流程图500,计算峰值轨迹加速度a的值514,它表示假想三角形的顶点处的加速度值,三角形的面积由Δv给定,边则由加速度的增加率(远离零加速度)J和减少率(朝向零加速度)J限定(参见图29)。换句话说,a是类似三角形的形状的顶点处的加速度值,可以使用让加速度大小增加的速率J和让加速度大小减少的速率J来绘制,以便此形状的面积对应于或相当于Δv。到达框514取决于决策框504、508和510中的条件——有效的起始条件,即(i)Δv≠0;(ii)Δv×a0≥0;和(iii)|A0|≤Amax。这些条件应该被履行,因为轨迹已经完成第一速度变换子算法,所以任何过大加速度或轨迹远离最终速度加速的异常情况应该已经通过添加轨迹段到输出列表中得以解决。
表2:应用第二速度变换子算法的输入和输出。
详细而言,给定初始加速度a0、初始速度v0(由第一速度变换子算法的输出限定)、预期最终速度vf、速度增量Δv=vf-v0,以及用于增加(J)和减小(J)轨迹加速度大小的加加速度的特定值,可能可以绘制假想的“三角形加速度轨迹”(参见图29),使得a0右侧的面积等于Δv。换句话说,执行这样的三角形状的加速度信号的变化能将把v0变为vf(无论轨迹段的数量),从而解决第二速度变换子问题。根据第一原理,假设在假想的三角形加速度轨迹下面积等于增量速度Δv,那么:
A0+A1+A2=Δv (7)
其中A0、A1和A2是图29所示的面积。让a成为假想三角形顶点处加速度的值。三角形下方与Δv相对应的总面积的部分可以表示为三个较小面积的和,即Δv=A0+A1+A2,其中:
A0=L1a0 (8)
Δv=A0+A1+A2
峰值加速度的大小由此可以通过取式的平方根来获得:
一旦通过方程21计算出峰值加速度a的大小,三种互斥的可能性之一可能为真,每种可能性都在下面详细说明:
A)初始加速度大小a0与峰值加速度a的大小相匹配
如果初始加速度的大小等于峰值加速度516,即|a0|=|a|,则轨迹已经达到峰值加速度,只需要将加速度逐渐减小(减速度)到零,以达到预期最终速度vf
在这种情况下,单个的轨迹段518被生成,其中:
i)操纵变量(加加速度)的值为J=-sign(a0)×j,以将加速度减小,
ii)轨迹段持续时间由给定,以及
iii)终点加速度为零(aE4=0),终点速度为vE4=vf,以及终点位置通过直接应用轨迹方程(方程3、4和5)、使用起始点(a0、v0、p0)、加加速度j和段持续时间T来获取。
B)峰值加速度大小a小于或等于最大加速度amax(命令加速度)的大小如果峰值加速度的大小小于最大加速度的大小526,即|a|<amax,则轨迹加速度的大小仍然可以增加到|a|,随后需要将其逐渐减小到零,届时将达到预期最终速度vf
因此,在这种情况下,需要生成两个轨迹段528、530,并且可以通过图29中的假想三角形来展示,图29示出了到峰值加速度的第一轨迹段528b以及逐渐减小至基本为零的第二轨迹段530b。
对于第一轨迹段528b,
·所使用的操纵变量(加加速度)值为J=S×j。符号S取决于初始加速度a0=0为正还是或负。如流程图所示,如果初始加速度a0几乎等于零,则符号S与初始速度v0具有相同的符号,因为轨迹段需要根据轨迹速度的方向来逐步增加或减小轨迹加速度,以达到最终速度vf。然而,如果初始加速度a0不等于零,则符号S为初始加速度的符号,以便逐渐增加或减小轨迹加速度来使速度的大小达到最终速度vf
·第一轨迹段的持续时间为T=|a-a0|/J
·终点加速度为峰值加速度(aE5=a),终点速度vE5和终点位置pE5通过直接应用轨迹方程(方程3、4和5)、使用起始点a0、v0、p0、加加速度J=j和段持续时间T来获得。
·将其终点重新分配给第二轨迹段的初始轨迹点,即:(a0、v0、p0)←(aE5、vE5、pE5)。
对于第二轨迹段530b,
·操纵变量(加加速度)值为J=S×j
·第二轨迹段持续时间为T=|a|/j
·终点加速度基本为零(aE6=0),终点速度vE6和终点位置pE6通过直接应用轨迹方程(方程3、4和5)、使用起始轨迹点aE5、vE5、pE5、加加速度J=j和段持续时间T来获得。
C)峰值加速度的大小大于最大加速度amax的大小
紧接着,如果并非|a|<amax,则|a|必定要大于amax。如果峰值加速度的大小大于最大加速度的大小,即a>amax,则轨迹加速度的大小必须一直增加到amax,然后必须在amax保持一段时间,最后需要及时将其逐渐减小到零,以达到预期最终速度vf。换句话说,加速度轨迹将呈现梯形形状。因此,在这种情况下,可能会生成两个或三个轨迹段,具体取决于轨迹加速度的大小是已经等于amax还是仍旧小于amax
首先通过将a=a0=amax代入方程21中来计算由于加速度从amax逐渐减小至零而产生的速度上的变化值,以得出:
其中,由图30中的T表示的恒定加速阶段的(时间)长度也可以计算得出:
其中:
|Δv|是在恒定加速阶段开始处从初始速度v0到预期最终速度vf的速度变换的大小。如图30所示,恒定加速阶段和加速度逐渐减小轨迹段540和542下的总面积A2+A3为速度增量Δv=v0-vf(其中v0是恒定加速阶段开始时的速度)。加速度逐渐减小段542下的面积A3为方程22计算得出的Δv。面积A2可以通过从总面积中减去面积A3计算得出,因此A2=Δv-Δv。根据面积A2,持续时间T可以通过在方程23中将此面积除以加速度amax来计算。
如果|a0|<amax,则必须生成三个轨迹段。这由图28中的决策块532以及在轨迹段540和542上方生成的附加的轨迹段534表示,并通过图30中的假想梯形形状来展示。
对于图30中在持续时间T1内的第一轨迹段534:
·所使用的操纵变量(加加速度)值为J=S×j
·轨迹段持续时间由给定,以及
·终点加速度为最大加速度(aE7=sign(a0)×|amax|),终点速度vE7和位置pE7通过直接应用轨迹方程(方程3、4和5)、使用起始点a0、v0、p0、加加速度j和段持续时间T1来获得,
·将其终点重新分配给第二轨迹段的初始轨迹点,即:(a0、v0、p0)←(aE7、vE7、pE7)。
对于在持续时间T2——显示为图30中的T内的第二轨迹段540:
·所使用的操纵变量(加加速度)值为零,
·段持续时间由方程23给定的T2=T给出,以及
·终点加速度为最大加速度(aE8=a0)(注意:a0=aE7来自之前的计算),且终点速度vE8和位置pE8通过直接应用轨迹方程、使用起始点aE7、vE7、pE7、零加加速度和段持续时间T2=T获得,
·将其终点重新分配给用于第二轨迹段生成的初始轨迹点,即:(a0、v0、p0)←(aE8,vE8,pE8)。
对于图30中在持续时间T3内的第三轨迹段542:
·所使用的操纵变量(加加速度)值为J=-S×j
·轨迹段持续时间由给定,和
·终点加速度为零(aE9=0),终点速度为vE9=vf,终点位置pE9通过直接应用轨迹方程(方程3、4和5)、使用起始点aE8、vE8、pE8、加加速度j和段持续时间T来获得。
然而,如果从第一速度变换子算法起a0=amax,则仅有两个轨迹段540、542必须被生成:第一轨迹段在时间T内加速度为amax,第二轨迹段将加速度从amax逐渐减小至零。这在轨迹中通过流程图的决策块532|a0|<amax中的“否”决策分支来显示,而添加的两个轨迹段由图28和图30中的方块540和542表示。这是因为如果|a0|<amax为“否”,那么显而易见的选择就是|a0|=amax,因为在应用速度变换算法时,上述三个检查之一是初始加速度的大小是否大于amax、|a0|>amax,即加速度过大以及要将a0移到amax(参见图27中的块406)。
对于|a0|=amax,逐渐增加到最大加速度amax在图30中被忽略,且轨迹加速度的大小已经达到最大加速度amax
对于在持续时间T内的第一轨迹段540:
·所使用的操纵变量(加加速度)值为零,
·段持续时间由T2=T给定,以及
·终点加速度为峰值加速度(aE8=a0),终点速度vE8和终点位置p8通过直接应用轨迹方程、使用起始点a0、v0、p0、零加加速度和段持续时间T2来获得。
对于在持续时间T3内的第二轨迹段542:
·所使用的操纵变量(加加速度)值为J=-S×j
·轨迹段持续时间由给定,以及
·终点加速度为零(aE9=0),终点速度为vE9=vf,终点位置pE11通过直接应用轨迹方程(方程3、4和5)、使用起始点aE8、vE8、pE8、加加速度j和段持续时间T3来获得。
当达到预期最终速度vf时,根据本发明的第二速度变换子算法终止。当受指令在命令位置静止时,预期最终速度vf可以具有任何值,例如基本为零。
实施例
图31(a至d)示出了在应用根据本发明的速度变换算法时,当变换到不同的最终速度vf——范围从-34.052到18.167时生成的不同轨迹或运动控制廓线。所有生成的廓线都有相同的起始点(p0、v0、a0)。从图31(a)中可以清楚地看出,变换到不同的最终速度vf会导致不同的行进长度,因此,不同的位置参考反过来会与命令位置产生不同的偏差。生成轨迹时轨迹段的数量取决于最终速度vf的值,最多可以生成四个轨迹段(参见图31d)。控制器使用轨迹或运动控制廓线来生成或计算在上述第2.0节中论述的前馈扭矩需求。
5.0求根算法
在生成轨迹或运动控制廓线时,关键是以让轨迹在最短时间内落在命令位置且不会下冲或过冲的方式来控制轨迹速度。例如,在轨迹距离相对较短且几乎没有时间供负载处理装置达到命令速度vmax的情况下,轨迹从初始起始位置起全程需要经历多个速度变换来准确到达命令位置,且不会下冲或过冲。这涉及轨迹以峰值速度v行进,然后逐渐减速回到预期最终速度vf
寻求用来行进但未超过命令速度vmax的预期峰值速度v以使负载处理装置在最短时间完成轨迹成为挑战。根据本发明具体实施方式,求根算法被用来预测轨迹初始速度v0和最大速度约束vmax之间的“最佳点”速度(根),其中目标函数表示轨迹与命令位置的偏差,即处于终点轨迹加速度和终点速度基本为零的轨迹点。求根算法并不限于仅在轨迹位于运动控制廓线的开始处使用。根据轨迹的一个或多个情况,例如一个或多个约束或命令位置,运动廓线生成器可以重新生成运动控制廓线,以响应于一个或多个与初始的一个或多个情况不同的情况。在运动控制廓线的加速阶段和/或减速阶段,运动控制廓线的重新生成可以受指示进行。在这种情况下,求根算法可以应用于运动控制廓线的再生成阶段,以预测用于到达命令位置所剩距离的“最佳点”速度。
求根算法的使用不限于轨迹速度,它还可以应用于轨迹的不同参数。例如,求根算法可应用于求得理想的轨迹加速度或减速度,以在最短时间内到达命令位置且/或不过冲。
在参数是轨迹速度的情况下,求根算法会与上述速度变换算法一起应用于探究不同的峰值速度v,以生成用不同轨迹速度到达的轨迹段。求根算法将使用速度变换算法生成的轨迹段的结果来确定相对于命令位置的过冲或下冲程度。因此,如在“峰值速度搜索”问题中,这意味着求根算法在尝试“预期峰值速度”v的不同值,并结合速度变换算法一起搜索使过冲基本为零的v值。根据本发明,当预期最终速度vf在命令速度vmax的范围内且可以增加到命令速度时,求根算法将在这种情况下调用速度变换算法。
求根算法每次调用速度变换算法时,都会生成一个或多个轨迹段以将速度的大小移动到预期峰值速度v,并回到预期最终速度vf
以图32所示的实施例为例,其中需要预期峰值速度v以从初始位置p0行进到最终速度vf和加速度基本为零的命令位置。顶部廓线(图32a)表示作为时间函数的位置参考的大小,中间廓线(图32b)表示作为时间函数的速度参考的大小,底部廓线(图32c)表示作为时间函数的加速度参考的大小。图32示出了多个速度轨迹廓线,它们以在相对较低的峰值速度vA到相对较大的峰值速度vC之间“选中”的多个不同峰值速度行进。求根算法被用来求得处于与命令速度相对应的上限和下限之间的理想的峰值速度v,以便轨迹完成从给定初始点到给定终点的点对点移动,且不会过冲或下冲(参见图32b)。出于解释本发明的目的,从命令位置的“偏差”这一术语可宽泛地理解为包括轨迹未到达或者超出命令位置。在图32所示实施例中,对于每个候选峰值速度v,将都会发生两次速度变换:
1)从初始速度v0到预期峰值速度(比如说vA)的第一速度变换,以及
2)从初始速度vA(将峰值速度vA重新分配给初始速度)到相当于基本为零的预期最终速度vf的第二速度变换。
在求根算法的每次迭代中,通过应用第一和第二速度变换来生成轨迹段,以确定与命令位置的偏差程度,即通过应用轨迹方程(3、4和5)对轨迹段求积分,以生成累计的终点位置pE。用于速度峰值的连续值的累计终点与命令位置的偏差表示与命令位置的下冲或过冲程度,即偏差。因此,求根算法结合应用速度变换算法的每次迭代都会产生对根的逐渐更准确的近似,在这种情况下即预期峰值速度v。另一种看待这一过程的方式是,一个或多个速度变换算法嵌套在求根算法的每次迭代中。对于求根算法的每次迭代,至少一个速度变换算法被用来确定经计算变换到峰值速度v所必要的轨迹段,并由此确定与命令位置的偏差程度。图33中偏差与速度之间的曲线图所示的“最佳点”速度示出了在偏差基本为零时,在初始速度到命令速度的大小之间的预期峰值速度v。在图33所示的特定实施例中,目标函数几乎为零时的“最佳点”速度为29.63。
当变换到“根”速度以便最终速度vf在命令位置处基本为零时,通过速度变换算法生成的构成轨迹段的轨迹或运动控制廓线可被称为最优运动控制廓线或最优轨迹。求根算法的应用不仅限于求取最优峰值速度,求根算法也可在本发明的具体实施方式中被调用来寻求最优减速度约束,以便在应用上述速度变换算法时,轨迹能够有效减速以落在命令位置。请参见下列章节7.0,其中有应用求根算法以求取最优减速度约束的更多细节。
6.0返回
可能存在轨迹超出命令位置的情况。这可能是因为命令位置突然改变或更接近负载处理设备,或者到达命令位置的行进距离过短,以至于轨迹段的持续时间很短,使得到达预期最终速度vf花费的时间过长而导致过冲。用于返回到命令位置的轨迹的生成与朝着命令位置移动的轨迹的生成非常相似,也就是说,求根算法与速度变换算法结合使用来确定预期峰值速度v,以便在变换到预期峰值速度v再从预期峰值速度v变换到具有基本等于零的大小的最终速度vf时生成轨迹段,即轨迹返回到命令位置。如果超出命令位置较长,则轨迹速度的大小在逐渐降速至命令位置前可全程被增加到最大速度约束vmax。在两种过冲的情况中,速度变换算法被应用于变换回命令位置。
7.0强制减速
轨迹的输入会定期由控制系统再次访问,且一个或多个约束可根据轨迹是否发生变化——例如访问不同的目的地或网格单元,或者网格结构上存在障碍物——而更新。一个或多个变化可包括命令位置,并且可导致轨迹生成器根据更新的命令位置重新生成轨迹。更新的命令位置可导致轨迹比最初预期更接近地终止。因此,需要减速轨迹以便轨迹速度和加速度在更新的命令位置处基本为零。减速使得控制器或控制系统能够施加必需的扭矩需求,以将负载处理装置减速到更新的命令位置,即刹车力。在本发明特定具体实施方式中,强制减速算法被应用于轨迹,其中涉及使用上述速度变换算法将速度从当前或初始速度变换到基本为零的最终速度vf。这涉及使用强制减速(FD)约束生成一个或多个轨迹段,而非使用命令加速度来迫使轨迹减速,以便轨迹加速度和速度在更新的命令位置处基本为零。
强制减速算法的输入如下列表3所示:
表3:强制减速算法的输入和输出
FD的上限FDmax的值可以与命令加速度不同或基本相同,且取决于电机的公差。对于负载处理装置的情况,FDmax取决于轮组件的驱动机构的公差和/或负载处理装置在网格结构上的稳定性。控制系统将通过经计算的终点位置pE来决定轨迹是超出还是未达到更新的命令位置,具体取决于在应用速度变换算法时是使用上限强制减速FDmax还是下限强制减速FDmin来生成附加轨迹段。
强制减速的应用总结在图34所示的流程图600中。在输入约束602之后,此过程开始执行一个或多个决策过程,以确定在通过应用求根算法计算合适的减速度约束之前,轨迹是否可以使用FDmax或FDmin被强制减速。强制减速算法的前两个决策过程要求将轨迹置于应用速度变换算法的条件中,以将轨迹速度的大小变换至基本为零,即vf=0。按照流程图所示顺序,第一检查604涉及速度是否正在增加的决策过程。如果轨迹速度正在增加,则控制系统应用适合的加加速度约束J4来生成单个轨迹段606,将加速度a0逐渐增加到基本为零,以防止速度进一步增加。例如,单个轨迹段的生成如下:
·所使用的操纵变量(加加速度)值为J=J4
·段持续时间由给定,和/>
·终点加速度为峰值加速度(aE1=0),终点速度vE1和终点位置pE1通过直接应用轨迹方程(3、4和5)、使用起始点a0、v0、p0、加加速度J=J4和段持续时间T来获得;
·轨迹段的终点被重新分配608为下个轨迹段的起始点(a0、v0、p0←aE1、vE1、pE1)。
如果速度未增加,则控制系统继续进行下个决策过程610,通过确定轨迹加速度的大小是否大于强制减速最大约束,即|a0|>FDmax来确定初始减速度是否过大。如果加速度的大小过大,则控制系统生成单个轨迹段612,以将加速度的大小逐渐减小至基本与强制减速约束FDmax相匹配。
例如,单个轨迹段的生成如下:
·所使用的操纵变量(加加速度)值为J=J4
·段持续时间由给定,以及
·终点加速度为峰值加速度(aE2=FDmax),终点速度vE2和终点位置pE2通过直接应用轨迹方程、使用起始点a0、v0、p0、J=J4和段持续时间T来获得;
·轨迹段的终点被重新分配614为下个轨迹段的起始点(a0、v0、p0←aE2、vE2、pE2)。
既然轨迹加速度既没有增加也没有过大,随后的三个决策过程616、620、624涉及应用速度变换算法,使速度变换至预期最终速度vf,即具有与预期最终速度vf基本相等的大小的终点速度。决策过程继续判断应用速度变换算法、使用强制减速约束FDmax是否会让轨迹落在命令位置上616。如果是,则通过使用速度变换算法618将从初始速度v0变换来的速度的大小变换至基本等于零的预期最终速度vf(其中加速度约束等于FDmax)来确定Δv,进而生成一个或多个轨迹段。如果否,那么强制减速FDmax可能不足够或过于急进。如果强制减速FDmax在应用于轨迹时被认为不足够,并且会导致轨迹仍然超出620更新的命令位置,那么唯一的选择就是控制系统需要应用章节6.0中论述的“返回”622从过冲中恢复,并进而落在更新的命令位置上。轨迹段被生成以将轨迹加速度的大小减小至FDmax。然后,通过应用连续的速度变换算法确定Δv,一个或多个轨迹段被生成以从过冲中返回。这涉及将第一速度变换算法应用于将从初始速度v0变换来的速度的大小变换到预期峰值速度v以及终点位置pE。然后应用第二速度变换算法以从峰值速度v逐渐减小,使得应用第二速度变换算法时的终点位置pE处于命令位置上。
然而,如果在应用速度变换算法、使用最大强制减速度FDmax时,轨迹位置过冲,则最大强制减速度FDmax可被认为过于急进。在这种情况下,需要将更温和的减速度约束FDmin应用于轨迹,即应用速度变换算法,使用FDmin作为命令加速度。如果应用速度变换算法使用下限强制减速度FDmin导致轨迹位置下冲或落在更新的命令位置处624,则使用FDmin(其中轨迹加速度的大小减少为FDmin)应用速度变换算法626。如果在使用FDmin的情况下轨迹下冲,则轨迹速度的大小已经到达的限制过低,超出了使用FDmin落在更新的命令位置的能力,即预期最终速度vf在命令位置之前的终点处基本接近于零。
如果在应用速度变换算法时,上限强制减速度FDmax导致轨迹未达到命令位置,但应用下限强制减速度FDmin又会导致轨迹超过命令位置,则会有处于FDmax和FDmin之间的强制减速度约束FD,它可以应用于使轨迹落在命令位置上。在这种情况下,控制系统将执行求根算法628来确定强制减速度约束FD,以允许轨迹落在最终位置上,即当vf接近零时。求根算法在作为上限的强制减速度FDmax和作为下限的FDmin之间进行应用。目标函数是当在强制减速度约束的上限和下限之间选中的强制减速度约束被应用时,离最终位置的位置偏差程度。在求根算法的每个连续迭代中,速度变换算法被应用于将轨迹从初始起始点变换到预期最终速度vf——其中vf基本为零,并使用选中的强制减速度约束来确定累计的终点位置pE,即从初始位置p0起对轨迹求积分并使用输出列表上的所有段来计算方案的总行进距离ΔP。终点位置pE将提供对命令位置的“偏差”的指示,即当最终速度vf基本为零时。求根算法的每次迭代都会产生对根的逐渐精确的近似——在此情况下即强制减速度FD。在结合应用求根算法和速度变换算法以将轨迹速度变换至最终速度vf时,控制系统的任务是使用求根算法确定正确的强制减速度FD。一旦根被确定,强制减速度FD将被应用于轨迹,以将速度从初始起始点变换到vf基本等于零所在的终点。
虽然上述特定具体实施方式涉及可在网格结构上运作的机器人负载处理处理设备,但应理解,轨迹或运动控制廓线的生成可适用于其他需要运动的移动的运动装置或机器人装置。例如,生成的轨迹可以用来控制机械臂的点对点运动。
应理解,以上示出和描述的方法不受块的顺序限制,因为一些块可能以不同的顺序发生和/或与此处所描述和说明的其他块同时发生。应理解,还可以采用各种其他分支、流程路径和块的顺序来实现相同的结果。
应用速度变换算法的实施例
根据本发明的速度变换算法的应用可以通过图35(a到c)所示的轨迹曲线图来演示。轨迹表示从初始速度参考v0到预期最终速度参考vf的变换。在图35c中速度曲线图所示的本发明特定实施例中,速度变换从初始速度参考v0(+18)到预期最终速度vf(-16)。为了便于解释,轨迹在命令位置达到预期最终速度vf。这些曲线图被分为0、1、2和3阶段,表示将速度参考变换到预期最终速度vf所需的不同轨迹段。
最初,加速度的大小为正,因此,轨迹远离预期最终速度vf——即相反的方向加速(注意预期最终速度为负)。应用第一速度变换子算法:-A)第一个问题:加速度是否过大?否。
B)第二个问题:轨迹加速是否加速远离vf?是。
为了解决第二个问题,在轨迹图中由阶段0表示的应用第一速度变换子算法的第一阶段为:生成轨迹将轨迹加速度的大小逐渐减小至零,以防止轨迹加速进一步远离预期最终速度vf。这由图35a所示的加速度曲线图示出。初始速度增量由图35c中的速度图所示的Δv0给出。
在此阶段,轨迹段被生成,并且由此生成的轨迹段的终点成为用于下个子问题的初始轨迹点,即(a0、v0、p0)←(aE、vE、pE),然后对速度增量进行相应计算:Δv1←(vf–vE)。
C)第三个问题:即使加速度立即开始逐渐降低为零,轨迹是否会超出vf?否,因为加速度已经通过应用于前个问题的轨迹段而逐渐减小到零。
一旦第一速度变换子算法已经得到应用,轨迹便处于应用第二速度子算法的条件下。轨迹图所示的阶段(1)、(2)和(3)表示应用第二速度变换子算法时轨迹段的生成。
第二速度变换子算法的应用涉及:给定初始速度参考,根据方程(21)计算峰值加速度a。在此特定具体实施方式中,峰值加速度a要大于最大加速度的大小。因此,第二速度变换子算法的应用涉及将加速度全程增加到amax,且加速度必须保持amax一段时间,然后最终它需要及时地逐渐减小至零来到达预期最终速度vf。换句话说,由三个轨迹段1、2和3覆盖的轨迹的部分将呈现梯形形状。
图35a中由(1)表示的第一轨迹段涉及:通过应用加加速度值全程将加速度增加到最大命令加速度amax。速度增量Δv2←(vf–vE)由此产生,而轨迹段的终点被分配给用于下个子问题的初始轨迹点,即(a0、v0、p0)←(aE、vE、pE)。
由(2)表示的第二轨迹段涉及:通过让加加速度值等于零,将加速度保持在最大加速度amax一段时间。因此,当加速度位于最大加速度amax的一段时间内,速度会线性变化,此时随着轨迹进入最终阶段(3),加速度的大小减小。速度增量Δv3←(vf–vE)由此产生,而轨迹段的终点被分配给用于下个子问题的初始轨迹点,即(a0、v0、p0)←(aE、vE、pE)。
由(3)表示的第三也是最终轨迹段涉及应用加加速度值及时降低加速度的大小来达到预期最终速度vf。最终轨迹段降低速度参考,直到到达预期最终速度vf。在图35c中,预期最终速度vf呈平缓斜率。

Claims (34)

1.一种用于生成轨迹以控制运动装置的移动的方法,所述方法包括:
i) 接收所述轨迹的说明,所述说明包括命令位置,
ii) 接收至少一个加加速度约束;
iii) 基于所述至少一个加加速度约束生成一个或多个轨迹段的序列,所述一个或多个轨迹段中的每一个都是所述轨迹的各部分,所述轨迹规定了作为时间函数的的加加速度参考、加速度参考、速度参考和位置参考中的至少一个;
其中所述轨迹段序列的所述一个或多个轨迹段通过应用速度变换算法生成,所述速度变换算法包括在给定时间内将所述一个或多个轨迹段的所述速度参考的大小移动到预期最终速度参考,所述预期最终速度参考和所述速度参考的差限定了速度增量,
其中所述速度变换算法包括计算峰值加速度,所述峰值加速度的大小是所述速度增量的函数。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括接收至少一个速度约束、至少一个加速度约束和/或至少一个减速度约束的所述步骤,所述至少一个速度约束、至少一个加速度约束、至少一个减速度约束以及至少一个加加速度约束限定了用于生成一个或多个轨迹段的序列的复数个约束。
3.根据权利要求2所述的方法,其特征在于,所述复数个约束中至少一个的所述值是所述负载处理装置的所述总质量的函数。
4.根据权利要求3所述的方法,其特征在于,所述至少一个速度约束、至少一个加速度约束和/或至少一个减速度约束中任意一个的所述值与所述负载处理装置的所述总质量成反比。
5.根据前述任一权利要求所述的方法,其特征在于,所述一个或多个轨迹段中的每一个包括各起始点和各终点,使得所述一个或多个轨迹段中的每一个的所述起始点包括初始位置参考、初始速度参考以及初始加速度参考,所述一个或多个轨迹段中的每一个的所述终点包括终点位置参考、终点速度参考以及终点加速度参考。
6.根据权利要求5所述的方法,其特征在于,所述速度增量基于所述预期最终速度参考与所述一个或多个轨迹段的所述初始速度参考或是终点速度参考之间的差值。
7.根据权利要求2至6任意一项所述的方法,其特征在于,所述复数个约束包括加速度约束,且生成所述一个或多个轨迹段的步骤基于:
i) 所述轨迹的所述加速度参考的大小是否基本等于所计算的峰值加速度,和/或
ii) 所计算的峰值加速度是否小于或基本等于所述加速度约束,和/或
iii) 所计算的峰值加速度是否超出所述加速度约束。
8.根据权利要求7所述的方法,其特征在于,所述一个或多个轨迹段通过应用所述至少一个加加速度约束生成,使得所述预期最终速度参考基本为零。
9.根据权利要求7或权利要求8所述的方法,其特征在于,响应所述加速度参考基本等于所计算的峰值加速度,生成所述一个或多个轨迹段包括以下步骤:
i) 运用所述至少一个加加速度约束,使得所述一个或多个轨迹段的所述初始加速度参考具有基本等于所计算的峰值加速度的大小,且所述一个或多个轨迹段的所述各终点加速度具有基本等于零的大小,所述终点速度参考基本等于所述预期最终速度参考。
10.根据权利要求7至9任意一项所述的方法,其特征在于,响应所计算的峰值加速度小于或等于所述加速度约束,生成一个或多个轨迹段包括步骤:
i) 通过应用所述至少一个加加速度约束生成第一轨迹段,使得第一轨迹段的所述终点加速度参考具有基本等于所述峰值加速度的大小;
ii) 通过应用所述至少一个加加速度约束生成第二轨迹段,使得所述第一轨迹段的所述终点被分配至所述第二轨迹段的所述起始点,且所述第二轨迹段的所述终点加速度的所述大小基本等于零,所述第二轨迹段的所述终点速度参考基本等于所述预期最终速度参考。
11.根据权利要求7至10任意一项所述的方法,其特征在于,响应所计算的峰值加速度的所述大小超出所述加速度约束,生成一个或多个轨迹段包括步骤:
i) 通过应用所述至少一个加加速度约束生成第一轨迹段,使得所述第一轨迹段的所述终点加速度参考具有基本等于所述加速度约束的大小;
ii) 通过应用具有基本为零的大小的所述至少一个加加速度约束生成第二轨迹段,使得所述第一轨迹段的所述终点被分配给所述第二轨迹段的所述起始点,且所述第二轨迹段的所述终点加速度参考的所述大小基本等于所述加速度约束;
iii) 通过应用至少一个加加速度约束生成第三轨迹段,使得所述第二轨迹段的所述终点被分配给所述第三轨迹段的所述起始点,且所述第三轨迹段的所述终点加速度参考的大小基本等于零,所述第三轨迹段的所述终点速度参考基本等于所述预期最终速度参考。
12.根据权利要求11所述的方法,其特征在于,所述一个或多个轨迹段被生成,以响应所述轨迹加速度参考的所述大小基本小于所述加速度约束。
13.根据权利要求7至10任意一项所述的方法,其特征在于,响应所计算的峰值加速度的所述大小超出所述加速度约束,生成一个或多个轨迹段包括步骤:
i) 通过应用具有基本为零的大小的所述至少一个加加速度约束生成第一轨迹段,使得所述第一轨迹段的所述终点加速度参考具有基本等于所述峰值加速度的大小;
ii) 通过应用至少一个加加速度约束生成第二轨迹段,使得所述第一轨迹段的所述终点被分配至所述第二轨迹段的所述起始点,且所述第二轨迹段的所述终点加速度的所述大小基本等于零,且所述第二轨迹段的所述终点速度基本等于所述预期最终速度参考。
14.根据权利要求13所述的方法,其特征在于,所述一个或多个轨迹段被生成,以响应所述轨迹加速度参考的所述大小基本等于所述加速度约束。
15.根据权利要求7至14任意一项所述的方法,其特征在于,应用所述速度变换算法进一步包括生成一个或多个轨迹段的所述步骤,以响应:
i) 所述加速度参考的所述大小超过所述加速度约束;和/或
ii) 所述轨迹加速远离所述预期最终速度参考值;和/或
iii)所述轨迹超过所述预期最终速度值。
16.根据权利要求15所述的方法,其特征在于,响应所述轨迹加速度参考的所述大小超过所述加速度约束,生成一个或多个轨迹段包括步骤:
i) 应用所述至少一个加加速度约束,使得所述一个或多个轨迹段的所述终点加速度参考具有基本等于所述加速度约束的所述大小的大小。
17.根据权利要求15或16所述的方法,进一步包括确定所述轨迹是否加速远离所述预期最终速度参考值的步骤,这通过以下步骤:
i)确定所述速度增量的大小是否基本等于零且所述轨迹加速度参考的所述大小是否基本不等于零;和/或
ii)确定所述速度增量的所述大小和所述轨迹加速度参考的所述大小的积是否基本小于零,以及
如果步骤(i)或(ii)中的任一步骤为是,那么将通过应用所述至少一个加加速度约束生成一个或多个轨迹段,使得所述一个或多个轨迹段的所述终点加速度参考具有基本等于零的大小。
18.根据权利要求15至17任意一项所述的方法,其特征在于,响应所述轨迹超出所述预期最终速度,生成一个或多个轨迹段包括以下步骤:
i) 通过应用所述至少一个或多个加加速度约束,计算试探性轨迹段,其中所述试探性轨迹段具有包括初始位置参考、初始速度参考和初始加速度参考的起始点,以及包括终点位置参考、终点速度参考和终点加速度参考的终点,使得所述试探性轨迹段的所述终点加速度参考的所述大小基本为零;
ii) 计算辅助速度增量,其与预期最终速度参考和试探性轨迹段的终点速度参考之间的所述差相对应;
iii) 如果所述速度增量和所述辅助速度增量的所述积基本小于零,则将所述试探性轨迹段纳入所述轨迹段序列中,否则忽略所述试探性轨迹段。
19.根据权利要求16至18任意一项所述的方法,进一步包括所述步骤:将所述一个或多个轨迹段中每一个的所述终点分配给所述序列中所述一个或多个后续轨迹段的所述起始点,使得所述一个或多个轨迹段的所述终点位置参考、所述终点速度参考和所述终点加速度参考分别被分配给所述序列中一个或多个后续轨迹段的所述起始点位置参考、所述起始点速度参考和所述起始点加速度参考。
20.根据权利要求2至19任意一项所述的方法,其特征在于,所述复数个约束包括加速度约束,其中所述加速度参考进一步包括减速度参考,而所述加速度约束进一步包括具有上减速度约束和下减速度约束的减速度约束,使得所述轨迹段序列中的所述一个或多个轨迹段进一步规定作为时间函数的至少一个减速度参考,所述减速度参考介于所述减速度约束的所述上约束和下约束之间或等于所述减速度约束的所述上约束或下约束。
21.根据权利要求20所述的方法,其特征在于,所述至少一个加加速度约束包括:
i) 第一加加速度约束,用于增加所述加速度参考的所述大小,
ii) 第二加加速度约束,用于减小所述加速度参考的所述大小;
iii) 第三加加速度约束,用于增加所述减速度参考的所述大小;
4)第四加加速度约束,用于减小所述减速度参考的所述大小。
22.根据权利要求20或21所述的方法,进一步包括将强制减速算法应用于所述轨迹的所述步骤,这通过以下步骤:
i) 通过应用所述至少一个加加速度约束生成一个或多个轨迹段来响应所述轨迹速度的所述大小增加,使得所述一个或多个轨迹段的所述终点减速度参考具有基本等于零的大小;和/或
ii) 通过应用所述至少一个加加速度约束生成一个或多个轨迹段来响应所述减速度参考的所述大小基本大于所述上减速度约束,使得所述一个或多个轨迹段的所述终点减速度参考具有基本等于所述上减速度约束的大小。
23.根据权利要求20至22任意一项所述的方法,其特征在于,所述方法进一步包括以下所述步骤:
i) 应用所述速度变换算法生成一个或多个轨迹段,所述一个或多个轨迹段基于具有基本等于所述上减速度约束的大小的所述减速度约束,使得所述一个或多个轨迹段的所述终点加速度参考的大小基本等于零,且所述终点速度参考基本等于所述预期最终速度参考。
24.根据权利要求23所述的方法,进一步包括以下所述步骤:
i) 当相应的终点减速度参考的大小基本等于零且所述相应的终点速度参考基本等于所述预期最终速度参考时,确定所述一个或多个轨迹段的所述终点位置参考是否超出所述命令位置;以及
ii) 响应所述轨迹超出所述命令位置,通过应用所述速度变换算法生成所述一个或多个轨迹段来应用“返回”生成一个或多个轨迹段以使所述轨迹返回至所述命令位置,以使得所述终点加速度参考的所述大小基本等于零,且所述一个或多个轨迹段的所述终点速度参考在所述命令位置处基本等于所述预期最终速度参考。
25.根据权利要求20至24任意一项所述的方法,进一步包括生成一个或多个轨迹段的所述步骤,这通过以下步骤:
i) 当所述一个或多个轨迹段的所述相应的终点减速度参考的大小基本为零且所述相应的终点速度参考基本等于所述预期最终速度参考时,确定所述轨迹的所述一个或多个轨迹段的所述终点位置参考是否未达到所述命令位置;以及
ii) 响应所述轨迹未达到所述命令位置,应用所述速度变换算法生成所述一个或多个轨迹段,所述一个或多个轨迹段基于具有基本等于所述下减速度约束的大小的所述减速度约束。
26.根据权利要求20至25任意一项所述的方法,进一步包括生成一个或多个轨迹段的所述步骤,这通过以下步骤:
i) 使用求根算法来求得目标函数的根以预估强制减速约束,所述目标函数是当所述一个或多个轨迹段的所述终点速度参考和所述终点加速度参考的所述大小基本为零时所述一个或多个轨迹段的所述终点位置参考离所述命令位置的所述位置偏差,与当离所述命令位置的所述位置偏差的所述大小小于预设阀值时对应于所述终点位置参考的所述值的所述根的总和;
ii) 应用所述速度变换算法生成所述一个或多个轨迹段,所述一个或多个轨迹段使用基本等于所述预测强制减速度约束的所述减速度约束,使得在所述一个或多个轨迹段的所述终点参考离所述命令位置的所述位置偏差的所述大小小于所述预设阀值时,所述终点加速度参考的所述大小基本等于零,且所述一个或多个轨迹段的所述终点速度参考基本等于所述预期最终速度参考。
27.根据权利要求26所述的方法,其特征在于,所述预测强制减速度约束具有基本介于所述上强制减速度约束和下强制减速度约束之间的大小。
28.根据权利要求26或27所述的方法,其特征在于,所述速度变换算法嵌套在所述求根算法中,使得所述速度变换算法生成用于每个连续减速度约束的一个或多个轨迹段,所述减速度约束由所述求根算法预测。
29.根据权利要求5至28任意一项所述的方法,进一步包括所述步骤:将所述一个或多个轨迹段中每一个的所述终点分配给所述序列中所述一个或多个后续轨迹段的所述起始点,使得所述一个或多个轨迹段的所述终点位置参考、所述终点速度参考和所述终点加速度参考分别被分配给所述序列中一个或多个后续轨迹段的所述起始点位置参考、所述起始点速度参考和所述起始点加速度参考。
30.根据任一前述权利要求所述的方法,其特征在于,所述轨迹呈S形或有限的加加速度廓线,使得使用S曲线方程生成所述一个或多个轨迹段。
31.根据任一前述权利要求所述的方法,其特征在于,通过应用所述至少一个加加速度约束生成所述一个或多个轨迹段来生成限定加速度参考的轨迹,所述加速度参考作为时间函数不断变化,用于所述轨迹段序列中的所述一个或多个轨迹段。
32.轨迹生成器,用于生成轨迹以控制运动装置的移动,包括:
i) 存储器;
ii) 处理器,其被配置为执行存储在所述存储器上的计算机可执行指令,所述处理器被配置为在收到命令位置时通过权利要求1至31任意一项限定的所述方法生成运动控制廓线。
33.负载处理装置,包括含有第一和第二对轮的轮组件、用于驱动所述轮组件的驱动机构以及与所述驱动机构相连的控制器,所述驱动机构受指令根据由权利要求1至31中任意一项限定的所述方法生成的所述运动控制廓线来驱动所述轮组件。
34.非暂时性计算机介质,其中存储有计算机可执行指令,所述计算机可执行指令执行时,使计算机系统执行根据权利要求1至31中任意一项的操作。
CN202180094518.4A 2020-12-24 2021-12-21 运动装置的运动控制 Pending CN116888552A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
GB2020681.9 2020-12-24
GB2020680.1 2020-12-24
GB2020668.6 2020-12-24
GB2020684.3 2020-12-24
GBGB2020684.3A GB202020684D0 (en) 2020-12-24 2020-12-24 Motion control of a load handling device operative on
PCT/EP2021/087163 WO2022136475A1 (en) 2020-12-24 2021-12-21 Motion control of a motion device

Publications (1)

Publication Number Publication Date
CN116888552A true CN116888552A (zh) 2023-10-13

Family

ID=74532166

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202180094512.7A Pending CN116888550A (zh) 2020-12-24 2021-12-21 机器人负载处理装置的运动控制
CN202180094514.6A Pending CN116888551A (zh) 2020-12-24 2021-12-21 运动装置的运动控制
CN202180094510.8A Pending CN117043702A (zh) 2020-12-24 2021-12-21 机器人负载处理装置的运动控制
CN202180094518.4A Pending CN116888552A (zh) 2020-12-24 2021-12-21 运动装置的运动控制

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202180094512.7A Pending CN116888550A (zh) 2020-12-24 2021-12-21 机器人负载处理装置的运动控制
CN202180094514.6A Pending CN116888551A (zh) 2020-12-24 2021-12-21 运动装置的运动控制
CN202180094510.8A Pending CN117043702A (zh) 2020-12-24 2021-12-21 机器人负载处理装置的运动控制

Country Status (2)

Country Link
CN (4) CN116888550A (zh)
GB (1) GB202020684D0 (zh)

Also Published As

Publication number Publication date
CN116888551A (zh) 2023-10-13
GB202020684D0 (en) 2021-02-10
CN117043702A (zh) 2023-11-10
CN116888550A (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
AU2021405485B2 (en) Motion control of a motion device
JP5617939B2 (ja) 搬送台車システム及び搬送台車の走行制御方法
JP2019533857A (ja) トラック上を走行するロボットの移動制御
CN116888552A (zh) 运动装置的运动控制
CN118055894A (zh) 确定存储系统中装载处理设备的运动学状态
CA3229742A1 (en) Determining a kinematic state of a load handling device in a storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination