Semi-autorelocalization for mobile robots using lidar

The mobile robot system autonomously relocalizes using user-provided hint locations, LiDAR, and odometry data to address mislocalization, providing efficient and adaptable relocalization in diverse environments.

WO2025175290A1PCT designated stage Publication Date: 2025-08-21BEAR ROBOTICS INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/016264
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-15
Filing Date
2025-02-18
Publication Date
2025-08-21

AI Technical Summary

Technical Problem

Mobile robots face mislocalization issues due to sensor noise, failure, or challenging environments, leading to mission failure and the need for human intervention, necessitating a method to autonomously correct their pose.

Method used

A mobile robot system that utilizes a user-provided hint location, LiDAR data, and odometry data to generate an online map, determine a search space, perform map matching, and calculate its pose relative to a global map, allowing autonomous relocalization without precise user input or external positioning systems.

Benefits of technology

Enables user-friendly, time-efficient, and adaptable relocalization in dynamic environments, enhancing flexibility and reducing cognitive load by autonomously refining the robot's pose using integrated LiDAR and odometry data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025016264_21082025_PF_FP_ABST
    Figure US2025016264_21082025_PF_FP_ABST
Patent Text Reader

Abstract

A mobile robot includes a user interface configured to receive a hint location from a user, one or more sensors configured to collect sensor data, one or more motors, and a controller. The controller is programmed to: generate an online map and an online pose based on the sensor data; determine a search space in a global map of an area, the hint location being a center of the search space; perform a map matching between the online map and the search space to obtain a map pose in the global map; and calculate a pose of the mobile robot with respect to the global map based on the online pose and the map pose.
Need to check novelty before this filing date? Find Prior Art

Description

SEMI- AUTO RELOCALIZATION FOR MOBILE ROBOTS USING LIDARCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 553,716 filed on February 15, 2024, the entire contents of which are herein incorporated by reference.TECHNICAL FIELD

[0002] The present disclosure generally relates to systems and methods for relocalizing a mobile robot based on a hint location provided by a user, specifically, relocalizing a mobile robot based on a hint location in a global map provided by a user and an online map generated by the mobile robot.BACKGROUND

[0003] Mobile robots need to know their locations in order to navigate in an environment. In other words, with respect to the map of the environment, the robots need to perform localization to estimate their locations. While a mobile robot is moving in an indoor environment, due to sensor system noise, sensor failure, or challenging environment with no features or highly symmetric environment, the mobile robot may have mislocalization issues. The mislocalization may cause the failure of the mission of the mobile robot and require extra human intervention to relocalize the mobile robot. Thus, the mobile robot needs to correct its pose in real time to prevent mislocalization when the mobile robot is moving in the indoor environment.

[0004] Accordingly, a need exists for a robot that automatically corrects its pose to address mislocalization issues.SUMMARY

[0005] In one aspect, a mobile robot includes a user interface configured to receive a hint location from a user, one or more sensors configured to collect sensor data, one or more motors, and a controller. The controller is programmed to: generate an online map and an online pose based on the sensor data; determine a search space in a global map of an area, the hint location being a center of the search space; perform a map matching between the online map and thesearch space to obtain a map pose in the global map; and calculate a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

[0006] In another aspect, a method for relocalizing a mobile robot is provided. The method includes collecting sensor data using one or more sensors of the mobile robot; obtaining, through a user interface of the mobile robot, a hint location from a user; generating an online map and an online pose based on the sensor data; determining a search space in a global map of an area, the hint location being a center of the search space; performing a map matching between the online map and the search space to obtain a map pose in the global map; and calculating a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

[0007] In yet another aspect, a non-transitory computer readable medium storing instructions is provided. The instructions, when executed by a processor, instruct a mobile robot to perform: collecting sensor data using one or more sensors of the mobile robot; obtaining, through a user interface of the mobile robot, a hint location from a user; generating an online map and an online pose based on the sensor data; determining a search space in a global map of an area, the hint location being a center of the search space; performing a map matching between the online map and the search space to obtain a map pose in the global map; and calculating a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

