Re-localization method and apparatus, robot, and storage medium

By obtaining the matching parameter values ​​between the obstacle map and the static map, the robot's initial position is determined and a coordinate system transformation relationship is established, which solves the problem of inefficient relocalization when the robot loses its pose information and achieves efficient in-situ relocalization.

WO2026037087A1PCT designated stage Publication Date: 2026-02-19SHENZHEN PUDU TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/110672
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-13
Filing Date
2025-07-25
Publication Date
2026-02-19

AI Technical Summary

Technical Problem

In traditional technologies, when a robot loses its pose information, it needs to move to the starting point to reposition itself, resulting in low repositioning efficiency.

Method used

By obtaining the matching operation parameter values ​​of the obstacle map and the static map, the initial position of the robot in the display screen coordinate system is determined, and the transformation relationship between the display screen coordinate system and the static map coordinate system is established to achieve the robot's in-situ repositioning.

Benefits of technology

This improves the efficiency of robot repositioning, reduces repositioning time, and avoids the step of pushing the robot back to the starting point.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025110672_19022026_PF_FP_ABST
    Figure CN2025110672_19022026_PF_FP_ABST
Patent Text Reader

Abstract

A re-localization method and apparatus, a robot, and a storage medium. The method comprises: acquiring operation parameter values when an obstacle contour in an obstacle map matches an obstacle contour in a static map, wherein the operation parameter values are parameter values corresponding to a trigger operation for a display screen, and the display screen displays the obstacle map and the static map (202); on the basis of a displacement parameter value in the operation parameter values, determining an initial position of a robot in a display screen coordinate system (204); on the basis of the operation parameter values, determining a transformation relationship between the display screen coordinate system and a static map coordinate system (206); and on the basis of the initial position and the transformation relationship, determining a re-localized position of the robot (208).
Need to check novelty before this filing date? Find Prior Art

Description

Repositioning method and device, robot and storage medium

[0001] Cross-reference to Related Applications

[0002] The present application claims priority to the Chinese patent application No. 2024111039579, filed on August 13, 2024, and entitled "Repositioning method and device, robot and storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application relates to the field of artificial intelligence, and in particular, to a repositioning method and device, a robot and a storage medium. BACKGROUND

[0004] With the development of artificial intelligence technology, robots are widely used in life and production. During the operation of the robot, the pose information of the robot needs to be determined at all times. If the pose information of the robot is lost, the robot cannot continue to operate.

[0005] In the traditional technology, for the robot whose pose information is lost, an operator needs to move the robot to a start point, and the robot completes repositioning at the start point, resulting in low repositioning efficiency. SUMMARY

[0006] According to various embodiments of the present application, a repositioning method and device, a robot and a storage medium are provided.

[0007] In a first aspect, the present application provides a repositioning method, which comprises:

[0008] obtaining an operation parameter value in a case where an obstacle contour in an obstacle map matches an obstacle contour in a static map; the operation parameter value is a parameter value corresponding to a trigger operation of a display screen; the display screen displays the obstacle map and the static map;

[0009] determining an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter value;

[0010] determining a conversion relationship between the display screen coordinate system and a static map coordinate system based on the operation parameter value;

[0011] determining a repositioning position of the robot based on the initial position and the conversion relationship.

[0012] In a second aspect, the present application further provides a repositioning device, which comprises:

[0013] obstacle map matches an obstacle profile in a static map; the operation parameter value is a parameter value corresponding to a trigger operation of a display screen; the display screen displays the obstacle map and the static map;

[0014] an initial position determination module configured to determine an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter value;

[0015] a conversion relationship determination module configured to determine a conversion relationship between the display screen coordinate system and a static map coordinate system based on the operation parameter value;

[0016] a repositioning module configured to determine a repositioning position of the robot based on the initial position and the conversion relationship.

[0017] In a third aspect, the present application provides a robot, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method in any one of the first aspect when executing the computer program.

[0018] In a fourth aspect, the present application provides a computer readable storage medium, which stores a computer program, and the computer program implements the steps of the method in any one of the first aspect when executed by a processor.

[0019] In a fifth aspect, the present application provides a computer program product, comprising a computer program, and the computer program implements the steps of the method in any one of the first aspect when executed by a processor.

[0020] The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below. Other features and advantages of the application will become apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF DRAWINGS

[0021] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings of other embodiments can be obtained without creative labor on the basis of these drawings.

[0022] FIG. 1 is an application environment diagram of a repositioning method in an embodiment;

[0023] FIG. 2 is a flow diagram of a repositioning method in an embodiment;

[0024] FIG. 3 is a schematic diagram of a static map and an obstacle map in a display screen in an embodiment;

[0025] FIG. 4 is a schematic diagram of a static map and an obstacle map in a display screen in another embodiment;

[0026] FIG. 5 is a flowchart of a robot rotation step in an embodiment;

[0027] FIG. 6 is a flowchart of a robot repositioning in an embodiment;

[0028] FIG. 7 is a flowchart of a repositioning position determination step in an embodiment;

[0029] FIG. 8 is a flowchart of a repositioning in an embodiment;

[0030] FIG. 9 is a structural block diagram of a repositioning device in an embodiment;

[0031] FIG. 10 is an internal structural diagram of a robot in an embodiment. DETAILED DESCRIPTION

[0032] For the purpose of promoting an understanding of the disclosure, the present application will now be described in greater detail with reference to the figures. The preferred embodiments of the present application are illustrated in the figures. However, the present application can be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and fully convey the scope of the application to those skilled in the art.

[0033] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the application belongs. The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0034] The repositioning method provided by the embodiments of the present application can be applied to an application environment as shown in FIG. 1. In the application environment, a terminal 102 communicates with a robot 104 through a network. The terminal 102 and the robot 104 can be used cooperatively to perform the repositioning method provided by the embodiments of the present application, or the robot 104 can be used alone to perform the repositioning method provided by the embodiments of the present application. The robot 104 can be various self-moving devices, such as a cleaning robot, a delivery robot, a guide robot, an automatic guided vehicle (AGV), and a sweeper, etc. The terminal 102 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things devices can be smart televisions and smart vehicle devices, etc. The portable wearable devices can be smart watches, etc.

[0035] The robot 104 can also cooperate with the server to implement the repositioning method provided in the embodiments of the present application. The server can be an independent physical server, or a service node in a blockchain system, the service nodes in the blockchain system form a peer-to-peer (P2P, Peer To Peer) network, and the P2P protocol is an application layer protocol running on the transmission control protocol (TCP, Transmission Control Protocol) protocol. In addition, the server can also be a server cluster composed of multiple physical servers, which can be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms, and other basic cloud computing services. The robot 104 and the server can be connected through Bluetooth, USB (Universal Serial Bus), or network communication connection, which is not limited in the present application.

