一种新的基于激光距离传感器测量脚部位置与方向的方法
基于通常运用于机器人上的激光距离传感器,提出了一种新颖的测量脚部位置与方向的方法;利用激光距离传感器测量脚部位置与方向的,可以运用于机器人对人类行动的跟踪、人类行为的研究或是人机互动等方面;首先提出了一种简单的脚部模型,用于定义脚的位置与方向;再根据脚步与传感器之间相对位置的不同,将检测到的脚部分为三类——准确型,欠准确型和临界型,分别用不同方法计算脚的位置与方向;通过在三种距离下的实验,验证了本方法能够较为准确地测量出脚部的位置和方向,最大的平均位置误差不超过35 mm,最大的平均角度误差小于15。
0 引言
扫描式距离传感器能够通过声波、激光等手段检测传感器周围扫描范围内障碍物的位置和距离,常常被运用于机器人研究领域,如机器人的环境识别与自律行走,物体跟踪等等方面。而利用这种传感器对人脚部的识别也常常可以用于机器人对人类行动的跟踪、人类行为的研究或是通过人类脚部的动作进行人机的互动 。但是由于该传感器常常受到测量精度,测量距离范围,测量平面的高度的限制,对于脚部的识别往往只停留在只计算脚部位置,没有对脚部方向进行计算。脚部方向识别,可以在人走行跟踪时对走行方向进行预测,或者在人机互动是增强互动的多样性。本文研究的就是在近距离下(≤ 2 m)扫描式距离传感器对于人脚部的识别和对位置与方向的计算。
1 扫描式距离传感器
在本文介绍的系统中采用的扫描式距离传感器是日本北阳电机公司生产的激光测域传感器URG—O4LX—UG01(以下简称URG)。URG可以直接通过USB数据线和电脑相连,然后编程通过RS232c协议进行通信,便可直接获取数据。URG的测距范围达到了240。,在实际应用中,只测量其正前方的180。范围内的数据。每100 mS,计算机就通过传感器得到180。范围内的容量为512的距离数据组。在运用本文所介绍的方法时,我们将URG上下颠倒固定于离地2 cm高的位置,使URG的扫描平面能够测量整个脚部。
2 脚部模型的建立
由于URG的误差在土30 mrn以上,为了更准确地测量出脚的位置和方向,首先需要建立一个在传感器URG扫描平面上脚的模型。我们所建立的脚部模型,前后两个半径相同的半圆分别代表脚尖部分和脚后跟部 分, 中间部分是一个宽度等同于半圆直径的矩形 。 连接前后两个半圆圆心的向址即表示为脚部的方向。 巾千这种模型不分脚 尖和脚后跟部分, 所以具体运用时只能通过双脚位置来判断人行走的方向, 进而判断脚的方向。
3 脚部识别算法
3.I 脚部数据提取
首先, 系统盓要从每次扫描获得的512个数据中提取出可 能的屈于脚部信息的数据点, 剔除那些其他的非脚部的物体。 本系统分两个步骤实现这个功能: 首先找到所有的独立物体, 然后再找到可能是脚部的物体。在本方法中, 系统从左到右逐一计算来自传感器的距离数 组r (i) 。 如果相邻两个数据r (i) 和r Ci+])之间的差值超 过150 mm, 就考虑是检测到一个新物体。 这样就可以首先得 到一组物体。 然后, 根据物体在传感器上的投影宽度确定是否将具认定为脚。检测到的第k物体在传感器上的投影宽度w (k)计算, 具中111和m, 分别为该物体的一个数据指数和砐后一个数据指数。
3.2 脚部位置情况讨论
对于URG和脚部的相对位姓不同, 一般可分为三种情况:(1)URG可以同时扫描到脚部模型中的半圆部分和矩形的一边;(2)URG只能扫描到脚部模型的半圆部分;(3)在双脚时, 离URG较近的一只脚遮挡了较远的一只脚, 使较远的一只脚只有部分能被扫描到。由于悄况3比较复杂, 对千被遮住的较远的一只脚难千计符, 所以本文只讨论能够脚部能够被完整扫描到的情况1和 2。 根据第五注实验部分的数据分析可以发现, 对千情况1, 由千脚部模型直线部分的存在, 可以更为准确地确定脚部的位 置和方向。 而对于情况2,由于真实脚的脚尖部分和脚后跟部 分的形状是多样的, 仅仅依靠这部分的数据是很难有一个比较准确的计符。所以我们定义情况a下检测到的脚部数组类型为准确类型,情况b2在欠准确类型中,在本系统中只采用了一种 比较简单的方法近似地计外脚部的位笠和方向。 其中凡是脚 部数据中最靠近传感器中心的一个。 凡是第一个和最后一个 脚部数据点中离URG传感器较远的一端的点。
3.4 准确类型脚部的计算
在准确类型的脚部计算中,最为关键的是直线的拟合。点(z , ),(z +1, +1),⋯ ,(z , ) 是用于计算 数目的点,并且 >2。这一系列点通过最小二乘法可以拟合出一条直线,可以被近似地认为是脚部模型中矩形的边长位置。再通过计算所得的直线确定脚部的位置。
3.5 临界类型脚部的计算
计算的 一1或2时,可以视为介于准确类型和欠准确类型之间的临界情况。在这种情况下,直线OP被近似地认为和脚部模型中矩形的一组边平行。这样该模型的方向直线z的方程的系数可以认为是Y +一z Y=0。然后接下去的计算方法与3.4小节中的第(2)步开始相同, 即可以得到此时脚部模型的位置。
4 实验和数据分析
根据上一章所诉的方法,我们在电脑中用c+ +语言编写了该算法的程序和测试系统进行实验用以验证该方法在检测脚部位置和方向时的可行性。
4.1 实验内容
根据文献,URG对于白色物体的测量精度更高,所以我们选择白色球鞋来进行测试。实验前,我们测量测试者所穿鞋子的脚部模型中的w 和L。其中L一296 mm,W —i00 mm,传感器放置在离地约2 em的高度。实验中,我们通过一个投影仪,将确定了w 和L参数的脚部模型投影到URG的扫描范围中的地方上。先固定图中圆心 的位置, 将投影屏幕中的角度a从15。~165。变化13个角度,每一个角度时,测试者将自己的脚去踩这个投影的脚印,并且调整自己脚的位置和方向。当他认为他的脚已经和投影脚印最大程度吻合时,他通过按下电脑按键,记录下此时系统检测到的脚部的位置和方向,每个角度需要他踩和记录2O次。10次为正向,即将脚后跟C ,踩在C的位置,脚尖CH踩在C,的位置,另外10次则相反,脚跟Cbs踩在C,的位置,脚尖Cu踩在C 的位置。这样,在此固定的G 位置下共得到数据260组。然后改变G和URG中心的距离两次, 即在近、中、远3个距离中都进行测试,所以一共能得到测试数据780组。我们将分析3个距离、13个方向中投影脚印和系统测得的测试者的脚部的位置差(正向时为IG II,反向时为l c仃l1),角度差(a -a)
4.2 实验结果和分析
在正向实验中,3个不同距离下所有13个角度10组数据最大的平均位置误差不超过40 mm,最大的平均角度误差小于1O。在反向实验中, 也有类似相同的结果。 3个不同距离下所 有13个角度10组数据最大的平均位置误差同样不超过 35 mm, 最大的平均角度误差小于15。总体来说, 无论从正向还是反向的检测试验, 本文所述的 方法都能将位控的平均误差控制在40 mm以下, 角度平均误 差控制在15 °以下。 考虑到所用的激光距离传感器的误差约有 距离的土3%, 本文所述的方法在测符人脚部位笠和角度中还 是有不错的表现的, 能够运用于对识别误差要求不太高的场合。
5 结论
本文论述了一种使用北阳电机公司生产的激光距离传感器URG-04LX- UGOl在近距离下测拭已知参数的脚部位置与 方向的方法。 首先我们提出了一种简单的由两个半圆和一个矩形构成的脚部模型。 接着提出了一种提取传感器扫描范围内的脚部数据的方法。 然后根据脚部和激光传感器间相对位置的不同, 将脚部测社悄况分为三种: 准确类型、 欠准确类型和临界 类型, 并且根据三种情况分别计算脚部的位置和方向。 通过实验, 在三种距离下得到的位置平均误差小千40 mm, 方向平均 误差小于15°。在未来的研究中, 我们希望本文提出的利用激光距离传感器检测脚部信息的方法能够进一步得到改进, 提高效率和精度, 能够更好地运用于机器人领域的人类行动识别和跟踪,人机互动等领域。