WO2021004328A1 - Mobile robot and localization method therefor, and computer-readable storage medium - Google Patents

Mobile robot and localization method therefor, and computer-readable storage medium Download PDF

Info

Publication number
WO2021004328A1
WO2021004328A1 PCT/CN2020/099229 CN2020099229W WO2021004328A1 WO 2021004328 A1 WO2021004328 A1 WO 2021004328A1 CN 2020099229 W CN2020099229 W CN 2020099229W WO 2021004328 A1 WO2021004328 A1 WO 2021004328A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile robot
area
positioning
particles
monte carlo
Prior art date
Application number
PCT/CN2020/099229
Other languages
French (fr)
Chinese (zh)
Inventor
杨勇
吴泽晓
胡志远
Original Assignee
深圳市杉川机器人有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市杉川机器人有限公司 filed Critical 深圳市杉川机器人有限公司
Publication of WO2021004328A1 publication Critical patent/WO2021004328A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/1005Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means
    • B25J9/1015Programme-controlled manipulators characterised by positioning means for manipulator elements comprising adjusting means using additional, e.g. microadjustment of the end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • This application relates to the technical field of mobile robots, and in particular to a mobile robot, a positioning method thereof, and a computer-readable storage medium.
  • the positioning technology of the mobile robot mainly uses Monte Carlo positioning, and the Monte Carlo positioning is used for positioning by scattering particles.
  • Monte Carlo positioning it usually locates the particles on the global map. The number of particles scattered globally is large, resulting in a large number of particles calculated by the mobile robot, which causes the mobile robot to consume more computing resources. The calculation rate is low, resulting in low positioning efficiency of the mobile robot.
  • the main purpose of this application is to provide a mobile robot and its positioning method and computer readable storage medium, aiming to solve the problem of low positioning efficiency of the mobile robot.
  • this application provides a positioning method of a mobile robot.
  • the positioning method of the mobile robot includes the following steps:
  • particles are scattered in the second area where the mobile robot is located for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the second area.
  • the number of particles scattered in one area is less than the number of particles scattered in the second area by the mobile robot.
  • the positioning method of the mobile robot further includes:
  • the step of determining the first area where the mobile robot is located is executed.
  • the method further includes:
  • the step of determining the first area where the mobile robot is located is performed.
  • the method further includes:
  • the method further includes:
  • the pose of the mobile robot is determined, so as to determine a walking route according to the pose, and control the mobile robot to move along the walking route.
  • the method further includes:
  • the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
  • the method further includes:
  • the second area is not a global area
  • particles are scattered in a third area where the mobile robot is located for Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, and The number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
  • the present application also provides a mobile robot, the mobile robot including a memory, a processor, and a positioning program of the mobile robot stored in the memory and running on the processor.
  • the positioning program is executed by the processor, each step of the positioning method of the mobile robot as described above is realized.
  • the present application also provides a computer-readable storage medium, the computer-readable storage medium includes a positioning program of the mobile robot, and the positioning program of the mobile robot is executed by a processor to realize the mobile robot as described above The various steps of the positioning method.
  • the mobile robot first determines the first area, sprays particles in the first area for Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area Monte Carlo positioning, because the area of the first area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first spreads a smaller number in a small area After the positioning fails, a larger number of particles are scattered in a larger area for positioning, which prevents the mobile robot from directly using more particles in the global area for positioning when positioning, which improves the positioning efficiency of the mobile robot .
  • FIG. 1 is a schematic diagram of the hardware architecture of a mobile robot involved in an embodiment of the application
  • FIG. 2 is a schematic flowchart of a first embodiment of a positioning method for a mobile robot according to this application;
  • FIG. 3 is a schematic flowchart of a second embodiment of a positioning method for a mobile robot according to this application.
  • FIG. 4 is a schematic flowchart of a third embodiment of a positioning method for a mobile robot according to this application.
  • the main solution of the embodiment of the present application is: determine the first area where the mobile robot is located, and spray particles in the first area to perform Monte Carlo positioning; after the positioning fails, in the second area where the mobile robot is located Sprinkle particles for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the number of particles sprinkled by the mobile robot in the first area is less than that of the mobile robot in the first area. The number of particles scattered in the second area.
  • the mobile robot Since the mobile robot first sprinkles a smaller number of particles in a small area for positioning, after the positioning fails, it sprinkles a larger number of particles in a larger area for positioning, avoiding the mobile robot directly using the global area when positioning. More particles are used for positioning, which improves the positioning efficiency of the mobile robot.
  • the mobile robot can be as shown in Figure 1.
  • the solution of the embodiment of the present application relates to a mobile robot, and the mobile robot includes a processor 101, such as a CPU, a memory 102, and a communication bus 103.
  • the communication bus 103 is used to implement connection and communication between these components.
  • the memory 102 may be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a magnetic disk memory.
  • the memory 103 as a computer storage medium may include a positioning program of the mobile robot; and the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • particles are scattered in the second area where the mobile robot is located for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the first area.
  • the number of particles scattered in the area is less than the number of particles scattered in the second area by the mobile robot.
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the step of determining the first area where the mobile robot is located is executed.
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the step of determining the first area where the mobile robot is located is executed.
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
  • the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
  • particles are scattered in the third area where the mobile robot is located to perform Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, and The number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
  • the mobile robot first determines the first area, sprays particles in the first area to perform Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area to perform Monte Carlo positioning.
  • the area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first sprays a smaller number of particles in a small area for positioning.
  • a larger number of particles are scattered in a larger area for positioning, so as to avoid the mobile robot directly adopting more particles in the global area for positioning when positioning, which improves the positioning efficiency of the mobile robot.
  • Fig. 2 is a first embodiment of a positioning method of a mobile robot according to this application.
  • the positioning method of a mobile robot includes the following steps:
  • Step S10 Determine the first area where the mobile robot is located, and spray particles in the first area to perform Monte Carlo positioning;
  • the execution subject is a mobile robot
  • the mobile robot may be a robot that can move by itself, such as a sweeping robot.
  • the mobile robot uses its own pose as the base point to determine the first area.
  • the unit can be cm, dm, or m, that is, 4cm ⁇ 4cm, 4dm ⁇ 4dm, or 4m ⁇ 4m, which is not limited. It should be noted that the area of the first area is smaller than the area where the mobile robot is currently located.
  • the area where the mobile robot is located is the bedroom, and the area of the area currently located is the area of the bedroom.
  • the area of the first area can be based on The area of the area where the mobile robot is currently located is flexibly set, that is, it only needs to ensure that the area of the first area is smaller than the area of the area where the mobile robot is currently located.
  • Step S20 After determining that the positioning fails, spray particles in the second area where the mobile robot is located to perform Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the second area.
  • the number of particles scattered in the first area is less than the number of particles scattered in the second area by the mobile robot.
  • the second area is further determined.
  • the area of the second area is larger than the area of the second area. For example, if the area of the first area is 4dm ⁇ 4dm, then the area of the second area may be 8dm ⁇ 8dm.
  • the area of the second area is less than or equal to the area of the area where the mobile robot is currently located.
  • the mobile robot After determining the second area, the mobile robot scatters particles in the second area for Monte Carlo positioning.
  • the area of the second area is larger than the area of the first area. Therefore, the number of particles scattered by the mobile robot in the second area is more than that in the mobile robot. The number of particles scattered in the first area.
  • the mobile robot after determining the first area and the second area, the mobile robot will determine the obstacles in the first area and the second area.
  • the first area and the second area can exist in the form of images, and the obstacles are in the first area.
  • the color of the image corresponding to the second area is black, the color of the non-obstacle area is white in the image, and the mobile robot only scatters particles in the area where the color is white.
  • the mobile robot first determines the first area, sprays particles in the first area to perform Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area to perform Monte Carlo positioning.
  • the area of one area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first sprinkles a smaller number of particles in a small area to determine the positioning After the failure, a larger number of particles are scattered in a larger area for positioning, which prevents the mobile robot from directly using more particles in the global area for positioning when positioning, and improves the positioning efficiency of the mobile robot.
  • Fig. 3 is a second embodiment of the positioning method of a mobile robot of this application. Based on the first embodiment, the positioning method of the mobile robot further includes:
  • Step S30 after determining that the mobile robot starts to work, acquire a memory map of the mobile robot
  • Step S40 Determine the current pose of the mobile robot according to the memory map
  • Step S50 when it is determined that the mobile robot is not in the charging pile according to the current pose, execute the step of determining the first area where the mobile robot is located, and scattering particles in the first area to perform Monte Carlo positioning;
  • Step S60 when it is determined that the mobile robot is in the charging pile according to the current pose, perform ICP relocation
  • step S70 after the positioning failure is detected, the step of determining the first area where the mobile robot is located is performed, and particles are scattered in the first area to perform Monte Carlo positioning.
  • the mobile robot stores a memory map.
  • the current pose of the mobile robot can be determined according to the memory map, and then it is determined whether the current pose of the mobile robot is a charging seat.
  • pose refers to position and heading.
  • the mobile robot When the mobile robot is in the charging base, it can use ICP relocation for positioning.
  • the mobile robot stores the ICP algorithm.
  • the mobile robot uses the ICP algorithm to perform ICP relocation.
  • the ICP algorithm calculates the relative pose transformation relationship between the two frames by matching the adjacent frames of the laser point cloud. Because the ICP algorithm only uses the phase Adjacent frames make the positioning efficiency of ICP relocation higher than that of Monte Carlo.
  • the mobile robot When the mobile robot starts to work on the charging stand, it performs ICP relocation. After determining that the positioning is successful, it will work according to the positioning pose. When the positioning fails, the mobile robot will determine the first area to perform Monte Carlo positioning. . When it is determined that the mobile robot is not in the charging base, that is, the mobile robot is at the stop or pause point after the last work, the mobile robot directly determines the first area to perform Monte Carlo positioning.
  • ICP relocation is required for secondary confirmation; of course, the mobile robot scatters particles in the second area.
  • ICP repositioning is also required for secondary confirmation. It is understandable that after the Monte Carlo positioning of the mobile robot is successful, ICP repositioning is required for secondary confirmation, thereby improving the accuracy of mobile robot positioning.
  • the mobile robot performs Monte Carlo positioning
  • the mobile robot is mobile, that is, the posture of the ICP relocation performed after the Monte Carlo positioning is successful does not coincide with the posture of the charging stand.
  • the positioning result of the ICP relocation performed on the charging base is not necessarily the same as the positioning result of the ICP relocation performed after the Monte Carlo positioning is successful, and the positioning result is the positioning success or the positioning failure.
  • the mobile robot determines the pose, and then determines the pose according to the position.
  • the posture determines the walking route, so that the mobile robot moves according to the walking route. After determining that the mobile robot is a sweeping robot, the walking route is the sweeping route.
  • Fig. 4 is a third embodiment of a positioning method for a mobile robot according to this application. Based on the first or second embodiment, after the step S20, the method further includes:
  • Step S80 after determining that the positioning fails, determine whether the second area is a global area
  • Step S90 When it is determined that the second region is a global region, the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
  • Step S100 When it is determined that the second area is not a global area, particles are scattered according to the third area where the mobile robot is located for Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, And the number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
  • the mobile robot is provided with multiple regions, and the area of each region increases in sequence, and the area of the largest region is the area of the region where the mobile robot is currently located.
  • the mobile robot performs Monte Carlo positioning in the first area. After the positioning fails, it performs Monte Carlo positioning in the second area, and so on, until the mobile robot performs Monte Carlo positioning on the area with the largest area, that is, the mobile robot global Map for positioning.
  • the mobile robot determines whether the second area is a global area, that is, whether the second area is the area with the largest area, and if not, it performs the third area Monte Carlo positioning, the area of the third area is larger than the area of the second area, and the number of particles scattered by the mobile robot in the third area is more than the number of particles scattered by the mobile robot in the second area.
  • the pose corresponding to the pose of the particle with the highest score in the second region is taken as the pose of the mobile robot.
  • the second area is used to distinguish it from the first area.
  • the first and second areas do not indicate the number of areas.
  • the first area can be used by a mobile robot to perform the third
  • the Monte Carlo positioning of each area may also be the Monte Carlo positioning of the fourth area performed by the mobile robot.
  • the mobile robot is provided with multiple regions, and after the second region fails to locate, Monte Carlo positioning of the third region whose area is larger than the second region is performed to ensure that the mobile robot can successfully locate.
  • the application also provides a mobile robot including a memory, a processor, and a positioning program of the mobile robot stored in the memory and running on the processor, and the positioning program of the mobile robot is When the processor is executed, each step of the positioning method of the mobile robot described in the above embodiment is realized.
  • the present application also provides a computer-readable storage medium, the computer-readable storage medium includes a positioning program of a mobile robot, and the positioning program of the mobile robot is executed by a processor to realize the positioning method of the mobile robot as described in the above embodiment The various steps.