[0036] In one embodiment, as shown in FIG. 2, a repositioning method is provided, and the present embodiment takes the robot as an example to illustrate the method, that is, the robot as the execution subject, including steps 202 to 208.

[0037] Step 202, obtaining an operation parameter value in a case where the obstacle contour in the obstacle map matches the obstacle contour in the static map; the operation parameter value is a parameter value corresponding to a trigger operation of the display screen; the display screen displays the obstacle map and the static map.

[0038] The obstacle map refers to a layer displaying the obstacle contour corresponding to the current position of the robot. It can be understood that the robot obtains obstacle data at a position where the pose information is lost through a sensor, forms an obstacle contour in the initial obstacle map according to the obstacle data, obtains an obstacle map, and the sensor can be a laser radar sensor, a depth camera, a vision sensor, or an infrared sensor, etc. Herein, the obstacle data can be obstacle point cloud or image data, etc. The obstacle map can be a layer displayed in the display screen, which includes the obstacle contour corresponding to the current position of the robot, and the obstacle contour is formed according to the obstacle point cloud obtained by the laser radar sensor of the robot. The obstacle map includes but is not limited to a virtual robot located at the center position of the display screen and an obstacle contour located near the virtual robot. The virtual robot refers to the virtual representation of the robot in the obstacle map, and the obstacle contour refers to a graph representing the shape of the obstacle. The obstacle contour can be composed of multiple curves or multiple points, which is not limited herein.

[0039] The static map refers to a map used to represent environment information in the process of robot navigation and positioning. The static map can be generated in advance by SLAM (Simultaneous Localization and Mapping) or other mapping technologies, and remains unchanged during the running of the robot. The static map includes the obstacle profile in the running environment of the robot. For example, as shown in FIG. 3, the operator clicks the start control as shown in FIG. 3, and the display screen displays the obstacle map and the static map. The virtual robot 302 and the obstacle profile 304 in the obstacle map are located in the obstacle map. The virtual robot 302 is located in the center of the display screen, and the obstacle profile 304 in the obstacle map represents the obstacle profile corresponding to the current position of the robot, i.e., the obstacle profile corresponding to the position where the robot loses pose information. The obstacle profile is the profile corresponding to the local obstacles in the running environment. The obstacle profile 306 in the static map is located in the static map. The obstacle profile 306 in the static map represents the global obstacle profile in the running environment of the robot, i.e., the profile corresponding to all obstacles in the running environment. For example, the running environment of the robot is a living room, the obstacle profile in the obstacle map is the obstacle profile corresponding to the obstacles detected by the laser radar sensor at the position where the robot loses pose information, and the obstacle profile in the static map is the obstacle profile of all obstacles in the living room. The positional relationship between the obstacle map and the static map is the upper and lower layer relationship. The obstacle map can be located in the first layer, and the static map is located in the second layer, i.e., the obstacle map is located above the static map, or the obstacle map can be located in the second layer, and the static map is located in the first layer, i.e., the obstacle map is located below the static map.

[0040] The matching refers to that the obstacle contour in the obstacle map coincides with the local obstacle contour in the static map. For example, as shown in FIG. 4, the local coincidence of the obstacle contour 402 in the obstacle map and the obstacle contour 404 in the static map, at this time, the obstacle contour in the obstacle map matches the obstacle contour in the static map. The operation parameter value represents the parameter value of the trigger operation on the static map, and the trigger operation on the static map includes but is not limited to moving, scaling and rotating the static map. It can be understood that the operator adjusts the static map through the trigger operation such as moving, scaling and rotating the static map on the display screen, so that the obstacle contour in the obstacle map matches the obstacle contour in the static map. The parameter value representing the trigger operation on the static map is the operation parameter value. The operation parameter value includes but is not limited to the moving parameter value, the scaling parameter value and the rotating parameter value, etc. Alternatively, the operator adjusts the obstacle map through the trigger operation such as moving, scaling and rotating the obstacle map on the display screen, so that the obstacle contour in the obstacle map matches the obstacle contour in the static map. The parameter value representing the trigger operation on the obstacle map is the operation parameter value. The operation parameter value includes but is not limited to the moving parameter value, the scaling parameter value and the rotating parameter value, etc.

[0041] Exemplarily, the robot loses the pose information, the obstacle map and the static map are displayed on the display screen, the operator adjusts the static map through the trigger operation in the display screen, so that the obstacle contour in the obstacle map matches the obstacle contour in the static map. When the obstacle contour in the obstacle map matches the obstacle contour in the static map, the robot obtains the operation parameter value corresponding to the trigger operation on the display screen.

[0042] In one embodiment, step 202 includes: in the case that the robot loses the pose information, obtaining obstacle data; generating an obstacle map based on the obstacle data; obtaining a static map, displaying the obstacle map and the static map on the display screen; adjusting the position of the static map in the display screen in response to the trigger operation on the static map; and obtaining the operation parameter value in the case that the obstacle contour in the obstacle map matches the obstacle contour in the static map. The obstacle data represents the detected obstacle, and the obstacle data can be obstacle point cloud or image data, etc., which is not limited here.

[0043] In one embodiment, in the case that the robot loses the pose information, the obstacle data is obtained; the obstacle map is generated based on the obstacle data, including: in the case that the robot loses the pose information, the obstacle point cloud is obtained; and the obstacle map is generated based on the obstacle point cloud. The obstacle point cloud is a set obtained by the laser radar sensor detecting the obstacle.

[0044] In step 204, the initial position of the robot in the display screen coordinate system is determined based on the displacement parameter value in the operation parameter value.

[0045] wherein the displacement parameter value refers to a parameter value for moving the static map, and the displacement parameter value includes a horizontal displacement parameter value and a vertical displacement parameter value. The initial position refers to a position of the robot in the static map in the display screen coordinate system before the triggering operation, which can be understood as that, before the triggering operation, the robot in the obstacle map is located at the center of the obstacle map, and the obstacle profile in the obstacle map is located around the robot, at this time, the robot in the obstacle map is located at the center of the display screen, the display screen coordinate system takes the lower left corner of the display screen as the origin, and the position of the robot in the obstacle map in the display screen coordinate system is (nWidth / 2, nHeight / 2), nWidth is the map height of the static map, and nHeight is the map width of the static map; the operator moves the static map through the triggering operation, so that the obstacle profile in the static map matches the obstacle profile in the obstacle map, at this time, the robot in the static map coincides with the robot in the obstacle map, and the position of the robot in the static map in the display screen coordinate system is (nWidth / 2, nHeight / 2), before the triggering operation of the operator, the position of the robot in the static map in the display screen coordinate system can be determined according to the position of the robot in the static map in the display screen coordinate system (nWidth / 2, nHeight / 2) after the triggering operation, the horizontal displacement distance dx and the vertical displacement distance dy of the static map, if dx = eventx-lastx, dy = eventy-lasty, (eventx, eventy) is the position coordinate when the gesture of the triggering operation is released, and (lastx, lasty) is the position coordinate when the gesture of the triggering operation is lifted, then the position of the robot in the static map in the display screen coordinate system before the triggering operation is