[0008] These and additional features provided by the embodiments described herein will be more fully understood in view of the following detailed description, in conjunction with the drawings.BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The embodiments set forth in the drawings are illustrative and exemplary in nature and not intended to limit the subject matter defined by the claims. The following detailed description of the illustrative embodiments can be understood when read in conjunction with the following drawings, where like structure is indicated with like reference numerals and in which:

[0010] FIG. 1 depicts an overall system including a mobile robot communicating with a cloud server via a communication network, according to one or more embodiments described and shown herein.;

[0011] FIG. 2 depicts the block diagram of the overall system, according to one or more embodiments described and shown herein;

[0012] FIG. 3 depicts a schematic view of the mobile robot, according to the one or more embodiments show and described herein;

[0013] FIG. 4 depicts a mobile robot receiving a hint location from a user, according to the one or more embodiments show and described herein;

[0014] FIG. 5 depicts a flowchart for relocalizing a mobile robot, according to the one or more embodiments show and described herein;

[0015] FIG. 6 depicts schematic diagram of a mobile robot, according to one or more embodiments shown and described herewith;

[0016] FIG. 7 depicts map matching between an online map and a global map, according to one or more embodiments shown and described herewith; and

[0017] FIG. 8 depicts map matching between an online map and a global map, according to another embodiment shown and described herewith.DETAILED DESCRIPTION

[0018] The embodiments described herein are directed to systems and methods for relocalizing a mobile robot based on a hint location provided by a user.

[0019] The present disclosure allows a mobile robot to autonomously recover from mislocalization by utilizing a hint location given by the user. The user specifies a hint location where the robot is roughly estimated to be located. The robot then navigates around, collects LiDAR data and odometry data using sensors, and builds an online map with the LiDAR data and the odometry data. Searching in a search area based on the hint location, the mobile robot finds the location where the online map matches with the global map, which is an entire map of the environment. Based on the matching location, the mobile robot precisely updates its pose in the global map.

[0020] The present disclosure provides the following technical advantages.

[0021] The present disclosure provides user-friendly relocalization. The present disclosure allows users to provide a rough estimate of the mobile robot's location, reducing the cognitive load on the user, and eliminates the requirement for users to specify the exact pose or position of the robot precisely. In addition, the present disclosure improves overall user experience by simplifying the relocalization process and reducing the complexity of user interactions.

[0022] The present disclosure provides time efficiency. The present disclosure streamlines the relocalization process by autonomously refining the pose of the mobile robot based on environmental data, reducing the time and effort required for users to manually input precise robot pose information.

[0023] The present disclosure provides adaptability in dynamic environments. The present disclosure enhances adaptability by being robust against dynamically changing environments, such as those found in a restaurant setting, and adjusts the robot's pose to accommodate changes in the environment without requiring precise positioning.

[0024] The present disclosure provides versatility without external positioning systems. The present disclosure does not rely on external positioning systems, making it versatile and applicable in a wide range of environments. The present disclosure overcomes limitations associated with external systems, increasing the system's flexibility and ease of deployment.

[0025] The present disclosure provides practical implementation. The present disclosure utilizes readily available map data, TiDAR, and odometry data, making it apractical and feasible solution for real-world applications. The present disclosure provides a reliable relocalization method without the need for additional infrastructure, contributing to the system's overall practicality.

[0026] FIG. 1 depicts an overall system including a mobile robot communicating with a cloud server via a communication network, according to one or more embodiments described and shown herein. In embodiments, the system includes a mobile robot 100, a communication network 120, a cloud server 140, and a robot control system 200. The robot control system 200 may be a local computing device or an edge device, e.g., a computer located at a store, that communicates with the mobile robot 100 and controls movement of the mobile robot 100 locally.