Abstract

A localization method for a mobile robot, comprising: determining a first area where the mobile robot is located, and scattering particles in the first area for Monte Carlo localization; and after the localization fails, determining a second area where the mobile robot is located and scattering particles for Monte Carlo localization, wherein the area of the first area is less than that of the second area, and the number of particles scattered by the mobile robot in the first area is less than the number of particles scattered by the mobile robot in the second area. The localization method improves the localization efficiency of the mobile robot. Also disclosed are the mobile robot and a computer-readable storage medium.

Description

移动机器人及其定位方法和计算机可读存储介质Mobile robot and its positioning method and computer readable storage medium
本申请要求于2019年07月11日提交中国专利局、申请号为201910623793.5、发明名称为“移动机器人及其定位方法和计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on July 11, 2019, the application number is 201910623793.5, and the invention title is "mobile robot and its positioning method and computer-readable storage medium", the entire content of which is by reference Incorporate in the application.
技术领域Technical field
本申请涉及移动机器人技术领域,尤其涉及一种移动机器人及其定位方法和计算机可读存储介质。This application relates to the technical field of mobile robots, and in particular to a mobile robot, a positioning method thereof, and a computer-readable storage medium.
背景技术Background technique
移动机器人在进行工作时,需要进行定位。现有技术中,移动机器人的定位技术主要用到了蒙特卡洛定位,蒙特卡洛定位通过撒粒子的方式进行定位。但移动机器人进行蒙特卡洛定位时,通常对全局地图撒粒子进行定位,全局撒的粒子数量较多,造成移动机器人计算的粒子数量较多,导致移动机器人耗费的计算资源较大,移动机器人的计算速率较低,导致移动机器人的定位效率较低。When a mobile robot is working, it needs to be positioned. In the prior art, the positioning technology of the mobile robot mainly uses Monte Carlo positioning, and the Monte Carlo positioning is used for positioning by scattering particles. However, when a mobile robot performs Monte Carlo positioning, it usually locates the particles on the global map. The number of particles scattered globally is large, resulting in a large number of particles calculated by the mobile robot, which causes the mobile robot to consume more computing resources. The calculation rate is low, resulting in low positioning efficiency of the mobile robot.
技术解决方案Technical solutions
本申请的主要目的在于提供一种移动机器人及其定位方法和计算机可读存储介质,旨在解决移动机器人定位效率较低的问题。The main purpose of this application is to provide a mobile robot and its positioning method and computer readable storage medium, aiming to solve the problem of low positioning efficiency of the mobile robot.
为实现上述目的,本申请提供一种移动机器人的定位方法,所述移动机器人的定位方法包括以下步骤:In order to achieve the above objective, this application provides a positioning method of a mobile robot. The positioning method of the mobile robot includes the following steps:
确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位;Determine the first area where the mobile robot is located, and scatter particles in the first area to perform Monte Carlo positioning;
侦测到定位失败,在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位,其中,第一区域的面积小于所述第二区域的面积,且所述移动机器人在所述第一区域撒的粒子数量少于所述移动机器人在所述第二区域撒的粒子数量。If positioning failure is detected, particles are scattered in the second area where the mobile robot is located for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the second area. The number of particles scattered in one area is less than the number of particles scattered in the second area by the mobile robot.
在一实施例中,所述移动机器人的定位方法,还包括:In an embodiment, the positioning method of the mobile robot further includes:
侦测到移动机器人开始工作,获取所述移动机器人的记忆地图;It is detected that the mobile robot starts to work, and the memory map of the mobile robot is acquired;
根据所述记忆地图确定所述移动机器人的当前位姿;Determining the current pose of the mobile robot according to the memory map;
根据所述当前位姿确定所述移动机器人未处于充电桩时,执行所述确定移动机器人所在的第一区域的步骤。When it is determined according to the current pose that the mobile robot is not in a charging pile, the step of determining the first area where the mobile robot is located is executed.
在一实施例中,所述根据所述记忆地图确定所述移动机器人的当前位姿的步骤之后,还包括:In an embodiment, after the step of determining the current pose of the mobile robot according to the memory map, the method further includes:
根据所述当前位姿确定所述移动机器人处于充电桩时,进行ICP重定位;When it is determined that the mobile robot is in the charging pile according to the current pose, perform ICP relocation;
确定定位失败后,执行所述确定移动机器人所在的第一区域的步骤。After determining that the positioning fails, the step of determining the first area where the mobile robot is located is performed.
在一实施例中,所述在所述第一区域撒粒子以进行局部的蒙特卡洛定位的步骤之后,还包括:In an embodiment, after the step of spraying particles in the first area to perform local Monte Carlo positioning, the method further includes:
确定定位成功后,进行ICP重定位;After confirming that the positioning is successful, perform ICP relocation;
确定定位失败后,执行所述在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位的步骤。After determining that the positioning fails, perform the step of scattering particles in the second area where the mobile robot is located to perform Monte Carlo positioning.
在一实施例中,所述在所述移动机器人所在的第二区域撒粒子以进行全局的蒙特卡洛定位的步骤之后,还包括:In an embodiment, after the step of scattering particles in the second area where the mobile robot is located for global Monte Carlo positioning, the method further includes:
确定定位成功后,进行ICP重定位。After determining that the positioning is successful, perform ICP relocation.
在一实施例中,确定定位成功后,确定所述移动机器人所在的位姿,以根据所述位姿确定行走路线,并控制所述移动机器人按照所述行走路线移动。在一实施例中,所述在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位的步骤之后,还包括:In an embodiment, after determining that the positioning is successful, the pose of the mobile robot is determined, so as to determine a walking route according to the pose, and control the mobile robot to move along the walking route. In an embodiment, after the step of spraying particles in the second area where the mobile robot is located for Monte Carlo positioning, the method further includes:
确定定位失败后,确定所述第二区域是否为全局区域;After determining that the positioning fails, determine whether the second area is a global area;
确定所述第二区域为全局区域时,根据所述第二区域中得分最高的粒子的位姿对应的位姿作为所述移动机器人的位姿。When it is determined that the second region is a global region, the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
在一实施例中,所述确定所述第二区域是否为全局区域的步骤之后,还包括:In an embodiment, after the step of determining whether the second area is a global area, the method further includes:
确定所述第二区域不为全局区域时,在所述移动机器人所在的第三区域撒粒子以进行蒙特卡洛定位,其中,第二区域的面积小于所述第三区域的面积,且所述移动机器人在所述第二区域撒的粒子数量少于所述移动机器人在所述第三区域撒的粒子数量。When it is determined that the second area is not a global area, particles are scattered in a third area where the mobile robot is located for Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, and The number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
为实现上述目的,本申请还提供一种移动机器人,所述移动机器人包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的移动机器人的定位程序,所述移动机器人的定位程序被所述处理器执行时实现如上所述的移动机器人的定位方法的各个步骤。To achieve the above objective, the present application also provides a mobile robot, the mobile robot including a memory, a processor, and a positioning program of the mobile robot stored in the memory and running on the processor. When the positioning program is executed by the processor, each step of the positioning method of the mobile robot as described above is realized.
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括移动机器人的定位程序,所述移动机器人的定位程序被处理器执行时实现如上所述的移动机器人的定位方法的各个步骤。To achieve the above objective, the present application also provides a computer-readable storage medium, the computer-readable storage medium includes a positioning program of the mobile robot, and the positioning program of the mobile robot is executed by a processor to realize the mobile robot as described above The various steps of the positioning method.
本申请提供的移动机器人及其定位方法和计算机可读存储介质,移动机器人先确定第一区域,在第一区域撒粒子进行蒙特卡洛定位,确定定位失败后,在第二区域中撒粒子进行蒙特卡洛定位,由于第一区域的面积小于第二区域的面积,且第一区域撒的粒子数量少于第二区域撒的粒子数量,也即移动机器人先在小范围内区域撒较少数量的粒子进行定位,在定位失败后,再在较大范围撒较多数量的粒子进行定位,避免移动机器人在定位时直接采用在全局区域中撒较多粒子进行定位,提高了移动机器人的定位效率。In the mobile robot and its positioning method and computer-readable storage medium provided in the present application, the mobile robot first determines the first area, sprays particles in the first area for Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area Monte Carlo positioning, because the area of the first area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first spreads a smaller number in a small area After the positioning fails, a larger number of particles are scattered in a larger area for positioning, which prevents the mobile robot from directly using more particles in the global area for positioning when positioning, which improves the positioning efficiency of the mobile robot .
附图说明Description of the drawings
图1为本申请实施例涉及的移动机器人的硬件构架示意图;FIG. 1 is a schematic diagram of the hardware architecture of a mobile robot involved in an embodiment of the application;
图2为本申请移动机器人的定位方法第一实施例的流程示意图;2 is a schematic flowchart of a first embodiment of a positioning method for a mobile robot according to this application;
图3为本申请移动机器人的定位方法第二实施例的流程示意图;3 is a schematic flowchart of a second embodiment of a positioning method for a mobile robot according to this application;
图4为本申请移动机器人的定位方法第三实施例的流程示意图。4 is a schematic flowchart of a third embodiment of a positioning method for a mobile robot according to this application.
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization, functional characteristics, and advantages of the purpose of this application will be further described in conjunction with the embodiments and with reference to the drawings.
本申请的实施方式Implementation of this application
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。It should be understood that the specific embodiments described here are only used to explain the application, and are not used to limit the application.
本申请实施例的主要解决方案是:确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位;在定位失败后,在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位,其中,第一区域的面积小于所述第二区域的面积,且所述移动机器人在所述第一区域撒的粒子数量少于所述移动机器人在所述第二区域撒的粒子数量。The main solution of the embodiment of the present application is: determine the first area where the mobile robot is located, and spray particles in the first area to perform Monte Carlo positioning; after the positioning fails, in the second area where the mobile robot is located Sprinkle particles for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the number of particles sprinkled by the mobile robot in the first area is less than that of the mobile robot in the first area. The number of particles scattered in the second area.
由于移动机器人先在小范围内区域撒较少数量的粒子进行定位,在定位失败后,再在较大范围撒较多数量的粒子进行定位,避免移动机器人在定位时直接采用在全局区域中撒较多粒子进行定位,提高了移动机器人的定位效率。Since the mobile robot first sprinkles a smaller number of particles in a small area for positioning, after the positioning fails, it sprinkles a larger number of particles in a larger area for positioning, avoiding the mobile robot directly using the global area when positioning. More particles are used for positioning, which improves the positioning efficiency of the mobile robot.
作为一种实现方案,移动机器人可以如图1所示。As an implementation scheme, the mobile robot can be as shown in Figure 1.
本申请实施例方案涉及的是移动机器人,移动机器人包括:处理器101,例如CPU,存储器102,通信总线103。其中,通信总线103用于实现这些组件之间的连接通信。The solution of the embodiment of the present application relates to a mobile robot, and the mobile robot includes a processor 101, such as a CPU, a memory 102, and a communication bus 103. Among them, the communication bus 103 is used to implement connection and communication between these components.
存储器102可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。如图1所示,作为一种计算机存储介质的存储器103中可以包括移动机器人的定位程序;而处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:The memory 102 may be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a magnetic disk memory. As shown in Fig. 1, the memory 103 as a computer storage medium may include a positioning program of the mobile robot; and the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位;Determine the first area where the mobile robot is located, and scatter particles in the first area to perform Monte Carlo positioning;
确定定位失败后,在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位,其中,第一区域的面积小于所述第二区域的面积,且所述移动机器人在所述第一区域撒的粒子数量少于所述移动机器人在所述第二区域撒的粒子数量。After determining that the positioning fails, particles are scattered in the second area where the mobile robot is located for Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the first area. The number of particles scattered in the area is less than the number of particles scattered in the second area by the mobile robot.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
确定移动机器人开始工作后,获取所述移动机器人的记忆地图;After determining that the mobile robot starts to work, acquire the memory map of the mobile robot;
根据所述记忆地图确定所述移动机器人的当前位姿;Determining the current pose of the mobile robot according to the memory map;
根据所述当前位姿确定所述移动机器人未处于充电桩时,执行所述确定移动机器人所在的第一区域的步骤。When it is determined according to the current pose that the mobile robot is not in a charging pile, the step of determining the first area where the mobile robot is located is executed.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
根据所述当前位姿确定所述移动机器人处于充电桩时,进行ICP重定位;When it is determined that the mobile robot is in the charging pile according to the current pose, perform ICP relocation;
侦测到定位失败后,执行所述确定移动机器人所在的第一区域的步骤。After the positioning failure is detected, the step of determining the first area where the mobile robot is located is executed.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
确定定位成功后,进行ICP重定位;After confirming that the positioning is successful, perform ICP relocation;
侦测到定位失败后,执行所述在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位的步骤。After detecting the positioning failure, perform the step of scattering particles in the second area where the mobile robot is located to perform Monte Carlo positioning.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
确定定位成功后,进行ICP重定位。After determining that the positioning is successful, perform ICP relocation.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
确定定位成功后,确定所述移动机器人所在的位姿,以根据所述位姿确定行走路线,并控制所述移动机器人按照所述行走路线移动。在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:After determining that the positioning is successful, determine the pose of the mobile robot to determine a walking route according to the pose, and control the mobile robot to move according to the walking route. In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
侦测到定位失败后,确定所述第二区域是否为全局区域;After detecting the positioning failure, determine whether the second area is a global area;
在所述第二区域为全局区域时,根据所述第二区域中得分最高的粒子的位姿对应的位姿作为所述移动机器人的位姿。When the second region is a global region, the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
在一实施例中,处理器101可以用于调用存储器102中存储的移动机器人的定位程序,并执行以下操作:In an embodiment, the processor 101 may be used to call the positioning program of the mobile robot stored in the memory 102 and perform the following operations:
侦测到所述第二区域不为全局区域时,在所述移动机器人所在的第三区域撒粒子以进行蒙特卡洛定位,其中,第二区域的面积小于所述第三区域的面积,且所述移动机器人在所述第二区域撒的粒子数量少于所述移动机器人在所述第三区域撒的粒子数量。When it is detected that the second area is not a global area, particles are scattered in the third area where the mobile robot is located to perform Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, and The number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
本实施例根据上述方案,移动机器人先确定第一区域,在第一区域撒粒子进行蒙特卡洛定位,确定定位失败后,在第二区域中撒粒子进行蒙特卡洛定位,由于第一区域的面积小于第二区域的面积,且第一区域撒的粒子数量少于第二区域撒的粒子数量,也即移动机器人先在小范围内区域撒较少数量的粒子进行定位,确定定位失败后,再在较大范围撒较多数量的粒子进行定位,避免移动机器人在定位时直接采用在全局区域中撒较多粒子进行定位,提高了移动机器人的定位效率。In this embodiment, according to the above-mentioned solution, the mobile robot first determines the first area, sprays particles in the first area to perform Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area to perform Monte Carlo positioning. The area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first sprays a smaller number of particles in a small area for positioning. After determining that the positioning fails, Then, a larger number of particles are scattered in a larger area for positioning, so as to avoid the mobile robot directly adopting more particles in the global area for positioning when positioning, which improves the positioning efficiency of the mobile robot.
基于上述移动机器人的硬件构架,提出本申请移动机器人的定位方法的实施例。Based on the above hardware architecture of the mobile robot, an embodiment of the positioning method of the mobile robot of the present application is proposed.
参照图2,图2为本申请移动机器人的定位方法的第一实施例,所述移动机器人的定位方法包括以下步骤:Referring to Fig. 2, Fig. 2 is a first embodiment of a positioning method of a mobile robot according to this application. The positioning method of a mobile robot includes the following steps:
步骤S10,确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位;Step S10: Determine the first area where the mobile robot is located, and spray particles in the first area to perform Monte Carlo positioning;
在本实施例中,执行主体为移动机器人,移动机器人可以是扫地机器人等可自行移动的机器人。移动机器人在工作时,需要进行定位。在定位时,移动机器人以自身的位姿为基点确定第一区域,例如,可以以自身的位姿为中心位姿,确定第一区域,第一区域的面积可为4×4,单位可以是cm、dm或者m,也即4cm×4cm、4dm×4dm或者4m×4m,对此不作限定。需要说明的是,第一区域的面积是小于移动机器人当前所在的区域的面积,例如,移动机器人所在的区域为卧室,当前所在的区域的面积即为卧室的面积,第一区域的面积可以根据移动机器人当前所在的区域的面积灵活设置,也即仅需保证第一区域的面积小于移动机器人当前所在的区域的面积。In this embodiment, the execution subject is a mobile robot, and the mobile robot may be a robot that can move by itself, such as a sweeping robot. When a mobile robot is working, it needs to be positioned. When positioning, the mobile robot uses its own pose as the base point to determine the first area. For example, it can use its own pose as the center to determine the first area. The area of the first area can be 4×4, and the unit can be cm, dm, or m, that is, 4cm×4cm, 4dm×4dm, or 4m×4m, which is not limited. It should be noted that the area of the first area is smaller than the area where the mobile robot is currently located. For example, the area where the mobile robot is located is the bedroom, and the area of the area currently located is the area of the bedroom. The area of the first area can be based on The area of the area where the mobile robot is currently located is flexibly set, that is, it only needs to ensure that the area of the first area is smaller than the area of the area where the mobile robot is currently located.
步骤S20,确定定位失败后,在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位,其中,第一区域的面积小于所述第二区域的面积,且所述移动机器人在所述第一区域撒的粒子数量少于所述移动机器人在所述第二区域撒的粒子数量。Step S20: After determining that the positioning fails, spray particles in the second area where the mobile robot is located to perform Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the second area. The number of particles scattered in the first area is less than the number of particles scattered in the second area by the mobile robot.
确定移动机器人判定定位失败后,进一步确定第二区域,第二区域的面积大于第二区域的面积,例如,第一区域的面积为4dm×4dm,那么第二区域的面积可为8dm×8dm。第二区域的面积小于或者等于移动机器人当前所在区域的面积。After determining that the mobile robot determines that the positioning fails, the second area is further determined. The area of the second area is larger than the area of the second area. For example, if the area of the first area is 4dm×4dm, then the area of the second area may be 8dm×8dm. The area of the second area is less than or equal to the area of the area where the mobile robot is currently located.
在确定第二区域后,移动机器人在第二区域撒粒子进行蒙特卡洛定位,第二区域的面积大于第一区域的面积,因此,移动机器人在第二区域撒的粒子数量多于移动机器人在第一区域撒的粒子数量。After determining the second area, the mobile robot scatters particles in the second area for Monte Carlo positioning. The area of the second area is larger than the area of the first area. Therefore, the number of particles scattered by the mobile robot in the second area is more than that in the mobile robot. The number of particles scattered in the first area.
此外,在确定第一区域以及第二区域后,移动机器人会确定第一区域以及第二区域中存在的障碍物,第一区域以及第二区域可以图像的形式存在,而障碍物在第一区域以及第二区域对应的图像中的颜色为黑色,非障碍物区域则在图像中的颜色为白色,移动机器人仅在颜色为白色的区域撒粒子。In addition, after determining the first area and the second area, the mobile robot will determine the obstacles in the first area and the second area. The first area and the second area can exist in the form of images, and the obstacles are in the first area. And the color of the image corresponding to the second area is black, the color of the non-obstacle area is white in the image, and the mobile robot only scatters particles in the area where the color is white.
需要说明的是,判断蒙特卡洛定位是否成功为本领域技术人员的公知常识,在此不再赘述。It should be noted that determining whether the Monte Carlo positioning is successful is common knowledge of those skilled in the art, and will not be repeated here.
在本实施例提供的技术方案中,移动机器人先确定第一区域,在第一区域撒粒子进行蒙特卡洛定位,确定定位失败后,在第二区域中撒粒子进行蒙特卡洛定位,由于第一区域的面积小于第二区域的面积,且第一区域撒的粒子数量少于第二区域撒的粒子数量,也即移动机器人先在小范围内区域撒较少数量的粒子进行定位,确定定位失败后,再在较大范围撒较多数量的粒子进行定位,避免移动机器人在定位时直接采用在全局区域中撒较多粒子进行定位,提高了移动机器人的定位效率。In the technical solution provided by this embodiment, the mobile robot first determines the first area, sprays particles in the first area to perform Monte Carlo positioning, and after determining that the positioning fails, sprays particles in the second area to perform Monte Carlo positioning. The area of one area is smaller than the area of the second area, and the number of particles scattered in the first area is less than the number of particles scattered in the second area, that is, the mobile robot first sprinkles a smaller number of particles in a small area to determine the positioning After the failure, a larger number of particles are scattered in a larger area for positioning, which prevents the mobile robot from directly using more particles in the global area for positioning when positioning, and improves the positioning efficiency of the mobile robot.
参照图3,图3为本申请移动机器人的定位方法的第二实施例,基于第一实施例,所述移动机器人的定位方法,还包括:Referring to Fig. 3, Fig. 3 is a second embodiment of the positioning method of a mobile robot of this application. Based on the first embodiment, the positioning method of the mobile robot further includes:
步骤S30,确定移动机器人开始工作后,获取所述移动机器人的记忆地图;Step S30, after determining that the mobile robot starts to work, acquire a memory map of the mobile robot;
步骤S40,根据所述记忆地图确定所述移动机器人的当前位姿;Step S40: Determine the current pose of the mobile robot according to the memory map;
步骤S50,根据所述当前位姿确定所述移动机器人未处于充电桩时,执行所述确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位的步骤;Step S50, when it is determined that the mobile robot is not in the charging pile according to the current pose, execute the step of determining the first area where the mobile robot is located, and scattering particles in the first area to perform Monte Carlo positioning;
步骤S60,根据所述当前位姿确定所述移动机器人处于充电桩时,进行ICP重定位;Step S60, when it is determined that the mobile robot is in the charging pile according to the current pose, perform ICP relocation;
步骤S70,侦测到定位失败后,执行所述确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位的步骤。In step S70, after the positioning failure is detected, the step of determining the first area where the mobile robot is located is performed, and particles are scattered in the first area to perform Monte Carlo positioning.
在本实施例中,移动机器人存储有记忆地图,在当移动机器人开始工作时,可根据记忆地图确定移动机器人当前所在的位姿,进而判断移动机器人所在的当前位姿是否为充电座。需要说明的是,位姿指的是位置以及航向。In this embodiment, the mobile robot stores a memory map. When the mobile robot starts to work, the current pose of the mobile robot can be determined according to the memory map, and then it is determined whether the current pose of the mobile robot is a charging seat. It should be noted that pose refers to position and heading.
移动机器人在处于充电座时,可采用ICP重定位进行定位。移动机器人中存储有ICP算法,移动机器人通过ICP算法进行ICP重定位,而ICP算法通过激光点云相邻帧匹配的方式计算二帧之间的相对位姿变换关系,因ICP算法只用到相邻帧,使得ICP重定位的定位效率高于蒙特卡洛的定位效率。When the mobile robot is in the charging base, it can use ICP relocation for positioning. The mobile robot stores the ICP algorithm. The mobile robot uses the ICP algorithm to perform ICP relocation. The ICP algorithm calculates the relative pose transformation relationship between the two frames by matching the adjacent frames of the laser point cloud. Because the ICP algorithm only uses the phase Adjacent frames make the positioning efficiency of ICP relocation higher than that of Monte Carlo.
移动机器人在充电座出发进行工作时,进行ICP重定位,确定定位成功后,则根据定位的位姿进行工作,而在当定位失败后,移动机器人再确定第一区域,以进行蒙特卡洛定位。在确定移动机器人未处于充电座,也即移动机器人处于上一次工作后的停留点或者暂停点,移动机器人直接确定第一区域,以进行蒙特卡洛定位。When the mobile robot starts to work on the charging stand, it performs ICP relocation. After determining that the positioning is successful, it will work according to the positioning pose. When the positioning fails, the mobile robot will determine the first area to perform Monte Carlo positioning. . When it is determined that the mobile robot is not in the charging base, that is, the mobile robot is at the stop or pause point after the last work, the mobile robot directly determines the first area to perform Monte Carlo positioning.
需要说明的,判断ICP重定位是否定位成功为本领域技术人员的公知常识,在此不再赘述。It should be noted that it is common knowledge of those skilled in the art to determine whether the ICP relocation is successful, and will not be repeated here.
在本实施例提供的技术方案中,移动机器人在工作时,根据记忆地图确定移动机器人当前的位姿是否为充电座,若是,则进行ICP重定位,由于ICP重定位的定位效率高于蒙特卡洛的定位效率,因而进一步提高了移动机器人的定位效率。In the technical solution provided by this embodiment, when the mobile robot is working, it is determined whether the current pose of the mobile robot is a charging stand according to the memory map. If so, ICP relocation is performed, because the positioning efficiency of ICP relocation is higher than Monte Carlo Luo’s positioning efficiency further improves the positioning efficiency of the mobile robot.
在一实施例中,在当移动机器人在第一区域撒粒子进行蒙特卡洛定位后,确定定位成功后,需要进行ICP重定位进行二次确认;当然,在移动机器人在第二区域撒粒子进行蒙特卡洛定位后,确定定位成功后,也需要进行ICP重定位进行二次确认。可以理解的是,在移动机器人蒙特卡洛定位成功后,均需进行ICP重定位进行二次确认,从而提高移动机器人定位的准确性。In one embodiment, after the mobile robot scatters particles in the first area for Monte Carlo positioning, after determining that the positioning is successful, ICP relocation is required for secondary confirmation; of course, the mobile robot scatters particles in the second area. After Monte Carlo positioning, after confirming that the positioning is successful, ICP repositioning is also required for secondary confirmation. It is understandable that after the Monte Carlo positioning of the mobile robot is successful, ICP repositioning is required for secondary confirmation, thereby improving the accuracy of mobile robot positioning.
需要说明的是,在移动机器人进行蒙特卡洛定位时,移动机器人是移动的,也即,在蒙特卡洛定位成功后进行的ICP重定位的位姿与充电座所在的位姿不重合,因此,在充电座进行的ICP重定位的定位结果与在蒙特卡洛定位成功后进行的ICP重定位的定位结果并不一定相同,定位结果即为定位成功或者定位失败。It should be noted that when the mobile robot performs Monte Carlo positioning, the mobile robot is mobile, that is, the posture of the ICP relocation performed after the Monte Carlo positioning is successful does not coincide with the posture of the charging stand. , The positioning result of the ICP relocation performed on the charging base is not necessarily the same as the positioning result of the ICP relocation performed after the Monte Carlo positioning is successful, and the positioning result is the positioning success or the positioning failure.
在一实施例中,确定定位成功后,也即ICP重定位成功、第一区域对应的蒙特卡洛定位成功或者第二区域对应的蒙特卡洛定位成功后,移动机器人确定位姿,从而根据位姿确定行走路线,使得移动机器人根据行走路线进行移动。确定移动机器人为扫地机器人后,行走路线即为清扫路线。In one embodiment, after determining that the positioning is successful, that is, the ICP relocation is successful, the Monte Carlo positioning corresponding to the first area is successful, or the Monte Carlo positioning corresponding to the second area is successful, the mobile robot determines the pose, and then determines the pose according to the position. The posture determines the walking route, so that the mobile robot moves according to the walking route. After determining that the mobile robot is a sweeping robot, the walking route is the sweeping route.
参照图4,参照图4,图4为本申请移动机器人的定位方法的第三实施例,基于第一或第二实施例,所述步骤S20之后,还包括:Referring to Fig. 4, Fig. 4 is a third embodiment of a positioning method for a mobile robot according to this application. Based on the first or second embodiment, after the step S20, the method further includes:
步骤S80,确定定位失败后,确定所述第二区域是否为全局区域;Step S80, after determining that the positioning fails, determine whether the second area is a global area;
步骤S90,确定所述第二区域为全局区域时,根据所述第二区域中得分最高的粒子的位姿对应的位姿作为所述移动机器人的位姿。Step S90: When it is determined that the second region is a global region, the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
步骤S100,确定所述第二区域不为全局区域时,根据所述移动机器人所在的第三区域撒粒子以进行蒙特卡洛定位,其中,第二区域的面积小于所述第三区域的面积,且所述移动机器人在所述第二区域撒的粒子数量少于所述移动机器人在所述第三区域撒的粒子数量。Step S100: When it is determined that the second area is not a global area, particles are scattered according to the third area where the mobile robot is located for Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, And the number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
在本实施例中,移动机器人设置有多个区域,各个区域的面积依次增大,最大的区域的面积即为移动机器人当前所在区域的面积。移动机器人进行第一区域的蒙特卡洛定位,定位失败后,再进行第二区域的蒙特卡洛定位,以此类推,直至移动机器人对面积最大的区域进行蒙特卡洛定位,也即移动机器人全局地图进行定位。In this embodiment, the mobile robot is provided with multiple regions, and the area of each region increases in sequence, and the area of the largest region is the area of the region where the mobile robot is currently located. The mobile robot performs Monte Carlo positioning in the first area. After the positioning fails, it performs Monte Carlo positioning in the second area, and so on, until the mobile robot performs Monte Carlo positioning on the area with the largest area, that is, the mobile robot global Map for positioning.
对此,移动机器人在判定第二区域对应的蒙特卡洛定位失败后,确定第二区域是否为全局区域,也即判断第二区域是否为面积最大的区域,若不是,则进行第三区域的蒙特卡洛定位,第三区域的面积大于第二区域的面积,且移动机器人在第三区域撒的粒子数量多于移动机器人在第二区域撒的粒子数量。确定第二区域为全局区域后,将第二区域中得分最高的粒子的位姿对应的位姿作为所述移动机器人的位姿。In this regard, after the mobile robot determines that the Monte Carlo positioning corresponding to the second area fails, it determines whether the second area is a global area, that is, whether the second area is the area with the largest area, and if not, it performs the third area Monte Carlo positioning, the area of the third area is larger than the area of the second area, and the number of particles scattered by the mobile robot in the third area is more than the number of particles scattered by the mobile robot in the second area. After determining that the second region is the global region, the pose corresponding to the pose of the particle with the highest score in the second region is taken as the pose of the mobile robot.
需要说明的是,在本实施例中,第二区域是用于区别于第一区域,第一以及第二并不表示区域的数量,可以理解的是,第一区域可以是移动机器人进行第三个区域的蒙特卡洛定位,也可以是移动机器人进行的第四区域的蒙特卡洛定位。It should be noted that in this embodiment, the second area is used to distinguish it from the first area. The first and second areas do not indicate the number of areas. It should be understood that the first area can be used by a mobile robot to perform the third The Monte Carlo positioning of each area may also be the Monte Carlo positioning of the fourth area performed by the mobile robot.
此外,在上述实施例中,确定定位成功需要进行ICP重定位后,ICP重定位失败后,进行下一个较大面积区域的蒙特卡洛定位。In addition, in the foregoing embodiment, after it is determined that ICP relocation is required for successful positioning, and after ICP relocation fails, Monte Carlo positioning of the next larger area is performed.
在本实施例提供的技术方案中,移动机器人设置多个区域,在当第二区域定位失败后,进行面积大于第二区域的第三区域的蒙特卡洛定位,从而确保移动机器人能够定位成功。In the technical solution provided in this embodiment, the mobile robot is provided with multiple regions, and after the second region fails to locate, Monte Carlo positioning of the third region whose area is larger than the second region is performed to ensure that the mobile robot can successfully locate.
本申请还提供一种移动机器人,所述移动机器人包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的移动机器人的定位程序,所述移动机器人的定位程序被所述处理器执行时实现如上实施例所述的移动机器人的定位方法的各个步骤。The application also provides a mobile robot including a memory, a processor, and a positioning program of the mobile robot stored in the memory and running on the processor, and the positioning program of the mobile robot is When the processor is executed, each step of the positioning method of the mobile robot described in the above embodiment is realized.
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质包括移动机器人的定位程序,所述移动机器人的定位程序被处理器执行时实现如上实施例所述的移动机器人的定位方法的各个步骤。The present application also provides a computer-readable storage medium, the computer-readable storage medium includes a positioning program of a mobile robot, and the positioning program of the mobile robot is executed by a processor to realize the positioning method of the mobile robot as described in the above embodiment The various steps.
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the foregoing embodiments of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。It should be noted that in this article, the terms "include", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, It also includes other elements not explicitly listed, or elements inherent to the process, method, article, or device. If there are no more restrictions, the element defined by the sentence "including a..." does not exclude the existence of other identical elements in the process, method, article or device that includes the element.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better.的实施方式。 Based on this understanding, the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium (such as ROM/RAM) as described above. , Magnetic disk, optical disk), including several instructions to make a terminal device (can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the method described in each embodiment of the present application.
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。The above are only preferred embodiments of this application, and do not limit the scope of this application. Any equivalent structure or equivalent process transformation made using the content of the description and drawings of this application, or directly or indirectly used in other related technical fields , The same reason is included in the scope of patent protection of this application.

Claims (10)

  1. 一种移动机器人的定位方法,其中,所述移动机器人的定位方法包括以下步骤:A positioning method of a mobile robot, wherein the positioning method of the mobile robot includes the following steps:
    确定移动机器人所在的第一区域,并在所述第一区域撒粒子以进行蒙特卡洛定位;Determine the first area where the mobile robot is located, and scatter particles in the first area to perform Monte Carlo positioning;
    侦测到定位失败后,在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位,其中,第一区域的面积小于所述第二区域的面积,且所述移动机器人在所述第一区域撒的粒子数量少于所述移动机器人在所述第二区域撒的粒子数量。After detecting the positioning failure, particles are scattered in the second area where the mobile robot is located to perform Monte Carlo positioning, wherein the area of the first area is smaller than the area of the second area, and the mobile robot is in the The number of particles scattered in the first area is less than the number of particles scattered in the second area by the mobile robot.
  2. 如权利要求1所述的移动机器人的定位方法,其中,所述移动机器人的定位方法,还包括:The positioning method of a mobile robot according to claim 1, wherein the positioning method of the mobile robot further comprises:
    侦测到移动机器人开始工作,获取所述移动机器人的记忆地图;It is detected that the mobile robot starts to work, and the memory map of the mobile robot is acquired;
    根据所述记忆地图确定所述移动机器人的当前位姿;Determining the current pose of the mobile robot according to the memory map;
    根据所述当前位姿确定所述移动机器人未处于充电桩时,执行所述确定移动机器人所在的第一区域的步骤。When it is determined according to the current pose that the mobile robot is not in a charging pile, the step of determining the first area where the mobile robot is located is executed.
  3. 如权利要求2所述的移动机器人的定位方法,其中,所述根据所述记忆地图确定所述移动机器人的当前位姿的步骤之后,还包括:The positioning method of a mobile robot according to claim 2, wherein after the step of determining the current pose of the mobile robot according to the memory map, the method further comprises:
    根据所述当前位姿确定所述移动机器人处于充电桩时,进行ICP重定位;When it is determined that the mobile robot is in the charging pile according to the current pose, perform ICP relocation;
    确定ICP定位失败后,执行所述确定移动机器人所在的第一区域的步骤。After determining that the ICP positioning fails, perform the step of determining the first area where the mobile robot is located.
  4. 如权利要求1所述的移动机器人的定位方法,其中,所述在所述第一区域撒粒子以进行局部的蒙特卡洛定位的步骤之后,还包括:The positioning method of a mobile robot according to claim 1, wherein after the step of scattering particles in the first area to perform local Monte Carlo positioning, the method further comprises:
    确定蒙特卡洛定位成功后,进行ICP重定位确认;After confirming that Monte Carlo positioning is successful, perform ICP relocation confirmation;
    确定蒙特卡洛定位失败后,执行所述在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位的步骤。After it is determined that the Monte Carlo positioning fails, the step of scattering particles in the second area where the mobile robot is located to perform Monte Carlo positioning is performed.
  5. 如权利要求1所述的移动机器人的定位方法,其中,所述在所述移动机器人所在的第二区域撒粒子以进行全局的蒙特卡洛定位的步骤之后,还包括:The method for positioning a mobile robot according to claim 1, wherein after the step of scattering particles in the second area where the mobile robot is located for global Monte Carlo positioning, the method further comprises:
    确定蒙特卡洛定位成功后,进行ICP重定位确认。After confirming that the Monte Carlo positioning is successful, perform ICP relocation confirmation.
  6. 如权利要求1-5任一项所述的移动机器人的定位方法,其中,在定位成功后,确定所述移动机器人所在的位姿,以根据所述位姿确定行走路线,并控制所述移动机器人按照所述行走路线移动。The positioning method of a mobile robot according to any one of claims 1 to 5, wherein after the positioning is successful, the pose of the mobile robot is determined, so as to determine the walking route according to the pose and control the movement The robot moves according to the walking route.
  7. 如权利要求1-5任一项所述的移动机器人的定位方法,其中,所述在所述移动机器人所在的第二区域撒粒子以进行蒙特卡洛定位的步骤之后,还包括:The positioning method of a mobile robot according to any one of claims 1 to 5, wherein after the step of spraying particles in the second area where the mobile robot is located for Monte Carlo positioning, the method further comprises:
    确定定位失败后,确定所述第二区域为全局区域;After determining that the positioning fails, determine that the second area is a global area;
    确定所述第二区域为全局区域时,根据所述第二区域中得分最高的粒子的位姿对应的位姿作为所述移动机器人的位姿。When it is determined that the second region is a global region, the pose corresponding to the pose of the particle with the highest score in the second region is used as the pose of the mobile robot.
  8. 如权利要求7所述的移动机器人的定位方法,其中,所述确定所述第二区域为全局区域的步骤之后,还包括:8. The positioning method of a mobile robot according to claim 7, wherein after the step of determining the second area as a global area, the method further comprises:
    确定所述第二区域不为全局区域时,在所述移动机器人所在的第三区域撒粒子以进行蒙特卡洛定位,其中,第二区域的面积小于所述第三区域的面积,且所述移动机器人在所述第二区域撒的粒子数量少于所述移动机器人在所述第三区域撒的粒子数量。When it is determined that the second area is not a global area, particles are scattered in a third area where the mobile robot is located for Monte Carlo positioning, wherein the area of the second area is smaller than the area of the third area, and The number of particles scattered by the mobile robot in the second area is less than the number of particles scattered by the mobile robot in the third area.
  9. 一种移动机器人,其中,所述移动机器人包括存储器、处理器以及存储在所述存储器并可在所述处理器上运行的移动机器人的定位程序,所述移动机器人的定位程序被所述处理器执行时实现如权利要求1-8任一项所述的移动机器人的定位方法的各个步骤。A mobile robot, wherein the mobile robot includes a memory, a processor, and a positioning program of the mobile robot stored in the memory and running on the processor, and the positioning program of the mobile robot is controlled by the processor. When executed, each step of the positioning method of a mobile robot according to any one of claims 1-8 is realized.
  10. 一种计算机可读存储介质,其中,所述计算机可读存储介质包括移动机器人的定位程序,所述移动机器人的定位程序被处理器执行时实现如权利要求1-8任一项所述的移动机器人的定位方法的各个步骤。A computer-readable storage medium, wherein the computer-readable storage medium includes a positioning program of a mobile robot, and the positioning program of the mobile robot is executed by a processor to realize the movement according to any one of claims 1-8. The steps of the robot positioning method.
PCT/CN2020/099229 2019-07-11 2020-06-30 Mobile robot and localization method therefor, and computer-readable storage medium WO2021004328A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910623793.5A CN110340877B (en) 2019-07-11 2019-07-11 Mobile robot, positioning method thereof, and computer-readable storage medium
CN201910623793.5 2019-07-11

Publications (1)

Publication Number Publication Date
WO2021004328A1 true WO2021004328A1 (en) 2021-01-14

Family

ID=68174992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099229 WO2021004328A1 (en) 2019-07-11 2020-06-30 Mobile robot and localization method therefor, and computer-readable storage medium

Country Status (2)

Country Link
CN (1) CN110340877B (en)
WO (1) WO2021004328A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110340877B (en) * 2019-07-11 2021-02-05 深圳市杉川机器人有限公司 Mobile robot, positioning method thereof, and computer-readable storage medium
CN112711249B (en) * 2019-10-24 2023-01-03 科沃斯商用机器人有限公司 Robot positioning method and device, intelligent robot and storage medium
CN111421548B (en) * 2020-04-21 2021-10-19 武汉理工大学 Mobile robot positioning method and system
CN113619423A (en) * 2021-09-22 2021-11-09 国网河南省电力公司平顶山供电公司 Movable intelligent charging stake

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213431A1 (en) * 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. Method, medium, and apparatus for global localization
CN101493943A (en) * 2008-01-25 2009-07-29 中国科学院计算技术研究所 Particle filtering tracking method and tracking device
CN104180799A (en) * 2014-07-15 2014-12-03 东北大学 Robot localization method based on self-adaptive Monte Carlo localization method
CN107071735A (en) * 2017-04-24 2017-08-18 兰州交通大学 A kind of mobile node Monte Carlo localization method based on sequential
CN110340877A (en) * 2019-07-11 2019-10-18 深圳市杉川机器人有限公司 Mobile robot and its localization method and computer readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6108684B2 (en) * 2011-06-08 2017-04-05 エフ・イ−・アイ・カンパニー High precision beam placement for local area navigation
KR101831028B1 (en) * 2015-07-03 2018-02-21 한국과학기술원 Method and apparatus for relocation of mobile robot in indoor environment
CN105652871A (en) * 2016-02-19 2016-06-08 深圳杉川科技有限公司 Repositioning method for mobile robot
CN109993794A (en) * 2019-03-29 2019-07-09 北京猎户星空科技有限公司 A kind of robot method for relocating, device, control equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213431A1 (en) * 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. Method, medium, and apparatus for global localization
CN101493943A (en) * 2008-01-25 2009-07-29 中国科学院计算技术研究所 Particle filtering tracking method and tracking device
CN104180799A (en) * 2014-07-15 2014-12-03 东北大学 Robot localization method based on self-adaptive Monte Carlo localization method
CN107071735A (en) * 2017-04-24 2017-08-18 兰州交通大学 A kind of mobile node Monte Carlo localization method based on sequential
CN110340877A (en) * 2019-07-11 2019-10-18 深圳市杉川机器人有限公司 Mobile robot and its localization method and computer readable storage medium

Also Published As

Publication number Publication date
CN110340877A (en) 2019-10-18
CN110340877B (en) 2021-02-05

Similar Documents

Publication Publication Date Title
WO2021004328A1 (en) Mobile robot and localization method therefor, and computer-readable storage medium
US11014236B2 (en) Combined robot and cruise path generating method thereof
TWI662388B (en) Obstacle avoidance control system and method for a robot
WO2020259717A1 (en) Method, apparatus, and terminal device for controlling federated learning system, and storage medium
JP5213183B2 (en) Robot control system and robot control program
US8463541B2 (en) Camera-based indoor position recognition apparatus and method
EP3633478B1 (en) Method and device for assessing probability of presence of obstacle in unknown position
US20140111487A1 (en) Processing Method for Touch Operation and Terminal
JP2021077334A (en) Target tracking method, device, electronic device, storage medium, and program
CN111741425A (en) Intelligent household appliance positioning method and device, server, robot and storage medium
WO2021087750A1 (en) Route planning method and device for unmanned aerial vehicle
CN107607117A (en) A kind of robot based on laser radar builds figure navigation system and method
WO2021248856A1 (en) Robot control method and, system, storage medium and smart robot
WO2023151548A1 (en) Navigation method and apparatus, and program and computer-readable storage medium
CN111752275A (en) Automatic cruise method and device for robot and storage medium
CN110850973B (en) Audio device control method, audio device and storage medium
CN113390412B (en) Full-coverage path planning method and system for robot, electronic equipment and medium
CN114431771A (en) Sweeping method of sweeping robot and related device
CN116638528B (en) Hybrid scheduling method of robot mobile collaboration system
CN111973071B (en) Sweeper base selection method and device, storage medium and equipment
WO2024022246A1 (en) Method and apparatus for updating virtual wall, and electronic device and storage medium
WO2023035601A1 (en) Robot walking path planning method, robot, and storage medium
CN113970917A (en) Navigation method, navigation device, self-moving robot and storage medium
CN112506376B (en) Touch control method of circular screen, terminal device and storage medium
Pellier et al. Coordinated exploration of unknown labyrinthine environments applied to the pursuit evasion problem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20837294

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20837294

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 13/06/2022)