[0046] Exemplarily, the robot obtains the displacement parameter value and the map height and the map width of the static map in the display screen from the operation parameter value, and determines the initial position of the robot in the display screen coordinate system based on the displacement parameter value, the map height and the map width.

[0047] In step 206, a conversion relationship between the display screen coordinate system and the static map coordinate system is determined based on the operation parameter value.

[0048] The static map coordinate system refers to a coordinate system with the upper left corner of the static map as the origin, the horizontal direction of the static map as the horizontal axis, and the vertical direction of the static map as the vertical axis. The conversion relationship refers to a conversion parameter representing the conversion from the display screen coordinate system to the static map coordinate system. It can be understood that the conversion parameter refers to a conversion parameter for converting a position coordinate in the display screen coordinate system to a position coordinate in the static map coordinate system. The conversion relationship can be represented by a matrix or a set of conversion parameters.

[0049] Exemplarily, the robot determines a static map transformation matrix based on the operation parameter value, and determines the conversion relationship between the display screen coordinate system and the static map coordinate system based on the static map transformation matrix.

[0050] In step 208, the repositioning position of the robot is determined based on the initial position and the conversion relationship.

[0051] The repositioning position refers to the positioning of the position of the robot after the robot loses the pose information, and the current position of the robot in the world coordinate system is obtained.

[0052] Exemplarily, the robot determines a static position of the robot in the static map coordinate system based on the initial position and the conversion relationship, and determines the repositioning position of the robot in the world coordinate system based on the static position.

[0053] In one embodiment, in the case that the robot fails to reposition, the robot rotates by a preset angle, acquires an updated laser radar point cloud through the laser radar sensor, generates an obstacle map based on the updated laser radar point cloud, and repeatedly executes the above steps 202 to 208 until the repositioning position is obtained. The preset angle refers to a pre-set rotation angle. The preset angle can be determined according to the rotation speed of the robot. For example, it takes 5-6 seconds for the robot to rotate 90 degrees, 10-12 seconds to rotate 180 degrees, and 20-24 seconds to rotate 360 degrees. If the preset angle is 360 degrees, i.e., the rotation time of the robot is 20-24 seconds, the repositioning time is relatively long. Therefore, the preset angle can be set to 90 degrees, or the preset angle can be set to 180 degrees.

[0054] In one embodiment, after step 208, the robot further acquires matching feature data corresponding to the repositioning position from the map configuration file, determines obstacle feature data corresponding to the obstacle point cloud in the static map based on the obstacle point cloud corresponding to the obstacle contour, calculates the similarity between the matching feature data and the obstacle feature data, compares the similarity with a similarity threshold, and determines that the repositioning position is correct and the repositioning is successful if the similarity is equal to or greater than the similarity threshold, or determines that the repositioning position is incorrect and the repositioning fails if the similarity is less than the similarity threshold.

[0055] In one embodiment, when the robot relocalization fails, the robot rotates a preset angle, including: when the robot relocalization fails and the chassis of the robot is non-circular, the robot rotates the preset angle by using an obstacle avoidance rotation method. That is, if the chassis of the robot is circular, the robot will not collide with obstacles during rotation. If the chassis of the robot is non-circular, the robot may collide with obstacles during rotation. By using the obstacle avoidance rotation method for rotation, the robot can be prevented from colliding with obstacles during rotation.

[0056] In one embodiment, the robot rotates a preset angle by using an obstacle avoidance rotation method, including: obtaining a historical position; determining a target position based on the historical position and the preset angle; determining a rotation speed based on the historical position and the target position; and rotating based on the rotation speed. The historical position refers to the position corresponding to the previous moment when the pose information is lost. The rotation speed refers to the speed at which the robot rotates, and the rotation speed includes a linear rotation speed and an angular rotation speed. For example, as shown in FIG. 5, the robot obtains the historical position corresponding to the previous moment when the pose information is lost, determines the target position according to the historical position and the preset angle, the planning algorithm determines the rotation speed according to the historical position and the target position, the robot rotates according to the rotation speed, the robot performs obstacle recognition during rotation. If an obstacle is recognized, the rotation path will be replanned (such as reverse rotation) and the rotation speed will be determined to obtain an updated rotation speed, and then the robot rotates based on the updated rotation speed.

[0057] In one embodiment, as shown in FIG. 6, when the robot relocalization fails, the historical position corresponding to the previous moment when the positioning is lost is obtained, and multiple candidate positioning points (such as "cross-shaped" candidate points) are determined based on the historical position, and the multiple candidate positioning points are located near the historical position (such as within 1 meter). The robot runs to one of the candidate positioning points, obtains updated lidar point cloud through a lidar sensor, generates an updated obstacle map based on the updated lidar point cloud, and executes the above steps 202 to 208. If the robot relocalizes successfully at the above candidate positioning point, the relocalization position is obtained; if the robot fails to localize at the above candidate positioning point, it runs to the next candidate positioning point and repeats the above process until the relocalization position is obtained. That is, after the robot fails to relocalize in place, multiple candidate positioning points are determined at the historical position, and multiple relocalizations are performed at the multiple candidate positioning points to determine successful relocalization and obtain the relocalization position.

[0058] In the above repositioning method, at the position where the robot loses the pose information, an obstacle map is formed by laser radar point clouds collected by the laser radar sensor of the robot, the obstacle profile in the obstacle map reflects the environmental information of the current position of the robot, the static map is adjusted through the trigger operation, so that the obstacle profile in the obstacle map matches the obstacle profile in the static map, that is, the trigger operation is used to determine the local obstacle profile in the static map that is similar or identical to the obstacle profile in the obstacle map, the operation parameter value corresponding to the trigger operation is obtained, the initial position of the robot in the display screen coordinate system is determined according to the displacement parameter value in the operation parameter, the conversion relationship between the display screen coordinate system and the static map coordinate system is determined according to the operation parameter value, and then the repositioning position of the robot is determined according to the initial position and the conversion relationship. Compared with the method of pushing the robot back to the starting point, the above repositioning method can realize in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency.

[0059] In one embodiment, the initial position of the robot in the display screen is determined based on the displacement parameter value in the operation parameter value, comprising:

