CN107443430B - 智能机器人碰撞障碍物的检测方法及建图方法 - Google Patents
智能机器人碰撞障碍物的检测方法及建图方法 Download PDFInfo
- Publication number
- CN107443430B CN107443430B CN201710819192.2A CN201710819192A CN107443430B CN 107443430 B CN107443430 B CN 107443430B CN 201710819192 A CN201710819192 A CN 201710819192A CN 107443430 B CN107443430 B CN 107443430B
- Authority
- CN
- China
- Prior art keywords
- robot
- driving
- driving current
- current
- value
- 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.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明涉及一种智能机器人碰撞障碍物的检测方法及建图方法,通过利用机器人现有的驱动轮上的里程计、机体内的陀螺仪和处理器,来检测并计算得出机器人的角速度变化误差率,并通过该角速度变化误差率判断机器人是否打滑,然后在机器人打滑的基础上,通过判断驱动轮所产生的电流方差是否大于或等于设定值,来确定机器人是否碰撞到了障碍物。这种机器人碰撞障碍物的检测方法和基于该方法检测的结果进行地图的构建,成本相对较低,且不受这些专用传感器的质量或结构设计等方面的影响,从而简化了机器人的结构,降低了生产加工难度,提高了机器人的使用寿命和品质。
Description
技术领域
本发明涉及机器人领域,具体涉及一种智能机器人碰撞障碍物的检测方法及建图方法。
背景技术
目前智能扫地机器人建图过程,最基本都需要识别障碍物(包括墙壁)、悬崖, 有时还需要识别危险区域。对于障碍物(包括墙壁)通常可以通过硬件的碰撞装置,或者红外,或者超声波,或者激光等等的传感器来进行检测。其中,采用红外、超声波或者激等传感器进行检测,成本较高,而采用碰撞检测装置进行检测,又会有如下问题:1、使用时间久后,容易老化,老化后就无法检测了,会导致错乱;2、模具上需要为这些装置进行巧妙的设计才能达到非常好的效果,同时会为生产带来不方便等等问题;3、因为材料或者模具设计的原因,会带来制造成本、维护成本的增加。
发明内容
为解决上述问题,本发明提供了一种智能机器人碰撞障碍物的检测方法及建图方法,不需要额外装配专用于检测障碍物的传感器,成本相对较低,且不受这些专用传感器的质量或结构设计等方面的影响。本发明的具体技术方案如下:
一种智能机器人碰撞障碍物的检测方法,包括如下步骤:
基于机器人所产生的角速度变化误差率来判断机器人是否打滑;
如果机器人打滑,则确定机器人的驱动轮所产生的电流方差,判断所述电流方差是否大于或等于设定值;
如果是,则确定机器人碰撞到障碍物;
如果否,则确定机器人没有碰撞到障碍物。
进一步地,所述基于机器人所产生的角速度变化误差率来判断机器人是否打滑,包括如下步骤:
计算预设时间内两个驱动轮所产生的第一角度变化率;
计算陀螺仪在相同的所述预设时间内所产生的第二角度变化率;
确定所述第一角度变化率与所述第二角度变化率的差值为第一差值;
确定所述第一角度变化率的最大误差值;
确定角速度变化误差率为所述第一差值与所述最大误差值的比值;
判断所述角速度变化误差率是否大于或者等于预设值;
如果是,则确定机器人打滑;
如果否,则确定机器人没有打滑。
进一步地,所述计算预设时间内两个驱动轮所产生的第一角度变化率,包括如下步骤:
计算所述两个驱动轮在所述预设时间内的行进距离差值;
确定所述两个驱动轮之间的宽度;
确定所述两个驱动轮在所述预设时间内的行进角度值为所述行进距离差值与所述宽度的比值;
确定所述第一角度变化率为所述行进角度值与所述预设时间的比值。
进一步地,所述计算所述两个驱动轮在所述预设时间内的行进距离差值,包括如下步骤:
根据当前记录时间点所检测到的所述两个驱动轮中的第一驱动轮所行进的第一当前行进距离,和上一记录时间点所检测到的第一驱动轮所行进的第一上一行进距离,计算得出第一驱动轮所行进的第一距离为所述第一当前行进距离与所述第一上一行进距离的差值;
根据所述当前记录时间点所检测到的所述两个驱动轮中的第二驱动轮所行进的第二当前行进距离,和所述上一记录时间点所检测到的第二驱动轮所行进的第二上一行进距离,计算得出第二驱动轮所行进的第二距离为所述第二当前行进距离与所述第二上一行进距离的差值;
确定所述行进距离差值为所述第一距离与所述第二距离的差值;
其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。
进一步地,所述计算陀螺仪在相同的所述预设时间内所产生的第二角度变化率,包括如下步骤:
根据当前记录时间点陀螺仪所检测到的当前角度,和上一记录时间点陀螺仪所检测到的上一角度,计算得出变化角度为所述当前角度与所述上一角度的差值;
确定所述第二角度变化率为所述变化角度和所述预设时间的比值;
其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。
进一步地,所述确定所述第一角度变化率的最大误差值,包括如下步骤:
确定所述驱动轮的最大误差率;
确定所述最大误差值为所述第一角度变化率与所述最大误差率的乘积;
其中,所述最大误差率通过实验测试得出。
进一步地,所述判断所述角速度变化误差率是否大于或者等于预设值,还包括如下步骤:
根据连续N次所确定的所述角速度变化误差率,判断每次确定的所述角速度变化误差率是否都大于或者等于预设值;
如果每次确定的所述角速度变化误差率都大于或者等于预设值,则判断结果为是;
如果有一次确定的所述角速度变化误差率小于预设值,则判断结果为是否;
其中,所述N为大于或者等于2的自然数。
进一步地,所述确定机器人的驱动轮所产生的电流方差,包括如下步骤:
每隔设定时间采集一次第一驱动轮的第一驱动电流和/或第二驱动轮的第二驱动电流,至采集到的所述第一驱动电流和/或所述第二驱动电流分别达到设定个数时,继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流;
计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值;
基于所述设定个数中的第一驱动电流和/或第二驱动电流以及所述平均值,根据方差公式计算得出第一驱动电流方差和/或第二驱动电流方差。
进一步地,所述继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流,包括如下步骤:
继续采集所述第一驱动电流和/或所述第二驱动电流;
根据采集的先后顺序,依个将设定个数中的最先采集的所述第一驱动电流和/或所述第二驱动电流删除,并依个加入最后采集的所述第一驱动电流和/或所述第二驱动电流。
进一步地,所述计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值,包括如下步骤:
对每个所述第一驱动电流和/或第二驱动电流进行加权;
将加权后的所有所述第一驱动电流和/或第二驱动电流进行相加;
将相加后的数值除以所述设定个数,得出所述第一驱动电流和/或第二驱动电流的平均值;
其中,所述加权的权值基于采集的时间确定,采集的时间越早,所加权的权值越小。
进一步地,所述判断所述电流方差是否大于或等于设定值,包括如下步骤:
判断所述第一驱动电流方差和/或所述第二驱动电流方差是否大于设定值;
如果所述第一驱动电流方差和所述第二驱动电流方差中任意一个大于设定值,则判断结果为是;
如果所述第一驱动电流方差和所述第二驱动电流方差都不大于设定值,则判断结果为否,且确定机器人为无障碍打滑。
一种智能机器人的建图方法,包括如下步骤:
基于上述的智能机器人碰撞障碍物的检测方法,确定机器人碰撞障碍物时的位置点所在的栅格单元,并标示所述栅格单元为障碍单元;和/或
基于上述的智能机器人碰撞障碍物的检测方法,确定机器人无障碍打滑时的位置点所在的栅格单元,并标示所述栅格单元为打滑单元。
本发明通过利用机器人现有的驱动轮上的里程计、机体内的陀螺仪和处理器,来检测并计算得出机器人的角速度变化误差率,并通过该角速度变化误差率判断机器人是否打滑,然后在机器人打滑的基础上,通过判断驱动轮所产生的电流方差是否大于或等于设定值,来确定机器人是否碰撞到了障碍物。这种机器人碰撞障碍物的检测方法和基于该方法检测的结果进行地图的构建,成本相对较低,且不受这些专用传感器的质量或结构设计等方面的影响,从而简化了机器人的结构,降低了生产加工难度,提高了机器人的使用寿命和品质。
附图说明
图1为本发明所述的机器人结构示意图。
图2为本发明所述的机器人碰撞障碍物的检测方法的流程图。
图3为本发明所述的机器人的部分***框图。
图4为本发明所述的行进角度值的分析示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
扫地机器人,又称自动打扫机、智能吸尘器等,是智能家用电器的一种,能凭借一定的人工智能,自动在房间内完成地板清理工作。一般采用刷扫和真空方式,将地面杂物先吸纳进入自身的垃圾收纳盒,从而完成地面清理的功能。一般来说,将完成清扫、吸尘、擦地工作的机器人,也统一归为扫地机器人。扫地机器人的机体10为无线机器,以圆盘型为主。使用充电电池运作,操作方式为遥控或是机器上的操作面板。一般能设定时间预约打扫,自行充电。机体10上设有各种传感器,可检测行进距离、行进角度、机身状态和障碍物等,如碰到墙壁或其他障碍物,会自行转弯,并依不同的设定,而走不同的路线,有规划地清扫地区。
如图1所示,本发明所述机器人包括如下结构:带有第一驱动轮20和第二驱动轮30的能够自主行进的机器人机体10,机器人内部装置有惯性传感器,包括加速度计和陀螺仪40等,第一驱动轮20和第二驱动轮30上设有用于检测驱动轮的行进距离的里程计60(一般是码盘),还设有用于检测第一驱动轮20和第二驱动轮30的驱动电流的电流传感器70,以及能够处理相关传感器的参数,并能够输出控制信号到执行部件的处理器50。
智能机器人在行进过程中,是有一定速度的,当碰撞到障碍物时,物理撞击势必会导致机器人瞬间打滑,撞击力越大,打滑越厉害。此外,机器人在遇到地面很滑的情况也会打滑。本发明就是利用机器产生打滑时,驱动轮走动的距离所产生的角度变化和陀螺仪所产生的角度变化的关系来推测打滑的程度,进而判断机器人是否碰撞到了障碍物。
如图2所示,智能机器人碰撞障碍物的检测方法,包括如下步骤:基于机器人所产生的角速度变化误差率来判断机器人是否打滑;如果机器人打滑,则确定机器人的驱动轮所产生的电流方差,判断所述电流方差是否大于或等于设定值;如果是,则确定机器人碰撞到障碍物;如果否,则确定机器人没有碰撞到障碍物。通过利用机器人现有的驱动轮上的里程计60、机体内的陀螺仪40、电流传感器70和处理器50(如图3所示),来检测并计算得出机器人的角速度变化误差率,并通过该角速度变化误差率判断机器人是否打滑,然后在机器人打滑的基础上,通过判断驱动轮所产生的电流方差是否大于或等于设定值,来确定机器人是否碰撞到了障碍物。这种机器人碰撞障碍物的检测方法,成本相对较低,且不受这些专用传感器的质量或结构设计等方面的影响,从而简化了机器人的结构,降低了生产加工难度,提高了机器人的使用寿命和品质。
优选的,所述基于机器人所产生的角速度变化误差率来判断机器人是否打滑,包括如下步骤:计算预设时间内两个驱动轮所产生的第一角度变化率;计算陀螺仪40在相同的所述预设时间内所产生的第二角度变化率;确定所述第一角度变化率与所述第二角度变化率的差值为第一差值;确定所述第一角度变化率的最大误差值;确定角速度变化误差率为所述第一差值与所述最大误差值的比值;判断所述角速度变化误差率是否大于或者等于预设值;如果是,则确定机器人打滑;如果否,则确定机器人没有打滑。本发明所述的检测方法,通过利用机器人现有的驱动轮上的里程计60、机体10内的陀螺仪40和处理器50,来检测并计算得出两个驱动轮在预设时间内所产生的第一角度变化率,陀螺仪40在相同的所述预设时间内所产生的第二角度变化率,从而确定了机器人的角速度变化误差率,最后通过判断该角速度变化误差率是否大于或等于预设值来确定机器人是否打滑。这种机器人打滑的检测方法,成本相对较低。同时,采用里程计60和陀螺仪40结合进行检测判断的方式,准确性较高。当检测到机器人是在打滑,则可以记录打滑数据,并对机器人的行进数据进行修正,从而避免打滑对机器人行进准确性的影响。
优选的,所述计算预设时间内两个驱动轮所产生的第一角度变化率,包括如下步骤:计算所述两个驱动轮在所述预设时间内的行进距离差值;确定所述两个驱动轮之间的宽度;确定所述两个驱动轮在所述预设时间内的行进角度值为所述行进距离差值与所述宽度的比值;确定所述第一角度变化率为所述行进角度值与所述预设时间的比值。如图4所示,如果机器人打滑,则两个驱动轮所行进的距离可能不一样(比如一个驱动轮打滑,另一个不打滑,或者两个驱动轮与地面的摩擦力不一样等等,这些都会导致驱动轮打滑产生的轮子转动的圈数也不一样,即两个驱动轮所行进的距离不一样),使得机器人会产生一个微小的偏转,从而会产生一个微小的弧形的行进轨迹。但是为了便于说明,如图4所示,将采用直线的形式表示第一驱动轮20和第二驱动轮30的行进轨迹,由此产生的误差在可预期范围内。图4中,通过里程计60检测到第一驱动轮20在预设时间T内行进的距离为L,通过里程计60检测到第二驱动轮30在预设时间内行进的距离为R,所以,处理器50在接收到里程计60的检测数据后,计算得出两个驱动轮在所述预设时间内的行进距离差值为△L。由于两个驱动轮之间的宽度为W,所以计算得出两个驱动轮在所述预设时间内的行进角度值为a,a=△L/W,最终,计算得出第一角度变化率为P,P=a/T=△L/(W*T)。通过这种小角度的检测方法,得出的每个预设时间段内的角度变化率,有利于后续的角度误差变化率的计算,能够提高最终判断机器人是否打滑的准确性。
优选的,所述计算所述两个驱动轮在所述预设时间内的行进距离差值,包括如下步骤:根据当前记录时间点所检测到的所述两个驱动轮中的第一驱动轮20所行进的第一当前行进距离,和上一记录时间点所检测到的第一驱动轮20所行进的第一上一行进距离,计算得出第一驱动轮20所行进的第一距离为所述第一当前行进距离与所述第一上一行进距离的差值;根据所述当前记录时间点所检测到的所述两个驱动轮中的第二驱动轮30所行进的第二当前行进距离,和所述上一记录时间点所检测到的第二驱动轮30所行进的第二上一行进距离,计算得出第二驱动轮30所行进的第二距离为所述第二当前行进距离与所述第二上一行进距离的差值;确定所述行进距离差值为所述第一距离与所述第二距离的差值。其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。通过对每个记录时间点所检测到的行进距离进行分析比较,可以得出不同时间段内两个驱动轮的行进距离差值,为不同时间段内的角度变化率提供计算数据,保证后续计算角度变化率的准确性。
优选的,所述计算陀螺仪40在相同的所述预设时间内所产生的第二角度变化率,包括如下步骤:根据当前记录时间点陀螺仪40所检测到的当前角度,和上一记录时间点陀螺仪40所检测到的上一角度,计算得出变化角度为所述当前角度与所述上一角度的差值;确定所述第二角度变化率为所述变化角度和所述预设时间的比值。其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。由于陀螺仪40在角度检测方面具有较高的准确性,所以,利用机器人内部已设有的陀螺仪40的检测数据计算得出的角度变化率,准确性较高。同时,通过与上述相对应的记录时间点进行数据检测,可以进行准确的数据对比,避免由于对比数据出错而造成的后续的角度误差变化率的计算出错,保证了机器人打滑判断的准确性。
优选的,所述确定所述第一角度变化率的最大误差值,包括如下步骤:确定所述驱动轮的最大误差率;确定所述最大误差值为所述第一角度变化率与所述最大误差率的乘积。由于两个驱动轮在物理结构上本身会存在误差,对于相同的物理结构,所产生的误差率非常接近,所以,所述最大误差率可以通过实验测试得出最大值,也可以从所测试的多组数据中取平均值作为最大误差率。通过引入最大误差率来确定第一角度变化率的最大误差值,可以为后续的数据处理提供准确的依据,避免直接引用有误差的数据所导致的误判的情况出现,提高判断机器人是否打滑的准确性。
优选的,所述判断所述角速度变化误差率是否大于或者等于预设值,还包括如下步骤:根据连续N次所确定的所述角速度变化误差率,判断每次确定的所述角速度变化误差率是否都大于或者等于预设值;如果每次确定的所述角速度变化误差率都大于或者等于预设值,则判断结果为是;如果有一次确定的所述角速度变化误差率小于预设值,则判断结果为是否。由于机器人行进的路面情况很复杂,而不同的路面情况又会对机器人的检测结果产生不同的影响,所以,仅依靠一次数据的检测和判断,就确定机器人是否打滑,会存在误判的情况。应该进行连续多次的检测,并对多次的检测结果进行分析,只有都满足的情况下,才能确定是否打滑,这样得出的结果才具有更高的准确性。其中,所述N可以根据具体的情况进行相应的设置,优选的,设置为大于或者等于2的自然数,最优的,设置为5次,太少了达不到准确的效果,太多了又会浪费计算资源。
优选的,确定角速度变化误差率为所述第一差值与所述最大误差值的比值。由于每次的第一角度变化率不一样,得出的最大误差值也不一样,也就是说每次的最大误差值是动态变化的,如果采用固定的绝对数值为参考进行判断,得出的结果会有较大误差。本发明的方法采用的是对比的方式,根据对比的比值进行判断,可以得出更准确的结果。
优选的,所述预设值为1,这样可以准确地界定第一差值和最大误差值的关系,从而根据对比结果有效地判断出机器人是否处于打滑状态。
优选的,所述预设时间为10毫秒,当然,也可以不同需求,设置为其它数值。设置为10毫秒是比较合适的,如果时间太长,会影响检测结果,时间太短,对传感器和处理器50的性能要求又会太高。
上述实施例可以判断出来机器人是否产生了打滑,但是无法区分是由于碰撞到障碍物打滑,还是由于地面光滑而产生的无障碍打滑。在这两种情况下,机器人的驱动轮所产生的驱动电流是不一样的,碰到障碍物时,驱动电流的变化会比较激烈的,震荡会很大,而无障碍打滑时,驱动电流的变化不会那么大的。本发明通过利用电流的变化特征结合打滑判断方法来对这两种情况进行分析,下面将通过机器人的驱动轮所产生的电流方差来判断机器人是碰撞到障碍物打滑还是无障碍打滑。
优选的,所述确定机器人的驱动轮所产生的电流方差,包括如下步骤:每隔设定时间采集一次第一驱动轮的第一驱动电流和/或第二驱动轮的第二驱动电流,至采集到的所述第一驱动电流和/或所述第二驱动电流分别达到设定个数时,继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流;计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值;基于所述设定个数中的第一驱动电流和/或第二驱动电流以及所述平均值,根据方差公式计算得出第一驱动电流方差和/或第二驱动电流方差。其中,所述设定时间和所述设定个数,需要根据具体的情况进行相应设置。通过计算电流的方差,可以准确地分析机器人当前的状态,进而准确地判断机器是否碰撞到了障碍物。
其中,所述继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流,包括如下步骤:继续采集所述第一驱动电流和/或所述第二驱动电流;根据采集的先后顺序,依个将设定个数中的最先采集的所述第一驱动电流和/或所述第二驱动电流删除,并依个加入最后采集的所述第一驱动电流和/或所述第二驱动电流。通过滚动更新数据的方式,可以保证采集到的数据的实时性,为后续的数据处理提供实时有效的依据,进而得出机器人实时的、不断更新的状态信息。
其中,所述计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值,包括如下步骤:对每个所述第一驱动电流和/或第二驱动电流进行加权;将加权后的所有所述第一驱动电流和/或第二驱动电流进行相加;将相加后的数值除以所述设定个数,得出所述第一驱动电流和/或第二驱动电流的平均值。其中,所述加权的权值基于采集的时间确定,采集的时间越早,所加权的权值越小。通过采用加权平均值的方式,可以得出更准确的参考数据,为后续的数据处理提供更准确的依据,保证最终判断机器人状态的准确性。
其中,所述判断所述电流方差是否大于或等于设定值,包括如下步骤:判断所述第一驱动电流方差和/或所述第二驱动电流方差是否大于设定值;如果所述第一驱动电流方差和所述第二驱动电流方差中任意一个大于设定值,则判断结果为是;如果所述第一驱动电流方差和所述第二驱动电流方差都不大于设定值,则判断结果为否,且确定机器人为无障碍打滑。其中,所述设定值根据实验测试结果进行相应设置,因为不同的机型,其结构不同,所产生的摩擦力也不同,所以,需要进行相关的实验测试,并根据测试结果进行设置。由于方差就是表示和中心偏离的程度,用来衡量一批数据的波动大小(即这批数据偏离平均数的大小),在样本容量相同的情况下,方差越大,说明数据的波动越大,越不稳定。所以,本发明引入方差进行机器人状态的判断,所得出的判断结果比其它方式的判断结果更准确。
通过每隔设定时间E采集一次第一驱动轮的第一驱动电流X,至采集到的所述第一驱动电流达到设定个数Q时,所采集到的第一驱动电流为X1、X2、X3、X4至XQ。随着机器人的继续行进,电流传感器继续采集所述第一驱动电流,然后根据采集的先后顺序,将最先采集到的一个第一驱动电流(即采集时间最久的第一驱动电流)删除,并将最后采集到的一个第一驱动电流(即最新采集的第一驱动电流)加入,使得整体的采样数据依旧保持为Q个。同样的,随着机器人的继续行进,依个将最先的第一驱动电流删除,加入最后采集到的第一驱动电流,通过这种滚动方式更新第一驱动电流的采集样本,可以保持采样数据的实时性,为后续的数据处理提供准确有效的数据,保证最终判断结果的准确性和有效性。在电流数据不断采集的过程中,处理器需要不断地对这些数据进行处理,计算所述Q个第一驱动电流的平均值,其中,所述平均值可以是简单平均值,也可以是加权平均值。所述简单平均值就是将Q个第一驱动电流直接相加后再除以Q,所得的就是简单平均值。所述加权平均值是指将Q个第一驱动电流分别进行加权后,再相加,最后除以Q,所得的平均值就是加权平均值。相对的,采用加权平均值进行后续数据的处理,所得的结果更准确。所以,优选的,本发明采用加权平均值进行处理,分别对每个第一驱动电流进行加权,最终得到加权平均值为x,x=(X1*f1+X2*f2+X3*f3……XQ*fQ)/Q。其中,f为加权的权值,是基于采集的时间确定,采集的时间越早,所加权的权值越小,加权的权值在0至1的范围内,包括0和1。取0意味着对应的样本不用,取1则意味对应的样本为100%使用,越趋向于1,加权的权值越大。至于,权值到底取值多少,则可以根据实际情况进行选择。比如,Q=100时,可以选择均等权值的方式,f1=0.01,f2=0.02,f3=0.03……f100=1。所述设定的时间也可以根据具体情况进行设置,优选的,设置为1ms、5ms或者10ms。在得到加权平均值后,最后,根据方差公式计算得出第一驱动电流的方差为S,S=((X1-x)²+(X2-x)²+……(XQ-x)²)/(Q-1)。由于方差就是表示和中心偏离的程度,用来衡量一批数据的波动大小(即这批数据偏离平均数的大小),在样本容量相同的情况下,方差越大,说明数据的波动越大,越不稳定。所以,通过计算第一驱动电流的方差,并将该方差与设定值进行比较,可以准确判断出机器人是否碰撞到了障碍物。
同理,可以计算出第二驱动电流的方差。当第一驱动电流的方差和第二驱动电流的方差中,任意一个方差的值大于设定值,则确定机器人碰撞到了障碍物。如果两个都不大于设定值,则确定机器人没有碰撞到障碍物,并且确定机器人为无障碍打滑。
本发明所述的机器人的建图方法,包括如下步骤:基于上述的智能机器人碰撞障碍物的检测方法,确定机器人碰撞障碍物时的位置点所在的栅格单元,并标示所述栅格单元为障碍单元;和/或,基于上述的智能机器人碰撞障碍物的检测方法,确定机器人无障碍打滑时的位置点所在的栅格单元,并标示所述栅格单元为打滑单元。由于机器人在栅格地图的构建中,需要根据检测的情况对栅格单元进行对应的标示,比如,在检测到障碍物时,把检测到障碍物的位置点所在的栅格单元标示为障碍单元;在检测到悬崖时,把检测到悬崖的位置点所在的栅格单元标示为悬崖单元。由于现有技术无法准确地检测到机器人是否打滑,以及无法准确地判断机器人打滑时所处的状态,所以,无法准确地对打滑时的栅格单元进行标示,导致后续机器人在依据该栅格地图进行导航的过程中,导航进入该打滑区域,使得行进效率降低,导航效果较差。通过本发明所述的建图方法,可以准确地标示出打滑单元和/或障碍单元,所构建的地图准确性较高,在后续的导航过程中,机器人可以避开该打滑区域,从而提高机器人的行进效率和导航效果。
以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。
Claims (10)
1.一种智能机器人碰撞障碍物的检测方法,其特征在于,包括如下步骤:
基于机器人所产生的角速度变化误差率来判断机器人是否打滑;
如果机器人打滑,则确定机器人的驱动轮所产生的电流方差,判断所述电流方差是否大于或等于设定值;
如果是,则确定机器人碰撞到障碍物;
如果否,则确定机器人没有碰撞到障碍物;
其中,所述基于机器人所产生的角速度变化误差率来判断机器人是否打滑,包括如下步骤:
计算预设时间内两个驱动轮所产生的第一角度变化率;
计算陀螺仪在相同的所述预设时间内所产生的第二角度变化率;
确定所述第一角度变化率与所述第二角度变化率的差值为第一差值;
确定所述第一角度变化率的最大误差值;
确定角速度变化误差率为所述第一差值与所述最大误差值的比值;
判断所述角速度变化误差率是否大于或者等于预设值;
如果是,则确定机器人打滑;
如果否,则确定机器人没有打滑;
其中,所述计算预设时间内两个驱动轮所产生的第一角度变化率,包括如下步骤:
计算所述两个驱动轮在所述预设时间内的行进距离差值;
确定所述两个驱动轮之间的宽度;
确定所述两个驱动轮在所述预设时间内的行进角度值为所述行进距离差值与所述宽度的比值;
确定所述第一角度变化率为所述行进角度值与所述预设时间的比值。
2.根据权利要求1所述的方法,其特征在于,所述计算所述两个驱动轮在所述预设时间内的行进距离差值,包括如下步骤:
根据当前记录时间点所检测到的所述两个驱动轮中的第一驱动轮所行进的第一当前行进距离,和上一记录时间点所检测到的第一驱动轮所行进的第一上一行进距离,计算得出第一驱动轮所行进的第一距离为所述第一当前行进距离与所述第一上一行进距离的差值;
根据所述当前记录时间点所检测到的所述两个驱动轮中的第二驱动轮所行进的第二当前行进距离,和所述上一记录时间点所检测到的第二驱动轮所行进的第二上一行进距离,计算得出第二驱动轮所行进的第二距离为所述第二当前行进距离与所述第二上一行进距离的差值;
确定所述行进距离差值为所述第一距离与所述第二距离的差值;
其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。
3.根据权利要求1所述的方法,其特征在于,所述计算陀螺仪在相同的所述预设时间内所产生的第二角度变化率,包括如下步骤:
根据当前记录时间点陀螺仪所检测到的当前角度,和上一记录时间点陀螺仪所检测到的上一角度,计算得出变化角度为所述当前角度与所述上一角度的差值;
确定所述第二角度变化率为所述变化角度和所述预设时间的比值;
其中,所述当前记录时间点与所述上一记录时间点之间的时间间隔为所述预设时间。
4.根据权利要求1所述的方法,其特征在于,所述确定所述第一角度变化率的最大误差值,包括如下步骤:
确定所述驱动轮的最大误差率;
确定所述最大误差值为所述第一角度变化率与所述最大误差率的乘积;
其中,所述最大误差率通过实验测试得出。
5.根据权利要求1所述的方法,其特征在于,所述判断所述角速度变化误差率是否大于或者等于预设值,还包括如下步骤:
根据连续N次所确定的所述角速度变化误差率,判断每次确定的所述角速度变化误差率是否都大于或者等于预设值;
如果每次确定的所述角速度变化误差率都大于或者等于预设值,则判断结果为是;
如果有一次确定的所述角速度变化误差率小于预设值,则判断结果为是否;
其中,所述N为大于或者等于2的自然数。
6.根据权利要求1所述的方法,其特征在于,所述确定机器人的驱动轮所产生的电流方差,包括如下步骤:
每隔设定时间采集一次第一驱动轮的第一驱动电流和/或第二驱动轮的第二驱动电流,至采集到的所述第一驱动电流和/或所述第二驱动电流分别达到设定个数时,继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流;
计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值;
基于所述设定个数中的第一驱动电流和/或第二驱动电流以及所述平均值,根据方差公式计算得出第一驱动电流方差和/或第二驱动电流方差。
7.根据权利要求6所述的方法,其特征在于,所述继续采集并以滚动方式更新设定个数中的所述第一驱动电流和/或所述第二驱动电流,包括如下步骤:
继续采集所述第一驱动电流和/或所述第二驱动电流;
根据采集的先后顺序,依个将设定个数中的最先采集的所述第一驱动电流和/或所述第二驱动电流删除,并依个加入最后采集的所述第一驱动电流和/或所述第二驱动电流。
8.根据权利要求6所述的方法,其特征在于,所述计算所述设定个数中的第一驱动电流和/或第二驱动电流的平均值,包括如下步骤:
对每个所述第一驱动电流和/或第二驱动电流进行加权;
将加权后的所有所述第一驱动电流和/或第二驱动电流进行相加;
将相加后的数值除以所述设定个数,得出所述第一驱动电流和/或第二驱动电流的平均值;
其中,所述加权的权值基于采集的时间确定,采集的时间越早,所加权的权值越小。
9.根据权利要求6所述的方法,其特征在于,所述判断所述电流方差是否大于或等于设定值,包括如下步骤:
判断所述第一驱动电流方差和/或所述第二驱动电流方差是否大于设定值;
如果所述第一驱动电流方差和所述第二驱动电流方差中任意一个大于设定值,则判断结果为是;
如果所述第一驱动电流方差和所述第二驱动电流方差都不大于设定值,则判断结果为否,且确定机器人为无障碍打滑。
10.一种智能机器人的建图方法,其特征在于,包括如下步骤:
基于权利要求1至9任一项所述的智能机器人碰撞障碍物的检测方法,确定机器人碰撞障碍物时的位置点所在的栅格单元,并标示所述栅格单元为障碍单元;和/或
基于权利要求1至9任一项所述的智能机器人碰撞障碍物的检测方法,确定机器人无障碍打滑时的位置点所在的栅格单元,并标示所述栅格单元为打滑单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710819192.2A CN107443430B (zh) | 2017-09-12 | 2017-09-12 | 智能机器人碰撞障碍物的检测方法及建图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710819192.2A CN107443430B (zh) | 2017-09-12 | 2017-09-12 | 智能机器人碰撞障碍物的检测方法及建图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107443430A CN107443430A (zh) | 2017-12-08 |
CN107443430B true CN107443430B (zh) | 2019-11-05 |
Family
ID=60495599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710819192.2A Active CN107443430B (zh) | 2017-09-12 | 2017-09-12 | 智能机器人碰撞障碍物的检测方法及建图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107443430B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE2250611A1 (en) * | 2022-05-20 | 2023-11-21 | Husqvarna Ab | Autonomous work tool and method for operation thereof |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107348910B (zh) | 2017-09-12 | 2019-10-08 | 珠海市一微半导体有限公司 | 机器人打滑的检测方法和建图方法及芯片 |
CN108553041B (zh) * | 2018-03-19 | 2021-03-23 | 珠海市一微半导体有限公司 | 一种机器人被困的判断方法 |
US20210112708A1 (en) * | 2018-03-30 | 2021-04-22 | Honda Motor Co., Ltd. | Autonomous running working machine and control system |
CN108748135A (zh) * | 2018-04-04 | 2018-11-06 | 上海物景智能科技有限公司 | 一种机器人驱动轮打滑位姿矫正方法以及一种机器人 |
CN109049006B (zh) * | 2018-08-22 | 2020-03-17 | 深圳市云鼠科技开发有限公司 | 一种扫地机器人的防碰撞检测方法 |
CN111060129A (zh) * | 2018-10-17 | 2020-04-24 | 郑州雷动智能技术有限公司 | 一种智能机器人判定地毯的方法 |
CN109262616A (zh) * | 2018-11-09 | 2019-01-25 | 浙江国自机器人技术有限公司 | 机器人碰撞检测方法、***、调度中心及可读存储介质 |
TW202024830A (zh) * | 2018-12-26 | 2020-07-01 | 萬潤科技股份有限公司 | 誤差偵測方法及使用該誤差偵測方法之自走式裝置 |
CN109827592A (zh) * | 2019-03-04 | 2019-05-31 | 广东乐生智能科技有限公司 | 一种扫地机器人被困的检测方法 |
CN111700543B (zh) * | 2019-03-18 | 2022-12-02 | 北京奇虎科技有限公司 | 遇障处理方法、装置、设备及计算机可读存储介质 |
CN111750873A (zh) * | 2019-03-26 | 2020-10-09 | 东元电机股份有限公司 | 移动平台图资校正*** |
CN110281239B (zh) * | 2019-06-25 | 2020-11-10 | 广州晒帝智能科技有限公司 | 一种机器人运动障碍的判断方法 |
CN110328664A (zh) * | 2019-06-28 | 2019-10-15 | 希格斯动力科技(珠海)有限公司 | 碰撞检测方法及装置 |
CN112549072A (zh) * | 2019-09-10 | 2021-03-26 | 苏州科瓴精密机械科技有限公司 | 机器人的打滑检测方法 |
CN111103877A (zh) * | 2019-12-05 | 2020-05-05 | 小狗电器互联网科技(北京)股份有限公司 | 移动机器人打滑预警方法、存储介质以及移动机器人 |
CN111427357A (zh) * | 2020-04-14 | 2020-07-17 | 北京石头世纪科技股份有限公司 | 一种机器人避障方法、装置和存储介质 |
CN111474931B (zh) * | 2020-04-22 | 2023-08-15 | 珠海一微半导体股份有限公司 | 一种机器人沿直边行走的异常检测方法及脱卡的处理方法 |
CN111427362B (zh) * | 2020-04-22 | 2023-08-11 | 珠海一微半导体股份有限公司 | 机器人沿直边行走的异常检测方法及脱卡的处理方法 |
CN111890343B (zh) * | 2020-07-29 | 2021-10-15 | 浙江广合智能科技有限公司 | 一种机器人载物碰撞检测方法及装置 |
CN112364741B (zh) * | 2020-11-02 | 2023-04-18 | 湖南航天宏图无人机***有限公司 | 无人机单目远距离障碍检测方法、装置及无人机 |
CN112674653B (zh) * | 2020-12-29 | 2022-04-19 | 深圳市云鼠科技开发有限公司 | 障碍物位置标记方法、装置、计算机设备及存储介质 |
CN112859862A (zh) * | 2021-01-15 | 2021-05-28 | 珠海市一微半导体有限公司 | 一种利用充电桩进行地图修正的方法及*** |
CN114343522B (zh) * | 2022-01-20 | 2023-01-06 | 深圳市云鼠科技开发有限公司 | 一种解决清洁机器人打滑的方法及清洁机器人 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104345730A (zh) * | 2013-07-25 | 2015-02-11 | 科沃斯机器人科技(苏州)有限公司 | 带行走状态判断装置的自移动机器人及行走状态判断方法 |
CN106323293B (zh) * | 2016-10-14 | 2018-12-25 | 淮安信息职业技术学院 | 基于多目标搜索的两群多向机器人路径规划方法 |
CN106933229B (zh) * | 2017-04-10 | 2020-06-05 | 天津京东深拓机器人科技有限公司 | 轮式移动机器人的控制方法和装置 |
-
2017
- 2017-09-12 CN CN201710819192.2A patent/CN107443430B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE2250611A1 (en) * | 2022-05-20 | 2023-11-21 | Husqvarna Ab | Autonomous work tool and method for operation thereof |
Also Published As
Publication number | Publication date |
---|---|
CN107443430A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107443430B (zh) | 智能机器人碰撞障碍物的检测方法及建图方法 | |
CN107348910B (zh) | 机器人打滑的检测方法和建图方法及芯片 | |
CN105425801B (zh) | 基于先进路径规划技术的智能清洁机器人及其清洁方法 | |
CN108143364B (zh) | 一种自移动清洁机器人清洁地图区域划分的方法 | |
CN109049006B (zh) | 一种扫地机器人的防碰撞检测方法 | |
CN107943025A (zh) | 机器人被困的检测方法及脱困的处理方法 | |
CN111531549A (zh) | 一种机器人***及定位导航方法 | |
EP3381257B1 (en) | Method for generating a representation of a working area of an autonomous lawn mower and autonomous lawn mower system | |
CN108733061B (zh) | 一种清扫作业的路径修正方法 | |
EP2916139B1 (en) | A computer implemented system and method for wi-fi based indoor localization | |
CN107036597A (zh) | 一种基于智能手机内置惯性传感器的室内定位导航方法 | |
KR20140108821A (ko) | 이동 로봇 및 이동 로봇의 위치 추정 및 맵핑 방법 | |
CN107588915A (zh) | 一种桥梁影响线识别方法及*** | |
CN107422737A (zh) | 机器人是否碰到障碍物的检测方法和***及芯片 | |
US11520330B2 (en) | Sweeping robot obstacle avoidance treatment method based on free move technology | |
CN107807643A (zh) | 机器人的行走预测和控制方法 | |
CN205880664U (zh) | 智能除草机 | |
CN107289929A (zh) | 一种机器人碰到障碍物的检测方法和***及芯片 | |
CN112205937A (zh) | 一种自动清洁设备控制方法、装置、设备和介质 | |
CN109827592A (zh) | 一种扫地机器人被困的检测方法 | |
CN112330122A (zh) | 一种扫地机器人智能化程度量化测评方法及*** | |
KR20100010962A (ko) | 로봇 청소기의 적외선 센서를 이용한 충전 유도 장치 및방법 | |
CN107664748A (zh) | 机器人检测地毯的方法及芯片 | |
CN107328416A (zh) | 一种基于地磁的智能手机实时定位方法 | |
CN208647730U (zh) | 移动垃圾桶及导航*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200316 Address after: 519000 room 105-514, No. 6, Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province (centralized office area) Co-patentee after: Shenzhen smart core technology Co., Ltd Patentee after: ZHUHAI AMICRO SEMICONDUCTOR Co.,Ltd. Address before: 519000 Guangdong city of Zhuhai province Hengqin Baohua Road No. 6, room 105 -514 Patentee before: ZHUHAI AMICRO SEMICONDUCTOR Co.,Ltd. |