[0027] The main body of the mobile robot 100 may include a front- view camera 116, a LiDAR sensor 118, and a driving unit 230. The front- view camera 116 may be a RGBD camera. The RGBD camera is a type of depth camera that provides both depth (D) and color (RGB) data as the output in real-time. The TiDAR sensor 118 scans the environment of the mobile robot 100 and generates TiDAR data such as a point cloud. The driving unit 230 may move the mobile robot 100 around.

[0028] The mobile robot 100 may perform predetermined functions or assigned tasks (e.g., serving food and retrieving containers) through communication with the robot control system 200, and may include a support configured to support at least one object. The mobile robot 100 may include at least one of a module (e.g., a grab or a robotic arm module) for loading and unloading an object (e.g., a food tray), an imaging module (e.g., a visible light camera or an infrared camera) for acquiring images of surroundings, a scanner module (e.g., a TIDAR sensor) for acquiring information on obstacles, a sound acquisition module (e.g., a microphone) for acquiring sounds of surroundings, an illuminance acquisition module (e.g., an illuminance sensor) for sensing brightness of surroundings, a speaker module for providing sound information, a display module (e.g., TCD) for providing visual information such as text information, a light emitting module (e.g., TED) for providing visual information such as color information, and a drive module (e.g., a motor) for moving the mobile robot 100.

[0029] For example, the mobile robot 100 may have characteristics or functions similar to those of at least one of a serving robot, a guide robot, a transport robot, a cleaning robot, a medical robot, an entertainment robot, a pet robot, and an unmanned flying robot. Meanwhile, supporting of an object herein should be interpreted as encompassing supporting of a container for containing an object such as food, a means where the container may be placed (e.g., a tray), or the like.

[0030] Meanwhile, according to one embodiment of the present disclosure, the mobile robot 100 may include an application (not shown) for controlling the mobile robot 100. The application may be downloaded from the robot control system 200 or an external application distribution server, such as the cloud server 140. The application may be stored in the memory of the mobile robot 100 such as the one or more memory modules 204 in FIG. 2. Here, at least a part of the application may be replaced with a hardware device or a firmware device that may perform a substantially equal or equivalent function, as necessary.

[0031] The mobile robot 100 may navigate around in an indoor environment, collect LiDAR data and odometry data, build an online map with the LiDAR data and odometry data, and localize itself using the online map. The details of the localizing the mobile robot will be described below with reference to FIG. 4-8.

[0032] Referring now to FIG. 2, various internal components of the mobile robot 100 and the cloud server 104 are illustrated. The mobile robot 100 may include a controller 210 that includes one or more processors 202 and one or more memory modules 204, a satellite antenna 220, a driving unit 230, network interface hardware 240, a screen 110, a microphone 112, a speaker 114, a front- view camera 116, the FiDAR sensor 118, and an odometry sensor 122. In some embodiments, the one or more processors 202, and the one or more memory modules 204 may be provided in a single integrated circuit (e.g., a system on a chip). In some embodiments, the one or more processors 202, and the one or more memory modules 204 may be provided as separate integrated circuits.

[0033] Each of the one or more processors 202 is configured to communicate with electrically coupled components, and may be configured as any commercially available or customized processor suitable for the particular applications that the mobile robot 100 is designed to operate. Each of the one or more processors 202 may be any device capable of executing machine readable instructions. Accordingly, each of the one or more processors 202 may be a controller, an integrated circuit, a microchip, a computer, or any other computing device. The one or more processors 202 are coupled to a communication path 206 that provides signal interconnectivity between various modules of the mobile robot 100. The communication path 206 may communicatively couple any number of processors with one another, and allow the modules coupled to the communication path 206 to operate in a distributed computing environment. Specifically, each of the modules may operate as a node that may send and / or receive data. As used herein, the term “communicatively coupled” means that coupled components are capable of exchanging data signals with one another such as, for example, electrical signals via conductive medium, electromagnetic signals via air, optical signals via optical waveguides, and the like. The one or more processors 202 may be programmed to generate an online map and an online pose based on sensor data; determine a search space centering a hint location in a global map of an area; perform a map matching between the onlinemap and the search space to obtain a map pose in the global map; and calculate a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