[0060] obtaining the map height and the map width of the static map in the display screen; obtaining the displacement parameter value from the operation parameter value; the displacement parameter value includes a horizontal displacement parameter value and a vertical displacement parameter value; determining the horizontal initial position of the robot in the display screen coordinate system based on the map width and the horizontal displacement parameter value; determining the vertical initial position of the robot in the display screen coordinate system based on the map height and the vertical displacement parameter value; and determining the initial position of the robot in the display screen based on the horizontal initial position and the vertical initial position.

[0061] The map height refers to the height of the static map in the display screen, and the map width refers to the width of the static map in the display screen. The horizontal displacement parameter value refers to the parameter value of moving the static map in the horizontal direction, i.e. the parameter value of moving horizontally. The vertical displacement parameter value refers to the parameter value of moving the static map in the vertical direction, i.e. the parameter value of moving vertically.

[0062] Exemplarily, the robot obtains the map height and the map width of the static map in the display screen, and obtains the horizontal displacement parameter value and the vertical displacement parameter value from the operation parameter value. Since the display screen coordinate system is a coordinate system with the lower left corner of the display screen as the origin, one-half of the map width plus the horizontal displacement parameter value is obtained to determine the horizontal initial position of the robot in the display screen coordinate system; one-half of the map height plus the vertical displacement parameter value is obtained to determine the vertical initial position of the robot in the display screen coordinate system; and the horizontal initial position and the vertical initial position are combined to determine the initial position of the robot in the display screen.

[0063] In one embodiment, the robot obtains the map height nWidth and the map width nHeight through the control of displaying the static map, obtains the horizontal displacement parameter value dx and the vertical displacement parameter value dy from the operation parameter value, and determines the initial position of the robot in the display screen as ((nWidth / 2)toFloat() + dx, (nHeight / 2)toFloat() + dy). Wherein (nWidth / 2)toFloat() means converting nWidth / 2 into floating point type data, and (nHeight / 2)toFloat() means converting nHeight / 2 into floating point type data.

[0064] In this embodiment, the initial position of the robot in the display screen after the trigger operation is performed on the static map is determined through the horizontal displacement parameter value and the vertical displacement parameter value, which provides basic data for subsequent determination of the static position of the robot in the static map.

[0065] In one embodiment, the conversion relationship between the display screen coordinate system and the static map coordinate system is determined based on the operation parameter value, including:

[0066] Based on the operation parameter value, a static map transformation matrix is determined, an inverse matrix of the static map transformation matrix is determined, and the inverse matrix is determined as the conversion relationship between the display screen coordinate system and the static map coordinate system.

[0067] Wherein, the static map transformation matrix refers to a matrix representing the change of the static map caused by the trigger operation, the static map transformation matrix represents the movement, scaling and rotation of the static map caused by the trigger operation, and the static map transformation matrix includes the horizontal movement distance, the vertical movement distance, the scaling factor and the rotation angle of the static map caused by the trigger operation. It can be understood that the static map transformation matrix is the transformation of the point in the static map in the display screen coordinate system, and according to the static map transformation matrix, the position coordinates of the point in the static map in the display screen coordinate system after the trigger operation can be determined. For example, before the trigger operation is performed on the static map, the initial static map transformation matrix is a unit matrix The horizontal displacement parameter value dx and the vertical displacement parameter value dy, and the static map transformation matrix is That is, the static map transformation matrix represents the horizontal movement distance dx and the vertical movement distance dy of the static map. Similarly, the scaling and rotation of the static map can also be represented by the static map transformation matrix. For example, if the static map is scaled by 2 times, the static map transformation matrix is If the static map is rotated clockwise by 45 degrees, the static map transformation matrix is For example, after the static map is scaled by 2 times, it is moved horizontally by dx and vertically by dy, and the static map transformation matrix is For example, first scaling the static map by 2, second moving the static map horizontally by dx and vertically by dy, third rotating the static map by 45 degrees clockwise, then the static map transformation matrix is The inverse matrix refers to the inverse transformation matrix of the static map transformation matrix. For example, the static map transformation matrix is Tview_map, then the inverse matrix of the static map transformation matrix is Tmap_view, and the product of Tview_map and Tmap_view is the unit matrix.

[0068] It can be understood that in order to display the static map in the display screen, it is necessary to convert the static map coordinate system of the static map into the display screen coordinate system of the display screen. The static map transformation matrix Tview_map is usually a composite of scaling, translation and rotation transformation. Through the static map transformation matrix Tview_map, a point Pmap in the static map coordinate system can be converted into a point Pview in the display screen coordinate system, i.e. Pview=Tview_map×Pmap, therefore, the static map transformation matrix represents the conversion relationship from the static map coordinate system to the display screen coordinate system. Tmap_view=Tview_map-1, Tmap_view is the inverse matrix of Tview_map, Tmap_view×Tview_map-1=I, I is the unit matrix, then through Tmap_view, a point Pview in the display screen coordinate system can be converted into Pmap in the static map coordinate system, i.e. Pmap=Tmap_view×Pview, therefore, the inverse matrix of the static map transformation matrix represents the conversion relationship from the display screen coordinate system to the static map coordinate system.

[0069] Exemplarily, the robot determines the static map transformation matrix based on the operation parameter value, then determines the inverse matrix of the static map transformation matrix, and determines the inverse matrix as the conversion relationship between the display screen coordinate system and the static map coordinate system.

[0070] In this embodiment, the conversion relationship between the display screen coordinate system and the static map coordinate system is obtained by determining the inverse matrix of the static map transformation matrix. It can be understood that, in order to display the static map in the display screen, it is necessary to convert the static map coordinate system of the static map into the display screen coordinate system of the display screen. The static map transformation matrix is a composite of scaling, translation and rotation transformation. Therefore, the static map transformation matrix represents the conversion relationship from the static map coordinate system to the display screen coordinate system. The inverse matrix of the static map transformation matrix can convert the point in the display screen coordinate system into the point in the static map coordinate system. Therefore, the inverse matrix of the static map transformation matrix represents the conversion relationship from the display screen coordinate system to the static map coordinate system. Determining the inverse matrix as the conversion relationship between the display screen coordinate system and the static map coordinate system provides basic data for converting the initial position of the robot in the display screen coordinate system into the static position of the robot in the static map coordinate system.

[0071] In one embodiment, based on the initial position and the conversion relationship, the repositioning position of the robot is determined, including:

[0072] Based on the initial position, an initial position matrix of the robot is determined. The initial position matrix is multiplied by the conversion relationship to obtain a target position matrix. Based on the target position matrix, the repositioning position of the robot is determined.

[0073] The initial position matrix refers to a matrix representing the initial position of the robot. For example, if the initial position is (nWidth / 2+dx, nHeight / 2+dy), the initial position matrix is

[0074] Exemplarily, the robot converts the initial position into the initial position matrix, multiplies the initial position matrix by the conversion relationship to obtain the target position matrix, and determines the repositioning position of the robot based on the target position matrix.

