Relocation method, device, robot and storage medium
By obtaining and matching the operating parameter values of the obstacle map and the static map, the initial position and conversion relationship of the robot are determined, and the robot is repositioned in situ, solving the problem of low repositioning efficiency in the existing technology.
Patent Information
- Application Number
- CN202411103957.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-13
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2044-08-13
AI Technical Summary
In the prior art, after the robot loses position information, it is necessary to push the robot back to the startup point for repositioning, which is relatively inefficient.
By obtaining the operating parameter values that match the obstacle outline in the obstacle map and the obstacle outline in the static map, the initial position of the robot in the display coordinate system is determined, and the relationship between the display coordinate system and the static map coordinate system is established. The conversion relationship is used to determine the repositioning position of the robot.
Realizing the robot's in-situ relocation, shortening the relocation time and improving the relocation efficiency.
Smart Images

Figure CN118670397B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a repositioning method, device, robot and storage medium. Background Art
[0002] With the development of artificial intelligence technology, robots are widely used in life and production. During operation, robots need to determine their posture information at all times. If the robot loses its posture information, it cannot continue to operate.
[0003] In traditional technology, for a robot that has lost its position information, the operator needs to move the robot to a power-on point, where the robot completes repositioning, resulting in low repositioning efficiency. Summary of the invention
[0004] Based on this, it is necessary to provide a repositioning method, device, robot and storage medium that can improve the repositioning efficiency in response to the above technical problems.
[0005] In a first aspect, the present application provides a relocation method. The method comprises:
[0006] Acquiring an operation parameter value when an obstacle outline in the obstacle map matches an obstacle outline in the 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;
[0007] Determining an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter value;
[0008] Based on the operation parameter value, determining a conversion relationship between the display screen coordinate system and the static map coordinate system;
[0009] Based on the initial position and the conversion relationship, a relocation position of the robot is determined.
[0010] In a second aspect, the present application also provides a relocation device. The device comprises:
[0011] an acquisition module, configured to acquire an operation parameter value when an obstacle outline in the obstacle map matches an obstacle outline in the 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;
[0012] An initial position determination module, used to determine the initial position of the robot in the display screen coordinate system based on the displacement parameter value in the operation parameter value;
[0013] A conversion relationship determination module, used to determine the conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter value;
[0014] A repositioning module is used to determine a repositioning position of the robot based on the initial position and the conversion relationship.
[0015] In a third aspect, the present application further provides a robot comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of any one of the methods described in the first aspect when executing the computer program.
[0016] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of any one of the methods described in the first aspect.
[0017] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of any one of the methods described in the first aspect.
[0018] The above-mentioned repositioning method, device, robot and storage medium, at the position where the robot loses its posture information, forms an obstacle map through the laser radar point cloud collected by the robot's laser radar sensor, the obstacle contour in the obstacle map reflects the environmental information of the robot's current position, and adjusts the static map through the trigger operation so that the obstacle contour in the obstacle map matches the obstacle contour in the static map, that is, through the trigger operation, the local obstacle contour in the static map that is similar to or the same as the obstacle contour in the obstacle map is determined, and 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, and 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 need to push the robot back to the power-on point, the above-mentioned repositioning method can achieve in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0020] Figure 1 An application environment diagram of a relocation method in an embodiment;
[0021] Figure 2 A schematic diagram of a relocation method in one embodiment;
[0022] Figure 3 is a schematic diagram of a static map and an obstacle map in a display screen in one embodiment;
[0023] Figure 4 is a schematic diagram of a static map and an obstacle map in a display screen in another embodiment;
[0024] Figure 5 It is a schematic flow chart of a robot rotation step in one embodiment;
[0025] Figure 6 A schematic diagram of a process of multiple repositioning of a robot in one embodiment;
[0026] Figure 7 A schematic diagram of a flow chart of a relocation position determination step in one embodiment;
[0027] Figure 8 is a schematic diagram of a relocation process in one embodiment;
[0028] Fig. 9 is a structural block diagram of a relocation device in one embodiment;
[0029] Fig.10 1 is a diagram showing the internal structure of a robot in one embodiment. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0031] The relocation method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the robot 104 through the network. The terminal 102 and the robot 104 can be used together to execute the repositioning method provided in the embodiment of the present application, and the robot 104 can also be used alone to execute the repositioning method provided in the embodiment of the present application. Among them, the robot 104 can be various self-moving devices, such as: cleaning robots, delivery robots, guide robots, automatic guided vehicles (Automatic Guided Vehicle, AGV) and sweepers. The terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart TVs and smart car-mounted devices, etc., and the portable wearable devices can be smart watches, etc.
[0032] The robot 104 can also cooperate with the server to implement the relocation method provided in the embodiment of the present application, wherein the server can be an independent physical server or a service node in the blockchain system, and each service node in the blockchain system forms a peer-to-peer (P2P) network, and the P2P protocol is an application layer protocol running on the transmission control protocol (TCP) protocol. In addition, the server can also be a server cluster composed of multiple physical servers, which can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDN), and big data and artificial intelligence platforms. The robot 104 can be connected to the server through Bluetooth, USB (Universal Serial Bus) or network communication connection methods, and this application does not limit this.
[0033] In one embodiment, Figure 2 As shown, a repositioning method is provided. This embodiment is described by taking the method applied to a robot as an example, that is, the robot is used as the execution subject, including steps 202 to 210.
[0034] Step 202, obtaining an operation parameter value when the obstacle outline in the obstacle map matches the obstacle outline in the static map; the operation parameter value is a parameter value corresponding to the trigger operation for the display screen; the display screen displays the obstacle map and the static map.
[0035] Among them, the obstacle map refers to a layer that displays the obstacle contour corresponding to the current position of the robot. It can be understood that the robot obtains obstacle data through sensors at the position where the posture information is lost, and forms obstacle contours in the initial obstacle map according to the obstacle data to obtain the obstacle map. The sensor can be a lidar sensor, a depth camera, a visual sensor or an infrared sensor, etc., which is not limited here. The obstacle data can be obstacle point clouds or image data, etc. The obstacle map can be a layer displayed on the display screen, which includes the obstacle contour corresponding to the current position of the robot. The obstacle contour is formed according to the obstacle point cloud obtained by the robot's lidar sensor. The obstacle map includes but is not limited to the virtual robot located at the center of the display screen and the obstacle contour located near the virtual robot. The virtual robot refers to the virtual representation of the robot in the obstacle map. The obstacle contour refers to a graphic that represents the shape of the obstacle. The obstacle contour can be composed of multiple curves or multiple points, which is not limited here.
[0036] Static maps refer to maps used to represent environmental information during robot navigation and positioning. Static maps can be pre-generated through SLAM (Simultaneous Localization and Mapping) or other mapping technologies and remain unchanged during robot operation. Static maps include the outlines of obstacles in the robot's operating environment. For example, Figure 3 As shown, the operator clicks Figure 3 The start control shown in , the obstacle map and the static map are displayed in the display screen, the virtual robot 302 and the obstacle contour 304 in the obstacle map are located in the obstacle map, the virtual robot 302 is located in the center of the display screen, the obstacle contour 304 in the obstacle map represents the obstacle contour corresponding to the current position of the robot, that is, the obstacle contour corresponding to the position where the robot loses posture information, the obstacle contour is the contour corresponding to the local obstacle in the operating environment, the obstacle contour 306 in the static map is located in the static map, the obstacle contour 306 in the static map represents the global obstacle contour in the robot's operating environment, the obstacle contour is the contour corresponding to all obstacles in the operating environment, for example, the robot's operating environment is a living room, the obstacle contour in the obstacle map is the obstacle contour corresponding to the obstacle detected by the laser radar sensor at the position where the robot loses posture information, and the obstacle contour in the static map is the obstacle contour of all obstacles in the living room. The positional relationship between the obstacle map and the static map is an 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, that is, the obstacle map is located in the upper layer of the static map, or the obstacle map can be located in the second layer and the static map is located in the first layer, that is, the obstacle map is located in the lower layer of the static map.
[0037] Matching means that the obstacle contour in the obstacle map coincides with the local obstacle contour in the static map, for example Figure 4As shown, the obstacle outline 304 in the obstacle map and the obstacle outline 306 in the static map partially overlap, and at this time, the obstacle outline in the obstacle map matches the obstacle outline in the static map. The operation parameter value represents the parameter value for triggering the static map, and the triggering 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 performs triggering operations such as moving, scaling and rotating the static map through the display screen to make the obstacle outline in the obstacle map match the obstacle outline in the static map, and the parameter value representing the triggering operation on the static map is the operation parameter value, and the operation parameter value includes but is not limited to the moving parameter value, scaling parameter value and rotation parameter value, etc., or the operator performs triggering operations such as moving, scaling and rotating the obstacle map through the display screen to make the obstacle outline in the obstacle map match the obstacle outline in the static map, and the parameter value representing the triggering operation on the obstacle map is the operation parameter value, and the operation parameter value includes but is not limited to the moving parameter value, scaling parameter value and rotation parameter value, etc.
[0038] Exemplarily, the robot loses its posture information and displays an obstacle map and a static map on a display screen. The operator adjusts the static map through a trigger operation on the display screen so that the obstacle outline in the obstacle map matches the obstacle outline in the static map. When the obstacle outline in the obstacle map matches the obstacle outline in the static map, the robot obtains the operation parameter value corresponding to the trigger operation on the display screen.
[0039] In one embodiment, step 202 includes: obtaining obstacle data when the robot loses its position information; generating an obstacle map based on the obstacle data; obtaining a static map, and displaying the obstacle map and the static map on a display screen; adjusting the position of the static map on the display screen in response to a trigger operation on the static map; and obtaining an operation parameter value when the obstacle outline in the obstacle map matches the obstacle outline in the static map. The obstacle data represents the detected obstacle, and the obstacle data may be an obstacle point cloud or image data, etc., which is not limited here.
[0040] In one embodiment, when the robot loses its position information, obtaining obstacle data; generating an obstacle map based on the obstacle data includes: when the robot loses its position information, obtaining an obstacle point cloud; generating an obstacle map based on the obstacle point cloud. The obstacle point cloud is a collection of obstacles detected by a laser radar sensor.
[0041] Step 204: Determine the initial position of the robot in the display screen coordinate system based on the displacement parameter value in the operation parameter value.
[0042] The displacement parameter value refers to the parameter value for moving the static map, and the displacement parameter value includes the horizontal movement parameter value and the vertical movement parameter value. The initial position refers to the position of the robot in the static map in the display screen coordinate system before the trigger operation. It can be understood that before the trigger operation, the robot in the obstacle map is located at the center of the obstacle map, and the obstacle outlines in the obstacle map are located around the robot. At this time, the robot in the obstacle map is at the center of the display screen, and the display screen coordinate system takes the lower left corner of the display screen as the origin. The position of the robot in the obstacle map in the display screen coordinate system is , nWidth is the height of the static map, nHeight is the width of the static map; the operator moves the static map by triggering the operation, so that the obstacle outline in the static map matches the obstacle outline in the obstacle map. At this time, the robot in the static map overlaps with the robot in the obstacle map, and the position of the robot in the static map in the display screen coordinate system is Before the operator performs a trigger operation, the position of the robot in the static map in the display screen coordinate system can be based on the position of the robot in the static map in the display screen coordinate system after the trigger operation. , the horizontal moving distance of the static map is dx and the vertical moving distance is dy. If dx=eventx-lastx, dy=eventy-lasty, (eventx, eventy) is the position coordinate when the gesture that triggers the operation is put down, (lastx, lasty) is the position coordinate when the gesture that triggers the operation is raised, then before the trigger operation, the position of the robot in the static map in the display coordinate system is .
[0043] Exemplarily, the robot obtains the displacement parameter value, as well as the map height and 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.
[0044] Step 206: Determine the conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter value.
[0045] 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 the conversion parameters that characterize the conversion from the display screen coordinate system to the static map coordinate system. It can be understood that the conversion parameters refer to the conversion parameters used to convert the position coordinates in the display screen coordinate system to the position coordinates in the static map coordinate system. The conversion relationship can be represented by a matrix or a set of conversion parameters.
[0046] Exemplarily, the robot determines a static map transformation matrix based on the operation parameter value, and determines a conversion relationship between a display screen coordinate system and a static map coordinate system based on the static map transformation matrix.
[0047] Step 208, determining the relocation position of the robot based on the initial position and the transformation relationship.
[0048] The relocation position refers to the current position of the robot in the world coordinate system obtained by locating the position of the robot after the robot loses its posture information.
[0049] Exemplarily, the robot determines a static position of the robot in a static map coordinate system based on an initial position and a transformation relationship, and determines a relocated position of the robot in a world coordinate system based on the static position.
[0050] In one embodiment, when the robot fails to relocate, the robot rotates by a preset angle, obtains an updated laser radar point cloud through a laser radar sensor, generates an obstacle map based on the updated laser radar point cloud, and repeats the above steps 202 to 208 until the relocation position is obtained. The preset angle refers to a preset rotation angle, which 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, that is, the rotation time of the robot is 20-24 seconds, resulting in a longer relocation time. Therefore, the preset angle can be set to 90 degrees, or the preset angle can be set to 180 degrees.
[0051] In one embodiment, step 208 also includes: the robot obtains matching feature data corresponding to the relocation position from the map configuration file, determines the obstacle feature data corresponding to the obstacle point cloud based on the obstacle point cloud corresponding to the obstacle outline in the static map, calculates the similarity between the matching feature data and the obstacle feature data, and compares the similarity with a similarity threshold; if the similarity is equal to or greater than the similarity threshold, it is determined that the relocation position is correct and the relocation is successful; if the similarity is less than the similarity threshold, it is determined that the relocation position is wrong and the relocation fails.
[0052] In one embodiment, when the robot fails to reposition, the robot rotates by a preset angle, including: when the robot fails to reposition and the robot chassis is non-circular, the robot rotates by a preset angle using an obstacle avoidance rotation method. That is, if the robot chassis is circular, the robot will not collide with obstacles during the rotation process; if the robot chassis is non-circular, the robot may collide with obstacles during the rotation process; the robot rotates by an obstacle avoidance rotation method to avoid the robot from colliding with obstacles during the rotation process.
[0053] In one embodiment, the robot rotates to a preset angle 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 moment before the posture information is lost. The rotation speed refers to the speed at which the robot rotates, and the rotation speed includes the rotation linear speed and the rotation angular speed. For example, Figure 5 As shown, the robot obtains the historical position corresponding to the moment before the posture information is lost, determines the target position according to the historical position and the preset angle, and 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 identifies obstacles during the rotation process. If an obstacle is identified, 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 will rotate based on the updated rotation speed.
[0054] In one embodiment, Figure 6 As shown, in the case of robot relocation failure, the historical position corresponding to the previous moment of lost positioning is obtained, and multiple candidate positioning points are determined based on the historical position (for example, a "M"-shaped candidate point, and multiple candidate positioning points are located near the historical position, such as within 1m). The robot runs to one of the candidate positioning points, obtains an updated laser radar point cloud through the laser radar sensor, generates an updated obstacle map based on the updated laser radar point cloud, and executes the above steps 202 to 208. If the robot successfully relocates at the above candidate positioning point, the relocation position is obtained; if the robot fails to locate at the above candidate positioning point, it runs to the next candidate positioning point and repeats the above process until the relocation position is obtained. That is, after the robot fails to relocate in place, multiple candidate positioning points are determined at the historical position, and multiple relocations are performed at the multiple candidate positioning points, so as to determine that the relocation is successful and obtain the relocation position.
[0055] In the above repositioning method, at the position where the robot loses its posture information, an obstacle map is formed by the laser radar point cloud collected by the robot's laser radar sensor. The obstacle contour in the obstacle map reflects the environmental information of the robot's current position. The static map is adjusted by a trigger operation so that the obstacle contour in the obstacle map matches the obstacle contour in the static map, that is, a local obstacle contour in the static map that is similar to or the same as the obstacle contour in the obstacle map is determined by a trigger operation, and an 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, and the conversion relationship between the display screen coordinate system and the static map coordinate system is determined according to the operation parameter value. Then, the 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 power-on point, the above repositioning method can achieve in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency.
[0056] In one embodiment, determining the initial position of the robot in the display screen based on the displacement parameter value in the operation parameter value includes:
[0057] Obtain the map height and 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 the horizontal displacement parameter value and the vertical displacement parameter value; based on the map width and the horizontal displacement parameter value, determine the horizontal initial position of the robot in the display screen coordinate system; based on the map height and the vertical displacement parameter value, determine the vertical initial position of the robot in the display screen coordinate system; based on the horizontal initial position and the vertical initial position, determine the initial position of the robot in the display screen.
[0058] Among them, map height refers to the height of the static map on the display screen, and map width refers to the width of the static map on the display screen. The horizontal displacement parameter value refers to the parameter value for moving the static map horizontally, that is, the parameter value for horizontal movement. The vertical displacement parameter value refers to the parameter value for moving the static map vertically, that is, the parameter value for longitudinal movement.
[0059] Exemplarily, the robot obtains the map height and map width of the static map in the display screen, obtains the horizontal displacement parameter value and the vertical displacement parameter value from the operation parameter value, and since the display screen coordinate system is a coordinate system with the lower left corner of the display screen as the origin, half of the map width is added to the horizontal displacement parameter value to obtain the horizontal initial position of the robot in the display screen coordinate system; half of the map height is added to the vertical displacement parameter value to obtain the vertical initial position of the robot in the display screen coordinate system; the horizontal initial position and the vertical initial position are combined into the initial position of the robot in the display screen.
[0060] In one embodiment, the robot obtains the map height nWidth and the map width nHeight through the control that displays the static map, obtains the horizontal displacement parameter value dx and the vertical displacement parameter value dy from the operation parameter value, and determines that the initial position of the robot in the display screen is ((nWidth / 2)toFloat()+dx, (nHeight / 2)toFloat()+dy). Among them, (nWidth / 2)toFloat() refers to converting nWidth / 2 into floating point data, and (nHeight / 2)toFloat() refers to converting nHeight / 2 into floating point data.
[0061] In this embodiment, the initial position of the robot in the display screen after the static map is triggered is determined by the horizontal displacement parameter value and the vertical displacement parameter value, providing basic data for the subsequent determination of the static position of the robot in the static map.
[0062] In one embodiment, based on the operation parameter value, determining the conversion relationship between the display screen coordinate system and the static map coordinate system includes:
[0063] 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 a transformation relationship between a display screen coordinate system and a static map coordinate system.
[0064] The static map transformation matrix refers to a matrix that represents the changes caused by the trigger operation to the static map. The static map transformation matrix represents the movement, scaling and rotation of the static map by the trigger operation. The static map transformation matrix includes the horizontal movement distance, vertical movement distance, scaling factor and rotation angle of the static map by the trigger operation. It can be understood that the static map transformation matrix is the transformation of the points in the static map in the display screen coordinate system. The position coordinates of the points in the static map in the display screen coordinate system after the trigger operation can be determined based on the static map transformation matrix. For example, before the trigger operation is performed on the static map, the initial static map transformation matrix is the unit matrix , horizontal displacement parameter value dx and vertical displacement parameter value dy, then the static map transformation matrix is , that is, you can use the static map transformation matrix Represent the horizontal movement distance dx and vertical movement distance dy of the static map. Similarly, the static map transformation matrix can also be used to represent the scaling and rotation of the static map. For example, if the static map is scaled 2 times, the static map transformation matrix is , rotate the static map 45 degrees clockwise, then the static map transformation matrix is For example, after scaling the static map by 2 times, move it horizontally by dx and vertically by dy, then the static map transformation matrix is For example, first scale the static map by 2 times, then move the static map horizontally by dx and vertically by dy, and then rotate the static map 45 degrees clockwise. The static map transformation matrix is The inverse matrix refers to the inverse transformation matrix of the static map transformation matrix. For example, if 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.
[0065] It can be understood that to display a static map on a display screen, the static map coordinate system of the static map needs to be converted to 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 transformations. Through the static map transformation matrix Tview_map, the point Pmap in the static map coordinate system can be converted to the point Pview in the display screen coordinate system, that is, 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 Tmap_view can be used to transform the point Pview in the display screen coordinate system into Pmap in the static map coordinate system, that is, Pmap=Tmap_view×Pview. Therefore, the inverse matrix of the static map transformation matrix represents the transformation relationship from the display screen coordinate system to the static map coordinate system.
[0066] Exemplarily, the robot determines a static map transformation matrix based on the operating parameter values, and then determines an inverse matrix of the static map transformation matrix, and determines the inverse matrix as a transformation relationship between a display screen coordinate system and a static map coordinate system.
[0067] 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 a static map on a 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 transformations. The points in the static map coordinate system can be converted into points in the display screen coordinate system through the static map transformation matrix. Therefore, the static map transformation matrix represents the conversion relationship from the static map coordinate system to the display screen coordinate system, and the points in the display screen coordinate system can be converted into points in the static map coordinate system through the inverse matrix of the static map transformation matrix. 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. The inverse matrix is determined as the conversion relationship between the display screen coordinate system and the static map coordinate system, which provides basic data for subsequently converting the initial position of the robot in the display screen coordinate system into a static position in the static map coordinate system.
[0068] In one embodiment, based on the initial position and the transformation relationship, determining the relocation position of the robot includes:
[0069] Based on the initial position, the initial position matrix of the robot is determined; the initial position matrix is multiplied by the transformation relationship to obtain the target position matrix; based on the target position matrix, the relocation position of the robot is determined.
[0070] The initial position matrix refers to the matrix that represents the initial position of the robot. For example, if the initial position is (nWidth / 2+dx, nHeight / 2+dy), then the initial position matrix is .
[0071] Exemplarily, the robot converts the initial position into an initial position matrix, multiplies the initial position matrix by the conversion relationship to obtain a target position matrix, and determines the relocation position of the robot based on the target position matrix.
[0072] In this embodiment, the target position matrix is obtained by multiplying the initial position matrix by the conversion relationship. 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 in the static map coordinate system. The relocation position of the robot can be determined based on the static position.
[0073] In one embodiment, determining the relocation position of the robot based on the target position matrix includes:
[0074] The static position of the robot in the static map is obtained from the target position matrix; the robot's starting position for mapping and the resolution of the static map are obtained; the starting position for mapping is the position of the starting point for the robot to build a static map in the world map coordinate system; based on the static position, the starting position for mapping and the resolution, the robot's relocation position is determined.
[0075] The static position refers to the position in the static map coordinate system that corresponds to the initial position in the display screen coordinate system, that is, the position of the robot in the static map. Resolution refers to the correspondence between the unit distance of the static map and the actual unit distance. Resolution can be expressed as distance / pixel, that is, the distance represented by each pixel. The starting position of the map construction refers to the position of the robot in the world map coordinate system at the starting point of the static map construction. The world map coordinate system refers to the global coordinate system that describes the absolute position and orientation of the robot in its operating environment.
[0076] 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, and determines the robot's relocation horizontal position based on the static position, the mapping horizontal starting position and the resolution, determines the robot's relocation vertical position based on the static position, the mapping vertical starting position and the resolution, and obtains the robot's relocation position based on the relocation horizontal position and the relocation vertical position.
[0077] 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 starting position (originX, originY) and resolution resolution of the static map, and then the repositioned horizontal position val_x and the repositioned vertical position val_y are respectively:
[0078] val_x=x×resolution+originX Formula (1)
[0079] val_y=((nHeight-1)-y)×resolution+originY Formula (2)
[0080] Among them, nHeight is the map height of the static map on the display screen.
[0081] 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. Since the direction of the X-axis of the world coordinate system is the same as the direction of the X-axis in the static map coordinate system, the repositioned horizontal position of the robot in the world coordinate system can be calculated directly using x×resolution+originX. 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. By using (nHeight-1)-y, the y value in the static map coordinate system is flipped to the Y-axis coordinate value in the upward direction. Therefore, the repositioned vertical position of the robot in the world coordinate system can be calculated using ((nHeight-1)-y)×resolution+originY. In one embodiment, the robot determines the initial angle of the robot based on the target position matrix, and determines the repositioning angle of the robot based on the initial angle. For example, the initial angle is z, and the repositioning angle val_z=-z-π / 2.
[0082] In this embodiment, the relocation position of the robot is determined by the static position, the starting position of the map and the resolution, that is, the static position of the robot in the static map is converted into the relocation position in the world coordinate system.
[0083] In one embodiment, Figure 7 As shown, based on the static position, the starting position of the map and the resolution, the relocation position of the robot is determined, including:
[0084] Step 702: Determine the initial positioning position based on the static position, the mapping starting position and the resolution.
[0085] The initial positioning position refers to the unverified positioning position determined based on the static position, the starting position of the map and the resolution.
[0086] Exemplarily, the mapping starting position includes a mapping horizontal starting position and a mapping vertical starting position. The robot determines the robot's repositioning horizontal position based on the static position, the mapping horizontal starting position and the resolution. The robot determines the robot's repositioning vertical position based on the static position, the mapping vertical starting position and the resolution. The robot's initial positioning position is obtained based on the repositioning horizontal position and the repositioning vertical position.
[0087] Step 704: Determine obstacle feature data corresponding to the obstacle point cloud based on the obstacle point cloud corresponding to the obstacle outline in the obstacle map.
[0088] The obstacle point cloud refers to the set of obstacles detected by the robot through the laser sensor. The obstacle feature data refers to the data that characterizes the features of the obstacles corresponding to the obstacle point cloud. The obstacle feature data can be represented by vectors or matrices.
[0089] Exemplarily, the robot inputs an obstacle point cloud corresponding to an obstacle outline in an obstacle map into a neural network model, and the neural network model outputs obstacle feature data corresponding to the obstacle point cloud.
[0090] Step 706: Obtain matching feature data corresponding to the initial positioning position, and determine the similarity between the matching feature data and the obstacle feature data.
[0091] The matching feature data represents the feature of the obstacle corresponding to the initial positioning position. The similarity refers to a value representing the degree of similarity. The greater the similarity, the higher the degree of similarity.
[0092] Exemplarily, the robot obtains 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.
[0093] Step 708: When the similarity is greater than the similarity threshold, the initial positioning position is determined as the repositioning position.
[0094] The similarity threshold refers to a pre-set value used to determine whether the relocation is accurate.
[0095] Exemplarily, the robot compares the similarity with a similarity threshold, and if the similarity is greater than the similarity threshold, determines the initial positioning position as the repositioning position.
[0096] In one embodiment, if the similarity is less than or equal to the similarity threshold, the preset angle is rotated to obtain the updated obstacle point cloud, and based on the updated obstacle point cloud, the updated obstacle feature data corresponding to the updated obstacle point cloud is determined, and the similarity between the matching feature data and the updated obstacle feature data is calculated, and the similarity is compared with the similarity threshold. If the similarity is less than or equal to the similarity threshold, the above process is repeated until the loop stop condition is met; if the similarity is greater than the similarity threshold, the initial positioning position is determined as the repositioning position. The loop stop condition refers to the condition for stopping the loop, and the loop stop condition can be that the number of rotations reaches a preset number of times.
[0097] In this embodiment, by judging the magnitude relationship between the similarity between the matching feature data and the obstacle feature data and the similarity threshold, it is judged whether the relocated position is accurate, thereby improving the accuracy of the relocated position.
[0098] In one embodiment, obtaining an operation parameter value when an obstacle contour in an obstacle map matches an obstacle contour in a static map includes:
[0099] In response to a repositioning operation, a static map is displayed on a display screen; a lidar point cloud is obtained, and an obstacle map is displayed on an upper layer of the static map based on the lidar point cloud; in response to a trigger operation on the static map, when an obstacle outline in the obstacle map matches an obstacle outline in the static map, an operation parameter value corresponding to the trigger operation on the display screen is obtained.
[0100] The relocation operation refers to the operation of the operator clicking the relocation control. The relocation control can be a physical control or a virtual control. The relocation control can be located on the robot or on the device that controls the robot. The lidar point cloud refers to the set of points obtained by the lidar sensor and used to characterize obstacles. The trigger operation refers to the operation of the operator adjusting the static map. The trigger operation includes but is not limited to at least one of moving, scaling and rotating.
[0101] Exemplarily, when the robot loses its posture information, the operator clicks on the relocalization control, the robot responds to the relocalization operation, displays a static map on the display screen, then obtains a lidar point cloud, and displays an obstacle map on the upper layer of the static map based on the lidar point cloud. The operator triggers the static map through the display screen, and the robot responds to the trigger operation on the static map, adjusts the display position of the static map on the display screen, and obtains the operating parameter values when the obstacle outline in the obstacle map matches the obstacle outline in the static map.
[0102] In one embodiment, obtaining the operation parameter value when the obstacle outline in the obstacle map matches the obstacle outline in the static map includes: the robot responds to the trigger operation for the static map, and for each movement, obtains the first position when the gesture is put down, and the second position after the gesture moves, and determines the single horizontal displacement and the single vertical displacement corresponding to the single movement based on the second position and the first position, and when the obstacle outline in the obstacle map matches the obstacle outline in the static map, adds multiple single horizontal displacements to obtain the horizontal displacement parameter value, and adds multiple single vertical displacements to obtain the vertical displacement parameter value. Similarly, the rotation parameter value and the zoom factor can be obtained.
[0103] In one embodiment, in response to a trigger operation on a 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 moving event, dx=eventx-lastx+oldx, dy=eventy-lasty+oldy, (eventx, eventy) is the position when the single moving gesture is raised, (lastx, lasty) is the position when the single moving gesture is lowered, oldx is the historical horizontal moving position accumulated by multiple single movements before the above single movement, oldy is the historical vertical moving position accumulated by multiple single movements before the above single movement, when the obstacle outline in the obstacle map matches the obstacle outline in the static map, dx is the horizontal displacement parameter value, and dy is the vertical displacement parameter value.
[0104] In this embodiment, the operator controls the robot to display a static map and an obstacle map on the display screen by clicking a repositioning control at the place where the robot loses its position and posture information. The operator triggers the static map through the display screen to match the obstacle outline in the obstacle map with the obstacle outline in the static map. The robot obtains the operating parameter values when the obstacle outline in the obstacle map matches the obstacle outline in the static map, thereby providing accurate basic data for the subsequent robot to achieve in-situ repositioning. Compared with the need to push the robot back to the power-on point, the above-mentioned repositioning method can achieve in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency.
[0105] In an exemplary embodiment, the relocation process is as follows: Figure 8 As shown, it includes: when the robot loses its position information, the operator walks to the position of the robot and clicks the relocation control in the robot's display screen. The robot responds to the relocation operation, loads a static map in the display screen, and then obtains the lidar point cloud. Based on the lidar point cloud, an obstacle map is loaded on the upper layer of the static map.
[0106] The operator triggers the static map through the display screen, and the trigger operation includes but is not limited to at least one of translation, rotation and scaling. In response to the trigger operation on the static map, the robot adjusts the display position of the static map on the display screen and obtains the operation parameter value when the obstacle outline in the obstacle map matches the obstacle outline in the static map. The robot obtains the map height nWidth and the map width nHeight through the control that displays the static map.
[0107] Get the horizontal displacement parameter value dx and the vertical displacement parameter value dy from the operation parameter value, and determine the initial position of the robot on the display screen as ((nWidth / 2)toFloat()+dx, (nHeight / 2)toFloat()+dy). Based on the initial position, determine the initial position matrix of the robot .
[0108] The robot determines the static map transformation matrix based on the operation parameter value, and then determines the inverse matrix of the static map transformation matrix, and determines the inverse matrix as the transformation relationship between the display screen coordinate system and the static map coordinate system.
[0109] The robot multiplies the initial position matrix by the transformation relationship to obtain the target position matrix. The robot's static position (x, y) in the static map is obtained from the target position matrix, and the static map's starting position (originX, originY) and resolution resolution are obtained. Substitute the robot's horizontal coordinate x in the static map, the resolution resolution, and the horizontal coordinate originX in the starting position of the map into formula (1) to obtain the horizontal position val_x. Substitute the robot's vertical coordinate y in the static map, the resolution resolution, and the vertical coordinate originY in the starting position of the map into formula (2) to obtain the relocated vertical position val_y. (val_x, val_y) is the robot's relocated position.
[0110] The robot obtains the matching feature data corresponding to the relocation 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, and compares the similarity with the similarity threshold. If the similarity is equal to or greater than the similarity threshold, it is determined that the above relocation position is correct, that is, the above relocation is successful; if the similarity is less than the similarity threshold, it is determined that the relocation position is wrong, that is, the above relocation fails.
[0111] In the event that the above relocalization fails, the robot rotates 90 degrees, obtains an 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 on the display screen, and repeats the above relocalization process.
[0112] In the above repositioning method, at the position where the robot loses its posture information, an obstacle map is formed by the laser radar point cloud collected by the robot's laser radar sensor. The obstacle contour in the obstacle map reflects the environmental information of the robot's current position. The static map is adjusted by a trigger operation so that the obstacle contour in the obstacle map matches the obstacle contour in the static map, that is, a local obstacle contour in the static map that is similar to or the same as the obstacle contour in the obstacle map is determined by a trigger operation, and an 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, and the conversion relationship between the display screen coordinate system and the static map coordinate system is determined according to the operation parameter value. Then, the 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 power-on point, the above repositioning method can achieve in-situ repositioning, thereby shortening the repositioning time and improving the repositioning efficiency.
[0113] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages 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 to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0114] Based on the same inventive concept, the present application embodiment also provides a relocation device for implementing the above-mentioned relocation method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific limitations in the one or more relocation device embodiments provided below can refer to the limitations of the relocation method above, and will not be repeated here.
[0115] In one embodiment, Fig. 9 As shown, a relocation device is provided, including: an acquisition module 902, an initial position determination module 904, a conversion relationship determination module 906 and a relocation module 908, wherein:
[0116] The acquisition module 902 is used to acquire the operation parameter value when the obstacle outline in the obstacle map matches the obstacle outline in the static map; the operation parameter value is the parameter value corresponding to the trigger operation for the display screen; the display screen displays the obstacle map and the static map;
[0117] An initial position determination module 904 is used to determine the initial position of the robot in the display screen coordinate system based on the displacement parameter value in the operation parameter value;
[0118] A conversion relationship determination module 906, used to determine the conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter value;
[0119] The relocation module 908 is used to determine the relocation position of the robot based on the initial position and the transformation relationship.
[0120] In one embodiment, the initial position determination module 904 is further used to: obtain the map height and 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; based on the map width and the horizontal displacement parameter value, determine the horizontal initial position of the robot in the display screen coordinate system; based on the map height and the vertical displacement parameter value, determine the vertical initial position of the robot in the display screen coordinate system; based on the horizontal initial position and the vertical initial position, determine the initial position of the robot in the display screen.
[0121] In one embodiment, the conversion relationship determination module 906 is further used to: determine the static map transformation matrix based on the operation parameter value; determine the 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.
[0122] In one embodiment, the repositioning module 908 is further used to: determine the initial position matrix of the robot based on the initial position; multiply the initial position matrix by the transformation relationship to obtain the target position matrix; and determine the repositioning position of the robot based on the target position matrix.
[0123] In one embodiment, the relocation module 908 is further used to: obtain the static position of the robot in the static map from the target position matrix; obtain the robot's starting position for mapping and the resolution of the static map; the mapping starting position is the position of the starting point for the robot to establish a static map in the world map coordinate system; based on the static position, the mapping starting position and the resolution, determine the relocation position of the robot.
[0124] In one embodiment, the repositioning module 908 is further used to: determine the initial positioning position based on the static position, the starting position of the map and the resolution; determine the obstacle feature data corresponding to the obstacle point cloud based on the obstacle point cloud corresponding to the obstacle contour in the obstacle map; obtain the matching feature data corresponding to the initial positioning position, and determine the similarity between the matching feature data and the obstacle feature data; when the similarity is greater than the similarity threshold, determine the initial positioning position as the repositioning position.
[0125] In one embodiment, the acquisition module 902 is also used to: display a static map on a display screen in response to a repositioning operation; obtain a lidar point cloud, and display an obstacle map on an upper layer of the static map based on the lidar point cloud; and in response to a trigger operation on the static map, obtain an operation parameter value corresponding to the trigger operation on the display screen when the obstacle outline in the obstacle map matches the obstacle outline in the static map.
[0126] Each module in the above relocation device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of the processor in the robot in the form of hardware, or can be stored in the memory in the robot in the form of software, so that the processor can call and execute the corresponding operations of each module.
[0127] In one embodiment, a robot is provided. The robot may be a terminal, and its internal structure diagram may be as follows: Fig.10 As shown. 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 used 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 the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the robot is used to exchange information between the processor and an external device. The communication interface of the robot is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. When the computer program is executed by the processor, a repositioning method is realized. The display unit of the robot is used 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 covering the display screen, or a button, trackball or touchpad set on the robot shell, or an external keyboard, touchpad or mouse.
[0128] Those skilled in the art will understand that Fig.10 The structure shown in the figure is merely a block diagram of a partial 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. The specific robot may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0129] In one embodiment, a robot is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0130] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0131] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0132] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0133] 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, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0134] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0135] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A relocation method, characterized in that: The method is used for a robot, comprising: Acquiring an operation parameter value when an obstacle outline in the obstacle map matches an obstacle outline in the 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; Determining an initial position of the robot in a display screen coordinate system based on a displacement parameter value in the operation parameter value; Based on the operation parameter value, determining a conversion relationship between the display screen coordinate system and the static map coordinate system; Based on the initial position and the transformation relationship, a relocation position of the robot is determined.
2. The method according to claim 1, characterized in that The step of determining the initial position of the robot on the display screen based on the displacement parameter value in the operation parameter value comprises: Obtaining the map height and map width of the static map on the display screen; Acquire a 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; Based on the horizontal initial position and the vertical initial position, an initial position of the robot in the display screen is determined.
3. The method according to claim 1, characterized in that: The determining, based on the operation parameter value, a conversion relationship between the display screen coordinate system and the static map coordinate system includes: Based on the operating parameter values, determining a static map transformation matrix; Determining the inverse matrix of the static map transformation matrix; The inverse matrix is determined as a transformation relationship between the display screen coordinate system and the static map coordinate system.
4. The method according to claim 1, characterized in that Determining the relocation position of the robot based on the initial position and the conversion relationship includes: Based on the initial position, determining an initial position matrix of the robot; Multiplying the initial position matrix by the conversion relationship to obtain a target position matrix; Based on the target position matrix, a relocation position of the robot is determined.
5. The method according to claim 4, characterized in that Determining the relocation position of the robot based on the target position matrix includes: Obtaining the static position of the robot in the static map from the target position matrix; Acquire the map-building starting position of the robot and the resolution of the static map; the map-building starting position is the position of the starting point for the robot to build the static map in the world map coordinate system; A relocation position of the robot is determined based on the static position, the mapping starting position, and the resolution.
6. The method according to claim 5, characterized in that The determining the relocation position of the robot based on the static position, the mapping starting position and the resolution includes: Determining an initial positioning position based on the static position, the mapping starting position and the resolution; Determining obstacle feature data corresponding to the obstacle point cloud based on the obstacle point cloud corresponding to the obstacle outline in the obstacle map; Acquire matching feature data corresponding to the initial positioning position, and determine the similarity between the matching feature data and the obstacle feature data; When the similarity is greater than a similarity threshold, the initial positioning position is determined as the repositioning position.
7. The method according to claim 1, characterized in that The obtaining of the operation parameter value when the obstacle contour in the obstacle map matches the obstacle contour in the static map includes: In response to the relocation operation, displaying a static map on the display screen; Acquire 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; In response to a trigger operation on the static map, when an obstacle outline in the obstacle map matches an obstacle outline in the static map, an operation parameter value corresponding to the trigger operation on the display screen is obtained.
8. A repositioning device, characterized in that: The device is used for a robot and comprises: an acquisition module, configured to acquire an operation parameter value when an obstacle outline in the obstacle map matches an obstacle outline in the 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; An initial position determination module, used to determine the initial position of the robot in the display screen coordinate system based on the displacement parameter value in the operation parameter value; A conversion relationship determination module, used to determine the conversion relationship between the display screen coordinate system and the static map coordinate system based on the operation parameter value; A repositioning module is used to determine a repositioning position of the robot based on the initial position and the conversion relationship.
9. A robot comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Point cloud map creation and scene identification method based on static semantic information
CN112767485A
Robot control method, robot and storage medium
CN115890676A