[0034] Accordingly, the communication path 206 may be formed from any medium that is capable of transmitting a signal such as, for example, conductive wires, conductive traces, optical waveguides, or the like. Moreover, the communication path 206 may be formed from a combination of mediums capable of transmitting signals. In one embodiment, the communication path 206 comprises a combination of conductive traces, conductive wires, connectors, and buses that cooperate to permit the transmission of electrical data signals to components such as processors, memories, sensors, input devices, output devices, and communication devices. Additionally, it is noted that the term "signal" means a waveform (e.g., electrical, optical, magnetic, mechanical or electromagnetic), such as DC, AC, sinusoidal-wave, triangular-wave, square-wave, vibration, and the like, capable of traveling through a medium.

[0035] The one or more memory modules 204 may be coupled to the communication path 206. The one or more memory modules 204 may include a volatile and / or nonvolatile computer-readable storage medium, such as RAM, ROM, flash memories, hard drives, or any medium capable of storing machine readable instructions such that the machine readable instructions can be accessed by the one or more processors 202. The machine readable instructions may comprise logic or algorithm(s) written in any programming language of any generation (e.g., 1GT, 2GT, 3GT, 4GT, or 5GT) such as, for example, machine language that may be directly executed by the processor, or assembly language, user-oriented programming (OOP), scripting languages, microcode, etc., that may be compiled or assembled into machine readable instructions and stored on the one or more memory modules 204. Alternatively, the machine readable instructions may be written in a hardware description language (HDT), such as logic implemented via either a field-programmable gate array (FPGA) configuration or an application-specific integrated circuit (ASIC), or their equivalents. Accordingly, the methods described herein may be implemented in any conventional computer programming language, as pre-programmed hardware elements, or as a combination of hardware and software components.

[0036] The one or more memory modules 204 may be configured to store one or more modules, each of which includes the set of instructions that, when executed by the one or more processors 202, cause the mobile robot 100 to carry out the functionality of the module described herein. For example, the one or more memory modules 204 may be configured to store a robotoperating module, including, but not limited to, the set of instructions that, when executed by the one or more processors 202, cause the mobile robot 100 to carry out general robot operations.

[0037] The mobile robot 100 may include the satellite antenna 220 coupled to the communication path 206 such that the communication path 206 communicatively couples the satellite antenna 220 to other modules of the mobile robot 100. The satellite antenna 220 is configured to receive signals from global positioning system satellites. Specifically, in one embodiment, the satellite antenna 220 includes one or more conductive elements that interact with electromagnetic signals transmitted by global positioning system satellites. The received signal is transformed into a data signal indicative of the location (e.g., latitude and longitude) of the satellite antenna 220 or a user positioned near the satellite antenna 220, by the one or more processors 202. In some embodiments, the mobile robot 100 may not include the satellite antenna 220.

[0038] The driving unit 230 may comprise actuators, associated drive electronics to control the actuators, and any other external components that may be present in the mobile robot 100. The driving unit 230 may include one or more motors. The driving unit 230 may be configured to receive control signals from the one or more processors 202 and to operate the mobile robot 100 accordingly. The operating parameters and / or gains for the driving unit 230 may be stored in the one or more memory modules 204.

[0039] The mobile robot 100 includes the network interface hardware 240 for communicatively coupling the mobile robot 100 with the cloud server 140 or the robot control system 200. The network interface hardware 240 may be coupled to the communication path 206 and may be configured as a wireless communications circuit such that the mobile robot 100 may communicate with external systems and devices. The network interface hardware 240 may include a communication transceiver for sending and / or receiving data according to any wireless communication standard. For example, the network interface hardware 240 may include a chipset (e.g., antenna, processors, machine readable instructions, etc.) to communicate over wireless computer networks such as, for example, wireless fidelity (Wi-Fi), WiMax, Bluetooth, IrDA, Wireless USB, Z-Wave, ZigBee, or the like. In some embodiments, the network interface hardware 240 includes a Bluetooth transceiver that enables the mobile robot 100 to exchange information with the cloud server 140 or the robot control system 200.

