用于运行自动地面运输车的方法技术领域
本发明涉及一种用于运行自动地面运输车的方法。
背景技术
K.O.Arras等人在“Real-Time Obstacle Avoidance For Polygonal Robots
With A Reduced Dynamic Window”,Proceedings of the 2002 IEEE International
Conference on Robotics Automation,Washington,DC,Mai 2002,Seiten
3050-3055中描述了一种用于避免移动的机器人与一个或多个障碍物相撞的
方法。
发明内容
本发明的目的在于提供一种改进的用于运行自动的、特别是完整的
(holonome)/全向的地面运输车的方法。
本发明的目的通过一种用于运行自动地面运输车的方法而实现,该方法
包括以下步骤:
借助自动地面运输车的测量装置确定该地面运输车是否由于其当前的运
动而可能与至少一个障碍物相撞,
确定地面运输车的有可能与障碍物相撞的一个或多个部位,
确定障碍物与上述位于地面运输车的外壳上的部位之间的与运动相关的
距离,
基于所确定的距离确定地面运输车的当前设定运动的最大速度,从而使
地面运输车能够基于其可能的制动而可靠地在障碍物的前面停住。
本发明的另一方面涉及一种自动运输车辆,其包括:车辆基体;安装在
车辆基体上的车轮;用于驱动至少一个车轮的至少一个驱动装置;测量装置,
用于确定地面运输车是否由于其当前的运动而有可能与障碍物相撞;以及与
测量装置相连接的控制装置,用以控制驱动装置并根据本发明的方法来运行
地面运输车。
地面运输车特别是被设计为完整的/全向的地面运输车,即可全向运动的
车辆,也就是说,该地面运输车作为车辆不仅能沿其定向(Orientierung)运
动,还可沿相对于其定向成任意角度的方向运动。这样的车辆特别可以是能
围绕任意选定的基点(Momentalpol)转动并同时可以平移运动的地面运输车。
对于完整的地面运输车,其特别是具有三个或更多车轮,这些车轮可以例如
通过自身的由控制装置控制的驱动装置相互独立地运动。优选可以将车轮设
计为全向车轮。
根据本发明的方法相应地确定:在地面运输车的运动路径上是否存在障
碍物,也就是在保持当前的例如在三个自由度上的指令性运动方向、平移和
旋转时,地面运输车是否与障碍物即将发生碰撞。测量装置包括例如激光扫
描器。
根据测量装置产生的信号,确定地面运输车的在保持运动形式的情况下
会与障碍物相撞的一个或多个部位。根据此信息将地面运输车的在三个自由
度上的最大速度自动设置为,使地面运输车在必要时仍然可以及时在障碍物
的前面停住,而不会与障碍物相撞,但同时保持原来的运动形式(除了运行
速度)。
优选以车辆本身的坐标来确定障碍物与地面运输车之间的距离。车辆本
身的坐标系的原点优选位于地面运输车的中心或中间点。由此可以相对简单
的方式确定地面运输车与障碍物可能相撞的部位。
可以使用车辆轮廓的模型来确定车辆的上述部位。对地面运输车的轮廓
特别是可以借助直线段和/或圆弧线段来建模,其中,上述部位位于建模的轮
廓上。
根据本发明方法的一种实施方式,在必要时将地面运输车的轮廓近似为
矩形就足够了。
优选地面运输车的运动在具有非固定基点的圆形轨迹上进行。也就是说,
地面运输车可描述绕在其运动平面内围任意一点的圆形轨迹。但这种运动也
可以沿直线进行,这相当于半径为无限大的圆。在速度恒定时,特别是构造
为完整的移动平台的地面运输车的运动可通过围绕平面上的任意点的旋转和
二维的平移来描述。也可以通过圆形轨迹来描述恒定速度下特别是构造为完
整的移动平台的地面运输车的运动,其中,车辆关于运动方向的定向可以是
任意的,即并不一定与所实行的圆形轨迹相切。
为避免与障碍物相撞,在此特别是在障碍物附近降低速度设定值,以避
免相撞。在下面的计算中,车辆自身的坐标系的原点优选位于移动车辆(地
面运输车)的中心点。
根据本发明方法的一种实施方式,利用下述公式来确定障碍物相对于地
面运输车的运动:
r02=(x-xm)w+(y-ym)2
其中,地面运输车在半径为r的圆形轨迹上围绕具有车辆自身坐标(xm,ym)
的基点运动,并通过车辆自身坐标(x,y)描述障碍物的位置,r0是障碍物
到基点的距离。
然后可以根据下述公式确定障碍物可能与车辆轮廓相撞的部位的坐标
(xc;yc):
r02=(xc-xm)2+(yc-ym)2。
在根据本发明的方法的一种变形中,如果地面运输车的轮廓被建模为具
有直线段的矩形,其中,地面运输车的前侧用第一直线段建模,地面运输车
的后侧用第二直线段建模,地面运输车的左侧用第三直线段建模,地面运输
车的右侧用第四直线段建模,则所述部位的坐标可计算为:
xc=x前;当所述部位属于第一直线段时,
xc=x后,当所述部位属于第二直线段时,
xc=x左,当所述部位属于第三直线段时,
xc=x右,当所述部位属于第四直线段时。
地面运输车还可以相对于其定向以角度α沿直线运动。此时用向量
v x v y = cos α sin α ]]>表示在车辆自身坐标系内的运动方向,从而可以通过下式确定障
碍物的轨迹:
x y = x 0 y 0 + u · v x v y ; ]]>u∈R。
根据本发明方法的一种实施方式,根据下述原则确定潜在的所述部位的
位置:
若vx>0,则所述部位可能位于对应于第一直线段的、地面运输车的前侧
上,
若vx<0,则所述部位可能位于对应于第二直线段的、地面运输车的后侧
上,
若vy>0,则所述部位可能位于对应于第三直线段的、地面运输车的左侧
上,
若vy<0,则所述部位可能位于对应于第四直线段的、地面运输车的右侧
上。
如果已经确定了潜在的部位的坐标,则根据下述原则确定这些部位与障
碍物之间的距离:
如果所述部位位于第一直线段上,则该部位的坐标为
xc=x前和yc=y0+d·vy,
并且所述距离为:
如果所述部位位于第二直线段上,则该部位的坐标为
xc=x后,和yc=y0+d·vy,
且所述距离为:
如果所述部位位于第三直线段上,则该部位的坐标为
yc=y左和xc=x0+d·vx,
且所述距离为:
如果所述部位位于第四直线段上,则该部位的坐标为
yc=y右和xc=x0+d·vx,
且所述距离为:
如果地面运输车的车辆边缘的轮廓相对于车辆自身的坐标系以参数化的
形式表示如下:
a b + t · k x k y ; ]]>t∈[t开始,t结束]
其中,(kx,ky)T是所述边缘在车辆内部的坐标系中的方向向量,并
且对值的参数化在边缘上进行。通过与下述公式描述的圆相交,
r02=(x-xm)2+(y-ym)2
则可以确定在圆形轨迹上的运动的如下解:
r02=(a+t·kx-xm)2+(b+t·ky-ym)2。
根据本发明方法的实施方式,在必要时可以检测所有可以利用完整的车
辆实现的运动。为了能够避免可能发生的相撞,可以采取如下措施:
以通用的方式描述地面运输车在圆形轨迹上的运动,这种运动无需以沿
圆的切线方向取向为前提。
扩展运动模型,以在必要时也能考虑地面运输车沿直线的运动,即地面
运输车的非确定性取向的所谓“直线运动(Straigth Line Bewegungen)”。
还可以扩展到多边形的车辆形状,即地面运输车的轮廓为多边形的。
对于不能由一个多边形结构表示的车辆(例如全向车辆)建立分层次的
碰撞模型。此外,这种分层的表示还可以提高效率,因为在与障碍物的距离
较大时可以只用简单的多边形轮廓来处理,该轮廓可以在障碍物附近被任意
地细化。
检查哪些运动在已检测到碰撞的情况下会改善计算出的“碰撞值
(Kollisionswerte)”,以使地面运输车能够自由地行进。
必要时以可靠的技术接收激光扫描器的数据(一般为测量装置的数据)
以及必要时里程表的值。
在根据本发明的地面运输车(其特别是可以实现为自动机器人)的实施
方式中,地面运输车在圆形轨迹上或在直线上运动。
为了简单起见,可以把坐标系置于移动的地面运输车的中心。现在,利
用激光(通常为测量装置)检测到的障碍物点实际上在位于移动平台(地面
运输车)上的圆形轨迹上移动。
现在可以根据不同的实施方式采取如下措施:
1)针对每个激光点,计算其(例如由用户给定或由导航系统所指示的当
前圆形轨迹)是否与车辆相撞,
2)如果“是”,则计算碰撞点,
3)计算在圆形轨迹上从障碍物到可能的碰撞点的距离,
4)计算尚能够进行制动的最大速度。
对于矩形的地面运输车,优选针对四条直线段计算碰撞。
对于多边形的地面运输车,优选针对任意数量的直线段执行该计算,以
例如尽可能精确地反映所述轮廓。
附图说明
在附图中举例示出了本发明的实施例。其中,
图1示意性示出了完整的地面运输车的俯视图,
图2和图3示出了地面运输车的模型化的轮廓的俯视图。
具体实施方式
图1示意性地示出了自动地面运输车的示意俯视图,该地面运输车特别
是设计为完整的地面运输车1。由于该地面运输车是完整的地面运输车,因
此它可以沿所有方向自由移动;因此地面运输车1是一种全向的车辆。
在本实施例中,地面运输车1具有车辆基体2和至少三个也被称为麦克
纳姆轮(Mecanum Raeder)的全向车轮3。这种车轮包括例如可转动地安装
的轮辋,轮辋上无驱动地安装有多个滚动元件。轮辋可以利用驱动装置来驱
动。在本实施例中,车轮3分别由电驱动装置4驱动。
此外地面运输车1还包括设置于车辆基体2上的控制装置5,控制装置5
与驱动装置4相连接。控制装置5上运行有计算机程序,该计算机程序控制
驱动装置4,使得驱动装置4运动,从而使地面运输车1以预定的速度和预
定的方向运动,或在特定的圆形轨迹上围绕任意确定的基点运动。
此外地面运输车1还包括与控制装置5相连接并且例如安装在车辆基体
2上的距离测量装置6。距离测量装置6例如包括激光扫描器,并设计用于识
别障碍物7,从而在必要时可以通过控制装置5和在控制装置5上运行的计
算机程序来计算与障碍物7的距离,并且可以根据地面运输车1的当前运动
来识别地面运输车1与障碍物7的可能的相撞。
在当前实施例中,图2和图3中所示的地面运输车1的模型1a存储在控
制装置5中,模型1a特别是对地面运输车1的轮廓的模型化。特别是将地面
运输车1的轮廓通过直线段和/或圆弧线段来近似。在本实施例中,地面运输
车的轮廓被描述为具有四个直线段8a-8d的矩形。
另外,地面运输车1和障碍物7之间的距离以车辆自身的坐标x,y来描
述,其中,例如该坐标系9的x轴平行于直线段8c、8d延伸,而该坐标系9
的y轴平行于直线8a、8b延伸。相应的坐标系9例如位于地面运输车1的中
心10。由此,经建模的地面运输车1的轮廓同样可用坐标系9的坐标描述。
例如,若地面运输车1的指向坐标系9的x-轴方向的那一侧被视作地面运输
车1的前侧,则直线段8a描述了具有x-坐标x前的地面运输车1的前侧,而
直线段8b描述了具有x-坐标x后的地面运输车1的后侧,直线段8c描述了具
有y坐标y左的地面运输车1的左侧,直线段8d描述了具有y坐标y右的地面
运输车1的右侧。
现在假定,地面运输车1在具有半径r和车辆自身坐标为(xm,ym)的
基点12的圆形轨迹11上运动,并且障碍物7的位置的车辆自身坐标为(x0,
y0),则障碍物7到基点12的距离的平方r02为
r02=(x-xm)2+(y-ym)2。
此公式同时描述了障碍物7在地面运输车1的车辆自身坐标系9中的轨
迹13。基点12在英语中被称为“瞬时曲率中心”(Instantaneous Center of
Curvature)。
控制装置5可以例如基于操作者的输入、基于未详细描述的导航系统的
命令或基于对车轮3或其驱动装置4的操控,来确定圆形轨迹11的半径r。
如果现在要计算地面运输车1的轮廓与障碍物7的轨迹13相交的点或部
位14,,则可以通过如下方式进行:
r02=(xc-xm)2+(yc-ym)2,
其中,(xc,yc)是这些部位在车辆自身坐标系9中的坐标。
在本分明的实施例中,借助于模型1a为地面运输车1建模,即利用矩形
轮廓和直线段8a-8d来建模。因此可以利用下述方法计算出轮廓的可能与障
碍物7相撞的点14或部位14:
如果点或部位14位于直线段8a上,也就是位于前侧,则该部位14的坐
标为:
xc=x前,
如果点或部位14位于直线段8c上,也就是对应于地面运输车1的左侧,
则该部位14的坐标为:
xc=x左,
如果点或部位14位于直线段8d上,也就是对应于地面运输车1的右侧,
则该部位14的坐标为:
xc=x右,
如果该点或部位14位于直线段8b上,也就是位于后侧,则该部位14
的坐标为:
xc=x后,
由于在本实施例中坐标系9的原点位于地面运输车1的中心10,则有:
x后≤xc≤x前
y右≤yc≤x左。
由此,控制装置5可针对点或部位14计算出到下一次与障碍物7相撞所
要经过的距离d,其中,确定部位14与障碍物7之间的角距离(Winkeldistanz),
并且通过半径r关于基点12计算该角距离。
在本实施例中,地面运输车1是全向车辆。因此,地面运输车1不必沿
其定向方向运动,而是可以沿相对于其定向方向成任意角度α的方向运动。
因此沿直线运动也是可以的,其中,有可能与障碍物7在两个部位14上相撞。
这在图3中示出。
现在设 v x v y = cos α sin α ]]>是表示在车辆自身坐标系1内的运动方向的向量。相
应地通过下述公式确定障碍物7的轨迹:
x y = x 0 y 0 + u · v x v y ; ]]>u∈R。
现在可以根据以下规则限定控制装置5就预先给定的速度在地面运输车
1的轮廓的任意两侧S上对具有坐标(xc,yc)的部位(碰撞点)14的搜寻:
若vx>0,则该部位14可能位于对应于直线段8a的地面运输车1的前侧
上,
若vy>0,则该部位14可能位于对应于直线段8c的地面运输车1的左侧
上,
若vy<0,则该部位14可能位于对应于直线段8d的地面运输车1的右侧
上,
若vx<0,则该部位14可能位于对应于直线段8b的地面运输车1的后侧
上。
对障碍物轨迹与地面运输车1的轮廓的交点以及到障碍物7的距离d的
计算方法如下:
若点或部位14位于直线段8a上,也就是位于前侧,则该部位14的坐标
为:
xc=x前
yc=y0+d·vy
由此,距离d的计算为:
若点或部位14位于直线段8c上,也就是对应于地面运输车1的左侧,
则该部位14的坐标为:
yc=y左
xc=x0+d·vx
由此,距离d的计算为:
若点或部位14位于直线段8d上,也就是对应于地面运输车1的右侧,
则该部位14的坐标为:
yc=y右
xc=x0+d·vx
由此,距离d的计算为:
若点或部位14位于直线段8b上,也就是位于后侧,则该部位14的坐标
为:
xc=x后
yc=y0+d·vy
由此,距离d的计算为:
假设所述地面运输车1的车辆边缘的轮廓相对于车辆自身的坐标系9以
参数化的形式表示为如下:
a b + t · k x k y ; ]]>t∈[t开始,t结束]
其中,(kx,ky)T是所述边缘在车辆内部的坐标系中的方向向量,并且对值
的参数化在边缘上进行。
通过与已经由前面所述的公式所描述的圆相交,
r02=(x-xm)2+(y-ym)2
得出对于在圆形轨迹上的运动的如下解:
r02=(a+t·kx-xm)2+(b+t·ky-ym)2。
这可以被改写为:
t 2 + 2 k x ( a - x m ) + k y ( b - y m ) k x 2 + k y 2 t - r 0 2 k x 2 + k y 2 = 0 ]]>
对t求解得出:
t 1 ; 2 = - k x ( a - x m ) + k y ( b - y m ) k x 2 + k y 2 ± ( k x ( a - x m ) + k y ( b - y m ) ) 2 ( k x 2 + k y 2 ) 2 - r 0 2 k x 2 + k y 2 . ]]>
对于沿直线的运动,该问题可通过两条直线的相交予以求解。即,设根
据公式
x y = x 0 y 0 + u · v x v y ; ]]>u∈R
设置所述的障碍物轨迹与根据公式
a b + t · k x k y ; ]]>t∈[t开始,t结束]
的所述地面运输车1的参数化表达式相等,即:
a b + t · k x k y = x 0 y 0 + u · v x v y ]]>
如果地面运输车1运输例如未详细示出的机器人,并且地面运输车的轮
廓与机器人一起由更复杂的多边形示出,则可以使用下面的分层方法以提高
效率。
机器人的轮廓被近似为闭合的矩形,并以该矩形为基础实现碰撞回避。
如果障碍物7位于该近似矩形的内部,则可以利用更准确、更复杂的多边
形对碰撞回避进行计算。这使得能够对于大多数发生的情况(障碍物7位于
该近似的矩形之外)进行高效的计算,尽管如此也能保证在触犯安全区时能
够基于准确的分析而使机器人能够“自由行进”。
若障碍物7位于围绕机器人的安全区之内,则一般通过避撞系统并不能
阻止所有的运动。更确切地说是可以进行分析,看所要进行运动是否增强了
对安全区的触犯,或是否导致减轻对安全区的触犯。在后一种情况下,避撞
系统可以准许以可能降低的速度运动,以能够实现机器人的“自由行进”。
对所要进行的运动是否加强了对保护区的触犯的判定,可以根据对计算所得
的距离的符号观察(Vorzeichenbeabsichtig)和所要进行的运动作出。
在控制装置5确定部位14与障碍物7之间的距离d后,控制装置5针对
当前运动确定地面运输车1允许的最大运动的最大速度,以便使地面运输车
1基于其可能的制动而在障碍物7的前面可靠地停住。