[0075] In this embodiment, the initial position matrix is multiplied by the conversion relationship to obtain the target position matrix. The target position matrix includes the static position of the robot in the static map coordinate system. That is, the initial position of the robot in the display screen coordinate system is converted into the static position of the robot in the static map coordinate system. According to the static position, the repositioning position of the robot can be determined.

[0076] In one embodiment, based on the target position matrix, the repositioning position of the robot is determined, including:

[0077] The static position of the robot in the static map is obtained from the target position matrix; the mapping starting position of the robot and the resolution of the static map are obtained; the mapping starting position is the position of the starting point of the robot in the world map coordinate system for establishing the static map; and the repositioning position of the robot is determined based on the static position, the mapping starting position and the resolution.

[0078] The static position refers to the position in the static map coordinate system corresponding to the initial position in the display screen coordinate system, i.e., the position of the robot in the static map. The resolution refers to the corresponding relationship between the unit distance of the static map and the actual unit distance, and the resolution can be expressed as distance / pixel, i.e., the distance represented by each pixel. The mapping starting position refers to the position of the starting point of the robot in the world map coordinate system for establishing the static map. The world map coordinate system refers to a global coordinate system describing the absolute position and direction of the robot in its running environment.

[0079] Exemplarily, the robot obtains the static position of the robot in the static map from the target position matrix, obtains the mapping starting position of the static map and the resolution of the static map, the mapping starting position includes the mapping horizontal starting position and the mapping vertical starting position, determines the repositioning horizontal position of the robot based on the static position, the mapping horizontal starting position and the resolution, determines the repositioning vertical position of the robot based on the static position, the mapping vertical starting position and the resolution, and obtains the repositioning position of the robot based on the repositioning horizontal position and the repositioning vertical position.

[0080] In one embodiment, the robot obtains the static position (x, y) of the robot in the static map from the target position matrix, obtains the mapping starting position (originX, originY) of the static map and the resolution resolution, and then the repositioning horizontal position val_x and the repositioning vertical position val_y are respectively:

[0081] The nHeight is the map height of the static map in the display screen.

[0082] It can be understood that val_x = x * resolution + originX, val_x is the X-axis coordinate value of the robot in the world coordinate system, that is, the repositioned horizontal position, because the direction of the X-axis of the world coordinate system is the same as that of the X-axis of the static map coordinate system, therefore, x * resolution + originX can be directly used to calculate the repositioned horizontal position of the robot in the world coordinate system. However, the direction of the Y-axis in the world coordinate system is upward, and the direction of the Y-axis in the static map coordinate system is downward, nHeight-1 represents the maximum Y-axis coordinate value in the static map coordinate system, and by using (nHeight-1)-y, the value of y in the static map coordinate system is flipped to the Y-axis coordinate value in the direction upward, therefore, ((nHeight-1)-y) * resolution + originY can be used to calculate the repositioned vertical position of the robot in the world coordinate system. In an embodiment, the robot determines an initial angle of the robot based on the target position matrix, and determines a repositioned angle of the robot based on the initial angle. For example, the initial angle is z, and the repositioned angle val_z = -z-pi / 2.

[0083] In this embodiment, the repositioned position of the robot is determined based on the static position, the mapping starting position and the resolution, that is, the static position of the robot in the static map is converted into the repositioned position in the world coordinate system.

[0084] In an embodiment, as shown in FIG. 7, the repositioned position of the robot is determined based on the static position, the mapping starting position and the resolution, comprising:

[0085] In step 702, the initial positioning position is determined based on the static position, the mapping starting position and the resolution.

[0086] The initial positioning position refers to the positioning position determined based on the static position, the mapping starting position and the resolution, which has not been verified.

[0087] Exemplarily, the mapping starting position comprises a mapping horizontal starting position and a mapping vertical starting position, the robot determines the repositioned horizontal position of the robot based on the static position, the mapping horizontal starting position and the resolution, determines the repositioned vertical position of the robot based on the static position, the mapping vertical starting position and the resolution, and obtains the initial positioning position of the robot based on the repositioned horizontal position and the repositioned vertical position.

[0088] In step 704, the obstacle feature data corresponding to the obstacle point cloud is determined based on the obstacle point cloud corresponding to the obstacle contour in the obstacle map.

[0089] The obstacle point cloud refers to a set corresponding to an obstacle detected by the robot through a laser sensor. The obstacle feature data refers to data representing the features of the obstacle corresponding to the obstacle point cloud, and the obstacle feature data can be represented by a vector or a matrix, etc.

[0090] The robot inputs the obstacle point cloud corresponding to the obstacle contour in the obstacle map into the neural network model, and the neural network model outputs the obstacle feature data corresponding to the obstacle point cloud.

[0091] In step 706, the matching feature data corresponding to the initial positioning position is obtained, and the similarity between the matching feature data and the obstacle feature data is determined.

[0092] The matching feature data represents the features of the obstacle corresponding to the initial positioning position. The similarity refers to a numerical value representing the degree of similarity, and the greater the similarity, the higher the degree of similarity.

[0093] The robot obtains the matching feature data corresponding to the initial positioning position from the map configuration file, and calculates the similarity between the matching feature data and the obstacle feature data.

[0094] In step 708, if the similarity is greater than the similarity threshold, the initial positioning position is determined as the repositioning position.

[0095] The similarity threshold refers to a numerical value set in advance for determining whether the repositioning is accurate.

[0096] The robot compares the similarity with the similarity threshold. If the similarity is greater than the similarity threshold, the initial positioning position is determined as the repositioning position.

[0097] In one embodiment, if the similarity is less than or equal to the similarity threshold, the robot rotates by a preset angle, obtains an updated obstacle point cloud, determines updated obstacle feature data corresponding to the updated obstacle point cloud based on the updated obstacle point cloud, calculates the similarity between the matching feature data and the updated obstacle feature data, compares the similarity with the similarity threshold, and if the similarity is less than or equal to the similarity threshold, repeats the above process until the loop stopping condition is met; if the similarity is greater than the similarity threshold, the initial positioning position is determined as the repositioning position. The loop stopping condition refers to a condition for stopping the loop, and the loop stopping condition can be that the number of rotations reaches a preset number.

[0098] In this embodiment, by judging the similarity between the matching feature data and the obstacle feature data and the similarity threshold, it is determined whether the repositioning position is accurate, thereby improving the accuracy of the repositioning position.

[0099] In an embodiment, the operation parameter value in the case that the obstacle profile in the obstacle map matches the obstacle profile in the static map is obtained, including:

