一种碰撞检测方法、系统、电子设备及存储介质

申请号 CN202211334422.3 申请日 2022-10-28 公开(公告)号 CN117970910A 公开(公告)日 2024-05-03
申请人 浙江亚特电器股份有限公司; 发明人 钟健; 吕忠建; 梁海; 张文兵;
摘要 本 申请 公开了一种 碰撞检测 方法、系统、 电子 设备及存储介质,所属的技术领域为无线控制技术。所述碰撞检测方法,应用于包括惯导装置和驱动装置的电子设备,包括:利用所述惯导装置检测所述电子设备的设备 姿态 信息;根据所述设备姿态信息确定行走夹 角 ;获取所述驱动装置的实际驱动 力 ,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。本申请能够在不额外添加碰撞检测装置的 基础 上实现高 精度 的碰撞检测。
权利要求

1.一种碰撞检测方法,其特征在于,应用于包括惯导装置和驱动装置的电子设备,包括:
利用所述惯导装置检测所述电子设备的设备姿态信息;
根据所述设备姿态信息确定行走夹;其中,所述行走夹角为所述电子设备当前所处平面与平面之间的夹角;
获取所述驱动装置的实际驱动,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;
将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
2.根据权利要求1所述碰撞检测方法,其特征在于,获取所述驱动装置的实际驱动力,包括:
检测所述驱动装置的当前电机电流,根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力。
3.根据权利要求2所述碰撞检测方法,其特征在于,在根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力之前,还包括:
控制所述电子设备在水平面上按照固定速度向力检测装置行走;
获取所述电子设备碰撞所述力检测装置过程中所述驱动装置的电机电流变化情况、以及所述力检测装置的受力变化情况;
根据所述电机电流变化情况和所述受力变化情况确定所述电流与驱动力的对应关系。
4.根据权利要求1所述碰撞检测方法,其特征在于,根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力,包括:
对所述目标设备的设备重力进行正交分解,得到平行重力和垂直重力;其中,所述平行重力平行于所述电子设备当前所处平面,所述垂直重力垂直于所述电子设备当前所处平面;
将所述平行重力在所述预设方向上的投影设置为水平分重力;
将所述垂直重力在所述预设方向上的投影设置为垂直分重力;
将所述水平分重力与所述垂直分重力的合力设置为所述重力分力。
5.根据权利要求1所述碰撞检测方法,其特征在于,利用所述惯导装置检测所述电子设备的设备姿态信息,包括:
根据所述电子设备与充电桩的相对角度确定所述电子设备的航向角;
利用所述惯导装置中加速度计和陀螺仪检测所述电子设备的横滚角和俯仰角;
将所述航向角、所述横滚角和所述俯仰角设置为所述电子设备的设备姿态信息。
6.根据权利要求5所述碰撞检测方法,其特征在于,根据所述设备姿态信息确定行走夹角,包括:
根据所述航向角、所述横滚角和所述俯仰角计算所述行走夹角。
7.根据权利要求1所述碰撞检测方法,其特征在于,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件,包括:
判断所述行走驱动力的数值在预设时间段内的变化率是否大于碰撞阈值
若是,则判定所述电子设备发生碰撞事件;
若否,则判定所述电子设备未发生碰撞事件。
8.根据权利要求1至7任一项所述碰撞检测方法,其特征在于,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件,包括:
确定所述电子设备的行走模式;
若所述行走模式为匀速行走模式,则根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件;
若所述行走模式为变速行走模式,则根据电子设备的当前行走加速度数值确定变速驱动力的数值,将所述行走驱动力的数值减去所述变速驱动力的数值得到修正数值,根据所述修正数值检测所述电子设备是否发生碰撞事件。
9.一种碰撞检测系统,其特征在于,应用于包括惯导装置和驱动装置的电子设备,包括:
姿态检测模,用于利用所述惯导装置检测所述电子设备的设备姿态信息;
夹角确定模块,用于根据所述设备姿态信息确定行走夹角;其中,所述行走夹角为所述电子设备当前所处平面与水平面之间的夹角;
分力确定模块,用于获取所述驱动装置的实际驱动力,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;
碰撞检测模块,用于将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
10.一种电子设备,其特征在于,包括惯导装置、驱动装置、存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至8任一项所述碰撞检测方法的步骤。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至8任一项所述碰撞检测方法的步骤。