[0040] The mobile robot 100 may include the screen 110 coupled to the communication path 206 such that the communication path 206 communicatively couples the screen 110 to other modules of the mobile robot 100. The screen 110 may display information about a task currently implemented by the mobile robot 100, for example, delivering items, picking up items, and the like.

[0041] The mobile robot 100 includes the microphone 112 coupled to the communication path 206 such that the communication path 206 communicatively couples the microphone 112 to other modules of the mobile robot 100. The microphone 112 may be configured for receiving user voice commands and / or other inputs to the mobile robot 100. The microphone 112 transforms acoustic vibrations received by the microphone 112 into a speech input signal.

[0042] The mobile robot 100 includes the speaker 114 coupled to the communication path 206 such that the communication path 206 communicatively couples the speaker 114 to other modules of the mobile robot 100. The speaker 114 transforms data signals into audible mechanical vibrations. The speaker 114 outputs audible sound such that a user proximate to the mobile robot 100 may interact with the mobile robot 100.

[0043] The mobile robot 100 includes a front- view camera 116. The front- view camera 116 may include, but not limited to, RGBD sensor, or depth sensors configured to obtain depth information of a target area. The front- view camera 116 may have any suitable resolution and may be configured to detect radiation in any desirable wavelength band, such as an ultraviolet wavelength band, a near-ultraviolet wavelength band, a visible light wavelength band, a near infrared wavelength band, or an infrared wavelength band.

[0044] The mobile robot 100 includes the TiDAR sensor 118. The TiDAR sensor 118 emits a laser beam which bounces off a target such as walls, doors, and people and returns to the TiDAR sensor 118. The TiDAR sensor 118 calculates the time it takes for the beam to return and determines the distance to the target. The TiDAR sensor 118 creates a 3D map of its surroundings using point clouds. The TiDAR sensor 118 helps the mobile robot 100 to avoid collisions with objects in the moving path of the mobile robot 100.

[0045] The mobile robot 100 includes the odometry sensor 122. The odometry sensor 122 is a motion sensor that provides data including the position, velocity, and attitude of themobile robot 100. The odometry sensor 122 is positioned in the wheels of the mobile robot 100 and measures how far the wheels have turned.

[0046] The cloud server 140 includes a controller 260 that includes one or more processors 262 and one or more memory modules 264, and network interface hardware 268. The one or more processors 262, one or more memory modules 264, and the network interface hardware 268 may be components similar to the one or more processors 202, one or more memory modules 204, and the network interface hardware 240, as described above.

[0047] FIG. 3 depicts a schematic view of the mobile robot, according to the one or more embodiments show and described herein.

[0048] The mobile robot 100 may include a top tray 310, a touch screen 110, a middle tray 330, a front-view camera 116, a bussing bucket 340, a FiDAR sensor 118, a base 350 including a control system and an inertial measurement unit, and driving wheels 360 with wheel odometry sensors. FIG. 3 illustrates an example structure of the mobile robot 100, and the mobile robot 100 may have a different design with additional elements or less elements than the mobile robot 100 depicted in FIG. 3.

[0049] FIG. 4 depicts a mobile robot receiving a hint location from a user, according to the one or more embodiments show and described herein. The mobile robot 100 may display a global map and request for an input of a current location of the mobile robot 100. Then, the user may look at the mobile robot 100 and its environment, and enter a hint location, e.g., by touching a certain location on the global map.

[0050] FIG. 5 depicts a flowchart for relocalizing a mobile robot, according to the one or more embodiments show and described herein.

[0051] In step 510, a mobile robot receives a hint location from a user. In embodiments, the mobile robot 100 may display a global map on the touch screen 110. For example, the global map may be the map 720 in FIG. 7. By referring to FIG. 4, the user may input a hint location through the touch screen 110. The hint location may be the location of the mobile robot 100 in the global map estimated by the user. For example, the user may look at the mobile robot 100 and the environment around the mobile robot 100 and input, through the touch screen 110, the estimated location of the mobile robot 100 in the global map.