[0100] In response to the repositioning operation, the static map is displayed in the display screen; the laser radar point cloud is obtained, and based on the laser radar point cloud, the obstacle map is displayed on the upper layer of the static map; in response to the trigger operation on the static map, the operation parameter value corresponding to the trigger operation on the display screen is obtained in the case that the obstacle profile in the obstacle map matches the obstacle profile in the static map.

[0101] The repositioning operation refers to the operation that the operator clicks the repositioning control, which can be a physical control or a virtual control, and can be located on the robot or the device for controlling the robot. The laser radar point cloud refers to a point set obtained by the laser radar sensor and used for representing the obstacle. The trigger operation refers to the operation that the operator adjusts the static map, and includes but is not limited to at least one of moving, scaling and rotating.

[0102] Exemplarily, in the case that the robot loses the pose information, the operator clicks the repositioning control, and the robot displays the static map in the display screen in response to the repositioning operation, then obtains the laser radar point cloud, and displays the obstacle map on the upper layer of the static map based on the laser radar point cloud. The operator performs the trigger operation on the static map through the display screen, and the robot adjusts the display position of the static map in the display screen in response to the trigger operation on the static map, and obtains the operation parameter value in the case that the obstacle profile in the obstacle map matches the obstacle profile in the static map.

[0103] In an embodiment, the operation parameter value in the case that the obstacle profile in the obstacle map matches the obstacle profile in the static map is obtained, including: the robot responds to the trigger operation on the static map, and for each movement, obtains a first position when the gesture is dropped and a second position after the gesture is moved. Based on the second position and the first position, the single horizontal displacement and the single vertical displacement corresponding to the single movement are determined. In the case that the obstacle profile in the obstacle map matches the obstacle profile in the static map, the plurality of single horizontal displacements are added to obtain the horizontal displacement parameter value, and the plurality of single vertical displacements are added to obtain the vertical displacement parameter value. Similarly, the rotation parameter value and the scaling multiple can be obtained.

[0104] In one embodiment, in response to a trigger operation on the static map, dx and dy corresponding to different events are obtained, dx = eventx - lastx + oldx, dy = eventy - lasty + oldy, for example, the event is a movement event, dx = eventx - lastx + oldx, dy = eventy - lasty + oldy, where (eventx, eventy) is the position when a single movement gesture is lifted, (lastx, lasty) is the position when the single movement gesture is put down, oldx is the cumulative historical horizontal movement position of multiple single movements before the above single movement, and oldy is the cumulative historical vertical movement position of multiple single movements before the above single movement. In the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map, dx is the horizontal displacement parameter value, and dy is the vertical displacement parameter value.

[0105] In this embodiment, the operator clicks the repositioning control in the robot's original position where the pose information is lost, controls the robot to display the static map and the obstacle map in the display screen, and triggers the static map through the display screen. The operator performs an operation on the static map to match the obstacle profile in the obstacle map with the obstacle profile in the static map. The robot obtains the operation parameter value in the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map, provides accurate basic data for subsequent robot repositioning, and realizes repositioning in the original position compared to pushing the robot back to the starting point. The above repositioning method can shorten the repositioning time and improve the repositioning efficiency.

[0106] In one exemplary embodiment, the repositioning process is shown in FIG. 8, including: in the case where the robot loses the pose information, the operator walks to the position where the robot is located, clicks the repositioning control in the display screen of the robot, and the robot loads the static map in the display screen in response to the repositioning operation, then obtains the laser radar point cloud, and loads the obstacle map on the upper layer of the static map based on the laser radar point cloud.

[0107] The operator triggers the static map through the display screen, and the trigger operation includes at least one of translation, rotation, and scaling. The robot adjusts the display position of the static map in the display screen in response to the trigger operation on the static map, and obtains the operation parameter value in the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map. The robot obtains the map height nWidth and the map width nHeight through the control of displaying the static map.

[0108] The horizontal displacement parameter value dx and the vertical displacement parameter value dy are obtained from the operation parameter values, and the initial position of the robot in the display screen is determined as ((nWidth / 2) toFloat() + dx, (nHeight / 2) toFloat() + dy). Based on the initial position, the initial position matrix of the robot is determined

[0109] The robot determines the static map transformation matrix based on the operation parameter values, and then determines the inverse matrix of the static map transformation matrix, which is determined as the conversion relationship between the display screen coordinate system and the static map coordinate system.

[0110] The robot multiplies the initial position matrix by the conversion relationship to obtain the target position matrix. The static position (x, y) of the robot in the static map is obtained from the target position matrix, and the mapping starting position (originX, originY) and the resolution resolution of the static map are obtained. The horizontal coordinate x of the static position of the robot in the static map, the resolution resolution, and the horizontal coordinate originX in the mapping starting position are substituted into formula (1) to obtain the horizontal position val_x, and the vertical coordinate y of the static position of the robot in the static map, the resolution resolution, and the vertical coordinate originY in the mapping starting position are substituted into formula (2) to obtain the repositioning vertical position val_y. (val_x, val_y) is the repositioning position of the robot.

[0111] The robot obtains the matching feature data corresponding to the repositioning position from the map configuration file, determines the obstacle feature data corresponding to the obstacle point cloud based on the obstacle point cloud, calculates the similarity between the matching feature data and the obstacle feature data, compares the similarity with the similarity threshold, and if the similarity is equal to or greater than the similarity threshold, it is determined that the above repositioning position is correct, i.e. the above repositioning is successful; if the similarity is less than the similarity threshold, it is determined that the repositioning position is incorrect, i.e. the above repositioning fails.

[0112] In the case of the above repositioning failure, the robot rotates 90 degrees, obtains updated lidar point cloud through the lidar sensor, generates an updated obstacle map based on the updated lidar point cloud, displays the updated obstacle map and the static map in the display screen, and repeats the above repositioning process.

[0113] In the above repositioning method, at a position where the robot loses pose information, an obstacle map is formed by laser radar point clouds collected by a laser radar sensor of the robot, an obstacle profile in the obstacle map reflects environmental information of a current position of the robot, a static map is adjusted through a triggering operation, so that the obstacle profile in the obstacle map matches the obstacle profile in the static map, that is, a local obstacle profile similar or identical to the obstacle profile in the obstacle map in the static map is determined through the triggering operation, an operation parameter value corresponding to the triggering operation is obtained, an initial position of the robot in a display screen coordinate system is determined according to a displacement parameter value in the operation parameter, a conversion relationship between the display screen coordinate system and a static map coordinate system is determined according to the operation parameter value, and then a repositioning position of the robot is determined according to the initial position and the conversion relationship. Compared with the need to push the robot back to the start point, the above repositioning method can realize in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency.

[0114] It should be understood that, although each step in the flowchart involved in each embodiment as described above is displayed in sequence according to the arrow, these steps are not necessarily executed in sequence according to the order of the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in each embodiment as described above can include multiple steps or stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be alternately or alternately executed with at least part of other steps or steps or stages in other steps.

