CN111258320B - 一种机器人避障的方法及装置、机器人、可读存储介质 - Google Patents
一种机器人避障的方法及装置、机器人、可读存储介质 Download PDFInfo
- Publication number
- CN111258320B CN111258320B CN202010094992.4A CN202010094992A CN111258320B CN 111258320 B CN111258320 B CN 111258320B CN 202010094992 A CN202010094992 A CN 202010094992A CN 111258320 B CN111258320 B CN 111258320B
- Authority
- CN
- China
- Prior art keywords
- scanning
- obstacle avoidance
- data
- determining
- robot
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims description 17
- 238000001914 filtration Methods 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
- G05D1/024—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Optics & Photonics (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请提供一种机器人避障的方法及装置、机器人、可读存储介质。机器人避障的方法包括:获取与作业环境对应的用于导航的代价地图;获取激光雷达的扫描数据;所述扫描数据对应所述激光雷达扫描到的与障碍物对应的扫描点;根据所述扫描数据和预设的离线地图对所述扫描点进行定位,得到所述扫描点的定位数据;根据所述定位数据得到所述扫描点在所述代价地图的坐标系下的位置数据;根据所述位置数据确定避障策略。该方法提高了机器人避障的稳定性。
Description
技术领域
本申请涉及机器人技术领域,具体而言,涉及一种机器人避障的方法及装置、机器人、可读存储介质。
背景技术
在机器人的导航过程中,经常会出现有障碍物存在的情况,因而机器人的避障对于机器人的正常运作比较重要。
传统使用2D激光雷达的避障方法,利用激光雷达实时获取移动机器人周围的环境信息,激光雷达数据记录了一段时间内激光雷达在各个方向上的障碍物的距离。避障控制器利用激光雷达的数据,判断障碍物是否在机器人的安全区域,进而进行避障。
但是在实际情况中,由于机器人的作业环境的不同,在某些作业环境下,并不能通过雷达数据和安全区域决定是否进行避障,例如:有些建筑机器人需要沿墙壁作业,只要障碍物离墙壁较近,就会导致系统判断障碍物距离机器人的距离近,但实际上机器人可能并不会与障碍物碰撞,会迫使机器人立即紧急制动,从而导致导航和作业无法完成。
因此,现有的避障方法并不能准确的决策机器人的避障策略,避障稳定性较差。
发明内容
本申请实施例的目的在于提供一种机器人避障的方法及装置、机器人、可读存储介质,用以提高机器人避障的稳定性。
第一方面,本申请实施例提供一种机器人避障的方法,包括:获取与作业环境对应的用于导航的代价地图;获取激光雷达的扫描数据;所述扫描数据对应所述激光雷达扫描到的与障碍物对应的扫描点;根据所述扫描数据和预设的离线地图对所述扫描点进行定位,得到所述扫描点的定位数据;根据所述定位数据得到所述扫描点在所述代价地图的坐标系下的位置数据;根据所述位置数据确定避障策略。
在本申请实施例中,获取与作业环境对应的用于导航的代价地图,将激光雷达的扫描数据转化的定位数据转化为在代价地图的坐标系下的位置数据,再根据位置数据确定避障策略。与现有技术相比,利用需要作业的环境所对应的代价地图,在机器人进行导航时,将实时激光扫描的点转化为与代价地图坐标系下的数据,最终根据代价地图坐标系下的位置数据确定的避障策略,使避障策略能够考虑到作业环境的影响,更贴合机器人实际的作业情况,进而提高机器人避障的稳定性。
作为一种可能的实现方式,获取激光雷达的扫描数据,包括:获取激光雷达的初始扫描数据;对所述初始扫描数据进行滤波处理,以滤去所述初始扫描数据中的所述激光雷达自身的噪点以及外部干扰所产生的扫描点,得到所述扫描数据。
在本申请实施例中,在获取到初始扫描数据后,进行滤波处理,滤去激光雷达自身的噪点以及外部干扰所产生的扫描点,能够减少后续过程中的计算量,并减少对无障碍物的地方的误判。
作为一种可能的实现方式,根据所述位置数据确定避障策略,包括:根据所述位置数据判断所述扫描点是否属于所述代价地图;若所述扫描点属于所述代价地图,获取在所述作业环境下的预设的规划路径;根据所述预设的规划路径确定所述避障策略。
在本申请实施例中,在根据位置数据确定避障策略时,可以判断扫描点是否属于代价地图,若属于代价地图,说明障碍物在作业环境中,但是即便在作业环境中,也需要根据预设的规划路径,来确定避障策略,预设的规划路径可以代表在作业环境中的具体作业方式,根据具体的作业方式来确定避障策略,避免错误避障导致的导航或者作业无法完成的情况,进一步提高避障决策的稳定性。
作为一种可能的实现方式,根据所述位置数据判断所述扫描点是否属于所述代价地图,包括:根据所述位置数据查找在所述代价地图中与所述扫描点最近的占据点;计算所述最近的占据点与所述扫描点之间的距离,根据所述距离确定所述扫描点的得分;根据所述扫描点的得分和预设的限定值判断所述扫描点是否属于所述地图。
在本申请实施例中,在判断扫描点是否属于代价地图时,可以先确定与扫描点最近的占据点,然后再根据最近的占据点与扫描点之间的距离来确定扫描点的得分,进而再根据得分判断扫描点是否属于地图,整个判断过程简单,计算量小,提高扫描点判断的效率。
作为一种可能的实现方式,根据所述预设的规划路径确定所述避障策略,包括:若所述预设的规划路径为沿所述代价地图边缘行进,确定当前位置与所述扫描点之间的距离;若当前位置与所述扫描点之间的距离小于预设值,确定当前进行制动;若当前位置与所述扫描点之间的距离大于所述预设值,确定当前不进行制动。
在本申请实施例中,当预设的规划路径为沿代价地图边缘行进时,只有与扫描点之间的距离满足距离的预设值条件时,才进行制动,进而可以避免对导航和作业的影响。
作为一种可能的实现方式,所述方法还包括:若所述扫描点不属于所述代价地图,获取避障区域;根据所述位置数据和所述避障区域确定避障策略。
在本申请实施例中,当扫描点不属于地图时,就可以不考虑作业环境的影响,直接根据避障区域来确定避障策略。
作为一种可能的实现方式,所述避障区域包括:安全区域、减速区域和制动区域,根据所述位置数据和所述避障区域确定避障策略,包括:若所述扫描点属于所述安全区域,确定当前不进行制动;若所述扫描点属于所述减速区域,确定当前进行减速;若所述扫描点属于所述制动区域,确定当前进行制动。
在本申请实施例中,设置三层避障区域,采取不同的避障策略,提高避障的稳定性。
作为一种可能的实现方式,获取避障区域,包括:以所述激光雷达为中心,确定所述避障区域的形状,并根据实时的行进速度确定所述避障区域的大小。
在本申请实施例中,在确定避障区域时,可以对避障区域的形状和大小分别进行设置,以设计出不同形状和大小的避障区域。
第二方面,本申请实施例提供一种机器人避障的装置,所述装置包括用于实现第一方面以及第一方面任意一种可能的实现方式中所述的方法的功能模块。
第三方面,本申请实施例提供一种机器人,包括:机器人本体;设置在所述机器人本体内的处理器,与激光雷达连接;设置在所述机器人本体内的存储器,与所述处理器连接,用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行第一方面以及第一方面任意一种可能的实现方式中所述的方法。
第四方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时执行如第一方面以及第一方面任意一种可能的实现方式中所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的机器人避障的方法的流程图;
图2为本申请实施例提供的机器人避障的方法的实施流程示意图;
图3为本申请实施例提供的机器人避障的装置的功能模块结构框图。
图标:200-机器人避障的装置;201-获取模块;202-处理模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例所提供的机器人避障的方法可以应用于各种机器人的避障,例如:建筑机器人、服务机器人、水下机器人、娱乐机器人、军用机器人、农业机器人等机器人。这些机器人比较智能化,可以通过接收指令或者运行预先编写的程序,来执行各种动作,并且能够依靠自身动力和控制能力实现各种功能。以建筑机器人为例,建筑机器人作业在建筑工地中,例如腻子打磨机器人需要在距离墙壁很近的地方行走,以进行墙面打磨作业;例如地砖铺贴机器人需要全路径覆盖进行铺砖操作。这些机器人在作业时,都需要对周围动态及静态障碍物进行避障及路径规划。
基于上述应用场景,接下来请参照图1,为本申请实施例提供的机器人避障的方法的流程图,该方法包括:
步骤101:获取与作业环境对应的用于导航的代价地图。
步骤102:获取激光雷达的扫描数据。扫描数据对应激光雷达扫描到的与障碍物对应的扫描点。
步骤103:根据扫描数据和预设的离线地图对扫描点进行定位,得到扫描点的定位数据。
步骤104:根据定位数据得到扫描点在代价地图的坐标系下的位置数据。
步骤105:根据位置数据确定避障策略。
与现有技术相比,利用需要作业的环境所对应的代价地图,在机器人进行导航时,将实时激光扫描的点转化为与代价地图坐标系下的数据,最终根据代价地图坐标系下的位置数据确定的避障策略,使避障策略能够考虑到作业环境的影响,更贴合机器人实际的作业情况,进而提高机器人避障的稳定性。
接下来对步骤101-步骤105的实施流程作介绍。
在步骤101中,代价地图是用于导航的地图,且与作业环境是对应的。对于代价地图,可以通过栅格地图进行转换。因此,步骤101中,可以先建立导航所需要的与作业环境对应的栅格地图,然后将栅格地图转换为似然场模型可用的栅格地图,即代价地图。
其中,在建立与作业环境对应的栅格地图时,可以通过实时SLAM(SimultaneousLocalization And Mapping,同步定位与建图)算法来建立。SLAM也称为CML(ConcurrentMapping and Localization,即时定位与地图构建),或并发建图与定位。SLAM问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。对于SLAM2.0,其具备各方面的优点:有理解力的SLAM:语义SLAM,能够精准感知并适应环境,将语义分析与SLAM有效融合,增强机器人对环境中相互作用的理解能力,为机器人赋予了复杂环境感知力和动态场景适应力。有广度的SLAM:100万平米强大建图能力,借助高效的环境识别、智能分析技术,机器人将拥有室内外全场景范围高达100万平米的地图构建能力。有精度的SLAM:高精度定位领先算法,SLAM2.0可在任何地点进行开机识别、全局定位,精准度高达±2cm。有时效的SLAM:动态地图实时更新,根据传感器(如激光雷达)回传数据,与原有地图进行分析比对,完成动态实时更新,实现life-long(持续性的)SLAM。
进一步的,利用SLAM算法建立栅格地图后,可进行代价地图的转换:从建立地图的左下角开始计算出栅格地图中每个栅格的坐标值,并且设置地图对应栅格的状态:-1表示没有被占据,0表示不确定,+1表示被占据。
在步骤102中,对于激光雷达,无论是室外环境还是室内环境下运动的各种移动机器人都离不开距离探测,在有源测距仪中,激光雷达的精度相对较高,而且基本不受环境可见光变化的影响,激光雷达包括2D和3D两种类型,在本申请实施例中,采用2D激光雷达。激光雷达可以以固定的扫描周期扫描一个平面,得到对应的扫描数据。当激光雷达应用于机器人时,可以安装在机器人本体上,与其他传感器一起实现机器人对周围环境的感知。此外,在安装时,还可以根据机器人的作业环境来设置具体的安装位置,例如:对于较空旷的作业环境,激光雷达可以尽量装的高一些,使激光雷达的扫描视野更大,能得到的更多的扫描数据。再例如:对于远距离内检测小障碍,可以将激光雷达安装的低一些,安装位置越低,能够持续扫描到障碍物的时间越长,进而能更可靠的实现一个障碍物的跟踪。总之,结合机器人的作业环境,通过合理的设置,保证激光雷达尽可能的扫描到更多数据,确保避障的可靠性。
此外,激光雷达的扫描数据对应激光雷达扫描到的与障碍物对应的扫描点,可称为点云数据,点云数据是指扫描资料以点的形式记录,每个点包含有三维坐标,有些可能含有颜色信息或反射强度信息。其中,扫描点的数量可以是一个也可以是多个,数量不作限定,如果是一个,就针对单个扫描点进行处理,如果是多个,就针对多个扫描点分别作相同的处理。
为了减少数据的计算量和对无障碍物的地方的误判,作为一种可选的实施方式,步骤102包括:获取激光雷达的初始扫描数据;对初始扫描数据进行滤波处理,以滤去初始扫描数据中的激光雷达自身的噪点以及外部干扰所产生的扫描点,得到扫描数据。
在这种实施方式中,对激光雷达的原始数据进行滤波处理,具体可通过采用Radius Outlier Removal算法(一种点云滤波算法)去除outlier(非障碍物),其中,滤波参数可设置为:滤波的搜索半径为10cm,临界点数为5个点,当然,也可根据实际情况调整滤波参数。
通过滤波处理,滤去激光雷达自身的噪点以及外部干扰所产生的扫描点,能够减少后续过程中的计算量,并减少对无障碍物的地方的误判。
进一步的,在步骤103中,基于步骤102得到的扫描数据,以及预设的离线地图对扫描点进行定位。在这个过程中,还可以先将激光雷达的数据格式从sensor_msgs::LaserScan转化为pcl::PointCloud<pcl::PointXYZ>,即将点云数据从极坐标系的格式转化为笛卡尔坐标系的格式。在对扫描点进行定位时,先进行机器人自身的定位,可以通过定位匹配算法将处理后的扫描数据与加载的离线地图进行匹配,当激光束与地图匹配完好时,代表定位成功。离线地图是指使用激光雷达通过SLAM算法建立周围环境地图,并将地图保存,称为离线地图。当机器人处在未知环境中,将事先建立好的离线地图加载进去,通过实时的激光扫描数据与地图相匹配,就可以完成机器人的定位。
在完成机器人的定位后,就可以根据机器人的定位结果,以及激光雷达与机器人中心之间的位置关系T=(R|t),推算出激光雷达在代价地图中的位置p=(x,y,θ)以及激光雷达的每个扫描点的极坐标进而完成每个扫描点的定位,其中的定位数据指激光雷达的扫描点的极坐标。
进一步的,在得到扫描点的定位数据后,可以执行步骤104,即根据定位数据得到位置数据,相当于将得到的坐标数据转化为代价地图的坐标系下的坐标数据,假设扫描点的定位坐标为:激光雷达在代价地图中的位置为p=(x,y,θ),转化后的坐标(xmap,ymap)可表示为:/>
进一步的,在步骤104后,执行步骤105,可以根据位置数据来确定避障策略。作为一种可选的实施方式,步骤105包括:根据位置数据判断扫描点是否属于所述代价地图;若扫描点属于代价地图,获取在作业环境下的预设的规划路径;根据预设的规划路径确定所述避障策略。
在这种实施方式中,需要先判断扫描点是否属于代价地图,该判断过程可以包括:根据位置数据查找在代价地图中与扫描点最近的占据点;计算最近的占据点与扫描点之间的距离,根据距离确定扫描点的得分;根据扫描点的得分和预设限定值判断扫描点是否属于所述代价地图。
其中,在代价地图中占据点的表示为1,因此,可以将扫描点的坐标与代价地图中的各个栅格中表示为1的占据点的坐标进行比较,与扫描点的坐标数据差距最小的占据点则为与扫描点最近的占据点。在确定该占据点后,可以计算扫描点与最近的占据点之间的欧式几何距离。对于欧式几何距离,又称欧几里得距离或欧几里得度量,是欧几里得空间中两点间“普通”(即直线)距离。使用这个距离,欧氏空间成为度量空间。具体的计算公式为:其中,ρ为点(x2,y2)(假设为最近的占据点)与点(x1,y1)(假设为扫描点)之间的欧式距离。在计算得到欧式距离后,可以将距离转化为扫描点的得分,并设置一个临界值(即距离的限定值),如果得分小于该临界值,说明扫描点属于代价地图,如果得分大于该临界值,说明扫描点不属于代价地图。其中,临界值可以为0.1,距离转化为得分可以根据预先设置的对应关系转化,例如距离值在某个范围内时,对应的得分是多少;也可以通过距离与得分的换算关系进行转换,例如得分在距离的基础上除以10。
在本申请实施例中,在判断扫描点是否属于代价地图时,可以先确定与扫描点最近的占据点,然后再根据最近的占据点与扫描点之间的距离来确定扫描点的得分,进而再根据得分判断扫描点是否属于地图,整个判断过程简单,计算量小,提高扫描点判断的效率。
进一步的,若判断扫描点属于代价地图,说明障碍物在作业环境中,但是即便在作业环境中,也需要根据预设的规划路径,来确定避障策略,预设的规划路径可以代表在作业环境中的具体作业方式,根据具体的作业方式来确定避障策略,避免错误避障导致的导航或者作业无法完成的情况,进一步提高避障决策的稳定性。
作为一种可选的实施方式,根据预设的规划路径确定避障策略,包括:若预设的规划路径为沿代价地图边缘行进,确定当前位置与扫描点之间的距离;若与扫描点之间的距离小于预设值,确定当前进行制动;若当前位置与扫描点之间的距离大于预设值,确定当前不进行制动。
其中,对于机器人的当前位置,可以理解,可通过前述实施例中所介绍的机器人自身定位实现。
在这种实施方式中,对应前述实施例中所描述的建筑机器人为沿墙壁进行作业的情况。可以理解,当建筑机器人沿墙壁作业时,整个作业环境所对应的地图以墙壁为边缘,当与扫描点之间的距离值不是特别小的时候,都不需要进行紧急制动,可以避免导航或者作业无法完成。只有当距离非常小时,才采取制动措施。因此,其中的预设值是一个较小的值,例如0.1m。另外,当不采取制动时,如果距离值比较近的话,也可以进行减速,比如0.1-1之间的距离值时,不采取制动,但是进行减速。
当然,还有其他作业情况,例如前述实施例中描述的全面覆盖的贴砖铺砖作业情况,此时,若判断障碍物(扫描点)属于代价地图,需要进行制动。在实际应用中,可以根据具体的机器人的作业环境对扫描点属于代价地图的避障策略进行调整。
除了障碍物属于地图的情况,还有障碍物不属于地图的情况,因此,该方法还包括:若扫描点不属于所述代价地图,获取避障区域;根据位置数据和避障区域确定避障策略。在这种情况下,需要根据位置数据和避障区域来确定避障策略。作为一种可选的实施方式,避障区域包括:安全区域、减速区域和制动区域,根据位置数据和避障区域确定避障策略,包括:若扫描点属于所述安全区域,确定当前不进行制动;若扫描点属于减速区域,确定当前进行减速;若扫描点属于所述制动区域,确定当前进行制动。在这种实施方式中,设置了三层避障区域,只需要判断扫描点属于哪个避障区域,来选择对应的避障策略。可以理解,若障碍物属于安全区域可以代表障碍物距离机器人较远,此时可以不需要进行避障措施。若障碍物属于减速区域,代表障碍物距离机器人不是很远,但是危险性较小,此时可以通过减速来避障。若障碍物属于制动区域,代表障碍物距离机器人较近,需要进行紧急制动。
对于三层区域的确定方式,作为一种可选的实施方式,获取避障区域,包括:以激光雷达为中心,确定避障区域的形状,并根据实时的行进速度确定避障区域的大小。在这种实施方式中,相当于实时的确定避障区域。在确定时,分别确定每层避障区域的大小,三层区域设置原则一样,可以视场景以及机器人的运行速度而定,例如场景比较复杂且机器人运行速度较快,可以将这三种区域都设置大一些;但是当场景较空旷,且机器人低速运行,这三种区域可以设置小一些。原则是机器人速度越大,对应的避障区域也越大,例如设置避障区域大小:distance=2|v|。
对于避障区域的形状,假设(x,y)指的是以激光雷达为中心的坐标,比如第一层避障区域设为-0.1<x<0.1,-0.1<y<0.1那么第一层避障区域的形状就是以激光雷达为中心的0.1米边长的正方形;同时可以设计为圆形x*x+y*y<0.1等,即可以通过设计x与y之间的关系设计不同形状。
对于避障区域来说,还可以预先就进行确定,然后将确定好的避障区域进行存储,在需要时,直接获取即可。确定的方式与实时确定避障区域的方式相同,其中的速度可以采用在某个作业环境下机器人的通常速度。
在本申请实施例中,在确定避障区域时,可以对避障区域的形状和大小分别进行设置,以设计出不同形状和大小的避障区域。并且设置三层避障区域,采取不同的避障策略,提高避障的稳定性。
接下来请参考图2,为机器人避障的方法在实际应用中的一种实施流程示意图,在图2的流程中,先接收激光雷达数据和加载离线地图,然后第一部分是生成代价地图的过程,其中是否收到地图消息代表是否成功生成栅格地图;若生成成功,则可以计算地图中每个栅格的坐标,再生成对应的代价地图。若没有生成成功,则再次利用SLAM算法生成栅格地图。第二部分是扫描点的位置数据的确定,包括:利用定位匹配算法实现机器人的定位;以及对激光雷达的扫描数据的处理:先滤波处理,然后基于滤波处理后的数据和机器人的定位得到扫描点的定位数据;进而根据扫描点的定位数据确定扫描点在代价地图下的位置数据。然后再通过在代价地图下的位置数据判断障碍物是否属于代价地图,若属于代价地图,可以采取近距离开始减速或者在距离非常近的时候再进行制动。若不属于代价地图,则根据扫描点所属的避障区域确定避障策略。
基于同一发明构思,请参照图3,本申请实施例还提供一种机器人避障的装置200,包括:获取模块201和处理模块202。
获取模块201用于:获取与作业环境对应的用于导航的代价地图;获取激光雷达的扫描数据;所述扫描数据对应所述激光雷达扫描到的与障碍物对应的扫描点。处理模块202用于:根据所述扫描数据和预设的离线地图对所述扫描点进行定位,得到所述扫描点的定位数据;根据所述定位数据得到所述扫描点在所述代价地图的坐标系下的位置数据;根据所述位置数据确定避障策略。
可选的,获取模块201具体用于:获取激光雷达的初始扫描数据;对所述初始扫描数据进行滤波处理,以滤去所述初始扫描数据中的所述激光雷达自身的噪点以及外部干扰所产生的扫描点,得到所述扫描数据。
可选的,处理模块202具体用于:根据所述位置数据判断所述扫描点是否属于所述代价地图;若所述扫描点属于所述代价地图,获取在所述作业环境下的预设的规划路径;根据所述预设的规划路径确定所述避障策略。
可选的,处理模块202具体用于:根据所述位置数据查找在所述代价地图中与所述扫描点最近的占据点;计算所述最近的占据点与所述扫描点之间的距离,根据所述距离确定所述扫描点的得分;根据所述扫描点的得分和预设的限定值判断所述扫描点是否属于所述地图。
可选的,处理模块202具体用于:若所述预设的规划路径为沿所述代价地图边缘行进,确定当前位置与所述扫描点之间的距离;若当前位置与所述扫描点之间的距离小于预设值,确定当前进行制动;若当前位置与所述扫描点之间的距离大于所述预设值,确定当前不进行制动。
可选的,获取模块201还用于:若所述扫描点不属于所述代价地图,获取避障区域;处理模块202还用于:根据所述位置数据和所述避障区域确定避障策略。
可选的,处理模块202具体用于:若所述扫描点属于所述安全区域,确定当前不进行制动;若所述扫描点属于所述减速区域,确定当前进行减速;若所述扫描点属于所述制动区域,确定当前进行制动。
可选的,获取模块201具体用于:以所述激光雷达为中心,确定所述避障区域的形状,并根据实时的行进速度确定所述避障区域的大小。
前述实施例中的机器人避障的方法中的各实施方式和具体实例同样适用于图3的装置,通过前述对机器人避障的方法的详细描述,本领域技术人员可以清楚的知道图3中的机器人避障的装置200的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例中还提供一种机器人,包括机器人本体,设置在机器人本体内的处理器,处理器与激光雷达连接;设置在机器人本体内的存储器,与处理器连接。关于激光雷达在机器人上的安装方式,在前述实施例中已经介绍过,在此不再重复介绍。该处理器可以用于实现本申请实施例所提供的机器人避障的方法。
存储器可以存储各种软件程序以及模块,如本申请实施例提供的机器人避障的方法及装置对应的程序指令/模块。存储器还可以存储处理器在处理过程中需要调用的数据,如离线地图;如避障区域等。处理器通过运行存储在存储器中的软件程序以及模块和调用存储器中存储的相关数据,从而执行各种功能应用以及数据处理,即实现本申请实施例中的机器人避障的方法。例如:处理器通过运行存储在存储器中的软件程序,执行前述实施例中的步骤101-步骤105。
存储器可以包括但不限于RAM(Random Access Memory,随机存取存储器),ROM(Read Only Memory,只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除只读存储器),EEPROM(Electric Erasable Programmable Read-Only Memory,电可擦除只读存储器)等。
处理器可以是一种集成电路芯片,具有信号处理能力。可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
基于同一发明构思,本申请实施例还提供了一种可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时执行上述任一实施方式的机器人避障的方法中的步骤。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种机器人避障的方法,其特征在于,包括:
获取与作业环境对应的用于导航的代价地图,其中,所述代价地图通过栅格地图转换得到,包含栅格地图中每个栅格的坐标值以及对应栅格的占据状态;
获取激光雷达的扫描数据;所述扫描数据对应所述激光雷达扫描到的与障碍物对应的扫描点;
根据所述扫描数据和预设的离线地图对所述扫描点进行定位,得到所述扫描点的定位数据;
根据所述定位数据得到所述扫描点在所述代价地图的坐标系下的位置数据;
根据所述位置数据确定避障策略。
2.根据权利要求1所述的方法,其特征在于,获取激光雷达的扫描数据,包括:
获取激光雷达的初始扫描数据;
对所述初始扫描数据进行滤波处理,以滤去所述初始扫描数据中的所述激光雷达自身的噪点以及外部干扰所产生的扫描点,得到所述扫描数据。
3.根据权利要求1所述的方法,其特征在于,根据所述位置数据确定避障策略,包括:
根据所述位置数据判断所述扫描点是否属于所述代价地图;
若所述扫描点属于所述代价地图,获取在所述作业环境下的预设的规划路径;
根据所述预设的规划路径确定所述避障策略。
4.根据权利要求3所述的方法,其特征在于,根据所述位置数据判断所述扫描点是否属于所述代价地图,包括:
根据所述位置数据查找在所述代价地图中与所述扫描点最近的占据点;
计算所述最近的占据点与所述扫描点之间的距离,根据所述距离确定所述扫描点的得分;
根据所述扫描点的得分和预设的限定值判断所述扫描点是否属于所述地图。
5.根据权利要求3所述的方法,其特征在于,根据所述预设的规划路径确定所述避障策略,包括:
若所述预设的规划路径为沿所述代价地图边缘行进,确定当前位置与所述扫描点之间的距离;
若当前位置与所述扫描点之间的距离小于预设值,确定当前进行制动;
若当前位置与所述扫描点之间的距离大于所述预设值,确定当前不进行制动。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述扫描点不属于所述代价地图,获取避障区域;
根据所述位置数据和所述避障区域确定避障策略。
7.根据权利要求6所述的方法,其特征在于,所述避障区域包括:安全区域、减速区域和制动区域,根据所述位置数据和所述避障区域确定避障策略,包括:
若所述扫描点属于所述安全区域,确定当前不进行制动;
若所述扫描点属于所述减速区域,确定当前进行减速;
若所述扫描点属于所述制动区域,确定当前进行制动。
8.根据权利要求7所述的方法,其特征在于,获取避障区域,包括:
以所述激光雷达为中心,确定所述避障区域的形状,并根据实时的行进速度确定所述避障区域的大小。
9.一种机器人避障的装置,其特征在于,包括:
获取模块,用于获取与作业环境对应的用于导航的代价地图,其中,所述代价地图通过栅格地图转换得到,包含栅格地图中每个栅格的坐标值以及对应栅格的占据状态;
所述获取模块还用于:获取激光雷达的扫描数据;所述扫描数据对应所述激光雷达扫描到的与障碍物对应的扫描点;
处理模块,用于:根据所述扫描数据和预设的离线地图对所述扫描点进行定位,得到所述扫描点的定位数据;根据所述定位数据得到所述扫描点在所述代价地图的坐标系下的位置数据;根据所述位置数据确定避障策略。
10.一种机器人,其特征在于,包括:
机器人本体;
设置在所述机器人本体内的处理器,与激光雷达连接;
设置在所述机器人本体内的存储器,与所述处理器连接,用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-8中任一项所述的方法。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094992.4A CN111258320B (zh) | 2020-02-14 | 2020-02-14 | 一种机器人避障的方法及装置、机器人、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094992.4A CN111258320B (zh) | 2020-02-14 | 2020-02-14 | 一种机器人避障的方法及装置、机器人、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258320A CN111258320A (zh) | 2020-06-09 |
CN111258320B true CN111258320B (zh) | 2023-06-06 |
Family
ID=70954632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010094992.4A Active CN111258320B (zh) | 2020-02-14 | 2020-02-14 | 一种机器人避障的方法及装置、机器人、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258320B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11454974B2 (en) * | 2020-06-29 | 2022-09-27 | Baidu Usa Llc | Method, apparatus, device, and storage medium for controlling guide robot |
CN112148013B (zh) * | 2020-09-25 | 2024-08-09 | 深圳优地科技有限公司 | 机器人避障方法、机器人及存储介质 |
CN112327828A (zh) * | 2020-10-09 | 2021-02-05 | 深圳优地科技有限公司 | 路径规划方法、装置及计算机可读存储介质 |
CN112327886A (zh) * | 2020-12-04 | 2021-02-05 | 盐城中科高通量计算研究院有限公司 | 一种巡逻车用自主避障决策方法 |
CN112835064B (zh) * | 2020-12-31 | 2022-11-01 | 上海蔚建科技有限公司 | 一种建图定位方法、系统、终端及介质 |
CN112859893B (zh) * | 2021-01-08 | 2024-07-26 | 中国商用飞机有限责任公司北京民用飞机技术研究中心 | 一种飞行器避障方法、装置 |
CN112965082B (zh) * | 2021-02-26 | 2024-01-12 | 浙江大学 | 一种基于激光雷达的自适应沿墙导航方法 |
CN113051951A (zh) * | 2021-04-01 | 2021-06-29 | 未来机器人(深圳)有限公司 | 标识码定位方法、装置、计算机设备和存储介质 |
CN113640827B (zh) * | 2021-08-02 | 2024-02-09 | 安徽皖仪科技股份有限公司 | 一种激光雷达自动避障系统及自动避障方法 |
CN113876246A (zh) * | 2021-08-31 | 2022-01-04 | 洁博士南京环保设备有限公司 | 智能化清扫机器人机械臂视觉避障的控制方法 |
CN115290098B (zh) * | 2022-09-30 | 2022-12-23 | 成都朴为科技有限公司 | 一种基于变步长的机器人定位方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108198241A (zh) * | 2018-02-02 | 2018-06-22 | 北京卡雷尔机器人技术有限公司 | 一种三维图像构建的方法和装置 |
WO2018176472A1 (zh) * | 2017-04-01 | 2018-10-04 | 华为技术有限公司 | 车载雷达的扫描方法、装置和控制车辆的系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412565B (zh) * | 2013-05-17 | 2016-01-27 | 浙江中控研究院有限公司 | 一种具有全局位置快速估计能力的机器人定位方法 |
CN103489218B (zh) * | 2013-09-17 | 2016-06-29 | 中国科学院深圳先进技术研究院 | 点云数据质量自动优化方法及系统 |
CN108664033A (zh) * | 2018-06-11 | 2018-10-16 | 浙江国自机器人技术有限公司 | 一种机器人激光避障的控制方法及系统 |
CN109444847A (zh) * | 2018-11-01 | 2019-03-08 | 肖湘江 | 机器人激光雷达避障的噪点滤波方法 |
CN110285813B (zh) * | 2019-07-01 | 2022-11-25 | 东南大学 | 一种室内移动机器人人机共融导航装置及方法 |
CN110412987B (zh) * | 2019-08-21 | 2022-08-16 | 深圳市锐曼智能装备有限公司 | 双激光定位导航方法及机器人 |
-
2020
- 2020-02-14 CN CN202010094992.4A patent/CN111258320B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176472A1 (zh) * | 2017-04-01 | 2018-10-04 | 华为技术有限公司 | 车载雷达的扫描方法、装置和控制车辆的系统 |
CN108198241A (zh) * | 2018-02-02 | 2018-06-22 | 北京卡雷尔机器人技术有限公司 | 一种三维图像构建的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111258320A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258320B (zh) | 一种机器人避障的方法及装置、机器人、可读存储介质 | |
CN108007452B (zh) | 根据障碍物更新环境地图的方法、装置及机器人 | |
EP2385496A1 (en) | Extraction of 2D surfaces from a 3D point cloud | |
CN110850859B (zh) | 一种机器人及其避障方法和避障系统 | |
JP5205366B2 (ja) | 移動可能領域抽出装置、移動可能領域抽出システム、移動可能領域抽出方法、およびプログラム | |
Kim et al. | SLAM in indoor environments using omni-directional vertical and horizontal line features | |
CN108628318B (zh) | 拥堵环境检测方法、装置、机器人及存储介质 | |
CN111308500B (zh) | 基于单线激光雷达的障碍物感知方法、装置和计算机终端 | |
CN113432533B (zh) | 一种机器人定位方法、装置、机器人及存储介质 | |
JP6736931B2 (ja) | 立体物検出方法及び立体物検出装置 | |
CN112381026A (zh) | 航道岸线检测方法、系统、装置和存储介质 | |
US20200064481A1 (en) | Autonomous mobile device, control method and storage medium | |
CN112731337B (zh) | 地图构建方法、装置和设备 | |
CN112826377A (zh) | 扫地机的回充对准方法、装置及扫地机 | |
CN108873014A (zh) | 一种基于激光雷达的镜面检测方法及装置 | |
CN114200472A (zh) | 一种可通行区域的实时检测方法、装置、终端及存储介质 | |
CN115516523A (zh) | 地面障碍物检测方法以及使用该方法的移动机器 | |
CN113640810A (zh) | 空间车位检测方法、设备、存储介质和程序产品 | |
CN111273316A (zh) | 一种基于剖面展开融合的多激光雷达多视点对象检测方法 | |
Akbarally et al. | 3D robot sensing from sonar and vision | |
CN116203939A (zh) | 管理系统、地图管理装置、管理方法、管理程序、地图信息的数据结构和移动体 | |
CN112344966A (zh) | 一种定位失效检测方法、装置、存储介质及电子设备 | |
CN114859380A (zh) | 悬崖检测方法及驱动设备、存储介质 | |
CN111273313B (zh) | 建筑机器人在室内行走的防撞检测方法、装置及建筑机器人 | |
CN111897337A (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 |