[0052] Referring back to FIG. 5, in step 520, the mobile robot builds an online map with the LiDAR sensor 118 and the odometry sensor 122. In embodiments, the mobile robot 100 may navigate around and perform simultaneous localization and mapping (SLAM) based on LiDAR data captured by the LiDAR sensor 118 and odometry data captured by the odometry sensor 122 to generate an online map and an online pose of the mobile robot. For example, the mobile robot 100 may perform SLAM using LiDAR data from the LiDAR sensor 118 and odometry data from the odometry sensor 122 to generate an online map 710 and an online pose 712 in FIG. 7. The online pose 712 is the pose of the mobile robot 100 with respect to the online map 710. That is the pose 712 includes the location of the mobile robot 100 in the online map, and the orientation of the mobile robot 100 with respect to the online map 710.

[0053] Referring back to FIG. 5, in step 530, the mobile robot performs map matching of the online map against the global map. In embodiments, the mobile robot 100 performs map matching of the online map against the global map based on a search space the center of which is the hint location provided the user in step 530. For example, by referring to FIG. 7, the mobile robot 100 performs a map matching of the online map 710 against the global map 720 based on a search space 730 with the hint location 732 being the center of the search space 730. Then, within the search space 730, the mobile robot 100 identifies an area that matches with the online map 710. The square 740 indicates the area in the global map 720 that matches with the online map 710. After matching the online map 710 with the global map 720, the mobile robot 100 may obtain its pose with respect to the global map 720. For example, by referring to FIG. 7, the mobile robot 100 obtain the pose 742 of the mobile robot 100 with respect to the global map 720.

[0054] Referring back to FIG. 5, in step 540, the mobile robot relocalizes itself using the pose data with respect to the global map 720 obtained in step 530.

[0055] FIG. 6 depicts schematic diagram of a mobile robot, according to one or more embodiments shown and described herewith.

[0056] The mobile robot 100 collects LiDAR data 602 using the LiDAR sensor 118 and odometry data 604 using the odometry sensor 122. The LiDAR data 602 and the odometry data 604 are taken into the online SLAM 606 while the mobile robot 100 is navigating in an indoor area. The online SLAM 606 generates two pieces of data: an online map 608 and an online pose 609. The online map 608 is a temporary map built by the mobile robot 100 with the LiDAR dataand odometry data, e.g., the online map 710 in FIG. 7. The online pose 609 is the pose of the mobile robot 100 with respect to the online map 608, e.g., the pose 712 in FIG. 7.

[0057] The mobile robot 100 receives a hint location 612 through the touch screen 110 of the mobile robot 100, and the search space setting 614 determines the search space 616 based on the hint location 612. In embodiments, the search space 616 may be a square with the hint location 612 being the center of the square. In some embodiments, the search space 616 may be a different shape, such as a circle, a rectangular, or any other shape.

[0058] The search space setting 614 may be a program module executed by the mobile robot 100. The search space setting 614 may determine the search space 616 in response to receiving the hint location 612. In embodiments, the search space setting 614 may determine the size of the search space 616 based on the structure of the indoor area in which the mobile robot 100 is located.

[0059] If there are symmetric structures in the indoor area, the online map 608 may match at multiple locations. For example, by referring to FIG. 8, there are four symmetric areas in the global map 820. Thus, it is difficult to match the online map 810 with the global map 820 because the online map 810 may match with any of the four symmetric areas especially when the search space is large enough to include the four symmetric areas. In order to address the issue, the search space setting 614 determines whether there are symmetric structures in the search space, and reduces the size of the search space in response to determining that there are symmetric structures in the search space. Specifically, an original search space may be large enough to include more than one of the four symmetric areas. Then, the original search space may be reduced to the search space 830 such that the reduced search space 830 includes only one of the four symmetric areas. By reducing the size of the search space 830, the algorithm can find the correct matching location.