[0115] Based on the same inventive concept, the embodiments of the present application also provide a repositioning device for implementing the above-mentioned repositioning method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more repositioning device embodiments provided below can refer to the limitations of the repositioning method described above, which will not be repeated here.

[0116] In one embodiment, as shown in FIG. 9, a repositioning device is provided, including an acquisition module 902, an initial position determination module 904, a conversion relationship determination module 906, and a repositioning module 908, wherein:

[0117] The acquisition module 902 is configured to acquire an operation parameter value in a case where an obstacle profile in an obstacle map matches an obstacle profile in a static map; the operation parameter value is a parameter value corresponding to a triggering operation of a display screen; and the display screen displays the obstacle map and the static map.

[0118] The initial position determination module 904 is configured to determine an initial position of the robot in the display screen coordinate system based on a displacement parameter value in the operation parameter value.

[0119] The conversion relationship determination module 906 is configured to determine a conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter value.

[0120] The repositioning module 908 is configured to determine a repositioning position of the robot based on the initial position and the conversion relationship.

[0121] In an embodiment, the initial position determination module 904 is further configured to: obtain a map height and a map width of the static map in the display screen; obtain the displacement parameter value from the operation parameter value; the displacement parameter value includes a horizontal displacement parameter value and a vertical displacement parameter value; determine a horizontal initial position of the robot in the display screen coordinate system based on the map width and the horizontal displacement parameter value; determine a vertical initial position of the robot in the display screen coordinate system based on the map height and the vertical displacement parameter value; and determine the initial position of the robot in the display screen based on the horizontal initial position and the vertical initial position.

[0122] In an embodiment, the conversion relationship determination module 906 is further configured to: determine a static map transformation matrix based on the operation parameter value; determine an inverse matrix of the static map transformation matrix; and determine the inverse matrix as the conversion relationship between the display screen coordinate system and the static map coordinate system.

[0123] In an embodiment, the repositioning module 908 is further configured to: determine an initial position matrix of the robot based on the initial position; multiply the initial position matrix by the conversion relationship to obtain a target position matrix; and determine the repositioning position of the robot based on the target position matrix.

[0124] In an embodiment, the repositioning module 908 is further configured to: obtain a static position of the robot in the static map from the target position matrix; obtain a mapping starting position of the robot and a resolution of the static map; the mapping starting position is a position of a starting point of the robot in the world map coordinate system for establishing the static map; and determine the repositioning position of the robot based on the static position, the mapping starting position and the resolution.

[0125] In an embodiment, the repositioning module 908 is further configured to: determine an initial positioning position based on the static position, the mapping starting position and the resolution; determine obstacle feature data corresponding to an obstacle point cloud in the obstacle map based on the obstacle point cloud corresponding to an obstacle contour in the obstacle map; obtain matching feature data corresponding to the initial positioning position; determine a similarity between the matching feature data and the obstacle feature data; and determine the initial positioning position as the repositioning position in a case where the similarity is greater than a similarity threshold.

[0126] In an embodiment, the acquisition module 902 is further configured to: in response to the repositioning operation, display a static map in the display screen; acquire a laser radar point cloud, and based on the laser radar point cloud, display an obstacle map on an upper layer of the static map; and in response to a trigger operation on the static map, acquire an operation parameter value corresponding to the trigger operation on the display screen, in a case where an obstacle contour in the obstacle map matches an obstacle contour in the static map.

[0127] Each of the above repositioning devices can be implemented by software, hardware, and combinations thereof, in whole or in part. Each of the above modules can be embedded in or independent of a processor in the robot in hardware form, or stored in a memory in the robot in software form, so as to be called and executed by the processor to perform the operations corresponding to each of the above modules.

[0128] In an embodiment, a robot is provided, which can be a terminal, and an internal structure diagram of the robot can be as shown in FIG. 10. The robot includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. The processor of the robot is configured to provide computing and control capabilities. The memory of the robot includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for running of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the robot is configured to exchange information between the processor and external devices. The communication interface of the robot is configured to perform wired or wireless communication with external terminals, and the wireless communication can be achieved through WIFI, mobile cellular network, NFC (near field communication), or other technologies. The computer program is executed by the processor to implement a repositioning method. The display unit of the robot is configured to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the robot can be a touch layer overlaid on the display screen, or a key, a trackball, or a touchpad arranged on the robot shell, or an external keyboard, a touchpad, a mouse, or the like.

[0129] Those skilled in the art can understand that the structure shown in FIG. 10 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the robot to which the scheme of the present application is applied. Specifically, the robot can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.

[0130] In an embodiment, a robot is provided, comprising a memory and a processor, the memory having stored therein a computer program, the processor implementing the steps in the above method embodiments when executing the computer program.

[0131] In an embodiment, a computer readable storage medium is provided, having stored thereon a computer program, the computer program being executed by a processor to implement the steps in the above method embodiments.

[0132] In an embodiment, a computer program product is provided, comprising a computer program, the computer program being executed by a processor to implement the steps in the above method embodiments.

[0133] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties.

