本发明为一种应用于自动化设备的碰撞检测方法,属于“自动控制”领域。
背景技术:
以机器人为代表的自动化设备的自动控制过程离不开状态检测机制。比如机器人从一种运动状态自动转变为另一种运动状态,就需要状态检测机制。
而碰撞检测就是一种状态检测机制,有了碰撞检测,机器人一旦检测到碰撞,就可以从一种运动模态自动转变为另一种运动模态。
技术实现要素:
发明目的:
本发明的目的是设计一种碰撞检测方法。
技术方案:
本发明认为碰撞的瞬间,自动化设备一定会发生震动,因此本发明的技术方案就是利用三轴加速度计捕捉震动。本发明认为震动是一个矢量,震动既有方向又有强度,而三轴加速度计可以灵敏地捕捉震动引起的自身加速度的变化,从而实现震动检测,进而实现碰撞检测。
本发明所述的振动检测方法需要以固定的频率实时采集三轴加速度计的测量数据。在本发明的实施例中,是以400hz的频率采集三轴加速度计的测量数据。
由于加速度计的测量值是存在随机噪声的,本发明假设加速度计的随机噪声是各态历经的,所以接下来需要计算出一段时间内三轴加速度计随机噪声的标准差,以此代表三轴噪声的统计特性。
接下来,就是震动向量的计算方法。首先需要设定一个长度为t的时间滑窗。时间滑窗就是随时间移动的时间窗口,假设当前时刻为t,那么时间滑窗就是一段从t-t时刻开始,到t时刻结束的窗口期,可以看出时间滑窗是随着时间滑动的。由于数字信号系统是以固定的频率采集信号的,因此在t时间内会采集m组加速度计数据,可知这m组加速度计数据是随时间变化的,其中每组加速度计数据包括x轴测量值、y轴测量值、z轴测量值,这三个量,因此对于每一轴而言,时间滑窗内的测量数据都有m个。本发明所述的震动向量是由三轴加速度计测量值的标准差表示的。
进行碰撞检测时首先需要按照实际需求,对震动的强度和方向设定阈值。只有检测到满足阈值要求的震动向量时,才表示有碰撞发生,进而触发自动化设备的模态转换。
本发明优点及有益效果在于:
本发明提出了一种碰撞检测方法,从而使自动化设备能够通过检测震动实现自动转换模态。
附图说明
图1:本发明所述的碰撞检测方法流程图。
图2:三轴加速度计静置时连续测量的1000组三轴加速度数据的图像。
图3:发生碰撞前后三轴加速度计连续测量的1000组三轴加速度数据的图像。
图4:飞行机器人与墙面发生正向碰撞前后三轴加速度计连续测量的1000组三轴加速度数据的图像。
具体实施方式
下面结合附图和实施例,对本发明的技术方案做进一步的说明。
本发明所述的碰撞检测方法是通过检测震动实现的,所以首先需要以固定的频率实时采集三轴加速度计的测量数据,用于检测震动,检测流程如附图1所示。在本发明的实施例中,是以400hz的频率采集三轴加速度计的测量数据。
如附图2所示为三轴加速度计静置时测量的1000组加速度计数据,其横坐标为组数,纵坐标为加速度值(单位:cm/s2)。由于实施例中采集数据的频率是400hz,所以这1000组数据对应的时间长度是2.5秒。
通过附图2不难看出加速度计的测量值是存在随机噪声的,本发明认为加速度计的随机噪声是各态历经的,所以接下来只需要计算出一段时间内三轴加速度计随机噪声的标准差,就能以此代表三轴噪声的统计特性。计算方法是先将三轴加速度计静止放置,随后连续采集n组三轴加速度计数据,计算这n组三轴加速度数据的标准差,其中每组加速度计数据包括x轴测量值、y轴测量值、z轴测量值这三个量,因此对于每一轴而言,测量数据都有n个。三轴随机噪声的标准差的计算公式如下:
公式中,ax(i)为加速度计x轴采集的第i个数据,ay(i)为加速度计y轴采集的第i个数据,az(i)为加速度计z轴采集的第i个数据。从而噪声标准差的向量s=(sx,sy,sz),噪声标准差的向量的模长为||s||。在本发明所述的实施例中,n=100。经计算,实施例中sx、sy、sz均为0.2cm/s2。
接下来,就是震动向量的计算方法。如附图3所示,为三轴加速度计测量的碰撞发生前后的三轴加速度计的1000组测量数据,其横坐标为组数,纵坐标为加速度值(单位:cm/s2)。其中第400至500组为正在碰撞时的三轴加速度测量数据。附图3所示的三轴加速度计测量数据图像表示x轴、y轴、z轴这三个方向都有震动产生。
为了计算震动向量,首先需要设定一个长度为t的时间滑窗。时间滑窗就是随时间移动的时间窗口,假设当前时刻为t,那么时间滑窗就是一段从t-t时刻开始,到t时刻结束的窗口期,可以看出时间滑窗是随着时间滑动的。由于数字信号系统是以固定的频率采集信号的,因此在t时间内会采集m组加速度计数据,可知这m组加速度计数据是随时间变化的,其中每组加速度计数据包括x轴测量值、y轴测量值、z轴测量值这三个量,因此对于每一轴而言,时间滑窗内的测量数据都有m个。本发明所述的震动向量是由三轴加速度计测量值的标准差表示的,因此震动向量的计算公式如下:
公式中,ax(i)为加速度计x轴采集的第i个数据,ay(i)为加速度计y轴采集的第i个数据,az(i)为加速度计z轴采集的第i个数据。从而震动向量v=(vx,vy,vz),震动向量的强度为||v||。在本发明所述的实施例中,设定的时间滑窗长度t=50ms,由于实施例中采样频率为400hz,因此在时间滑窗内会采集m=20组加速度计数据。若||v||≤||s||,则表示没有震动发生;若||v||>||s||,则需要对震动向量进行校正,校正后v=(vx-sx,vy-sy,vz-sz),若vx-sx,vy-sy,vz-sz中任意一项小于0,则令该项等于0。
进行碰撞检测时首先需要按照实际需求,对震动的强度和方向设定阈值。只有检测到满足阈值要求的震动向量时,才表示有碰撞发生,进而触发自动化设备的模态转换。
本发明所述的碰撞检测方法在实施例中是应用于飞行机器人上的。飞行机器人能够实现从空中飞行模式自动转换为墙面爬行模式。其模式的自动转换就是通过碰撞检测实现的,飞行机器人在飞行状态下触碰墙面,在触碰瞬间,本发明所述的碰撞检测算法会检测到碰撞,进而实现飞行机器人从空中飞行模式到墙面爬行模式的自动转换。
在本发明所述实施例中,三轴加速度计安装在飞行机器人上,加速度计的x轴正向为飞行机器人的前方。需要检测飞行机器人对墙面的正向碰撞,因此需要检测震动向量与加速度计x轴的夹角,以及震动的强度。并对检测的夹角和强度设定阈值,当检测到了满足阈值要求的震动向量时,就表示飞行机器人与墙面发生了正向碰撞,进而可以自动触发模态转换。
该夹角的计算方法为:
如附图4所示,为飞行机器人与墙面发生正向碰撞前后三轴加速度计连续测量的1000组三轴加速度数据的图像,其横坐标为组数,纵坐标为加速度值(单位:cm/s2)。其中第400至500组为正在碰撞时的三轴加速度测量数据。可以看出只有x轴方向的测量数据在碰撞发生时会产生明显的波动。但是在实际情况下,飞行机器人与墙面可能不是发生完美的正向碰撞而是有一定的倾斜,或者由于机体的对震动的传导,导致y轴和z轴也会检测到小幅度的震动。因此需要对夹角θ设定一个阈值。
在本发明所述实施例中,对θ设定了一个40度的阈值,对||v||设定了一个0.8cm/s2的阈值,即认为当θ<40度,且||v||>0.8时,就认为震动是从三轴加速度计的x轴正向传来的,这意味着飞行机器人与墙面发生了正向碰撞,因此可以触发模态转换。
虽然本发明所述的实施例是一种飞行机器人,但是本发明所述的碰撞检测方法适用于所用能够在碰撞瞬间产生震动的自动化设备的碰撞检测。