说明书全文

一种碰撞检测方法、系统、电子设备及存储介质

技术领域

[0001] 本申请涉及无线控制技术领域,特别涉及一种碰撞检测方法、系统、电子设备及存储介质。

背景技术

[0002] 扫地机器人、送餐机器人等设备需要在空间内行走以完成相应的工作任务。为了提高上述设备工作过程中的安全性,通常需要设备具有碰撞检测功能。
[0003] 相关技术中,通常需要在上述设备上添加激光雷达、视觉检测设备、毫米波雷达等高昂的碰撞检测装置。但是上述方案需要改变原有设备的结构来额外添加碰撞检测装置,且碰撞检测设备的检测精度受限于使用环境,在光线较差的环境中极易出现漏检或误检的情况。
[0004] 因此,如何在不额外添加碰撞检测装置的基础上实现高精度的碰撞检测是本领域技术人员目前需要解决的技术问题。发明内容
[0005] 本申请的目的是提供一种碰撞检测方法、系统、电子设备及存储介质,能够在不额外添加碰撞检测装置的基础上实现高精度的碰撞检测。
[0006] 为解决上述技术问题,本申请提供一种碰撞检测方法,应用于包括惯导装置和驱动装置的电子设备,包括:
[0007] 利用所述惯导装置检测所述电子设备的设备姿态信息;
[0008] 根据所述设备姿态信息确定行走夹;其中,所述行走夹角为所述电子设备当前所处平面与平面之间的夹角;
[0009] 获取所述驱动装置的实际驱动,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;
[0010] 将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0011] 可选的,获取所述驱动装置的实际驱动力,包括:
[0012] 检测所述驱动装置的当前电机电流,根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力。
[0013] 可选的,在根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力之前,还包括:
[0014] 控制所述电子设备在水平面上按照固定速度向力检测装置行走;
[0015] 获取所述电子设备碰撞所述力检测装置过程中所述驱动装置的电机电流变化情况、以及所述力检测装置的受力变化情况;
[0016] 根据所述电机电流变化情况和所述受力变化情况确定所述电流与驱动力的对应关系。
[0017] 可选的,根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力,包括:
[0018] 对所述目标设备的设备重力进行正交分解,得到平行重力和垂直重力;其中,所述平行重力平行于所述电子设备当前所处平面,所述垂直重力垂直于所述电子设备当前所处平面;
[0019] 将所述平行重力在所述预设方向上的投影设置为水平分重力;
[0020] 将所述垂直重力在所述预设方向上的投影设置为垂直分重力;
[0021] 将所述水平分重力与所述垂直分重力的合力设置为所述重力分力。
[0022] 可选的,利用所述惯导装置检测所述电子设备的设备姿态信息,包括:
[0023] 根据所述电子设备与充电桩的相对角度确定所述电子设备的航向角;
[0024] 利用所述惯导装置中加速度计和陀螺仪检测所述电子设备的横滚角和俯仰角;
[0025] 将所述航向角、所述横滚角和所述俯仰角设置为所述电子设备的设备姿态信息。
[0026] 可选的,根据所述设备姿态信息确定行走夹角,包括:
[0027] 根据所述航向角、所述横滚角和所述俯仰角计算所述行走夹角。
[0028] 可选的,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件,包括:
[0029] 判断所述行走驱动力的数值在预设时间段内的变化率是否大于碰撞阈值
[0030] 若是,则判定所述电子设备发生碰撞事件;
[0031] 若否,则判定所述电子设备未发生碰撞事件。
[0032] 可选的,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件,包括:
[0033] 确定所述电子设备的行走模式;
[0034] 若所述行走模式为匀速行走模式,则根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件;
[0035] 若所述行走模式为变速行走模式,则根据电子设备的当前行走加速度数值确定变速驱动力的数值,将所述行走驱动力的数值减去所述变速驱动力的数值得到修正数值,根据所述修正数值检测所述电子设备是否发生碰撞事件。
[0036] 本申请还提供了一种碰撞检测系统,应用于包括惯导装置和驱动装置的电子设备,包括:
[0037] 姿态检测模,用于利用所述惯导装置检测所述电子设备的设备姿态信息;
[0038] 夹角确定模块,用于根据所述设备姿态信息确定行走夹角;其中,所述行走夹角为所述电子设备当前所处平面与水平面之间的夹角;
[0039] 分力确定模块,用于获取所述驱动装置的实际驱动力,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;
[0040] 碰撞检测模块,用于将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0041] 本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述碰撞检测方法执行的步骤。
[0042] 本申请还提供了一种电子设备,包括惯导装置、驱动装置、存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述碰撞检测方法执行的步骤。
[0043] 本申请提供了一种碰撞检测方法,应用于包括惯导装置和驱动装置的电子设备,包括:利用所述惯导装置检测所述电子设备的设备姿态信息;根据所述设备姿态信息确定行走夹角;其中,所述行走夹角为所述电子设备当前所处平面与水平面之间的夹角;获取所述驱动装置的实际驱动力,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0044] 本申请利用惯导装置检测电子设备的设备姿态信息,进而根据设备姿态信息确定电子设备当前所处平面与水平面之间的行走夹角。在电子设备行走过程中,电子设备受到驱动装置的实际驱动力、设备重力和路面阻力共同作用,并且使电子设备在实际驱动力所在方向上行走。本申请根据行走夹角确定所述目标设备的设备重力在预设方向上的重力分力,该预设方向与实际驱动力所在方向相同或相反,因此通过合成实际驱动力与重力分力得到的行走驱动力为电子设备实际用于克服的路面阻力的驱动力。碰撞事件会导致电子设备受到的路面阻力增大,故路面阻力能够描述电子设备与障碍物的碰撞情况,进而可以根据行走驱动力的数值检测所述电子设备是否发生碰撞事件。上述碰撞检测方案无需为包括惯导装置和驱动装置的电子设备额外添加碰撞检测装置,且上述碰撞检测方案不受环境光线的影响,因此本申请能够在不额外添加碰撞检测装置的基础上实现高精度的碰撞检测。本申请同时还提供了一种碰撞检测系统、一种存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
[0045] 为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046] 图1为本申请实施例所提供的一种碰撞检测方法的流程图
[0047] 图2为本申请实施例所提供的一种卡尔曼滤波流程图;
[0048] 图3为本申请实施例所提供的一种互补滤波流程图;
[0049] 图4为本申请实施例所提供的一种机器人水平校准示意图;
[0050] 图5为本申请实施例所提供的一种机器人在坡面上沿第一方向运动的示意图;
[0051] 图6为本申请实施例所提供的一种机器人在坡面上沿第二方向运动的示意图;
[0052] 图7为本申请实施例所提供的一种碰撞检测系统的结构示意图。