[0060] Referring back to FIG. 6, the global map 622 is the entire map of the environment in which the mobile robot 100 is navigating. The global map 622 may be transmitted to the mobile robot 100 from an edge device or a cloud server via wireless communication, e.g., through the WiFi network. A map matching module 630 takes the online map 608 and global map 622 and the hint location 612 to find the best map pose 632. The map matching module 630 may be a software module executed by controller of the mobile robot 100. The map pose 632includes the location and orientation where the online map 608 matches the global map 622 the most.

[0061] At the relocalization stage 640, the map pose 632 and the online pose 609 are combined to generate the pose of the mobile robot 100 with respect to the global map 622. For example, a transformation between the online map 608 and the global map 622 is calculated based on the map pose 632. Then, the pose of the mobile robot 100 in the online map 608 is transformed to the pose of the mobile robot 100 in the global map 622 using the transformation. Then, the resulting pose of the mobile robot 100 in the global map 622 is used to relocalize the mobile robot 100.

[0062] In embodiments, a mobile robot includes a user interface configured to receive a hint location from a user, one or more sensors configured to collect data, one or more motors, and a controller. The controller is programmed to generate an online map and an online pose based on the data; determine a search space in a global map of an area, the hint location being a center of the search space; perform a map matching between the online map and the search space to obtain a map pose in the global map; and calculate a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

[0063] The system and method of the present disclosure autonomously determines the pose of a mobile robot based on user-provided approximate location data. Unlike conventional systems that rely on precise user input or external positioning systems, the present system utilizes FiDAR data and odometry data to refine the pose of the mobile robot within the specified search space. The elimination of the need for external positioning systems enhances the system's flexibility and applicability in various environments, especially those characterized by dynamic changes.

[0064] The system and method of the present disclosure differ from the traditional methods relocalization methods that heavily rely on precise user input or external positioning systems in that the present disclosure incorporates LiDAR data and odometry data for autonomous pose refinement based on approximate user-provided location. The system and method of the present disclosure innovatively combine user-provided approximate location, LiDAR data, and odometry data to refine the post of the mobile robot, and synergize the data sources and demonstrate a non-obvious integration, departing from conventional methods.

[0065] The system and method of the present disclosure introduce the concept of autonomously refining the pose of a mobile robot without explicit user instructions for exact positioning, and automate the pose refinement process as a non-trivial advancement in relocalization technology.

[0066] The system and method of the present disclosure are robust against dynamically changing environments, such as those encountered in a restaurant setting. The system and method of the present disclosure adapt to dynamic conditions without additional user input.

[0067] The system and method of the present disclosure address challenges associated with relocalization in a user-friendly and efficient manner and contributes to the advancement of robotics in practical and applicable ways.

[0068] It is noted that the terms "substantially" and "about" may be utilized herein to represent the inherent degree of uncertainty that may be attributed to any quantitative comparison, value, measurement, or other representation. These terms are also utilized herein to represent the degree by which a quantitative representation may vary from a stated reference without resulting in a change in the basic function of the subject matter at issue.

[0069] It is noted that the singular forms “a” and “an” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Although the terms first, second, and the like may be used herein to describe various elements, components, steps and / or operations, these terms are only used to distinguish one element, component, step or operation from another element, component, step, or operation.

[0070] The recitation of “at least one of A, B and C” should be interpreted as one or more of a group of elements consisting of A, B and C, and should not be interpreted as requiring at least one of each of the listed elements A, B and C, regardless of whether A, B and C are related as categories or otherwise.

[0071] While particular embodiments have been illustrated and described herein, it should be understood that various other changes and modifications may be made without departing from the spirit and scope of the claimed subject matter. Moreover, although various aspects of the claimed subject matter have been described herein, such aspects need not be utilized in combination. It is therefore intended that the appended claims cover all such changes and modifications that are within the scope of the claimed subject matter.

Claims

