CN108227523A - 机器人控制方法、装置、存储介质和计算机设备 - Google Patents
机器人控制方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108227523A CN108227523A CN201711057600.1A CN201711057600A CN108227523A CN 108227523 A CN108227523 A CN 108227523A CN 201711057600 A CN201711057600 A CN 201711057600A CN 108227523 A CN108227523 A CN 108227523A
- Authority
- CN
- China
- Prior art keywords
- robot
- distance
- barrier
- advance
- current
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 230000004888 barrier function Effects 0.000 claims abstract description 261
- 230000007613 environmental effect Effects 0.000 claims description 89
- 230000033001 locomotion Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000011897 real-time detection Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- FIKAKWIAUPDISJ-UHFFFAOYSA-L paraquat dichloride Chemical group [Cl-].[Cl-].C1=C[N+](C)=CC=C1C1=CC=[N+](C)C=C1 FIKAKWIAUPDISJ-UHFFFAOYSA-L 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/622—Obstacle avoidance
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请涉及一种机器人控制方法、装置、计算机可读存储介质和计算机设备,所述方法包括:沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离;当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方;沿机器人的侧方,获取所述机器人与所述障碍物的第二距离;调整所述机器人的前进方向,使得所述第二距离保持为目标距离。本申请提供的方案可以提高机器人的避障能力。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种机器人控制方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的发展,机器人技术也在日趋发展。在日常生活中,人们越来越依赖于可移动的机器人完成各种各样的任务,例如家庭卫生清扫、工业生产运料或物品搬运等。传统的可移动的机器人在执行任务时,通常是采用传感器进行有限方位的障碍物检测和躲避。
然而,基于传统的这种采用传感器进行有限方位的障碍物检测和躲避的方式来控制机器人时,常常会由于障碍物的位置检测不准确或漏检而导致机器人无法准确躲避障碍物,使得机器人避障能力差。
发明内容
基于此,有必要针对机器人避障能力差的技术问题,提供一种机器人控制方法、装置、计算机可读存储介质和计算机设备。
一种机器人控制方法,所述方法包括:
沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离;
当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方;
沿机器人的侧方,获取所述机器人与所述障碍物的第二距离;
调整所述机器人的前进方向,使得所述第二距离保持为目标距离。
一种机器人控制装置,所述装置包括:
获取模块,用于沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离;
调整模块,用于当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方;
所述获取模块还用于沿机器人的侧方,获取所述机器人与所述障碍物的第二距离;
所述调整模块还用于调整所述机器人的前进方向,使得所述第二距离保持为目标距离。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述机器人控制方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述机器人控制方法的步骤。
上述机器人控制方法、装置、计算机可读存储介质和计算机设备,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
附图说明
图1为一个实施例中机器人控制方法的应用环境图;
图2为一个实施例中机器人控制方法的流程示意图;
图3为一个实施例中远离障碍物运动的步骤的流程示意图;
图4为一个实施例中建立环境地图的步骤的流程示意图;
图5为一个实施例中规划运动路径的步骤的流程示意图;
图6为一个实施例中机器人控制方法的流程示意图;
图7为一个实施例中机器人控制装置的结构框图;
图8为另一个实施例中机器人控制装置的结构框图;
图9为又一个实施例中机器人控制装置的结构框图;
图10为再一个实施例中机器人控制装置的结构框图;
图11为还一个实施例中机器人控制装置的结构框图;
图12为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中机器人控制方法的应用环境图。参照图1,该机器人控制方法应用于避障系统。该避障系统包括机器人110和障碍物120。机器人110在运动过程中可检测前进方向中的障碍物120,通过实施该机器人控制方法,使得机器人110在运动过程中能准确地避开障碍物120并沿障碍物120行走。
如图2所示,在一个实施例中,提供了一种机器人控制方法。本实施例主要以该方法应用于上述图1中的机器人来举例说明。参照图2,该机器人控制方法具体包括如下步骤:
S202,沿机器人当前的前进方向,获取机器人与障碍物的第一距离。
其中,前进方向是机器人行走的方向,当机器人在运动过程中时,机器人的前进方向就是机器人的前方。前进方向具体可以是机器人向前行走时,机器人的正前方,也可以是机器人向前行走时,机器人前方的预设角度内的任一方向。当前的前进方向是机器人当前行走的方向。障碍物是在机器人运动过程中会阻碍机器人前进的具有一定体积的物体,例如地面的实体建筑如墙或门等或放置于地面的物品如冰箱、洗衣机或衣柜等。
具体地,机器人可沿机器人当前的前进方向,判断在当前的前进方向中是否存在障碍物。当在当前的前进方向中存在障碍物时,获取障碍物到机器人的第一距离。其中,第一距离是与机器人所在地面平行的面上障碍物与机器人的距离,第一距离可以是障碍物到机器人中心的距离,也可以是障碍物到机器人边缘的距离。
在一个实施例中,机器人机身上安装有传感器,该传感器用于测量机器人周围预设视角内的障碍物到机器人的距离。该传感器可以是激光雷达、碰撞传感器、深度相机、红外测距、超声波传感器等单个或多个传感器。其中,激光雷达可以是旋转式的激光雷达也可以是固态雷达。预设视角可以是360°也可以是小于360°,例如,旋转式激光雷达的测距视角为360°视角,而固态雷达的预设视角小于180°。在机器人前进过程中,可通过传感器探测到机器人周围预设视角内的障碍物到机器人的距离。
在一个实施例中,机器人可预先建立环境地图,通过激光雷达探测周围的环境信息,并根据探测的机器人周围的环境信息判断机器人自身在地图中的位置坐标。再沿机器人的前进方向,确定在环境地图中记录的障碍物信息,直接获取从机器人的当前位置到障碍物的距离。
在一个实施例中,机器人可预先建立环境地图,通过定位传感器和测距传感器获取机器人自身在环境地图中的位置坐标。定位传感器比如IMU(Inertial MeasurementUnit,惯性测量单元)或里程计等传感器。再沿机器人的前进方向,确定在环境地图中记录的障碍物信息,直接获取从机器人的当前位置到障碍物的距离。
在一个实施例中,机器人通过安装在机器人机身上的传感器实时获取机器人前进方向的障碍物和机器人的距离。当由于障碍物的体积大小或材质等因素使得传感器检测不到机器人侧方的障碍物,而导致机器人和障碍物发生多次碰撞时,则可通过环境地图直接获取机器人前进方向的障碍物与机器人的距离作为第一距离。
在一个实施例中,在机器人获取沿前进方向与障碍物的第一距离时可综合比较探测传感器测得的距离和从环境地图中获取的距离再最终确定第一距离。其中,综合比较从两种方式中获取的距离再最终确定第一距离可以是将同时获取的两个距离中的最小距离作为第一距离,或者是当只有一种方式获取到障碍物与机器人的距离时则直接将该距离作为第一距离。
举例说明,在机器人运动过程中,当沿机器人当前的前进方向通过传感器并未检测到前方的障碍物,但根据机器人自身在环境地图中的位置坐标和环境地图则获取到沿机器人前进方向的障碍物与机器人的距离时,则将从环境地图中获取的距离作为第一距离。同样地,当机器人沿当前的前进方向通过环境地图未获取到障碍物与机器人的距离,但通过传感器检测到障碍物与机器人的距离时,将传感器检测的距离作为第一距离。
S204,当第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方。
其中,机器人的侧方是机器人的两侧。具体地,当机器人获取了沿机器人当前的前进方向中的障碍物与机器人的第一距离后,判断该第一距离和转向距离阈值的大小。当第一距离小于转向距离阈值时,机器人通过调整运动装置的方向,使得障碍物位于机器人的侧方。
在一个实施例中,当第一距离小于转向距离阈值时,机器人可以根据预设的指令选择向左或者向右调整机器人的前进方向。具体地,机器人可以通过预设的指令选择向左或者向右转动,使得障碍物位于机器人的侧方。举例说明,当机器人选择向左转动时,障碍物将位于机器人的右侧;当机器人选择向右转动时,障碍物将位于机器人的左侧。
在一个实施例中,当第一距离小于转向距离阈值时,机器人可通过传感器或者环境地图,获取机器人前进方向的左右两侧预设角度范围内的障碍物到机器人的距离,并计算机器人左右两侧障碍物到机器人的平均距离。比较左右两侧障碍物到机器人的平均距离,朝较大的平均距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
S206,沿机器人的侧方,获取机器人与障碍物的第二距离。
具体地,机器人可通过传感器测量机器人侧方的障碍物到机器人的距离来获取第二距离。也可以通过定位传感器和测距传感器,获取机器人自身在环境地图中的位置,通过环境地图中记录的障碍物,获取机器人与机器人侧方的障碍物的第二距离。
在一个实施例中,机器人可通过安装在机器人机身上的传感器实时获取机器人侧方的障碍物和机器人的距离。当由于障碍物的体积大小或材质等因素使得传感器检测不到机器人侧方的障碍物,而导致机器人和障碍物发生多次碰撞时,则可通过环境地图直接获取机器人侧方的障碍物与机器人的距离作为第二距离。在一个实施例中,机器人可获取机器人正侧方的障碍物到机器人的距离,并将该距离作为第二距离。机器人正侧方的障碍物到机器人的距离可以是机器人正侧方的障碍物到机器人的中心、到机器人机身上的传感器或者到机器人正侧方的边缘等的距离。
在一个实施例中,机器人可获取与机器人正侧方保持一定夹角方向的障碍物到机器人的距离,并将该距离作为第二距离。
S208,调整机器人的前进方向,使得第二距离保持为目标距离。
具体地,机器人在前进过程中,可实时获取机器人侧方的障碍物与机器人的第二距离。根据第二距离与目标距离的差异,朝减小差异的方向调整机器人的前进方向,使得机器人侧方的障碍物与机器人的第二距离保持为目标距离。举例说明,当第二距离大于目标距离时,调整机器人的前进方向,使得机器人朝靠近障碍物的方向运动;当第二距离小于目标距离时,调整机器人的前进方向,使得机器人朝远离障碍物的方向运动。
需要说明的是,本申请中的“距离”除了可以是传统物理意义上的距离,也可以是机器人的传感器检测到的能反映物理距离的值,比如“反射强度”或“相位差”等。举例说明,红外传感器测距时,红外光经过障碍物反射后的强度在一定程度上可以表示距离。
上述机器人控制方法,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
在一个实施例中,步骤S202之后,该机器人控制方法还包括:当第一距离小于或等于减速距离阈值时,降低机器人的速度;减速距离阈值大于转向距离阈值。
具体地,沿机器人当前的前进方向,机器人在获取到自身与障碍物的第一距离后,判断该第一距离与减速距离阈值的大小。此处的减速距离阈值大于转向距离阈值。当该第一距离小于或等于减速距离阈值时,控制机器人的运动装置,减小机器人的运动速度。
在一个实施例中,机器人可控制运动装置,均匀减小机器人的运动速度直到预设速度。在另一个实施例中,机器人也可以通过控制运动装置,根据障碍物与机器人的距离执行不同的负向加速度进行减速,直到运动速度减小到预设速度。
上述实施例中,机器人通过判断第一距离和减速距离阈值的大小,当第一距离小于或等于减速距离阈值时,减小机器人的前进速度。使得机器人在碰到障碍物前提前减速,防止对障碍物进行碰撞损坏,可有效的保障机器人自身和障碍物的安全。
在一个实施例中,步骤S204包括:当所述机器人未进入沿障碍物行走模式,且所述第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式,分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离;朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
其中,侧前方向是与机器人的正前方的夹角差异在90°内的方向。机器人的前进方向两侧的侧前方向是机器人的前进方向两侧范围内与机器人的正前方的夹角差异在90°内的方向。
具体地,当机器人未进入沿障碍物行走模式,且第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式。机器人进入沿障碍物行走模式时可通过传感器或环境地图分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离。比较机器人的前进方向两侧的侧前方向的障碍物与机器人的距离的大小,控制机器人的运动装置,朝较大的距离对应的侧前方向转动,使得障碍物位于机器人的侧方。
在一个实施例中,机器人可分别沿前进方向两侧的预设角度方向获取机器人与障碍物的距离,比较沿机器人的前进方向两侧所获取的距离的大小,并朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
在一个实施例中,机器人可分别沿前进方向两侧的侧前方向,获取障碍物与机器人的距离,并根据获取的距离分别计算机器人的前进方向两侧的侧前方向的障碍物与机器人的平均距离。在机器人获取到机器人与障碍物的平均距离后,比较机器人的前进方向两侧的侧前方向的障碍物与机器人的平均距离的大小,并朝较大的平均距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
在一个实施例中,当机器人分别沿机器人的前进方向两侧的侧前方向,获取的机器人与障碍物的距离一样大时,机器人可选择预设的方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
在一个实施例中,当机器人已进入沿障碍物行走模式,且第一距离小于或等于转向距离阈值时,机器人可选择机器人进入沿障碍物行走模式时的调整方向来调整机器人的前进方向,使得障碍物位于机器人的侧方。
上述实施例中,当机器人未进入沿障碍物行走模式,且第一距离小于或等于转向距离阈值时,可进入沿障碍物行走模式。通过获取机器人的前进方向两侧的侧前方向的障碍物与机器人的距离,朝较大的距离对应的侧前方向调整机器人的前进方向,可使得机器人有效的躲避障碍物。调整机器人的前进方向使得障碍物位于机器人的侧方,减小了在机器人继续前进的过程中障碍物再次出现在机器人的前进方向中的可能性,进一步提高了机器人的避障能力。
在一个实施例中,步骤S208之后,该机器人控制方法还包括:在机器人保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
其中,距离突变是距离突增或距离突然变为零。第二距离满足距离突变条件可以是第二距离满足距离突增条件或第二距离突然变为零。其中,第二距离满足距离突增条件可以是机器人检测到第二距离在预设时长内的增加量超过预设值,或者是机器人检测到第二距离的增长率突然增大。第二距离突然变为零是机器人突然检测不到障碍物,也就是无法获得障碍物与机器人的距离。第二距离突然变为零可能是由于障碍物不在机器人的可测范围内,或者障碍物的材质等原因导致机器人检测不到障碍物等原因造成的。
在一个实施例中,障碍物为多面体,两侧面具有一定夹角。机器人在保持第二距离为目标距离运动的过程中,当机器人运动到两侧面夹角处时,第二距离会发生突然的变化。当第二距离满足距离突变条件时,机器人朝侧方调整前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
在一个实施例中,当障碍物距离机器人很近,但由于障碍物的体积大小或材质等原因使得机器人检测不到,则机器人在前进过程中可能与障碍物发生碰撞。当机器人在沿障碍物行走模式中与障碍物发生碰撞时,机器人可通过控制运动装置,使得机器人后退并解除碰撞。当碰撞被解除时,机器人可通过控制运动装置,使得机器人朝障碍物所在的机器人侧方的反方向运动。当机器人在预设时长内获得了机器人侧方的障碍物到机器人第二的距离时,则调整机器人的前进方向,使得第二距离保持为目标距离。当机器人在预设时长内未获得机器人侧方的障碍物到机器人第二的距离时,则控制机器人朝障碍物所在的侧方运动,直到能够获取机器人侧方的障碍物到机器人第二的距离。机器人在获取到第二距离后,则调整机器人的前进方向,使得第二距离保持为目标距离。
上述实施例中,在机器人在保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,可调整第二距离至目标距离,使得机器人继续保持第二距离为目标距离运动,能提高机器人沿障碍物行走的准确性。
在一个实施例中,该机器人控制方法还包括远离障碍物运动的步骤,该远离障碍物运动的步骤包括:
S302,记录机器人的历史位置和相对应的历史前进方向。
其中,历史位置是机器人在运动过程中经过的位置。历史前进方向是机器人在运动过程中出现过的前进方向。与历史位置相对应的历史前进方向是机器人在运动过程中经过某处位置时的前进方向。
在一个实施例中,机器人在运动过程中,可以通过激光雷达检测周围的环境信息,通过周围环境信息的相对位置关系获得自身的位置和前进方向。或者通过定位传感器直接获得自身的位置和前进方向。机器人在获得自身的位置和前进方向后,实时记录在运动过程中的位置和与该位置相对应的前进方向。机器人可将记录的历史位置和相对应的历史前进方向存储在存储器中,在预设时间段后进行清除或在接收到清除指令后进行清除。
在一个实施例中,机器人在运动过程中,可通过环境地图记录机器人行走的历史位置和相对应的历史前进方向。并将记录的历史位置和相对应的历史前进方向存储在存储器中,在预设时间段后进行清除或在接收到清除指令后进行清除。
S304,获取机器人的当前位置和当前的前进方向。
具体地,机器人可通过激光雷达实时检测周围的环境信息来确定自身的当前位置和当前的前进方向,或者机器人通过定位传感器获取自身的当前位置和当前的前进方向。
S306,当当前位置与历史位置匹配、且当前的前进方向与历史前进方向匹配或者反向匹配时,控制机器人朝远离障碍物的方向运动。
其中,匹配是两者在一定程度上相同,具体可以是两者完全相同,也可以是两者在误差范围内接近,可以近似相同。当前位置与历史位置匹配是当前位置与历史位置中的某一位置重合或者位置差异不超过预设阈值。当前的前进方向与历史前进方向匹配,是处于当前位置的机器人的前进方向与和当前位置匹配的历史位置相对应的历史前进方向相同,或者角度差异不超过预设阈值。当前的前进方向与历史前进方向反向匹配,是处于当前位置的机器人的前进方向与和当前位置匹配的历史位置相对应的历史前进方向反向相同或者反向角度差异不超过预设阈值。
在一个实施例中,在机器人的运动过程中,机器人获取的当前位置与记录的历史位置匹配时,判断该匹配的历史位置的历史前进方向与机器人当前的前进方向是否匹配或者反向匹配。当历史前进方向与机器人当前的前进方向匹配或者反向匹配时,控制机器人远离障碍物运动。机器人可以朝远离障碍物的方向转动,使得机器人远离障碍物运动,此时机器人退出沿障碍物行走模式。
上述实施例中,通过判断机器人的当前位置与历史位置是否匹配、当前的前进方向与历史前进方向是否匹配或者反向匹配,来确定机器人在该位置处是否执行过相似的前进动作。当机器人在该位置处执行过相似的前进动作时,控制机器人朝远离该障碍物的方向运动,此时机器人退出沿障碍物行走模式,可有效地避免机器人在运动过程中进入循环路径,提高了机器人的运动效率。
在一个实施例中,机器人可接收远离障碍物运动的指令,并根据该指令执行远离障碍物运动的动作,使得机器人可高效地躲避障碍物,提高了机器人的避障能力。
在一个实施例中,步骤S202包括:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和前进方向;从环境地图中的位置坐标起,确定沿前进方向与环境地图中的障碍物图形之间的第一距离。
在一个实施例中,机器人可通过传感器探测周围的环境信息,并根据探测到的环境信息生成环境地图,并获取机器人在环境地图中当前的位置坐标和前进方向。或者机器人直接调用本地存储的环境地图,根据定位传感器从环境地图中获取自身的位置坐标和前进方向。机器人还可以接收从服务器发送的环境地图,并根据定位传感器从环境地图中获取自身的位置坐标和前进方向。
进一步地,当机器人获取了在地图中当前的位置坐标和前进方向时,确定在机器人的前进方向中,环境地图中的障碍物图形的坐标与机器人当前的位置坐标之间的第一距离。
上述实施例中,机器人可通过当前环境的环境地图,直接确定机器人的当前位置与沿机器人前进方向中的障碍物之间的第一距离,避免了由于传感器的检测范围或精度有限,在实时检测过程中产生的障碍物漏检或检测不准确的问题,进一步提高了机器人的避障能力。
在一个实施例中,步骤S206包括:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和机器人的侧方;从环境地图中的当前的位置坐标起,确定沿机器人的侧方与环境地图中的障碍物图形之间的第二距离。
具体地,机器人从获取的环境地图中获取机器人当前的位置坐标和前进方向,根据机器人的前进方向确定机器人的侧方。确定在机器人的侧方,环境地图中的障碍物图形的坐标与机器人当前的位置坐标之间的第二距离。
上述实施例中,机器人可通过当前环境的环境地图,直接确定机器人的当前位置与沿机器人的侧方的障碍物之间的第二距离,避免了由于传感器的检测范围或精度有限,在实时检测过程中产生的障碍物检测不准确的问题,提高了机器人沿障碍物行走的准确率。
在一个实施例中,该机器人控制方法还包括建立环境地图的步骤,该建立环境地图的步骤包括:
S402,生成空白地图。
在一个实施例中,机器人可在接收到生成地图的指令时开始生成一张空白地图。或者机器人在接收到任务开始指令时自动生成空白地图,例如,清洁机器人在接收到清洁指令时可自动生成一张空白地图,运送机器人在接收到前进指令时可自动生成一张空白地图等。
具体地,机器人在接收到相应指令时,可生成一张空白地图。生成的空白地图可以是预设的固定大小,也可以是根据用户的需求生成用户配置/选择大小的空白地图。例如,机器人的存储器中预存有多种规格的空白地图或地图的生成程序,多种规格的地图比如a×a的方形地图,a×b的矩形地图,或者半径为c的圆形地图等,其中a、b和c可以配置多种数值。机器人还可以通过可配置大小的输入框,用户根据实际需求配置或选择相应规格的空白地图。
S404,以空白地图中的预设位置为坐标原点建立坐标系。
在一个实施例中,机器人可预先设置坐标原点,将机器人的初始位置配置为坐标原点,根据初始位置的前进方向建立坐标系并显示。
具体地,机器人可根据获取的自身初始位置和初始前进方向生成地图的二维坐标系,生成的二维坐标系的原点和机器人的初始位置相匹配,坐标系的其一坐标轴(如x轴)与机器人的初始前进方向垂直、平行或者相差一定角度。
S406,获取机器人所处环境中的障碍物信息。
具体地,安装在机器人本体上的传感器可探测机器人所处环境中的障碍物信息和障碍物与机器人之间的无障碍物区域。其中,探测到的障碍物信息中的障碍物位置和方向是障碍物相对于机器人本体(也就是生成的坐标系原点)之间的相对位置和方向。根据机器人在地图中的定位数据(位置和朝向),可确定探测到的障碍物和无障碍区域在地图中的位置。
其中,步骤S404和步骤S406执行次序不做限定,步骤S404可以在步骤S406之前、同时或之后执行。
S408,根据障碍物信息和坐标系,在空白地图中生成障碍物图形,得到环境地图。
具体地,机器人在获取到障碍物信息后,可根据障碍物和机器人的相对位置关系,在地图中相对应的位置生成障碍物图形。其中,生成的障碍物图形要能够清晰的显示出探测的障碍物的特征,包括形态特征和尺寸特征等。
在一个实施例中,机器人还可对无障碍区域进行标识,使得环境地图中的障碍物图形和无障碍物区域可以明显的显示不同。例如,环境地图本色为灰色,可以将无障碍物区域标识为白色,障碍物图形标识为黑色,以区分障碍物和无障碍区域。
在一个实施例中,机器人在获取到障碍物信息后,可根据障碍物信息调整坐标系,使得长条形特征的障碍物处于坐标系的轴线上或轴线的方向上。
上述实施例中,通过将机器人的初始位置配置为坐标原点,根据障碍物到机器人的相对位置和相对方向对应在空白地图中生成障碍物图形,可快速且准确的实现环境地图的构建。
在一个实施例中,该机器人控制方法还包括规划运动路径的步骤,该规划运动路径的步骤具体包括:
S502,获取机器人在环境地图中的目标区域和当前位置坐标。
其中,目标区域是根据机器人的当前任务所确定的机器人的运动区域。具体的,机器人接收下发的任务指令,并根据该任务指令自动获取与该任务指令相对应的目标区域。
在一个实施例中,机器人可通过传感器和定位算法获取机器人自身在地图中当前的位置坐标。具体地,机器人可通过定位算法计算传感器获取的数据得到机器人运动的位移,和/或机器人周围测量的障碍物与地图中障碍物的相对位置和角度,融合计算得到机器人自身在地图中当前的位置坐标。举例说明,机器人可通过里程计和IMU的变化值积分计算得到机器人相对于当前位置移动的距离和方向,通过激光雷达测得的障碍物形状与地图中障碍物形状匹配得到机器人当前位置与地图中的位置的相对位置和角度,融合计算得到机器人自身在地图中当前的位置坐标。
S504,从当前位置坐标起,遍历目标区域中的无障碍物区域以规划运动路径。
具体地,机器人可根据环境地图确定目标区域中的无障碍物区域,根据该无障碍区域和当前位置坐标规划运动路径,使得机器人沿该运动路径运动时可遍历目标区域中的无障碍物区域。其中,规划的运动路径可根据任务的内容或目标区域的环境特征而确定,例如可以是弓字形路径、交叉运动路径、螺旋运动路径、沿墙路径或自主行走到指定地点的路径等。
S506,控制机器人沿运动路径运动。
具体地,当规划好运动路径后,机器人可通过控制运动装置,使得机器人从当前的位置开始根据运动路径,在目标区域的无障碍物区域内运动。
上述实施例中,可根据机器人在环境地图中的目标区域和当前位置坐标,规划运动路径,使得机器人沿该运动路径运动时能遍历目标区域中的无障碍物区域。这样通过环境地图来规划机器人的运动路径可提高机器人的运动效率。
在一个实施例中,上述机器人为清洁机器人。在实际应用中,当清洁机器人在前进过程中,沿清洁机器人当前的前进方向中获取到的清洁机器人与障碍物的第一距离小于或等于转向距离阈值时,调整清洁机器人的前进方向,使得障碍物位于清洁机器人的侧方。此时清洁机器人可开启沿墙模式,即保持清洁机器人侧方到障碍物的距离为目标距离运动,可有效地对障碍物周围的区域进行清扫。
如图6所示,在一个实施例中,提供了一种机器人控制方法,该方法具体包括如下步骤:
S602,当监听到任务指令时,生成空白地图。
S604,以空白地图中的预设位置为坐标原点建立坐标系。
S606,获取机器人所处环境中的障碍物信息。
S608,根据障碍物信息和坐标系,在空白地图中生成障碍物图形,得到环境地图。
S610,获取机器人在环境地图中的目标区域和当前位置坐标。
S612,从当前位置坐标起,遍历目标区域中的无障碍物区域以规划运动路径。
S614,控制机器人沿运动路径运动。
S616,获取机器人在环境地图中当前的位置坐标和前进方向。
S618,从环境地图中的当前的位置坐标起,确定沿前进方向与环境地图中的障碍物图形之间的第一距离。
S620,当第一距离小于或等于减速距离阈值时,降低机器人的速度;减速距离阈值大于转向距离阈值。
S622,当第一距离小于或等于转向距离阈值时,分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离。
S624,朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。。
S626,从环境地图中的当前的位置坐标起,确定沿机器人的侧方与环境地图中的障碍物图形之间的第二距离。
S628,调整机器人的前进方向,使得第二距离保持为目标距离。
S630,在机器人保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
S632,记录机器人的历史位置和相对应的历史前进方向。
S634,获取机器人的当前位置和当前的前进方向。
S636,当当前位置与历史位置匹配、且当前的前进方向与历史前进方向匹配或者反向匹配时,控制机器人朝远离障碍物的方向运动。
S638,根据匹配的历史位置更新目标区域中的障碍物信息和已工作区域,并返回步骤S610。
其中,当上述机器人为清洁机器人时,已工作区域为已清洁区域。
上述机器人控制方法,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
图6为一个实施例中机器人控制方法的流程示意图。应该理解的是,虽然图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了一种机器人控制装置700,包括获取模块701、调整模块702。
获取模块701,用于沿机器人当前的前进方向,获取机器人与障碍物的第一距离;
调整模块702,用于当第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方;
获取模块701还用于沿机器人的侧方,获取机器人与障碍物的第二距离;
调整模块702还用于调整机器人的前进方向,使得第二距离保持为目标距离。
上述机器人控制装置,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
图8为另一个实施例中机器人控制装置700的结构框图,参照图8,该机器人控制装置700还包括减速模块703。
减速模块703,用于当第一距离小于或等于减速距离阈值时,降低机器人的速度;减速距离阈值大于转向距离阈值。
上述实施例中,机器人通过判断第一距离和减速距离阈值的大小,当第一距离小于或等于减速距离阈值时,减小机器人的前进速度。使得机器人在碰到障碍物前提前减速,防止对障碍物进行碰撞损坏,可有效的保障机器人自身和障碍物的安全。
在一个实施例中,调整模块702还用于当所述机器人未进入沿障碍物行走模式,且所述第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式,分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离;朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
上述实施例中,当机器人未进入沿障碍物行走模式,且第一距离小于或等于转向距离阈值时,可进入沿障碍物行走模式。通过获取机器人的前进方向两侧的侧前方向的障碍物与机器人的距离,朝较大的距离对应的侧前方向调整机器人的前进方向,可使得机器人有效的躲避障碍物。调整机器人的前进方向使得障碍物位于机器人的侧方,减小了在机器人继续前进的过程中障碍物再次出现在机器人的前进方向中的可能性,进一步提高了机器人的避障能力。
在一个实施例中,调整模块702还用于在机器人保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
上述实施例中,在机器人在保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,可调整第二距离至目标距离,使得机器人继续保持第二距离为目标距离运动,能提高机器人沿障碍物行走的准确性。
图9为又一个实施例中机器人控制装置700的结构框图,参照图9,该机器人控制装置700还包括记录模块704、控制模块705。
记录模块704,用于记录机器人的历史位置和相对应的历史前进方向。
获取模块701还用于获取机器人的当前位置和当前的前进方向。
控制模块705,用于当当前位置与历史位置匹配、且当前的前进方向与历史前进方向匹配或者反向匹配时,控制机器人朝远离障碍物的方向运动。
上述实施例中,通过判断机器人的当前位置与历史位置是否匹配、当前的前进方向与历史前进方向是否匹配或者反向匹配,来确定机器人在该位置处是否执行过相似的前进动作。当机器人在该位置处执行过相似的前进动作时,控制机器人朝远离该障碍物的方向运动,此时机器人退出沿障碍物行走模式,可有效地避免机器人在运动过程中进入循环路径,提高了机器人的运动效率。
在一个实施例中,获取模块701还用于获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和前进方向;从环境地图中的位置坐标起,确定沿前进方向与环境地图中的障碍物图形之间的第一距离。
上述实施例中,机器人可通过当前环境的环境地图,直接确定机器人的当前位置与沿机器人前进方向中的障碍物之间的第一距离,避免了由于传感器的检测范围或精度有限,在实时检测过程中产生的障碍物漏检或检测不准确的问题,进一步提高了机器人的避障能力。
在一个实施例中,获取模块701还用于获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和机器人的侧方;从环境地图中的当前的位置坐标起,确定沿机器人的侧方与环境地图中的障碍物图形之间的第二距离。
上述实施例中,机器人可通过当前环境的环境地图,直接确定机器人的当前位置与沿机器人的侧方的障碍物之间的第二距离,避免了由于传感器的检测范围或精度有限,在实时检测过程中产生的障碍物检测不准确的问题,提高了机器人沿障碍物行走的准确率。
图10为再一个实施例中机器人控制装置700的结构框图,参照图10,该机器人控制装置700还包括生成模块706、建立模块707。
生成模块706,用于生成空白地图。
建立模块707,用于以空白地图中的预设位置为坐标原点建立坐标系。
获取模块701还用于获取机器人所处环境中的障碍物信息。
生成模块706还用于根据障碍物信息和坐标系,在空白地图中生成障碍物图形,得到环境地图。
上述实施例中,通过将机器人的初始位置配置为坐标原点,根据障碍物到机器人的相对位置和相对方向对应在空白地图中生成障碍物图形,可快速且准确的实现环境地图的构建。
图11为还一个实施例中机器人控制装置700的结构框图,参照图11,该机器人控制装置700还包括规划模块708。
获取模块701还用于获取机器人在环境地图中的目标区域和当前位置坐标。
规划模块708,用于从当前位置坐标起,遍历目标区域中的无障碍物区域以规划运动路径。
控制模块705还用于控制机器人沿运动路径运动。
上述实施例中,可根据机器人在环境地图中的目标区域和当前位置坐标,规划运动路径,使得机器人沿该运动路径运动时能遍历目标区域中的无障碍物区域。这样通过环境地图来规划机器人的运动路径可提高机器人的运动效率。
图12示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的机器人。如图12所示,该计算机设备包括通过系统总线连接的处理器、存储器、传感器和运动装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现机器人控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行机器人控制方法。计算机设备的传感器用于探测机器人所处的外部环境信息,可以是激光雷达、深度相机、红外测距、超声波IMU、里程计等单个或多个传感器。运动装置,用于当计算机程序被处理器执行时,接收处理器的控制指令,按照控制指令动作。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的机器人的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的机器人控制装置700可以实现为一种计算机程序的形式,计算机程序可在如图12所示的计算机设备上运行。计算机设备的存储器中可存储组成该机器人控制装置700的各个程序模块,比如,图7所示的获取模块701、调整模块702。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的机器人控制方法中的步骤。
例如,图12所示的计算机设备可以通过如图7所示的机器人控制装置中的获取模块701执行步骤S202和S206。计算机设备可通过调整模块702执行步骤S204和S208。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:沿机器人当前的前进方向,获取机器人与障碍物的第一距离;当第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方;沿机器人的侧方,获取机器人与障碍物的第二距离;调整机器人的前进方向,使得第二距离保持为目标距离。
在一个实施例中,计算机程序使得处理器在执行获取机器人与障碍物的第一距离之后还执行以下步骤:当第一距离小于或等于减速距离阈值时,降低机器人的速度;减速距离阈值大于转向距离阈值。
在一个实施例中,计算机程序使得处理器在执行当所述第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方时具体执行以下步骤:当所述机器人未进入沿障碍物行走模式,且所述第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式,分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离;朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
在一个实施例中,计算机程序使得处理器还执行以下步骤:在机器人保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
在一个实施例中,计算机程序使得处理器还执行以下步骤:记录机器人的历史位置和相对应的历史前进方向;获取机器人的当前位置和当前的前进方向;当当前位置与历史位置匹配、且当前的前进方向与历史前进方向匹配或者反向匹配时,控制机器人朝远离障碍物的方向运动。
在一个实施例中,计算机程序使得处理器在执行沿机器人当前的前进方向,获取机器人与障碍物的第一距离时具体执行以下步骤:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和前进方向;从环境地图中的位置坐标起,确定沿前进方向与环境地图中的障碍物图形之间的第一距离。
在一个实施例中,计算机程序使得处理器在执行沿机器人的侧方,获取机器人与障碍物的第二距离时具体执行以下步骤:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和机器人的侧方;从环境地图中的当前的位置坐标起,确定沿机器人的侧方与环境地图中的障碍物图形之间的第二距离。
在一个实施例中,计算机程序使得处理器还执行以下步骤:生成空白地图;以空白地图中的预设位置为坐标原点建立坐标系;获取机器人所处环境中的障碍物信息;根据障碍物信息和坐标系,在空白地图中生成障碍物图形,得到环境地图。
在一个实施例中,计算机程序使得处理器还执行以下步骤:获取机器人在环境地图中的目标区域和当前位置坐标;从当前位置坐标起,遍历目标区域中的无障碍物区域以规划运动路径;控制机器人沿运动路径运动。
上述计算机设备,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:沿机器人当前的前进方向,获取机器人与障碍物的第一距离;当第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方;沿机器人的侧方,获取机器人与障碍物的第二距离;调整机器人的前进方向,使得第二距离保持为目标距离。
在一个实施例中,计算机程序使得处理器在执行获取机器人与障碍物的第一距离之后还执行以下步骤:当第一距离小于或等于减速距离阈值时,降低机器人的速度;减速距离阈值大于转向距离阈值。
在一个实施例中,计算机程序使得处理器在执行当所述第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方时具体执行以下步骤:当所述机器人未进入沿障碍物行走模式,且所述第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式,分别沿机器人的前进方向两侧的侧前方向,获取机器人与障碍物的距离;朝较大的距离对应的侧前方向调整机器人的前进方向,使得障碍物位于机器人的侧方。
在一个实施例中,计算机程序使得处理器还执行以下步骤:在机器人保持第二距离为目标距离运动的过程中,当第二距离满足距离突变条件时,则朝侧方调整机器人的前进方向,使得机器人沿调整后的侧方获得的第二距离为目标距离并继续保持。
在一个实施例中,计算机程序使得处理器还执行以下步骤:记录机器人的历史位置和相对应的历史前进方向;获取机器人的当前位置和当前的前进方向;当当前位置与历史位置匹配、且当前的前进方向与历史前进方向匹配或者反向匹配时,控制机器人朝远离障碍物的方向运动。
在一个实施例中,计算机程序使得处理器在执行沿机器人当前的前进方向,获取机器人与障碍物的第一距离时具体执行以下步骤:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和前进方向;从环境地图中的位置坐标起,确定沿前进方向与环境地图中的障碍物图形之间的第一距离。
在一个实施例中,计算机程序使得处理器在执行沿机器人的侧方,获取机器人与障碍物的第二距离时具体执行以下步骤:获取当前环境的环境地图;获取机器人在环境地图中当前的位置坐标和机器人的侧方;从环境地图中的当前的位置坐标起,确定沿机器人的侧方与环境地图中的障碍物图形之间的第二距离。
在一个实施例中,计算机程序使得处理器还执行以下步骤:生成空白地图;以空白地图中的预设位置为坐标原点建立坐标系;获取机器人所处环境中的障碍物信息;根据障碍物信息和坐标系,在空白地图中生成障碍物图形,得到环境地图。
在一个实施例中,计算机程序使得处理器还执行以下步骤:获取机器人在环境地图中的目标区域和当前位置坐标;从当前位置坐标起,遍历目标区域中的无障碍物区域以规划运动路径;控制机器人沿运动路径运动。
上述计算机可读存储介质,当沿机器人当前的前进方向中的障碍物到机器人的第一距离小于或等于转向距离阈值时,调整机器人的前进方向,使得障碍物位于机器人的侧方,可直接有效地躲避在前进方向中可能会碰到的障碍物。在机器人前进过程中,通过调整机器人的前进方向使得机器人侧方和障碍物保持一定距离,可有效地避免在前进过程中和障碍物发生碰撞的情况,并实现了机器人沿障碍物行走,提高了机器人的避障能力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种机器人控制方法,所述方法包括:
沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离;
当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方;
沿机器人的侧方,获取所述机器人与所述障碍物的第二距离;
调整所述机器人的前进方向,使得所述第二距离保持为目标距离。
2.根据权利要求1所述的方法,其特征在于,所述获取所述机器人与障碍物的第一距离之后,所述方法还包括:
当所述第一距离小于或等于减速距离阈值时,降低所述机器人的速度;所述减速距离阈值大于所述转向距离阈值。
3.根据权利要求1所述的方法,其特征在于,所述当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方,包括:
当所述机器人未进入沿障碍物行走模式,且所述第一距离小于或等于转向距离阈值时,进入沿障碍物行走模式,分别沿所述机器人的前进方向两侧的侧前方向,获取所述机器人与障碍物的距离;
朝较大的距离对应的侧前方向调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述机器人保持所述第二距离为目标距离运动的过程中,当所述第二距离满足距离突变条件时,则
朝所述侧方调整所述机器人的前进方向,使得所述机器人沿调整后的侧方获得的所述第二距离为目标距离并继续保持。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
记录所述机器人的历史位置和相对应的历史前进方向;
获取所述机器人的当前位置和当前的前进方向;
当所述当前位置与所述历史位置匹配、且当前的前进方向与所述历史前进方向匹配或者反向匹配时,控制所述机器人朝远离所述障碍物的方向运动。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离,包括:
获取当前环境的环境地图;
获取所述机器人在所述环境地图中当前的位置坐标和前进方向;
从所述环境地图中的所述位置坐标起,确定沿所述前进方向与所述环境地图中的障碍物图形之间的第一距离。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述沿机器人的侧方,获取所述机器人与所述障碍物的第二距离,包括:
获取当前环境的环境地图;
获取所述机器人在所述环境地图中当前的位置坐标和机器人的侧方;
从所述环境地图中的当前的位置坐标起,确定沿所述机器人的侧方与所述环境地图中的障碍物图形之间的第二距离。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
生成空白地图;
以空白地图中的预设位置为坐标原点建立坐标系;
获取所述机器人所处环境中的障碍物信息;
根据所述障碍物信息和所述坐标系,在所述空白地图中生成障碍物图形,得到环境地图。
9.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
获取所述机器人在所述环境地图中的目标区域和当前位置坐标;
从所述当前位置坐标起,遍历所述目标区域中的无障碍物区域以规划运动路径;
控制所述机器人沿所述运动路径运动。
10.一种机器人控制装置,所述装置包括:
获取模块,用于沿机器人当前的前进方向,获取所述机器人与障碍物的第一距离;
调整模块,用于当所述第一距离小于或等于转向距离阈值时,调整所述机器人的前进方向,使得所述障碍物位于所述机器人的侧方;
所述获取模块还用于沿机器人的侧方,获取所述机器人与所述障碍物的第二距离;
所述调整模块还用于调整所述机器人的前进方向,使得所述第二距离保持为目标距离。
11.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711057600.1A CN108227523B (zh) | 2017-11-01 | 2017-11-01 | 机器人控制方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711057600.1A CN108227523B (zh) | 2017-11-01 | 2017-11-01 | 机器人控制方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108227523A true CN108227523A (zh) | 2018-06-29 |
CN108227523B CN108227523B (zh) | 2020-01-07 |
Family
ID=62654983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711057600.1A Active CN108227523B (zh) | 2017-11-01 | 2017-11-01 | 机器人控制方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108227523B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628319A (zh) * | 2018-07-04 | 2018-10-09 | 马书翠 | 一种扫地机器人智能避障系统 |
CN108919806A (zh) * | 2018-07-13 | 2018-11-30 | 杭州国辰机器人科技有限公司 | 一种基于多传感器数据融合的室外自主避障方法 |
CN109445442A (zh) * | 2018-12-17 | 2019-03-08 | 中新智擎科技有限公司 | 一种机器人避障控制方法、装置、存储介质及机器人 |
CN110014437A (zh) * | 2019-05-09 | 2019-07-16 | 广东博智林机器人有限公司 | 喷涂机器人及控制方法和控制装置、计算机可读存储介质 |
CN110187709A (zh) * | 2019-06-11 | 2019-08-30 | 北京百度网讯科技有限公司 | 行驶处理方法、设备和存储介质 |
CN110849366A (zh) * | 2018-08-20 | 2020-02-28 | 广州弘度信息科技有限公司 | 一种基于视觉和激光雷达融合的导航方法及系统 |
CN111358370A (zh) * | 2020-03-18 | 2020-07-03 | 五邑大学 | 一种扫地机器人及其行走方法 |
CN111443692A (zh) * | 2018-12-27 | 2020-07-24 | 北京奇虎科技有限公司 | 机器人避障处理方法、电子设备及计算机可读存储介质 |
CN112506189A (zh) * | 2020-11-19 | 2021-03-16 | 深圳优地科技有限公司 | 一种控制机器人移动的方法 |
US20210274356A1 (en) * | 2020-02-27 | 2021-09-02 | At&T Intellectual Property I, L.P. | Creating and Using Network Coverage Models |
CN113495551A (zh) * | 2020-03-18 | 2021-10-12 | 北京猎户星空科技有限公司 | 一种机器人控制方法、装置、电子设备及存储介质 |
CN113703437A (zh) * | 2021-04-15 | 2021-11-26 | 北京石头世纪科技股份有限公司 | 机器人避障方法及装置、机器人、存储介质、电子设备 |
CN114594761A (zh) * | 2022-01-05 | 2022-06-07 | 美的集团(上海)有限公司 | 机器人的路径规划方法、电子设备及计算机可读存储介质 |
WO2022262718A1 (zh) * | 2021-06-17 | 2022-12-22 | 苏州宝时得电动工具有限公司 | 自移动设备及躲避障碍的控制方法、存储介质 |
CN116804763A (zh) * | 2023-06-25 | 2023-09-26 | 深圳市普渡科技有限公司 | 障碍物判断方法、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022274A (zh) * | 2016-05-24 | 2016-10-12 | 零度智控(北京)智能科技有限公司 | 一种避障方法、避障装置及无人驾驶机器 |
CN106272425A (zh) * | 2016-09-07 | 2017-01-04 | 上海木爷机器人技术有限公司 | 避障方法及机器人 |
CN106527424A (zh) * | 2016-09-20 | 2017-03-22 | 深圳市银星智能科技股份有限公司 | 移动机器人及移动机器人的导航方法 |
CN106598054A (zh) * | 2017-01-16 | 2017-04-26 | 深圳优地科技有限公司 | 机器人路径调整方法及装置 |
CN106855411A (zh) * | 2017-01-10 | 2017-06-16 | 深圳市极思维智能科技有限公司 | 一种机器人及其以深度摄像头和避障系统构建地图的方法 |
CN106974593A (zh) * | 2017-05-12 | 2017-07-25 | 深圳星鸿云科技有限公司 | 一种清洁机器人避障系统及方法 |
CN107179083A (zh) * | 2017-07-25 | 2017-09-19 | 中央民族大学 | 智能机器人路径规划方法以及系统 |
-
2017
- 2017-11-01 CN CN201711057600.1A patent/CN108227523B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022274A (zh) * | 2016-05-24 | 2016-10-12 | 零度智控(北京)智能科技有限公司 | 一种避障方法、避障装置及无人驾驶机器 |
CN106272425A (zh) * | 2016-09-07 | 2017-01-04 | 上海木爷机器人技术有限公司 | 避障方法及机器人 |
CN106527424A (zh) * | 2016-09-20 | 2017-03-22 | 深圳市银星智能科技股份有限公司 | 移动机器人及移动机器人的导航方法 |
CN106855411A (zh) * | 2017-01-10 | 2017-06-16 | 深圳市极思维智能科技有限公司 | 一种机器人及其以深度摄像头和避障系统构建地图的方法 |
CN106598054A (zh) * | 2017-01-16 | 2017-04-26 | 深圳优地科技有限公司 | 机器人路径调整方法及装置 |
CN106974593A (zh) * | 2017-05-12 | 2017-07-25 | 深圳星鸿云科技有限公司 | 一种清洁机器人避障系统及方法 |
CN107179083A (zh) * | 2017-07-25 | 2017-09-19 | 中央民族大学 | 智能机器人路径规划方法以及系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108628319A (zh) * | 2018-07-04 | 2018-10-09 | 马书翠 | 一种扫地机器人智能避障系统 |
CN108628319B (zh) * | 2018-07-04 | 2021-10-19 | 山东鹏耀智佳精密工业有限公司 | 一种扫地机器人智能避障系统 |
CN108919806A (zh) * | 2018-07-13 | 2018-11-30 | 杭州国辰机器人科技有限公司 | 一种基于多传感器数据融合的室外自主避障方法 |
CN110849366A (zh) * | 2018-08-20 | 2020-02-28 | 广州弘度信息科技有限公司 | 一种基于视觉和激光雷达融合的导航方法及系统 |
CN109445442A (zh) * | 2018-12-17 | 2019-03-08 | 中新智擎科技有限公司 | 一种机器人避障控制方法、装置、存储介质及机器人 |
CN111443692A (zh) * | 2018-12-27 | 2020-07-24 | 北京奇虎科技有限公司 | 机器人避障处理方法、电子设备及计算机可读存储介质 |
CN110014437A (zh) * | 2019-05-09 | 2019-07-16 | 广东博智林机器人有限公司 | 喷涂机器人及控制方法和控制装置、计算机可读存储介质 |
CN110187709A (zh) * | 2019-06-11 | 2019-08-30 | 北京百度网讯科技有限公司 | 行驶处理方法、设备和存储介质 |
US20210274356A1 (en) * | 2020-02-27 | 2021-09-02 | At&T Intellectual Property I, L.P. | Creating and Using Network Coverage Models |
CN113495551B (zh) * | 2020-03-18 | 2024-03-19 | 北京猎户星空科技有限公司 | 一种机器人控制方法、装置、电子设备及存储介质 |
CN111358370A (zh) * | 2020-03-18 | 2020-07-03 | 五邑大学 | 一种扫地机器人及其行走方法 |
CN113495551A (zh) * | 2020-03-18 | 2021-10-12 | 北京猎户星空科技有限公司 | 一种机器人控制方法、装置、电子设备及存储介质 |
CN112506189A (zh) * | 2020-11-19 | 2021-03-16 | 深圳优地科技有限公司 | 一种控制机器人移动的方法 |
CN113703437A (zh) * | 2021-04-15 | 2021-11-26 | 北京石头世纪科技股份有限公司 | 机器人避障方法及装置、机器人、存储介质、电子设备 |
WO2022262718A1 (zh) * | 2021-06-17 | 2022-12-22 | 苏州宝时得电动工具有限公司 | 自移动设备及躲避障碍的控制方法、存储介质 |
CN114594761A (zh) * | 2022-01-05 | 2022-06-07 | 美的集团(上海)有限公司 | 机器人的路径规划方法、电子设备及计算机可读存储介质 |
CN116804763A (zh) * | 2023-06-25 | 2023-09-26 | 深圳市普渡科技有限公司 | 障碍物判断方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108227523B (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108227523A (zh) | 机器人控制方法、装置、存储介质和计算机设备 | |
KR102403504B1 (ko) | 이동 로봇 및 그 제어 방법 | |
CN110488811B (zh) | 一种基于社交网络模型的机器人对行人轨迹预测的方法 | |
CN112740274B (zh) | 在机器人设备上使用光流传感器进行vslam比例估计的系统和方法 | |
CN108475059A (zh) | 自主视觉导航 | |
Lategahn et al. | Occupancy grid computation from dense stereo and sparse structure and motion points for automotive applications | |
CN110488818B (zh) | 一种基于激光雷达的机器人定位方法、装置和机器人 | |
Wei et al. | Multi-sensor fusion glass detection for robot navigation and mapping | |
CN108007451A (zh) | 货物承载装置位姿的检测方法、装置、计算机设备和存储介质 | |
CN117970925A (zh) | 机器人实时避障与动态路径规划方法及系统 | |
CN109895100B (zh) | 一种导航地图的生成方法、装置及机器人 | |
JP4530996B2 (ja) | 移動ロボット | |
EP4208763A1 (en) | Method of operating a mobile device | |
CN116576857A (zh) | 一种基于单线激光雷达的多障碍物预测导航避障方法 | |
CN109375629A (zh) | 一种巡逻车及其导航避障方法 | |
CN114998276B (zh) | 一种基于三维点云的机器人动态障碍物实时检测方法 | |
CN107421538A (zh) | 导航系统及导航方法 | |
CN113064430A (zh) | 一种基于Android手机的质量巡检小车避障及路径规划算法 | |
Na et al. | Fusion of multiple 2D LiDAR and RADAR for object detection and tracking in all directions | |
CN211427151U (zh) | 一种应用于封闭场地无人驾驶货运车辆上的自动引导系统 | |
CN114211512B (zh) | 一种隧道衬砌检测攀爬机器人整面回形巡检方法 | |
Golnabi | Role of laser sensor systems in automation and flexible manufacturing | |
CN114212106B (zh) | 一种车辆的可行驶区域内安全概率的确定方法及装置 | |
Chen et al. | Multiple-object tracking based on monocular camera and 3-D lidar fusion for autonomous vehicles | |
Sun et al. | Detection and state estimation of moving objects on a moving base for indoor navigation |
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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 518000 room 1601, building 2, Vanke Cloud City phase 6, Tongfa South Road, Xili community, Xili street, Nanshan District, Shenzhen City, Guangdong Province (16th floor, block a, building 6, Shenzhen International Innovation Valley) Patentee after: Shenzhen Ledong robot Co.,Ltd. Address before: 518000 16th floor, building B1, Nanshan wisdom garden, 1001 Xueyuan Avenue, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN LD ROBOT Co.,Ltd. |