[0134] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when the computer program is executed, the processes of the above-mentioned embodiments of the methods can be included. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (Read-Only Memory, ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive memory (ReRAM), magnetoresistive memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric memory (Ferroelectric Random Access Memory, FRAM), phase change memory (Phase Change Memory, PCM), graphene memory, etc. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.

[0135] Any combination of the technical features of the above-mentioned embodiments can be made. In order to make the description simple, all possible combinations of the technical features in the above-mentioned embodiments are not described, however, as long as the combination of the technical features does not exist contradictory, it should be considered as the scope of the present application.

[0136] The above-mentioned embodiments only express several embodiments of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the scope of the patent application. It should be noted that for ordinary skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are within the scope of the present application. Therefore, the scope of the patent protection of the present application should be subject to the appended claims.

Claims

1. A method for repositioning a robot, comprising: obtaining operation parameter values in a case where an obstacle profile in an obstacle map matches an obstacle profile in a static map; the operation parameter values being parameter values corresponding to a triggering operation of a display screen; the display screen displaying the obstacle map and the static map; determining an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter values; determining a conversion relationship between the display screen coordinate system and a static map coordinate system based on the operation parameter values; and determining a repositioning position of the robot based on the initial position and the conversion relationship. The determining of the initial position of the robot in the display screen based on the displacement parameter value in the operation parameter values comprises:

2. The method of claim 1, wherein, obtaining a map height and a map width of the static map in the display screen; obtaining a displacement parameter value from the operation parameter values; the displacement parameter value including a horizontal displacement parameter value and a vertical displacement parameter value; determining a horizontal initial position of the robot in the display screen coordinate system based on the map width and the horizontal displacement parameter value; determining a vertical initial position of the robot in the display screen coordinate system based on the map height and the vertical displacement parameter value; and determining the initial position of the robot in the display screen based on the horizontal initial position and the vertical initial position. The determining of the conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter values comprises:

3. The method of claim 1, wherein, determining a static map transformation matrix based on the operation parameter values; determining an inverse matrix of the static map transformation matrix; and determining the inverse matrix as the conversion relationship between the display screen coordinate system and the static map coordinate system. The determining of the repositioning position of the robot based on the initial position and the conversion relationship comprises:

4. The method of claim 1, wherein, determining an initial position matrix of the robot based on the initial position; multiplying the initial position matrix by the conversion relationship to obtain a target position matrix; and determining the repositioning position of the robot based on the target position matrix. The determining of the repositioning position of the robot based on the target position matrix comprises:

5. The method of claim 4, wherein, obtaining a static position of the robot in the static map from the target position matrix; obtaining a mapping starting position of the robot and a resolution of the static map; the mapping starting position being a position of a starting point of the robot in a world map coordinate system for establishing the static map; and determining the repositioning position of the robot based on the static position, the mapping starting position and the resolution. The determining of the repositioning position of the robot based on the static position, the mapping starting position and the resolution comprises:

6. The method of claim 5, wherein, determining an initial positioning position based on the static position, the mapping starting position and the resolution; determining obstacle feature data corresponding to an obstacle point cloud based on the obstacle point cloud corresponding to the obstacle profile in the obstacle map; and determining a repositioning position of the robot based on the initial positioning position and the obstacle feature data. obtain matching feature data corresponding to the initial positioning position, determine similarity between the matching feature data and the obstacle feature data; and determine the initial positioning position as a repositioning position if the similarity is greater than a similarity threshold.

7. The method of claim 1, wherein, The operation parameter value in the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map comprises: display the static map in the display screen in response to a repositioning operation; obtain a laser radar point cloud, and display an obstacle map on an upper layer of the static map based on the laser radar point cloud; and obtain an operation parameter value corresponding to a trigger operation for the display screen in the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map in response to the trigger operation for the static map.

8. The method of claim 1, wherein, After the repositioning position of the robot is determined based on the initial position and the conversion relationship, the method further comprises: obtaining matching feature data corresponding to the repositioning position from a map configuration file; determining obstacle feature data corresponding to the obstacle point cloud based on the obstacle profile in the static map; calculating similarity of the matching feature data and the obstacle feature data; comparing the similarity with a similarity threshold; if the similarity is equal to or greater than the similarity threshold, determining that the repositioning position is correct and that the repositioning is successful; and if the similarity is less than the similarity threshold, determining that the repositioning position is incorrect and that the repositioning fails.

9. The method of claim 8, wherein, The method further comprises: rotating the robot by a preset angle in the case where the repositioning fails; obtaining an updated laser radar point cloud through a laser radar sensor, and generating an obstacle map based on the updated laser radar point cloud; returning to the step of obtaining the operation parameter value in the case where the obstacle profile in the obstacle map matches the obstacle profile in the static map; and until a repositioning position is obtained.

10. The method of claim 9, wherein, The rotating the robot by a preset angle in the case where the repositioning fails comprises: in the case where the repositioning fails and the chassis of the robot is non-circular, rotating by a preset angle in an obstacle-avoiding rotation manner.

11. The method of claim 10, wherein, The rotating by a preset angle in an obstacle-avoiding rotation manner comprises: obtaining a historical position; the historical position is a position corresponding to a previous moment of lost pose information; determining a target position based on the historical position and a preset angle; determining a rotation speed based on the historical position and the target position; and rotating by a preset angle based on the rotation speed.

12. The method of claim 1, wherein, The trigger operation for the display screen comprises at least one of moving, scaling, and rotating the static map.

13. A repositioning device, the device being used for a robot, comprising: an obtaining module, configured to obtain an operation parameter value in the case where an obstacle profile in an obstacle map matches an obstacle profile in a static map; the operation parameter value is a parameter value corresponding to a trigger operation for a display screen; the display screen displays the obstacle map and the static map; and the trigger operation for the display screen comprises at least one of moving, scaling, and rotating the static map. An initial position determining module is configured to determine an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter values; A conversion relationship determining module is configured to determine a conversion relationship between the display screen coordinate system and a static map coordinate system based on the operation parameter values; and A repositioning module is configured to determine a repositioning position of the robot based on the initial position and the conversion relationship.

14. The apparatus of claim 13, wherein, The initial position determining module is further configured to: obtain a map height and a map width of the static map in the display screen; obtain a displacement parameter value from the operation parameter values; the displacement parameter value includes a horizontal displacement parameter value and a vertical displacement parameter value; determine a horizontal initial position of the robot in the display screen coordinate system based on the map width and the horizontal displacement parameter value; determine a vertical initial position of the robot in the display screen coordinate system based on the map height and the vertical displacement parameter value; and determine the initial position of the robot in the display screen based on the horizontal initial position and the vertical initial position. The conversion relationship determining module is further configured to:

15. The apparatus of claim 13, wherein, determine a static map transformation matrix based on the operation parameter values; determine an inverse matrix of the static map transformation matrix; and determine the inverse matrix as the conversion relationship between the display screen coordinate system and the static map coordinate system. The repositioning module is further configured to:

16. The apparatus of claim 13, wherein, determine an initial position matrix of the robot based on the initial position; multiply the initial position matrix by the conversion relationship to obtain a target position matrix; and determine the repositioning position of the robot based on the target position matrix. The repositioning module is further configured to:

17. The apparatus of claim 16, wherein, obtain a static position of the robot in the static map from the target position matrix; obtain a mapping starting position of the robot and a resolution of the static map; the mapping starting position is a position of a starting point of the robot in a world map coordinate system for establishing the static map; and determine the repositioning position of the robot based on the static position, the mapping starting position and the resolution. 18.A robot comprising a memory and a processor, the memory storing a computer program, and the processor implementing steps of the method in any one of claims 1 to 12 when executing the computer program. 19.A computer readable storage medium having a computer program stored thereon, the computer program implementing steps of the method in any one of claims 1 to 12 when executed by a processor. 20.A computer program product comprising a computer program, the computer program implementing steps of the method in any one of claims 1 to 12 when executed by a processor. ​

Citation Information

Patent Citations

  • Method for obtaining position service through robot and robot

    CN111113405A

  • Robot, repositioning method and device thereof and medium

    CN114660583A

  • Repositioning method and device, robot and storage medium

    CN118670397A

  • Robot relocalization method and apparatus and robot using the same

    US20210063577A1

  • Relocation method, robot, and computer-readable storage medium

    WO2022099889A1