Mobile robot repositioning method and apparatus, mobile robot, and storage medium
By generating simulated radar data and matching it with a priori maps, and using multi-frame radar data for mobile robot relocalization, the problem of inaccurate localization in complex environments using single-frame laser data is solved, thus improving the accuracy of relocalization and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHEN ZHEN 3IROBOTICS CO LTD
- Filing Date
- 2022-12-30
- Publication Date
- 2026-06-19
Smart Images

Figure CN115902862B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of mobile robot positioning technology, and in particular to a mobile robot repositioning method, apparatus, mobile robot, and storage medium. Background Technology
[0002] Mobile robot relocalization is an important research direction in mobile robotics and a key to achieving autonomous localization and navigation for mobile robots. It typically utilizes single-frame laser data or single-frame image data for mobile robot relocalization.
[0003] In related technologies, in complex work scenarios such as homes, mobile robots may be moved by external forces, causing them to be in an unknown position. In this case, single-frame laser data can be used to achieve autonomous localization of the mobile robot.
[0004] However, the accuracy of repositioning mobile robots using single-frame laser data needs to be improved. Summary of the Invention
[0005] This specification aims to at least partially address one of the technical problems in the related art. Therefore, the first objective of this specification is to propose a method for relocalizing a mobile robot.
[0006] The second objective of this specification is to provide a mobile robot repositioning device.
[0007] The third objective of this specification is to propose an electronic device.
[0008] The fourth objective of this specification is to provide a computer-readable storage medium.
[0009] To achieve the above objectives, a mobile robot relocalization method is proposed in the first aspect of this specification. The mobile robot relocalization method includes: acquiring actual radar data of the mobile robot's current pose; wherein the actual radar data is obtained by performing an actual rotational scan of the mobile robot's work area; generating simulated radar data based on the actual radar data; wherein the simulated radar data is radar data obtained by simulating the mobile robot's rotational scan of the work area; and matching the simulated radar data with a priori map of the work area to determine the mobile robot's localization pose in the priori map.
[0010] According to the mobile robot relocalization method of the embodiments of this specification, when the mobile robot needs to be relocalized, it is controlled to rotate in its current pose to obtain actual radar data scanned by the mobile robot over the work area. Since relocalization using only a single frame of radar data is prone to errors, the actual radar data in the embodiments of this specification includes multiple frames of radar data obtained by the mobile robot emitting multiple radar pulses during its rotation. A single frame of radar data is then simulated based on the actual radar data. By matching the simulated radar data with a priori map, the positioning pose of the mobile robot in the priori map can be determined. The embodiments of this specification utilize multiple frames of radar data collected by the mobile robot as the data basis for relocalization. Even when the environment changes or the mechanical design affects a particular frame of radar data, the accuracy of relocalization can still be guaranteed, thereby improving the user experience.
[0011] In addition, the embodiments described above according to this specification may also have the following additional technical features:
[0012] In one embodiment of this specification, obtaining actual radar data of the current pose of a mobile robot includes: controlling the mobile robot to perform a rotation operation at a specified angle at the current position; and scanning the work area during the rotation operation to obtain actual radar data.
[0013] In one embodiment of this specification, matching simulated radar data with a prior map of the work area to determine the positioning pose of the mobile robot in the prior map includes: matching simulated radar data with initial map points of the prior map, determining target map points that satisfy the particle-spraying condition in the initial map points; generating a preset number of particle sets on the target map points to simulate the position of the mobile robot; performing particle filtering positioning on the particle sets to determine the positioning pose of the mobile robot in the prior map.
[0014] In one embodiment of this specification, generating simulated radar data based on actual radar data includes: probabilistically filling grids in a preset base map according to the actual radar data to obtain a grid-occupied map; and simulating the mobile robot scanning the work area in the grid-occupied map based on the current pose of the mobile robot to obtain simulated radar data.
[0015] In one embodiment of this specification, the mobile robot is simulated to scan a work area on a grid map based on its current pose to obtain simulated radar data. This includes: mapping the current pose of the mobile robot onto the grid map to obtain the pose of the mobile robot in the grid map; emitting simulated pulses at a preset emission angle to scan the grid map based on the pose of the mobile robot in the grid map; wherein the simulated pulses are pulses emitted along the preset emission angle, starting from the position coordinates of the mobile robot's pose in the grid map; and obtaining simulated radar data based on the scanning results of the simulated pulses.
[0016] In one embodiment of this specification, obtaining simulated radar data based on the scanning results of simulated pulses includes: traversing the grid located in the direction of the emission angle of the simulated pulse, and determining the endpoint grid whose probability value meets the preset condition as the simulated hit point; determining the distance between the position coordinates of the mobile robot in the grid map and the simulated hit point as the simulated line segment length of the simulated radar data; and recording the emission angle of the simulated pulse corresponding to the simulated hit point as the simulated emission angle of the simulated radar data.
[0017] In one embodiment of this specification, traversing the grid located in the direction of the emission angle of the simulated pulse and determining the endpoint grid whose probability value meets a preset condition as the simulated hit point includes: taking the position coordinates of the mobile robot's pose in the grid map as the starting point, moving along a first direction by M steps and along a second direction by N steps to reach the endpoint grid located in the direction of the emission angle of the simulated pulse; where M and N are positive integers; if the probability value of the endpoint grid meets the preset condition, the endpoint grid is determined as the simulated hit point; if the length of the simulated line segment exceeds a preset line segment threshold, the grid located in the direction of the emission angle of the simulated pulse is determined as the simulated non-hit point.
[0018] To achieve the above objectives, a second aspect of this specification provides a mobile robot relocalization device, comprising: an acquisition module for acquiring actual radar data of the current pose of the mobile robot; wherein the actual radar data is obtained by performing an actual rotational scan of the mobile robot's work area; a radar data simulation module for generating simulated radar data based on the actual radar data; wherein the simulated radar data is radar data obtained by simulating the mobile robot's rotational scan of the work area; and a positioning module for matching the simulated radar data with a priori map of the work area to determine the mobile robot's positioning pose in the priori map.
[0019] According to the mobile robot repositioning device of the embodiments of this specification, when the mobile robot needs to be repositioned, it controls the mobile robot to rotate in its current pose to obtain actual radar data scanned by the mobile robot over the work area. Since repositioning using only a single frame of radar data is prone to errors, the actual radar data in the embodiments of this specification includes multiple frames of radar data obtained by the mobile robot emitting multiple radar pulses during its rotation. A single frame of radar data is then simulated based on the actual radar data. By matching the simulated radar data with a priori map, the positioning pose of the mobile robot in the priori map can be determined. The embodiments of this specification utilize multiple frames of radar data collected by the mobile robot as the data basis for the mobile robot's repositioning. Even when the environment changes or the mechanical design affects a particular frame of radar data, the accuracy of repositioning can still be guaranteed, thereby improving the user experience.
[0020] To achieve the above objectives, a computer-readable storage medium is provided in the third aspect of this specification, which stores a relocation program for a mobile robot. When the relocation program for the mobile robot is executed by a processor, it implements the mobile robot relocation method of any of the above embodiments.
[0021] According to the embodiments of this specification, the computer-readable storage medium, when the mobile robot relocation program is executed by the processor, can use multiple frames of radar data collected by the mobile robot as the data basis for the relocation of the mobile robot. Even when the environment changes or the mechanical design affects a certain frame of radar data, the accuracy of relocation can still be guaranteed, thereby improving the user experience.
[0022] To achieve the above objectives, a fourth aspect of this specification provides a mobile robot, including a memory, a processor, and a mobile robot relocation program stored in the memory and executable on the processor. When the processor executes the mobile robot relocation program, it implements the mobile robot relocation method of any of the above embodiments.
[0023] According to the embodiments of this specification, when the processor executes the mobile robot relocation program, it can use multiple frames of radar data collected by the mobile robot as the data basis for the relocation of the mobile robot. Even when the environment changes or the mechanical design affects a certain frame of radar data, the accuracy of relocation can still be guaranteed, thereby improving the user experience.
[0024] Additional aspects and advantages of this specification will be set forth in part in the description which follows, and in part will be obvious from the description or may be learned by practice of this specification. Attached Figure Description
[0025] Figure 1 This is a schematic diagram of a scenario according to an embodiment of this specification.
[0026] Figure 2 This is a flowchart of a mobile robot relocation method according to an embodiment of this specification.
[0027] Figure 3 This is a schematic diagram illustrating the determination of the simulated hit point location according to an embodiment of this specification.
[0028] Figure 4 This is a flowchart for determining the localization pose of a mobile robot in a priori map according to an embodiment of this specification.
[0029] Figure 5 This is a flowchart of a mobile robot relocation method according to one embodiment of this specification.
[0030] Figure 6 This is a structural block diagram of a mobile robot repositioning device according to an embodiment of this specification.
[0031] Figure 7 This is a structural block diagram of a mobile robot according to an embodiment of this specification. Detailed Implementation
[0032] The embodiments of this specification are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this specification, and should not be construed as limiting this specification.
[0033] Mobile robot relocalization is an important research area in mobile robotics. When a mobile robot's position suddenly changes, it can re-determine its location in the current environment through relocalization. Currently, related technologies typically use single-frame laser data or single-frame image data to achieve mobile robot relocalization.
[0034] However, while mobile robots equipped with LiDAR are highly efficient in use, they operate in various complex environments. When the robot is suddenly moved or carried away, causing changes in the surrounding environment, errors may occur when relocalizing using single-frame LiDAR data. Furthermore, due to the mechanical design, the LiDAR data of the mobile robot may be obstructed. In these situations, the accuracy of relocalization using single-frame LiDAR data decreases, potentially leading to incorrect positioning. All of these issues can cause map corruption and abnormal cleaning paths, negatively impacting the user experience. Therefore, this specification proposes a mobile robot relocalization method to improve the accuracy of mobile robot relocalization.
[0035] The following description, with reference to the accompanying drawings, outlines the mobile robot relocation method, apparatus, mobile robot, and storage medium as presented in the embodiments of this specification.
[0036] In this specification, refer to Figure 1 As shown, the cleaning environment can be spatially divided into seven zones, labeled Room-Room7. The mobile robot is currently located on the left side of Room2. The mobile robot is equipped with radar devices such as TOF sensors, LiDAR, or microwave radar, which can determine the surrounding environment by emitting radar pulses. This manual uses a robot equipped with a TOF sensor emitting LiDAR pulses as an example.
[0037] Figure 1 The map shown is a priori map determined by the mobile robot through radar pulse scanning of the cleaning environment after multiple cleaning operations. When the mobile robot is suddenly moved to Room 3 for cleaning, due to the change in environment, the mobile robot needs to relocalize to determine its actual position in the priori map in order to clean according to the preset cleaning route and avoid collisions with obstacles.
[0038] For example, the mobile robot can rotate once from its current position in Room 3. During the rotation, it scans the current work area using a Time-of-Flight (TOF) sensor to obtain actual radar data. The radar transmission frequency of a TOF sensor is typically 4-5 times per second, while the mobile robot's rotation may take 5-10 seconds. Therefore, the actual radar data includes multiple frames of radar data. Inserting the actual radar data into a preset base map yields a temporary grid map. Mapping the mobile robot's current pose during rotation onto the grid map gives the robot's pose within the grid map. Based on the grid map, using the robot's mapped pose coordinates as the center, the process of the mobile robot's TOF sensor scanning the work area is simulated, resulting in a frame of simulated radar data. Matching the simulated radar data with the prior map determines the mobile robot's position and pose within the prior map. Based on the determined position and pose of the mobile robot in the prior map, it can be determined that the mobile robot is currently in the working area of Room3. Based on the prior map and the preset cleaning path, Room3 can be cleaned.
[0039] The following is combined with Figure 2 The mobile robot relocation method described in the embodiments of this specification will be explained. For example... Figure 2 As shown, the mobile robot relocation method includes:
[0040] S210: Obtain the actual radar data of the current pose of the mobile robot.
[0041] The actual radar data was obtained by performing a rotating scan of the mobile robot's work area.
[0042] When the mobile robot needs repositioning, it can be controlled to rotate in its current pose while its Time-of-Flight (TOF) sensor emits radar pulses to scan the work area. Since the TOF sensor typically emits n times per second, multiple frames of radar data can be obtained after the robot's rotation. These multiple frames of radar data constitute the actual radar data. In this embodiment, the mobile robot rotates in place from its current pose; therefore, a single scan area by the TOF sensor during the robot's rotation includes a large amount of overlapping areas. Because the TOF sensor can emit radar pulses in any direction (360 degrees) and returns radar point data when it encounters obstacles such as walls or furniture, a single frame of radar data can include several radar point data points.
[0043] S220 generates simulated radar data based on actual radar data.
[0044] Among them, simulated radar data is radar data obtained by simulating a mobile robot rotating and scanning the work area.
[0045] The actual radar data in the embodiments of this specification includes multiple frames of radar data obtained by scanning the current working area of the mobile robot, and the single scan area of the TOF sensor includes overlapping areas. Therefore, the environmental information of the current working area of the mobile robot determined by processing multiple frames of radar data is more accurate than the environmental information determined by a single frame of radar data. However, matching each of the multiple frames of radar data in the actual radar data with a priori map would consume a large amount of computing resources. In the embodiments of this specification, simulated radar data can be generated based on the actual radar data, which can be understood as a single frame of radar data. Therefore, matching the simulated radar data with the priori map is faster and does not consume a large amount of computing resources. Moreover, since the simulated radar data is based on the actual radar data, the accuracy of the matching can also be guaranteed.
[0046] Specifically, this manual is based on a preset base map of the work area. The preset base map is a blank grid map. Inserting actual radar data into the preset base map yields a temporary grid map. The grid probability values on the grid map are obtained based on the actual radar data. The probability values of grids representing obstacles or walls that prevent passage are greater than the probability values of grids representing passable grids. The current pose of the mobile robot during its in-situ rotation is mapped onto this grid map to obtain the robot's pose in the grid map, which is recorded as the simulated origin. Based on the grid map, with the simulated origin as the center, the process of a TOF sensor emitting a radar pulse frame is simulated. A radar pulse frame emitted by the TOF sensor includes multiple radar pulses emitted in multiple directions. Therefore, the simulation process traverses the grids traversed by each simulated radar pulse emitted from the simulated origin, determines the length of each simulated radar pulse based on the grid probability values, and records the angle of each simulated radar pulse, thereby obtaining simulated radar data. Therefore, simulated radar data can include the length and emission angle of each simulated radar pulse.
[0047] S230 matches the simulated radar data with the prior map of the work area to determine the positioning and pose of the mobile robot in the prior map.
[0048] In the embodiments described in this specification, the mobile robot has performed multiple cleaning operations in the work area. During the cleaning process, the mobile robot's TOF sensor continuously scans the work area. A priori map can be generated based on several frames of radar data obtained from the scans. The priori map can be stored in the mobile robot's memory, and it can be updated if the mobile robot detects new obstacles during operation.
[0049] The prior map can also be a grid map. Therefore, the simulated radar data can be matched with the prior map using particle filtering to obtain the positioning and pose of the mobile robot in the prior map.
[0050] According to the mobile robot relocalization method of the embodiments of this specification, when the mobile robot needs to be relocalized, it is controlled to rotate in its current pose to obtain actual radar data scanned by the mobile robot over the work area. Since relocalization using only a single frame of radar data is prone to errors, the actual radar data in the embodiments of this specification includes multiple frames of radar data obtained by the mobile robot emitting multiple radar pulses during its rotation. A single frame of radar data is then simulated based on the actual radar data. By matching the simulated radar data with a priori map, the positioning pose of the mobile robot in the priori map can be determined. The embodiments of this specification utilize multiple frames of radar data collected by the mobile robot as the data basis for relocalization. Even when the environment changes or the mechanical design affects a particular frame of radar data, the accuracy of relocalization can still be guaranteed, thereby improving the user experience.
[0051] In some embodiments of this specification, obtaining actual radar data of the mobile robot's current pose may include: controlling the mobile robot to perform a rotation operation of a specified angle at its current position. During the rotation operation, the work area is scanned to obtain actual radar data.
[0052] In some situations, the working environment of a mobile robot varies greatly; some environments are easy for the robot to identify, while others are complex and difficult. Therefore, when a mobile robot needs to be repositioned, the rotation angle can be specified based on the overall working area in which the robot is located.
[0053] Specifically, when a mobile robot needs relocalization, it can be controlled to rotate 360 degrees from its current position. This allows the robot's Time-of-Flight (TOF) sensor to scan the work area multiple times, minimizing relocalization errors caused by missed areas. During the rotation, the TOF sensor transmits multiple frames of radar pulses to the work area to obtain multi-frame radar data, thus yielding the actual radar data. In some cases, if the overall work area is relatively simple and easy for the robot to locate and identify, the robot can be rotated 180 degrees or 90 degrees, etc., to reduce unnecessary resource consumption. In other cases, if the actual radar data obtained after a 360-degree rotation is insufficient for accurate relocalization, the robot can be controlled to rotate 450 degrees or rotate twice, etc. Ultimately, the rotation angle of the mobile robot can be specified based on its computing power and the specific work area.
[0054] In some embodiments of this specification, generating simulated radar data based on actual radar data includes: probabilistically filling grids in a preset base map according to the actual radar data to obtain a grid-bound map; and simulating the mobile robot scanning the work area on the grid-bound map based on the current pose of the mobile robot to obtain simulated radar data.
[0055] In some cases, the actual radar data obtained by the mobile robot may include several frames of radar data, resulting in a large data volume. Directly storing the actual radar data could consume a significant amount of the mobile robot's memory. Therefore, in the implementation of this specification, a blank grid map is pre-constructed as the base map. When the mobile robot performs rotational scanning for repositioning, each frame of radar data is inserted into the base map to store the actual radar data. This not only reduces memory usage but also allows for a clearer and more intuitive observation of the outline of the current working area constructed by the actual radar data by combining multiple frames of radar data onto a single map.
[0056] Specifically, the work area corresponds to a preset base map, which contains several grids. When the mobile robot acquires actual radar data, the relative position of the Time-of-Flight (TOF) sensor will shift due to rotation. Therefore, each radar pulse emitted by the TOF sensor corresponds to its pose. Furthermore, since the rotation angle of the mobile robot relative to its initial direction when stationary is known, each frame of radar data can be inserted into the base map based on the angle corresponding to each frame and the pose of the TOF sensor.
[0057] It's important to note that inserting actual radar data into the base map involves probabilistically filling the base map's grid. In some implementations, the probability value of a grid can range from (0,1). Grids with a probability value of 0 are filled with black, and grids with a probability value of 1 are filled with white. The probability values from 0 to 1 represent a gradual transition from black to white. Black indicates that the grid is impassable, such as a wall or obstacle; white indicates that the grid is passable. In the embodiments described in this specification, grids with a probability value less than 0.5 can be designated as black hit points (hit points), and grids with a probability value greater than 0.5 can be designated as white hit points (free points).
[0058] By probabilistically filling a preset base map with actual radar data, a temporary grid map with probability values can be obtained. A point on the grid map is selected to simulate the current pose of the mobile robot. Using this simulated pose as the center, the process of a TOF sensor rotating and scanning the work area is simulated. The black impact point of each radar pulse is determined in the grid map, thus obtaining simulated radar data.
[0059] In some embodiments of this specification, simulating the mobile robot scanning a work area on a grid map based on its current pose to obtain simulated radar data may include: mapping the mobile robot's current pose onto the grid map to obtain the mobile robot's pose within the grid map; emitting simulated pulses at a preset emission angle to scan the grid map based on the mobile robot's pose within the grid map; wherein the simulated pulses are pulses emitted along the preset emission angle, starting from the position coordinates of the mobile robot's pose within the grid map; and obtaining simulated radar data based on the scanning results of the simulated pulses.
[0060] Specifically, to improve the accuracy of simulated radar data, the current pose of the mobile robot after completing its actual rotational scan can be mapped onto a grid map, obtaining the robot's pose within the grid map. Simulating the process of a TOF sensor emitting a radar pulse frame involves using the robot's pose on the grid map as the origin and emitting simulated pulses at a preset emission angle to scan the grid map. The black impact point of each simulated pulse is then determined on the grid map, yielding simulated radar data. The preset emission angle has a resolution of 1°.
[0061] Since a TOF sensor emits a radar pulse frame by sending a single radar pulse in each of its surrounding directions, the data returned by each radar pulse constitutes a single radar data frame. Emitting simulated pulses on a grid map simulates the multiple radar pulses emitted by the TOF sensor scanning the work area. If the number of simulated pulses is too small, the data sparsity may affect the accuracy of subsequent relocation; conversely, if the number of simulated pulses is too large, it will lead to excessive computation and resource consumption. Therefore, in the embodiments of this specification, the preset resolution of the emission angle can be set to 1°. That is, a simulated pulse is emitted every 1°, determining the black impact points of the 360 simulated pulses on the grid map, thereby obtaining simulated radar data. The simulated radar data may include the line segment lengths and emission angles of the 360 simulated pulses.
[0062] In some embodiments of this specification, the simulated radar data includes simulated line segment lengths and simulated emission angles. Obtaining the simulated radar data based on the scanning results of the simulated pulses may include: traversing the grid located in the direction of the emission angle of the simulated pulses, and determining the endpoint grid whose probability value meets a preset condition as the simulated impact point; determining the distance between the position coordinates of the mobile robot's pose in the grid map and the simulated impact point as the simulated line segment length of the simulated radar data; and recording the emission angle of the simulated pulse corresponding to the simulated impact point as the simulated emission angle of the simulated radar data.
[0063] Specifically, since the TOF sensor returns data on the impact point when the radar pulse hits a wall or obstacle during actual radar pulse transmission, the simulated impact point of the simulated pulse should be a grid cell representing an impassable point in the grid map. In the embodiments of this specification, grid cells with a probability value less than 0.5 in the grid map are black impact points (hit points), and grid cells with a probability value greater than 0.5 are white impact points (free points). Therefore, the preset condition can be a grid probability value less than 0.5. In the grid map, grid cells located in the direction of the simulated pulse's transmission angle are searched until the first black impact point traversed by the simulated pulse is determined based on the grid cell's probability value. The first black impact point found is taken as the endpoint of the simulated pulse. That is, when traversing grid cells located in the direction of the simulated pulse's transmission angle, the endpoint grid cell with a probability value less than 0.5 is taken as the simulated impact point of the simulated pulse. The distance between the starting point and the simulated impact point of the simulated pulse is determined as the simulated line segment length of the simulated pulse. The starting point of the simulated pulse is the position coordinate of the mobile robot's pose in the grid map.
[0064] For example, assuming that when a mobile robot's TOF sensor scans a work area, each frame of radar pulses emitted by the TOF sensor includes 360 radar pulses emitted in 360 directions, then in this embodiment of the specification, the TOF sensor can be simulated to emit one simulated pulse at 1° intervals, emitting simulated pulses in a total of 360 directions, using the origin of the mobile robot's pose coordinates in the grid map. The emission angle of each simulated pulse is recorded as the simulated emission angle of that simulated pulse. The grid through which each simulated pulse passes is searched in the grid map, and when a black hit point is found, it is recorded as the simulated hit point of that simulated pulse. The distance between the mobile robot's pose coordinates in the grid map and the simulated hit point is used as the simulated line segment length of the simulated radar data.
[0065] In some embodiments of this specification, traversing the grid along the emission angle direction of the simulated pulse and determining the endpoint grid whose probability value meets a preset condition as the simulated hit point includes: starting from the position coordinates of the mobile robot's pose in the grid map, moving M steps along a first direction and N steps along a second direction to reach the endpoint grid along the emission angle direction of the simulated pulse. Here, M and N are positive integers. If the probability value of the endpoint grid meets the preset condition, the endpoint grid is determined as the simulated hit point. If the length of the simulated line segment exceeds a preset line segment threshold, the grid along the emission angle direction of the simulated pulse is determined as the simulated non-hit point.
[0066] In some cases, since the grid map is composed of several grids, when the computer traverses the grids in the direction of the emission angle of the simulated pulse, it can only move along the edge lines of the grids to reach the grids through which the simulated pulse passes.
[0067] Specifically, in the grid map, a coordinate system can be preset with the robot's position coordinates on the grid map as the origin. The length of a grid in the x-axis direction is denoted as the first step length, and the length of a grid in the y-axis direction as the second step length. When traversing the grids located in the direction of the simulated pulse's emission angle, when the endpoint grid of the simulated pulse, i.e., the simulated impact point, is determined, reference is made... Figure 3 Record the length M of the first step along the x-axis and the length N of the second step along the y-axis required to reach the endpoint grid of the simulated pulse from the origin. The length of the simulated line segment of the simulated pulse can also be recorded by recording the number of steps in both directions. Figure 3 α represents the simulated emission angle of the simulated pulse.
[0068] In some cases, due to the absence of obstacles or the distance of obstacles in certain directions, the radar pulses emitted by the TOF sensor in those directions may fail to hit the obstacles, resulting in no radar pulse data in those directions. After inserting the actual radar data collected by the TOF sensor into the base map to obtain a grid map, the probability values of the grids located in the aforementioned directions may all be white grids with a probability value greater than 0.5. Therefore, when traversing the grids traversed by the simulated pulse in the aforementioned directions, the endpoint grid of the simulated pulse (grids with a probability value less than 0.5) cannot be determined. At this point, the simulated line segment length of the simulated pulse has exceeded the preset line segment threshold, so the grids located in the direction of the simulated pulse's emission angle can be directly determined as simulated non-hit points. This can be understood as the grids in the emission direction of the simulated pulse being free points, passable, and without obstacles. The preset line segment threshold can be understood as the maximum length of the simulated pulse.
[0069] In some embodiments of this specification, the prior map has initial map points for scattering particles. For example... Figure 4 As shown, matching simulated radar data with a prior map of the work area to determine the mobile robot's localization and pose in the prior map can include:
[0070] S410 matches the simulated radar data with the initial map points of the prior map, and determines the target map points that satisfy the particle-spraying conditions among the initial map points.
[0071] S420 generates a preset number of particle sets at the target map point to simulate the position of the mobile robot.
[0072] S430 performs particle filtering localization on the particle set to determine the positioning pose of the mobile robot in the prior map.
[0073] Specifically, the prior map is a grid map with probability values. To improve the matching accuracy of simulated LiDAR data in the prior map, a likelihood domain can be calculated based on the prior map to obtain the corresponding likelihood map. The likelihood map transforms black grids in the prior map into white grids and white grids into black grids. This increases the number of black grids, thus expanding their boundaries. When using simulated LiDAR data for particle filtering localization, this increases the probability that the endpoint grid of the simulated LiDAR data will match a black grid.
[0074] In a likelihood map, an initial map point is determined every preset number of grid cells. For example, if the grid resolution of the likelihood map is 5 cm, an initial map point can be determined every 15 cm, that is, every three grid cells.
[0075] After determining all initial map points in the likelihood map, simulated radar data is matched with each initial map point to identify target map points that satisfy the particle-spraying condition. In some cases, since initial map points may include black grids with a probability value less than 0.5, and the mobile robot cannot rotate while positioned near obstacles or walls, all initial map points with a probability value less than 0.5 can be discarded, and the remaining initial map points can be used as target map points.
[0076] After determining the target map points, more detailed particle positions can be determined based on the target map points. For example, generating a preset number of particle sets for simulating the position of a mobile robot on the target map points may include: determining 36 particles at 10° intervals on the target map points to obtain the particle set for each target map point.
[0077] Particle filtering localization is performed on a particle ensemble using simulated laser data. For example, the simulated laser data includes the simulated line segment lengths and simulated emission angles of simulated pulses in 360 directions at 1° intervals. The simulated laser data is placed on the particles, and the sum of the probability values of the endpoints of the 360 simulated pulses in the likelihood map is determined based on the simulated laser data. Since the endpoints of the simulated pulses are designed to match black grids such as walls or obstacles, and the likelihood map is the inverse operation of the prior map, the larger the sum of the probability values of the endpoints of the 360 simulated pulses in the likelihood map, the greater the probability that the particle represents the true pose of the mobile robot. Through the first round of particle filtering localization, some particles with high sums of probability values in the particle ensemble for each target map point can be identified. To improve localization accuracy, a second round of particle filtering localization can be performed based on the particles identified in the first round, ultimately determining the mobile robot's localization pose in the prior map. The localization pose can be used to determine the transformation relationship between the coordinate system of the temporary grid map constructed for the mobile robot and the prior map, thus determining the mobile robot's true position in the prior map.
[0078] In some embodiments of this specification, such as Figure 5 As shown, the mobile robot relocalization method may also include:
[0079] S502 controls the mobile robot to perform a rotation operation at a specified angle at its current position.
[0080] The S504 scans the work area during the rotation operation to obtain actual radar data.
[0081] S506, based on actual radar data, probabilistically fills the grids in the preset base map to obtain a grid-based map.
[0082] S508 maps the current pose of the mobile robot to the grid map to obtain the pose of the mobile robot in the grid map.
[0083] S510, based on the pose of the mobile robot in the grid map, emits simulated pulses at a preset launch angle to scan the grid map.
[0084] S512: Starting from the position coordinates of the mobile robot's pose in the grid map, move M steps along the first direction and N steps along the second direction to reach the endpoint grid located in the direction of the simulated pulse's emission angle. Here, M and N are positive integers.
[0085] S514, if the probability value of the endpoint grid meets the preset conditions, the endpoint grid is determined as the simulated hit point.
[0086] S516, determine the distance between the position coordinates of the mobile robot's pose in the grid map and the simulated hit point as the simulated line segment length of the simulated radar data.
[0087] S518 records the emission angle of the simulated pulse corresponding to the simulated impact point as the simulated emission angle of the simulated radar data.
[0088] S520: Match the simulated radar data with the initial map points of the prior map, and determine the target map points that meet the particle-spraying conditions from the initial map points. The prior map contains initial map points for particle spraying.
[0089] S522 generates a preset number of particle sets at the target map point to simulate the position of the mobile robot.
[0090] S524 performs particle filtering localization on the particle set to determine the positioning pose of the mobile robot in the prior map.
[0091] Corresponding to the above embodiments, embodiments of this specification also propose a mobile robot relocation device, such as... Figure 6 As shown, the device includes:
[0092] The acquisition module 610 is used to acquire the actual radar data of the current pose of the mobile robot. The actual radar data is obtained by performing a rotational scan of the mobile robot's working area.
[0093] The radar data simulation module 620 is used to generate simulated radar data based on actual radar data. The simulated radar data is obtained by simulating a mobile robot rotating and scanning the work area.
[0094] The positioning module 630 is used to match the analog radar data with the prior map of the work area to determine the positioning pose of the mobile robot in the prior map.
[0095] 0. The mobile robot repositioning device according to the embodiments of this specification is used when the mobile robot needs to be repositioned.
[0096] The system controls the mobile robot to rotate within its current pose, obtaining actual radar data from the robot's scan of the work area. Since using only a single frame of radar data for relocalization can easily lead to positioning errors, the actual radar data in this embodiment includes multi-frame radar data obtained from multiple radar pulses emitted during the robot's rotation.
[0097] A second frame of radar data is simulated from the actual radar data to create simulated radar data. By matching the simulated radar data with the prior map, the positioning and pose of the mobile robot within the prior map can be determined. The embodiments in this specification utilize a mobile robot...
[0098] The collected multi-frame radar data serves as the data basis for the relocalization of the mobile robot. Even when the environment changes or the mechanical design affects a particular frame of radar data, the accuracy of relocalization can still be guaranteed, thereby improving the user experience.
[0099] It should be noted that for details not disclosed in the mobile robot relocation device of this embodiment, please refer to the details disclosed in the embodiment of the mobile robot relocation method in embodiment 0 of this specification, which will not be repeated here.
[0100] Corresponding to the above embodiments, this specification also proposes a computer-readable storage medium storing a mobile robot relocation program thereon, which, when executed by a processor, implements the mobile robot relocation method of any of the above embodiments.
[0101] According to the computer-readable storage medium of the embodiments of this specification, when the mobile robot relocalization program is executed by the processor, it can utilize multi-frame radar data collected by the mobile robot as the data basis for the mobile robot's relocalization, in the ring...
[0102] Even when the environment changes or the mechanical design affects a particular frame of radar data, the accuracy of repositioning can still be guaranteed, thereby improving the user experience.
[0103] Corresponding to the above embodiments, this specification also provides a mobile robot.
[0104] Figure 7 This is a structural block diagram of a mobile robot according to one embodiment of this specification, such as... Figure 7 As shown, the mobile machine 0 person 700 includes a memory 704, a processor 702, and a mobile device stored in the memory 704 and capable of running on the processor 702.
[0105] The mobile robot relocation program 706, when executed by the processor 702, implements the mobile robot relocation method of any of the above embodiments.
[0106] According to the embodiments of this specification, when the processor 702 executes the mobile robot relocation program 706, it can use the multi-frame radar data collected by the mobile robot as the data basis for the relocation of the mobile robot. Even when the environment changes or the mechanical design affects a certain frame of radar data, the accuracy of relocation can still be guaranteed, thereby improving the user experience.
[0107] It should be noted that for the descriptions in this application, please refer to the descriptions in this application; the specifics will not be repeated here.
[0108] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0109] It should be understood that various parts of this specification can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0110] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this specification. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0111] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this specification, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0112] In this specification, unless otherwise expressly specified and limited, the terms "installation," "connection," "joining," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms in this specification according to the specific circumstances.
[0113] Although embodiments of this specification have been shown and described above, it is to be understood that the above embodiments are exemplary and should not be construed as limiting this specification. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this specification.
Claims
1. A mobile robot repositioning method characterized by, The method includes: The actual radar data of the current pose of the mobile robot is obtained; wherein the actual radar data is obtained by performing an actual rotational scan of the working area of the mobile robot; Simulated radar data is generated based on the actual radar data; wherein, the simulated radar data is obtained by simulating the mobile robot rotating and scanning the work area; Matching the simulated radar data with a priori map of the work area to determine the mobile robot's position and pose in the priori map specifically includes: The simulated radar data is matched with the initial map points of the prior map, and the target map points that satisfy the particle-spraying conditions are determined from the initial map points. A preset number of particle sets are generated at the target map point to simulate the position of the mobile robot; Particle filtering is performed on the particle set to determine the positioning pose of the mobile robot in the prior map.
2. The method of claim 1, wherein, The step of obtaining the actual radar data of the current pose of the mobile robot includes: Control the mobile robot to perform a rotation operation of a specified angle at the current position; During the rotation operation, the working area is scanned to obtain the actual radar data.
3. The method according to claim 1 or 2, characterized in that, The generation of simulated radar data based on the actual radar data includes: Based on the actual radar data, the grid in the preset base map is probabilistically filled to obtain a grid map. Based on the current pose of the mobile robot, the mobile robot is simulated to scan the work area on the grid map to obtain the simulated radar data.
4. The method of claim 3, wherein, The simulated radar data obtained by scanning the work area using the grid map based on the current pose of the mobile robot includes: The current pose of the mobile robot is mapped onto the grid map to obtain the pose of the mobile robot in the grid map; Based on the pose of the mobile robot in the grid map, a simulated pulse is emitted at a preset emission angle to scan the grid map; wherein, the simulated pulse is a pulse emitted along the preset emission angle, starting from the position coordinates of the mobile robot in the grid map. The simulated radar data is obtained based on the scanning results of the simulated pulses.
5. The method of claim 4, wherein, The process of obtaining the simulated radar data based on the scanning results of the simulated pulses includes: Traverse the grids located in the direction of the emission angle of the simulated pulse, and determine the endpoint grid whose probability value meets the preset condition as the simulated hit point; The distance between the position coordinates of the mobile robot in the grid map and the simulated hit point is determined as the simulated line segment length of the simulated radar data; The emission angle of the simulated pulse corresponding to the simulated impact point is recorded as the simulated emission angle of the simulated radar data.
6. The method according to claim 5, characterized in that, The step of traversing the grid along the emission angle direction of the simulated pulse and determining the endpoint grid whose probability value satisfies a preset condition as the simulated hit point includes: Starting from the position coordinates of the mobile robot's pose in the grid map, it moves M steps along the first direction and N steps along the second direction to reach the endpoint grid located in the direction of the emission angle of the simulated pulse; where M and N are positive integers. If the probability value of the endpoint grid satisfies the preset condition, the endpoint grid is determined as the simulated hit point; If the length of the simulated line segment exceeds a preset line segment threshold, then the grid located in the direction of the emission angle of the simulated pulse is determined as a simulated non-hit point.
7. A mobile robot repositioning device, characterized in that, The device includes: The acquisition module is used to acquire the actual radar data of the current pose of the mobile robot; wherein the actual radar data is obtained by performing an actual rotational scan of the working area of the mobile robot; A radar data simulation module is used to generate simulated radar data based on the actual radar data; wherein, the simulated radar data is radar data obtained by simulating the mobile robot rotating and scanning the work area; The positioning module is used to match the simulated radar data with a priori map of the work area to determine the positioning pose of the mobile robot in the priori map. The positioning module specifically includes: matching the simulated radar data with the initial map points of the prior map, and determining the target map points that satisfy the particle-spraying condition from the initial map points; A preset number of particle sets are generated at the target map point to simulate the position of the mobile robot; The particle set is used for particle filtering and localization to determine the positioning pose of the mobile robot in the prior map.
8. A mobile robot, characterized by The mobile robot includes: a memory, a processor, and a running program of the mobile robot stored in the memory, wherein the running program of the mobile robot is executed by the processor to implement the mobile robot relocation method as described in any one of claims 1 to 6.
9. A computer readable storage medium having stored thereon a computer program, characterized in that, When the computer program is executed by the processor, it implements the mobile robot relocation method as described in any one of claims 1 to 6.