CLAIMS1. A mobile robot comprising: a user interface configured to receive a hint location from a user; one or more sensors configured to collect sensor data; one or more motors; and a controller programmed to: generate an online map and an online pose based on the sensor data; determine a search space in a global map of an area, the hint location being a center of the search space; perform a map matching between the online map and the search space to obtain a map pose in the global map; and calculate a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

2. The mobile robot of claim 1, wherein the controller is further programmed to: determine a size of the search space based on a structure of the area.

3. The mobile robot of claim 2, wherein the controller is further programmed to: determine whether there are symmetric structures in the search space; and reduce the size of the search space in response to determining that there are symmetric structures in the search space.

4. The mobile robot of claim 1, wherein the map pose includes an area where the online map matches the global map most and an orientation of the area.

5. The mobile robot of claim 1, wherein the one or more sensors comprise: a LiDAR sensor configured to generate LiDAR data; and an odometry sensor configured to generate odometry data.

6. The mobile robot of claim 1, wherein the user interface is a touch screen positioned at an exterior of the mobile robot.

7. The mobile robot of claim 1, wherein the controller is further programmed to autonomously navigate the mobile robot by controlling the one or more motors based on the pose of the mobile robot.

8. A method for relocalizing a mobile robot, the method comprising: collecting sensor data using one or more sensors of the mobile robot; obtaining, through a user interface of the mobile robot, a hint location from a user; generating an online map and an online pose based on the sensor data; determining a search space in a global map of an area, the hint location being a center of the search space; performing a map matching between the online map and the search space to obtain a map pose in the global map; and calculating a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

9. The method of claim 8, further comprising: determining a size of the search space based on a structure of the area.

10. The method of claim 9, further comprising: determining whether there are symmetric structures in the search space; and reducing the size of the search space in response to determining that there are symmetric structures in the search space.

11. The method of claim 8, wherein the map pose includes an area where the online map matches the global map most and an orientation of the area.

12. The method of claim 8, wherein the one or more sensors comprise: a TiDAR sensor configured to generate TiDAR data; and an odometry sensor configured to generate odometry data.

13. The method of claim 8, wherein the user interface is a touch screen positioned at an exterior of the mobile robot.

14. The method of claim 8, further comprising: autonomously navigating the mobile robot by controlling one or more motors of the mobile robot based on the pose of the mobile robot.

15. A non-transitory computer readable medium storing instructions, when executed by a processor, that instruct a mobile robot to perform: collecting sensor data using one or more sensors of the mobile robot; obtaining, through a user interface of the mobile robot, a hint location from a user; generating an online map and an online pose based on the sensor data; determining a search space in a global map of an area, the hint location being a center of the search space; performing a map matching between the online map and the search space to obtain a map pose in the global map; and calculating a pose of the mobile robot with respect to the global map based on the online pose and the map pose.

16. The non-transitory computer readable medium storing instructions of claim 15, wherein the instructions, when executed by the processor, further instructs the mobile robot to perform: determining a size of the search space based on a structure of the area.

17. The non-transitory computer readable medium storing instructions of claim 16, wherein the instructions, when executed by the processor, further instructs the mobile robot to perform: determining whether there are symmetric structures in the search space; and reducing the size of the search space in response to determining that there are symmetric structures in the search space.

18. The non-transitory computer readable medium storing instructions of claim 15, wherein the map pose includes an area where the online map matches the global map most and an orientation of the area.

19. The non-transitory computer readable medium storing instructions of claim 15, wherein the one or more sensors comprise: a LiDAR sensor configured to generate LiDAR data; and an odometry sensor configured to generate odometry data.

20. The non-transitory computer readable medium storing instructions of claim 16, wherein the instructions, when executed by the processor, further instructs the mobile robot to perform: autonomously navigating the mobile robot by controlling the one or more motors based on the pose of the mobile robot.

Citation Information

Patent Citations

  • Agricultural Lane Following

    US20210000006A1

  • Systems and methods for pose detection and measurement

    US20220044441A1