具体实施方式

[0053] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0054] 下面请参见图1,图1为本申请实施例所提供的一种碰撞检测方法的流程图。
[0055] 具体步骤可以包括:
[0056] S101:利用所述惯导装置检测所述电子设备的设备姿态信息;
[0057] 其中,本实施例可以应用于扫地机器人、送餐机器人等包括惯导装置和驱动装置的电子设备,上述惯导装置可以包括加速度计和陀螺仪(角动量检测装置或三轴陀螺仪),上述驱动装置为驱动电子设备行走的装置。惯导装置可以计算出机器人坐标系与导航坐标系之间的关系。陀螺仪能够对x轴、y轴和z轴三个轴进行检测,x轴、y轴和z轴中任意两轴之间方向垂直。三轴测量灵敏度为(125‑2000)度/sec。加速度计是测量运载体线加速度的仪表,加速度计的测量范围为(±3g~±24g),加速度计为三轴加速度计,三轴为xa轴,ya轴,za轴,两两之间方向垂直。
[0058] 本步骤可以获取惯导装置的测量值,根据上述测量值确定电子设备的设备姿态信息,上述设备姿态信息中可以包括电子设备当前的姿态角,姿态角包括航向角、横滚角和俯仰角。姿态角融合了陀螺仪和加速度计的数据,姿态角换算需要用到卡尔曼滤波和互补滤波。
[0059] S102:根据所述设备姿态信息确定行走夹角;
[0060] 在得到电子设备的设备姿态信息后可以确定电子设备行走夹角,上述行走夹角为所述电子设备当前所处平面与水平面之间的夹角。
[0061] S103:获取所述驱动装置的实际驱动力,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;
[0062] 其中,电子设备在行走过程中受到的力包括驱动装置的实际驱动力、电子设备自身的设备重力、路面阻力、路面支撑力,上述驱动装置的实际驱动力为驱动装置总体输出的力。对于设备重力,可以将设备重力分解为垂直于述电子设备当前所处平面的力以及在预设方向上的重力分力。当目标设备上坡时,预设方向与所述实际驱动力所在方向相反;当目标设备下坡时,预设方向与所述实际驱动力所在方向相同。垂直于述电子设备当前所处平面的力与路面支撑力大小相等方向相反。
[0063] 具体的,驱动装置的实际驱动力用于克服路面阻力,当目标设备上坡时驱动装置的实际驱动力用于克服重力分力和路面阻力,当目标设备下坡时驱动装置的实际驱动力和重力分力共同用于克服路面阻力。
[0064] S104:将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0065] 其中,如上文所述实际驱动力与重力分力的方向相同或相反,实际驱动力与重力分力的合力为行走驱动力,行走驱动力用于克服路面阻力,即行走驱动力能够驱动电子设备行走。电子设备行走过程中,通常按照设定的固定速度或速度变化曲线行走,故电子设备的行走驱动力需要与路面阻力需要保持固定速度或速度变化曲线对应的差值,因此若发生碰撞事件会使电子设备受到的路面阻力会突然增大,行走驱动力的变化能够描述电子设备与障碍物的碰撞情况,进而可以根据行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0066] 具体的,本实施例可以判断所述行走驱动力的数值在预设时间段内的变化率是否大于碰撞阈值;若是,则判定所述电子设备发生碰撞事件;若否,则判定所述电子设备未发生碰撞事件。
[0067] 进一步的,驱动装置的当前电机电流大小与行走驱动力的数值相关,因此上述设置行走驱动力并根据行走驱动力的数值检测所述电子设备是否发生碰撞事件的过程包括:根据重力分力的大小设置电流阈值,若驱动装置的当前电机电流大于电流阈值,则判定存在碰撞事件;若驱动装置的当前电机电流小于或等于电流阈值,则判定不存在碰撞事件。若重力分力与实际驱动力方向相同,则电流阈值与重力分力的大小负相关;若重力分力与实际驱动力方向相反,则电流阈值与重力分力的大小正相关。
[0068] 本实施例利用惯导装置检测电子设备的设备姿态信息,进而根据设备姿态信息确定电子设备当前所处平面与水平面之间的行走夹角。在电子设备行走过程中,电子设备受到驱动装置的实际驱动力、设备重力和路面阻力共同作用,并且使电子设备在实际驱动力所在方向上行走。本实施例根据行走夹角确定所述目标设备的设备重力在预设方向上的重力分力,该预设方向与实际驱动力所在方向相同或相反,因此通过合成实际驱动力与重力分力得到的行走驱动力为电子设备实际用于克服的路面阻力的驱动力。碰撞事件会导致电子设备受到的路面阻力增大,故路面阻力能够描述电子设备与障碍物的碰撞情况,进而可以根据行走驱动力的数值检测所述电子设备是否发生碰撞事件。上述碰撞检测方案无需为包括惯导装置和驱动装置的电子设备额外添加碰撞检测装置,且上述碰撞检测方案不受环境光线的影响,因此本实施例能够在不额外添加碰撞检测装置的基础上实现高精度的碰撞检测。
[0069] 作为一种可行的实施方式,上述实施例中的驱动装置可以包括电机(直流无刷电机、交流电机等),电机电流与驱动装置输出的驱动力正相关,因此本实施例可以检测所述驱动装置的当前电机电流,根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力。
[0070] 进一步的,在根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力之前,还可以通过测试获取电流与驱动力的对应关系,具体过程包括:控制所述电子设备在水平面上按照固定速度向力检测装置行走;获取所述电子设备碰撞所述力检测装置过程中所述驱动装置的电机电流变化情况、以及所述力检测装置的受力变化情况;根据所述电机电流变化情况和所述受力变化情况确定所述电流与驱动力的对应关系。在上述测试过程中,电子设备在水平面上行走,设备重力不会阻碍电子设备行走;由于电子设备在水平面上按照固定速度向力检测装置行走,因此力检测装置的受力变化情况只与驱动装置的实际驱动力相关,由于电机电流与实际驱动力相关,进而可以根据电机电流变化情况和受力变化情况确定电流与驱动力的对应关系。
[0071] 作为对于图1对应实施例的进一步介绍,可以通过以下方式获取目标设备的设备重力在预设方向上的重力分力:对所述目标设备的设备重力进行正交分解,得到平行重力和垂直重力;其中,所述平行重力平行于所述电子设备当前所处平面,所述垂直重力垂直于所述电子设备当前所处平面;将所述平行重力在所述预设方向上的投影设置为水平分重力;将所述垂直重力在所述预设方向上的投影设置为垂直分重力;将所述水平分重力与所述垂直分重力的合力设置为所述重力分力。
[0072] 上述设置重力分力的方式可以至少应用于以下场景:
[0073] 场景1:若电子设备当前所处平面平行于水平面,水平重力、水平分重力和垂直分重力均为0,重力分力的值等于设备重力的值。
[0074] 作为一种可行的实施方式,若检测到行走夹角为0,可以所述驱动装置的实际驱动力设置为行走驱动力,以便计算根据行走驱动力的数值检测所述电子设备是否发生碰撞事件。作为另一种可行的实施方式,若检测到行走夹角为0,可以直接根据实际驱动力的数值检测所述电子设备是否发生碰撞事件。
[0075] 场景2:若电子设备当前所处平面不平行于水平面,且电子设备的行走方向与坡度变化方向平行,则将设备重力正交分解得到的平行重力和垂直重力均不为0,水平分重力与平行重力的值相同,垂直分重力的值为0,即重力分力的值等于平行重力(或水平分重力)的值。
[0076] 作为一种可行的实施方式,若电子设备当前所处平面不平行于水平面,且电子设备的行走方向与坡度变化方向平行,则可以将设备重力正交分解为平行重力和垂直重力,将平行重力设置为重力分力。
[0077] 场景3:若电子设备当前所处平面不平行于水平面,且电子设备的行走方向与坡度变化方向不平行,则将设备重力正交分解得到的平行重力和垂直重力均不为0,将平行重力在所述预设方向上投影得到的水平分重力不为0,将所述垂直重力在所述预设方向上投影得到的垂直分重力不为0,将水平分重力与垂直分重力的合力即设备重力在预设方向上的重力分力。
[0078] 作为对于图1对应实施例的进一步介绍,可以通过以下方式检测电子设备的设备姿态信息:根据所述电子设备与充电桩的相对角度确定所述电子设备的航向角;利用所述惯导装置中加速度计和陀螺仪检测所述电子设备的横滚角和俯仰角;将所述航向角、所述横滚角和所述俯仰角设置为所述电子设备的设备姿态信息。相应的,上述实施例可以根据所述航向角、所述横滚角和所述俯仰角计算所述行走夹角。
[0079] 作为对于图1对应实施例的进一步介绍,电子设备的行走模式可以为匀速行走模式或变速行走模式,在匀速行走模式下电子设备按照固定速度行走,在变速行走模式下电子设备加速行走或减速行走。相应的,电子设备可以按照以下方式检测电子设备是否发生碰撞事件:确定所述电子设备的行走模式;若所述行走模式为匀速行走模式,则根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件;若所述行走模式为变速行走模式,则根据电子设备的当前行走加速度数值确定变速驱动力的数值,将所述行走驱动力的数值减去所述变速驱动力的数值得到修正数值,根据所述修正数值检测所述电子设备是否发生碰撞事件。
[0080] 具体的,本实施例可以判断所述修正数值在预设时间段内的变化率是否大于碰撞阈值;若是,则判定所述电子设备发生碰撞事件;若否,则判定所述电子设备未发生碰撞事件。
[0081] 请参见图2,图2为本申请实施例所提供的一种卡尔曼滤波流程图,具体过程包括:建立卡尔曼滤波模型,设定滤波参数,根据T‑1时刻的状态预测第T时刻的状态X(T|T‑1);根据t‑1时刻的系统误差第t时刻的系统误差P(t|t‑1),估算卡尔曼增益Tg;求出系统最优估算值X(T|T),求出系统当前时刻预测误差P(T|t)。
[0082] 请参见图3,图3为本申请实施例所提供的一种互补滤波流程图,具体过程包括:陀螺仪对输入的角速度求积分后换算得航向角∫y(g,t),根据加速度计的输入y(a,t)取重力方向加速度并计算姿态误差角速度;进行静止判断,若静止则直接进行补偿,若不静止则进‑1行PI调节控制,得到补偿后的角速度Y(g,t),进而得到修正后的航向角Z 。
[0083] 下面通过在实际应用中利用惯导实现调整机器人碰撞检测的方案说明上述实施例描述的流程。
[0084] 目前市场上的机器人通常使用各种额外的传感器检测前进方向上的障碍物,上述传感器可以包括视觉识别装置、激光雷达、超声雷达、毫米波雷达、红外检测装置、碰撞开关等。上述额外的传感器都具有较为复杂的系统,且需要额外的材料成本;例如,激光雷达的成本远远超出了本身机器人的售价,就很难在市场上形成强有力的竞争;相对廉价的超声雷达,其声波则很容易受环境的干扰,在使用上容易受限;其它如碰撞开关其结构的可靠性及设计复杂,而且容易实现误检或漏检的情况。针对上述相关技术中存在的缺陷,本方案提供了一种惯导动态调整机器人碰撞检测的方案,动态调整是指机器人根据所处平面计算来动态判断障碍物撞击力,本方案利用惯导装置辅助检测障碍物,由于机器人本身运动控制就需要惯导装置(即,包含陀螺仪和加速度计的惯性导航系统),所以本实施例是利用了惯导参数辅助检测障碍物,故不需要增加额外的成本,其次本实施例还将电流检测作为机器人运动控制的驱动部件的一部分,可以被重复充分利用。
[0085] 在机器人的工作环境中,机器人在竖直方向上存在重力加速度,惯导装置的加速2
度计在za轴上读到一个9.8m/s 的加速度值。当机器人静止时,仅在za轴上存在重力加速度,zx轴与zy轴的加速度值均为0。当且仅当静止时,惯导装置的陀螺仪的角速度的各个测量值也均为0。
[0086] 在检测碰撞事件之前,可以控制机器人需要在充电桩附件原地转一圈,以使机器人确定自身相对于充电桩的角度分量(即相对角度)。当机器人运动过程中,角度分量会实时变换。
[0087] 由于机器人运动过程难免有震动现象,震动会导致测量得到的航向角、横滚角和俯仰角发生漂移且数据会有抖动。为了提高航向角、横滚角和俯仰角的精度,可以使用卡尔曼滤波器对航向角测量值、横滚角测量值和俯仰角测量值进行预先判断,使用互补滤波器对航向角测量值、横滚角测量值和俯仰角测量值进行防抖动处理,本实施例可以将经过卡尔曼滤波器和互补滤波器处理得到的航向角、横滚角和俯仰角作为设备姿态信息。
[0088] 本实施例可以将机器人确定自身与充电桩的相对角度与惯导装置(包括陀螺仪和加速度计)采集的数据进行融合得到机器的自身姿态,即设备姿态信息(包括经过卡尔曼滤波器和互补滤波器处理得到的横滚角、俯仰角、航向角)。基于上述设备姿态信息可以建立起机器人的姿态坐标,姿态坐标再结合驱动装置的电机电流换算得到的实际力的大小,即可以换算出各个角度的下重力的重力分力以及机器人的实际驱动力,此实际驱动力是用于机器人前进方向障碍物的重要依据。重力分力与实际驱动力做差值换算,即可得到实际驱动方向上对应障碍物阻力的大小。重力分力随机器人姿态角度动态变化,但当机器人的角度姿态不变则重力分力不变。
[0089] 请参见图4,图4为本申请实施例所提供的一种机器人水平校准示意图,图4中1表示机器人本体,2表示阻挡墙,3表示推拉力计,11表示主板(主板包含惯导装置)。如图4所示,机器人平地上行走时,驱动力与驱动电流的水平校准过程如下:机器人进入校准模式,实时输出驱动电流信息,同时机器往前匀速运动。机器人水平方向顶推拉力计时,记录下推拉力计的推力(即水平方向的驱动力f1)。把推拉力计的推力与电机驱动电流的大小进行换算得到比例关系,将该比例关系作为电流与驱动力的对应关系。上述比例关系不限于一次方程线性关系及几多线段多次方程关系。在上述过程中,由于机器人在水平面运动,可以忽略重力产生的影响,得到电流与驱动力的对应关系以驱动力校准完成。
[0090] 请参见图5,图5为本申请实施例所提供的一种机器人在坡面上沿第一方向运动的示意图,上述第一方向为坡度变化方向(即行走方向垂直于坡面与水平面的交线)。如图5所示,机器人根据电流与驱动力的对应关系可以确定实际驱动力F。由于机器人在坡面上坡面运动,通过姿态角换算可计算出机器人与水平面的夹角α。假设机器人前进方向为航向90度,此航向产生的驱动力换算需要减去设备重力G的重力分力F’。利用三角函数可以计算出重力分力F’,F’=G*COS(α)。实际驱动力F与重力分力F’做减法运算,可以得到用于检测碰撞事件的行走驱动力f2。
[0091] 请参见图6,图6为本申请实施例所提供的一种机器人在坡面上沿第二方向运动的示意图,上述第二方向不为坡度变化方向(即行走方向不垂直于坡面与水平面的交线)。如图6所示,机器人根据电流与驱动力的对应关系可以确定实际驱动力F,由于机器人在坡面上坡面运动,通过姿态角换算可计算出机器与水平面的夹角α。假设机器前进方向为航向0‑90度之间,此航向产生的驱动力换算需要减去重力的分量F1和F2。F1与F2的分量分别为与投影到水平面的夹角β和σ的分量。利用三角函数计算出重力分力F’,计算公式如下:F’=G*COS(α)*sin(β)+G*COS(α)*sin(σ)。进一步的,可以将实际驱动力F与重力分力F’做减法运算,得到前向方向的障碍物判断的驱动力f3。
[0092] 当得到上述重力分力后,取得的重力分力作为被减量长期存在,在减法运输中被删减,还需动态的调整阈值,机器人在匀速运动时,驱动力在较短单位时间内不会突变,如果突变则认为前方有障碍物,或者地面不平整陷入泥坑等少数受限情况,利用这个特点对于驱动力阈值线可以实时刷新,获取一段时间内的平均驱动力的大小。上述驱动力阈值线的大小可以随地面阻力的不同实时更新以便动态变化。
[0093] 上述实施例可以让机器人无论在平地行走,还是在坡上正向行走还沿斜面运动,都能动态计算出合适的碰撞力阈值。其工作原理是通过采样到惯导内部的陀螺仪和加速度计参数,通过互补滤波和卡尔曼滤波,稳定计算出机器人自身的姿态,再利用机器人的姿态结合自身重力,换算得到方向向量上的力,最终得到动态调整后的碰撞力阈值,最后把阈值换算成电流,结合电机测得的实际电流(电流阈值采样方式不限于利用驱动电流的平均值。),即可完成一次障碍物碰撞检测。上述实施例不是依靠固定阈值就去判断是否存在碰撞事件,而是需要结合机器人自身的角度姿态去掉克服自身重力引起的电流增加来判断前进方向上的碰撞事件。
[0094] 请参见图7,图7为本申请实施例所提供的一种碰撞检测系统的结构示意图,该系统应用于包括惯导装置和驱动装置的电子设备,包括:
[0095] 姿态检测模块701,用于利用所述惯导装置检测所述电子设备的设备姿态信息;
[0096] 夹角确定模块702,用于根据所述设备姿态信息确定行走夹角;其中,所述行走夹角为所述电子设备当前所处平面与水平面之间的夹角;
[0097] 分力确定模块703,用于获取所述驱动装置的实际驱动力,并根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力;其中,所述预设方向与所述实际驱动力所在方向相同或相反;
[0098] 碰撞检测模块704,用于将所述实际驱动力与所述重力分力的合力设置为行走驱动力,根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件。
[0099] 本实施例利用惯导装置检测电子设备的设备姿态信息,进而根据设备姿态信息确定电子设备当前所处平面与水平面之间的行走夹角。在电子设备行走过程中,电子设备受到驱动装置的实际驱动力、设备重力和路面阻力共同作用,并且使电子设备在实际驱动力所在方向上行走。本实施例根据行走夹角确定所述目标设备的设备重力在预设方向上的重力分力,该预设方向与实际驱动力所在方向相同或相反,因此通过合成实际驱动力与重力分力得到的行走驱动力为电子设备实际用于克服的路面阻力的驱动力。碰撞事件会导致电子设备受到的路面阻力增大,故路面阻力能够描述电子设备与障碍物的碰撞情况,进而可以根据行走驱动力的数值检测所述电子设备是否发生碰撞事件。上述碰撞检测方案无需为包括惯导装置和驱动装置的电子设备额外添加碰撞检测装置,且上述碰撞检测方案不受环境光线的影响,因此本实施例能够在不额外添加碰撞检测装置的基础上实现高精度的碰撞检测。
[0100] 进一步的,分力确定模块703获取所述驱动装置的实际驱动力的过程包括:检测所述驱动装置的当前电机电流,根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力。
[0101] 进一步的,还包括:
[0102] 测试模块,用于在根据电流与驱动力的对应关系确定所述当前电机电流对应的实际驱动力之前,控制所述电子设备在水平面上按照固定速度向力检测装置行走;还用于获取所述电子设备碰撞所述力检测装置过程中所述驱动装置的电机电流变化情况、以及所述力检测装置的受力变化情况;还用于根据所述电机电流变化情况和所述受力变化情况确定所述电流与驱动力的对应关系。
[0103] 进一步的,分力确定模块703根据所述行走夹角确定所述目标设备的设备重力在预设方向上的重力分力的过程包括:对所述目标设备的设备重力进行正交分解,得到平行重力和垂直重力;其中,所述平行重力平行于所述电子设备当前所处平面,所述垂直重力垂直于所述电子设备当前所处平面;将所述平行重力在所述预设方向上的投影设置为水平分重力;将所述垂直重力在所述预设方向上的投影设置为垂直分重力;将所述水平分重力与所述垂直分重力的合力设置为所述重力分力。
[0104] 进一步的,姿态检测模块701利用所述惯导装置检测所述电子设备的设备姿态信息的过程包括:根据所述电子设备与充电桩的相对角度确定所述电子设备的航向角;利用所述惯导装置中加速度计和陀螺仪检测所述电子设备的横滚角和俯仰角;将所述航向角、所述横滚角和所述俯仰角设置为所述电子设备的设备姿态信息。
[0105] 进一步的,夹角确定模块702根据所述设备姿态信息确定行走夹角的过程包括:根据所述航向角、所述横滚角和所述俯仰角计算所述行走夹角。
[0106] 进一步的,碰撞检测模块704根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件的过程包括:判断所述行走驱动力的数值在预设时间段内的变化率是否大于碰撞阈值;若是,则判定所述电子设备发生碰撞事件;若否,则判定所述电子设备未发生碰撞事件。
[0107] 进一步的,碰撞检测模块704根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件的过程包括:确定所述电子设备的行走模式;若所述行走模式为匀速行走模式,则根据所述行走驱动力的数值检测所述电子设备是否发生碰撞事件;若所述行走模式为变速行走模式,则根据电子设备的当前行走加速度数值确定变速驱动力的数值,将所述行走驱动力的数值减去所述变速驱动力的数值得到修正数值,根据所述修正数值检测所述电子设备是否发生碰撞事件。
[0108] 由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0109] 本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0110] 本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
[0111] 说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
[0112] 还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
QQ群二维码
意见反馈