Map switching method, electronic device, and storage medium

By acquiring and constructing elevator area maps of the initial and target floors, and using pixel coordinate system transformation and matching algorithms to calculate transformation relationships, the positioning accuracy problem during robot elevator map switching was solved, enabling accurate robot positioning and efficient map switching on the target floor.

CN116175592BActive Publication Date: 2026-03-03YOUDI ROBOT (WUXI) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310361199.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-29
Publication Date
2026-03-03
Estimated Expiration
2043-03-29

AI Technical Summary

Technical Problem

In existing technologies, when switching maps in multi-floor elevators, the accuracy requirements for identical points on the map are high, which can lead to positioning failures or deviations. In particular, when the directional accuracy is insufficient, the robot cannot accurately determine the map position of the target floor.

Method used

By acquiring elevator area maps of the initial and target floors, constructing a likelihood field, extracting the elevator area map, and calculating the transformation relationship between the two, the robot's positioning information on the target floor is determined using pixel coordinate system transformation and matching algorithms, thus adapting to elevator door control for both unidirectional and multidirectional opening and closing.

Benefits of technology

It improves the success rate of robot map switching on target floors, simplifies the map building process, improves surveying efficiency, and ensures accurate robot positioning inside elevators, adapting to different types of elevator doors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116175592B_ABST
    Figure CN116175592B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of robots, and discloses a map switching method, an electronic device and a storage medium. The map switching method comprises the following steps: acquiring an elevator area map of an initial floor and an elevator area map of a target floor, wherein the initial floor is a floor where a robot enters an elevator, and the target floor is a floor where the robot exits the elevator; calculating a transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor, and determining positioning information of the robot on the target floor according to the transformation relationship. According to the transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor, the positioning information of the robot on the target floor is determined, and the positioning information of the robot on the target floor can be accurately determined when the robot takes the elevator.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and in particular to a map switching method, electronic device, and storage medium. Background Technology

[0002] A robot is a common term for an automated machine, encompassing all machines that mimic human behavior or thought, as well as those that mimic other living beings. When working in a multi-story environment, a robot needs to autonomously ride an elevator, switch the currently used floor map to the target floor map, and determine its position on the target floor's map.

[0003] Existing technology determines the robot's position on the target floor map by fixing the starting points of the map currently used by the robot and the map of the target floor to unify the common points of the two maps. However, this method requires high accuracy of the common points on the maps, especially the accuracy of the direction. Large deviations can cause map switching failures, resulting in deviations in determining the robot's position on the target floor map, or even causing positioning failure. Summary of the Invention

[0004] To address the aforementioned technical problems, embodiments of this application provide a map switching method, an electronic device, and a storage medium to accurately determine the robot's location information on the target floor when the robot is riding an elevator.

[0005] The embodiments of this application provide the following technical solutions:

[0006] In a first aspect, embodiments of this application provide a map switching method, including:

[0007] Obtain elevator area maps for the initial floor and the target floor. The initial floor is the floor where the robot enters and takes the elevator, and the target floor is the floor where the robot leaves the elevator.

[0008] Calculate the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, and determine the robot's positioning information on the target floor based on the transformation relationship.

[0009] In some embodiments, the steps of obtaining elevator area maps of the initial floor and the target floor include:

[0010] When the robot is inside the elevator, a preset range of elevator area map including the elevator location is captured in the first map corresponding to the initial floor, and a preset range of elevator area map including the elevator location is captured in the second map corresponding to the target floor.

[0011] In some embodiments, prior to the steps of obtaining the elevator area map of the initial floor and the elevator area map of the target floor, the following steps are included:

[0012] Construct a likelihood field for the raster map corresponding to the initial floor to obtain the first map;

[0013] A likelihood field is constructed on the raster map corresponding to the target floor to obtain a second map.

[0014] In some embodiments, the step of calculating the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor includes:

[0015] Extract the first elevator outline from the elevator area map of the initial floor, and convert the coordinate system of the trajectory points of the first elevator outline into the first pixel coordinate system.

[0016] Extract the outline of the second elevator from the elevator area map of the target floor, and convert the coordinate system of the trajectory points of the second elevator outline into the coordinate system of the first pixel.

[0017] The transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor is determined based on the changes in the first elevator outline and the second elevator outline in the first pixel coordinate system.

[0018] In some embodiments, the step of extracting a first elevator outline from an elevator area map of an initial floor and converting the coordinate system of the trajectory points of the first elevator outline to a first pixel coordinate system includes:

[0019] Convert the center point inside the elevator on the initial floor from the world coordinate system to the first pixel coordinate system;

[0020] Based on the first pixel coordinate system, the pixel coordinates of the trajectory points of the first elevator outline of the initial floor are calculated.

[0021] In some embodiments, the step of extracting a second elevator outline from the elevator area map of the target floor and converting the coordinate system of the trajectory points of the second elevator outline to the coordinate system of the first pixel includes:

[0022] Convert the center point inside the elevator on the target floor from the world coordinate system to the first pixel coordinate system;

[0023] Based on the first pixel coordinate system, the pixel coordinates of the trajectory points of the second elevator outline of the target floor are calculated.

[0024] In some embodiments, the step of determining the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the change in the first elevator outline and the second elevator outline in the first pixel coordinate system includes:

[0025] The rotation and translation variables between the first and second elevator contours in the first pixel coordinate system are calculated using a matching algorithm.

[0026] The transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor is determined based on rotation and translation variables.

[0027] In some embodiments, the step of determining the robot's positioning information on the target floor based on the transformation relationship includes:

[0028] If the elevator door is a one-way opening and closing door, the robot's positioning information on the target floor is determined according to the transformation relationship, and the robot is controlled to leave the elevator on the target floor.

[0029] If the elevator door is a multi-directional opening and closing door, the robot's positioning information on the target floor is determined according to the transformation relationship, and the opening direction of the elevator door on the target floor is determined according to the relative attitude angle of the elevator on the target floor with respect to the elevator on the initial floor, and the robot is controlled to leave the elevator on the target floor.

[0030] Secondly, embodiments of this application propose a map switching device, including:

[0031] The acquisition unit is used to acquire elevator area maps of the initial floor and the target floor. The initial floor is the floor where the robot enters and takes the elevator, and the target floor is the floor where the robot leaves the elevator.

[0032] The computing unit is used to calculate the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, and to determine the robot's positioning information on the target floor based on the transformation relationship.

[0033] Thirdly, embodiments of this application provide an electronic device, including:

[0034] The memory, the processor, and the computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the map switching method as described in the first aspect.

[0035] Fourthly, embodiments of this application provide a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the map switching method as described in the first aspect.

[0036] The beneficial effects of this application's implementation are as follows: Unlike existing technologies, this application provides a map switching method, including: acquiring an elevator area map of an initial floor and an elevator area map of a target floor, wherein the initial floor is the floor the robot enters and takes the elevator, and the target floor is the floor the robot exits the elevator; calculating the transformation relationship between the elevator area maps of the initial floor and the target floor, and determining the robot's location information on the target floor based on the transformation relationship. By determining the robot's location information on the target floor based on the transformation relationship between the elevator area maps of the initial floor and the target floor, this application can accurately determine the robot's location information on the target floor when the robot takes the elevator. Attached Figure Description

[0037] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.

[0038] Figure 1 This is a schematic diagram of an application environment provided in an embodiment of this application;

[0039] Figure 2 This is a flowchart illustrating a map switching method provided in an embodiment of this application;

[0040] Figure 3a This is a schematic diagram of a grid map corresponding to an initial floor provided in an embodiment of this application;

[0041] Figure 3b This is a schematic diagram of a grid map corresponding to a target floor provided in an embodiment of this application;

[0042] Figure 4 This is a schematic diagram of the structure of a map switching device provided in an embodiment of this application;

[0043] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0044] Explanation of icon numbers:

[0045] label name label name 100 Application Environment 402 Computing unit 10 robot 500 electronic devices 20 elevator 501 processor 400 Map switching device 502 memory 401 Acquisition Unit Detailed Implementation

[0046] To facilitate understanding of this application, a more detailed description is provided below with reference to the accompanying drawings and specific embodiments. It should be noted that when an element is described as "fixed to" another element, it can be directly on the other element, or one or more intermediate elements may exist between them. When an element is described as "connected to" another element, it can be directly connected to the other element, or one or more intermediate elements may exist between them. The terms "vertical," "horizontal," "left," "right," and similar expressions used in this specification are for illustrative purposes only.

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

[0048] The technical solution of this application is described in detail below with reference to the accompanying drawings:

[0049] Please see Figure 1 , Figure 1 This is a schematic diagram of an application environment provided in an embodiment of this application.

[0050] like Figure 1 As shown, the application environment 100 includes: robot 10 and elevator 20.

[0051] In this embodiment, the robot 10 can be a mobile robot, such as a hotel robot, delivery robot, cleaning robot, pet robot, handling robot, care robot, remote monitoring robot, or sweeping robot. This application does not limit the shape or function of the robot 10.

[0052] For example, the robot includes a main body, drive wheel components, and a controller. The main body may be generally elliptical, triangular, D-shaped, or other shapes. The controller is located on the main body, and the drive wheel components are mounted on the main body for driving the robot to move.

[0053] In this embodiment, the drive wheel component includes a left drive wheel, a right drive wheel, and an omnidirectional wheel. The left and right drive wheels are respectively mounted on opposite sides of the main body. The omnidirectional wheel is mounted at the front of the bottom of the main body and is a movable caster wheel that can rotate 360 ​​degrees horizontally, allowing the robot to turn flexibly. The mounting of the left drive wheel, right drive wheel, and omnidirectional wheel forms a triangle to improve the stability of the robot's movement.

[0054] In this embodiment, the controller is located inside the main body and is electrically connected to the left drive wheel, right drive wheel, and omnidirectional wheel. As the robot's control core, the controller determines the robot's location information on the target floor and performs some business logic processing. For example, the controller uses Simultaneous Localization and Mapping (SLAM) technology, i.e., employs the SLAM algorithm for positioning and navigation, or integrates a positioning module and an Inertial Measurement Unit (IMU) to achieve positioning and navigation. The positioning module can be a Global Positioning System (GPS) module, a BeiDou Navigation Satellite System (BDS) module, or a positioning module based on other positioning systems and / or positioning algorithms; this application does not impose any limitations on this.

[0055] In this embodiment, the elevator 20 can be an electrically driven car elevator, such as a passenger elevator, a freight elevator, a service elevator, etc. The elevator 20 stops at at least two floors so that the robot can ride to different floors. The elevator 20 includes elevators with unidirectional door opening and closing and elevators with multidirectional door opening and closing.

[0056] Please see Figure 2 , Figure 2 This is a flowchart illustrating a map switching method provided in an embodiment of this application.

[0057] In a first aspect, embodiments of this application propose a map switching method, which is applied to an electronic device, such as a robot. Specifically, the execution subject of the map switching method is one or at least two processors of the robot.

[0058] like Figure 2 As shown, the map switching method includes steps S201-S202:

[0059] Step S201: Obtain the elevator area map of the initial floor and the elevator area map of the target floor.

[0060] Specifically, the initial floor is the floor the robot enters to take the elevator, and the target floor is the floor the robot exits from the elevator. Understandably, a grid map corresponding to the initial floor is constructed in advance based on the environmental information of the initial floor, and similarly, a grid map corresponding to the target floor is constructed in advance based on the environmental information of the target floor. The elevator area map of the initial floor is a portion of the grid map corresponding to the initial floor. The elevator area map of the target floor is a portion of the grid map corresponding to the target floor. When the robot is inside the elevator, needs to take the elevator, or is outside the elevator, partial sections of the first map corresponding to the initial floor and the second map corresponding to the target floor are extracted to obtain the elevator area map of the initial floor and the elevator area map of the target floor, respectively.

[0061] The first map is a raster map corresponding to the initial floor after constructing a likelihood field, and the second map is a raster map corresponding to the target floor after constructing a likelihood field. Before obtaining the elevator area maps of the initial floor and the target floor, it is necessary to obtain the first and second maps. Specifically, the steps to obtain the first and second maps include: constructing a likelihood field on the raster map corresponding to the initial floor to obtain the first map; and constructing a likelihood field on the raster map corresponding to the target floor to obtain the second map.

[0062] Please see Figures 3a-3b , Figure 3a This is a schematic diagram of a grid map corresponding to an initial floor provided in an embodiment of this application; Figure 3b This is a schematic diagram of a grid map corresponding to a target floor provided in an embodiment of this application.

[0063] like Figure 3a and Figure 3b As shown, both the initial floor's grid map and the target floor's grid map include white, gray, and black areas. In these maps, white areas represent passable (obstacle-free) areas with a grid score of 0; gray areas represent unknown areas with a grid score of -1; and black areas represent obstacle areas with a grid score of 1. The robot can only traverse within white areas.

[0064] To obtain a more accurate map, a likelihood field is constructed on the raster map corresponding to the initial floor and the raster map corresponding to the target floor to obtain a more accurate raster map, namely the first map and the second map.

[0065] Specifically, the following formula is used to construct a likelihood field on the raster map corresponding to the initial floor or the raster map corresponding to the target floor to obtain the first map and the second map:

[0066] Formula: cost=exp(-b*weight*value).

[0067] Where cost represents the likelihood value of the first or second map, b represents the preset coefficient, weight represents the weight value, and value represents the raster score. cost also represents the refined pixel value; the preset coefficient can be 1; the weight value affects the trend of the likelihood field change and can be set to 5.0; in the raster map corresponding to the initial floor or the raster map corresponding to the target floor, the resolution of the map unit raster is 0.05m, the raster score of the unknown area is -1, the raster score of the obstacle area is 1, and the raster score of the obstacle-free area is 0.

[0068] Further, after obtaining the first map and the second map, an elevator area map of the initial floor and an elevator area map of the target floor are obtained. The steps of obtaining the elevator area map of the initial floor and the elevator area map of the target floor include: when the robot is in the elevator, capturing a preset range of the elevator area map including the elevator location from the first map corresponding to the initial floor, and capturing a preset range of the elevator area map including the elevator location from the second map corresponding to the target floor.

[0069] Specifically, when the robot is inside the elevator, it obtains an elevator area map for the initial floor by cropping a first map within a preset range from the first map corresponding to the initial floor, and obtains an elevator area map for the target floor by cropping a second map within a preset range from the second map corresponding to the target floor. The preset range includes the area where the elevator is located. Optionally, the preset range is an area with the center point inside the elevator as the origin and a preset length as the radius. The center point is the target point inside the elevator that the robot needs to reach when riding the elevator, such as the exact center of the elevator car. The preset length is, for example, 6 meters. This application does not limit the shape and size of the preset range.

[0070] For example, if the initial floor is the 1st floor and the target floor is the 2nd floor, after the robot enters the elevator on the 1st floor, it obtains the elevator area map for the 1st floor by cropping a first map from the first map corresponding to the 1st floor, with the center of the elevator car as the origin and a radius of 6 meters as the radius, and obtains the elevator area map for the 2nd floor by cropping a second map from the second map corresponding to the 2nd floor, with the center of the elevator car as the origin and a radius of 6 meters as the radius. Both the elevator area maps for the 1st and 2nd floors include the elevator location, that is, the elevator outline can be determined in the elevator area map for the 1st floor and the elevator outline can be determined in the elevator area map for the 2nd floor.

[0071] Step S202: Calculate the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, and determine the robot's positioning information on the target floor based on the transformation relationship.

[0072] Specifically, the robot calculates the transformation relationship between the elevator area maps of the initial floor and the target floor, and determines its positioning information on the target floor based on this transformation relationship. Furthermore, the elevator door types include single-direction and multi-direction opening / closing doors, and the robot's exit from the elevator is controlled according to the door type. The positioning information includes the robot's position in the elevator area map of the target floor, which is also its position in the corresponding grid map of the target floor.

[0073] The steps for calculating the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor include: extracting a first elevator outline from the elevator area map of the initial floor and converting the coordinate system of the trajectory points of the first elevator outline into a first pixel coordinate system; extracting a second elevator outline from the elevator area map of the target floor and converting the coordinate system of the trajectory points of the second elevator outline into a first pixel coordinate system; and determining the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the changes in the first elevator outline and the second elevator outline in the first pixel coordinate system.

[0074] The step of extracting the first elevator outline from the elevator area map of the initial floor and converting the coordinate system of the trajectory points of the first elevator outline to the first pixel coordinate system includes: converting the center point inside the elevator on the initial floor from the world coordinate system to the first pixel coordinate system; and calculating the pixel coordinates of the trajectory points of the first elevator outline on the initial floor based on the first pixel coordinate system. The first elevator outline refers to the elevator outline of the initial floor, and the second elevator outline refers to the elevator outline of the target floor.

[0075] Specifically, the center point inside the elevator on the initial floor is the target point the robot needs to reach when riding the elevator. For example, the target point is the exact center of the elevator car. The world coordinates of the center point inside the elevator on the initial floor are pre-set in the robot's memory. The center point inside the elevator on the initial floor is converted from the world coordinate system to the first pixel coordinate system using the following formula:

[0076]

[0077] Among them, (m x1 ,m y1 (x0, y0) represents the pixel coordinates of the center point inside the elevator on the initial floor, and (x0, y0) represents the world coordinates of the center point inside the elevator on the initial floor. x1 ,originy1 ) represents the world coordinates of the origin of the map on the initial floor, and a represents the resolution of the map unit grid. Optionally, a = 0.05m.

[0078] Furthermore, based on the pixel coordinates of the center point inside the elevator on the initial floor, the robot calculates the pixel coordinates of the elevator outline points (i.e., the trajectory points of the elevator outline) on the initial floor using the following formula:

[0079]

[0080] Among them, (new) x1 new y1 (x1, y1) represents the pixel coordinates of the elevator outline point of the initial floor, (x1, y1) represents the pixel coordinates of the center point of the elevator in the initial floor, i represents the traversal variable, angle represents the angle corresponding to the robot's current direction, the angle corresponding to the robot's current direction during traversal is 0°-360°, i takes values ​​from 0 to N, where N is a positive integer, and records the pixel coordinates of each elevator outline point (that is, the grid with a grid score of 1 corresponding to the value i during traversal) until a*i≥l ends the traversal, where a represents the resolution of the map unit grid, and l represents the preset length when cropping the elevator area map of the initial floor, optionally, a=0.05m, l=6m.

[0081] During the traversal, grid cells with a score of 1 are extracted and converted into pixels in the first pixel coordinate system. The first pixel coordinate system is used to represent the pixel coordinate system of the map.

[0082] In some embodiments, the step of extracting a second elevator outline from the elevator area map of the target floor and converting the coordinate system of the trajectory points of the second elevator outline to the first pixel coordinate system includes: converting the center point inside the elevator on the target floor from the world coordinate system to the first pixel coordinate system; and calculating the pixel coordinates of the trajectory points of the second elevator outline on the target floor according to the first pixel coordinate system.

[0083] Specifically, the center point inside the elevator on the target floor is the target point that the robot needs to reach when riding the elevator. For example, the target point is the exact center of the elevator car. The world coordinates of the center point inside the elevator on the target floor are pre-set in the robot's memory. The center point inside the elevator on the target floor is converted from the world coordinate system to the first pixel coordinate system using the following formula:

[0084]

[0085] Among them, (m x2 ,m y2(x1, y2) represents the pixel coordinates of the center point inside the elevator on the target floor, and (x2, y2) represents the world coordinates of the center point inside the elevator on the target floor. x2 ,origin y2 ) represents the world coordinates of the origin of the map for the target floor, and a represents the resolution of the map unit grid. Optionally, a = 0.05m.

[0086] Furthermore, based on the pixel coordinates of the center point inside the elevator on the target floor, the robot calculates the pixel coordinates of the elevator outline points (i.e., the trajectory points of the elevator outline) on the target floor using the following formula:

[0087]

[0088] Among them, (new) x2 new y2 (x3, y3) represents the pixel coordinates of the elevator outline point of the target floor, (x3, y3) represents the pixel coordinates of the center point of the elevator in the target floor, i represents the traversal variable, angle represents the angle corresponding to the robot's current direction, during traversal the angle corresponding to the robot's current direction takes 0°-360°, i takes 0-N sequentially, N is a positive integer, records the pixel coordinates of each elevator outline point (that is, the grid with a grid score of 1 corresponding to the value i during the traversal), until a*i≥l ends the traversal, where a represents the resolution of the map unit grid, l represents the preset length when cropping the elevator area map of the target floor, optionally, a=0.05m, l=6m.

[0089] During the traversal, grid cells with a score of 1 are extracted and converted into pixels in the first pixel coordinate system. The first pixel coordinate system is used to represent the pixel coordinate system of the map.

[0090] In some embodiments, the step of determining the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the change in the first elevator outline and the second elevator outline in the first pixel coordinate system includes: calculating the rotation variable and translation variable between the first elevator outline and the second elevator outline in the first pixel coordinate system using a matching algorithm; and determining the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the rotation variable and the translation variable.

[0091] The matching algorithm includes, but is not limited to, the Iterative Closest Point (ICP) algorithm. The first elevator contour includes the trajectory points that make up the elevator contour of the initial floor, and the second elevator contour includes the trajectory points that make up the elevator contour of the target floor. The pixel coordinates of the trajectory points of the first and second elevator contours are in the same pixel coordinate system. The transformation relationship between the elevator area maps of the initial floor and the target floor is determined using the ICP algorithm, including steps 1-5:

[0092] Step 1: Select trajectory points in the first elevator contour as the reference point cloud, and trajectory points in the second elevator contour as the point cloud to be registered; Step 2: Select some points in the point cloud to be registered, and find their corresponding points in the reference point cloud using the nearest neighbor search method; Step 3: Calculate the relative pose between the point cloud to be registered and the reference point cloud based on the found corresponding points, which can be represented by rotation and translation variables; Step 4: Transform the point cloud to be registered according to the calculated relative pose to make it coincide with the reference point cloud; Step 5: Repeat steps 2-4 until the error between the point clouds meets a certain convergence condition or reaches the maximum number of iterations, to obtain the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, that is, the transformation relationship is represented by rotation and translation variables.

[0093] In this embodiment, by extracting the first elevator outline and the second elevator outline from the elevator area maps of the initial floor and the target floor respectively, the coordinate system of the trajectory points of the first elevator outline and the coordinate system of the trajectory points of the second elevator outline are converted into the first pixel coordinate system. Based on the rotation and translation variables between the first elevator outline and the second elevator outline in the first pixel coordinate system calculated by the matching algorithm, the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor is determined. This application enables the robot to accurately determine the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor when it is in the elevator, thereby accurately determining the robot's positioning information on the target floor, improving the success rate of the robot switching maps, and enabling surveyors to build maps without having to find common points, simplifying the online steps and improving the efficiency of surveying.

[0094] In some embodiments, the step of determining the robot's positioning information on the target floor based on the transformation relationship includes: if the elevator door is a one-way opening and closing door, determining the robot's positioning information on the target floor based on the transformation relationship, and controlling the robot to leave the elevator on the target floor; if the elevator door is a multi-way opening and closing door, determining the robot's positioning information on the target floor based on the transformation relationship, and determining the opening direction of the elevator door on the target floor based on the relative attitude angle of the elevator on the target floor relative to the elevator on the initial floor, and controlling the robot to leave the elevator on the target floor.

[0095] In some embodiments, if the elevator doors are unidirectional, meaning the elevator doors on different floors are all in the same direction (e.g., the elevator doors on different floors all face east), then the robot's position in the elevator area map of the initial floor is substituted into the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor to determine the robot's positioning information on the target floor, i.e., the robot's position in the elevator area map of the target floor. This allows the robot to accurately determine its position in the grid map corresponding to the target floor when switching between different floor maps inside the elevator, and to control the robot to leave the elevator on the target floor using the SLAM algorithm.

[0096] In other embodiments, if the elevator doors are multi-directional opening doors, meaning the opening directions of the elevator doors on different floors are different (e.g., the elevator doors open east on the 1st floor and west on the 2nd floor), then when determining the robot's location on the target floor by substituting its position in the elevator area map of the initial floor into the transformation relationship between the initial floor's elevator area map and the target floor's elevator area map, it is necessary to determine the opening direction of the elevator doors on the target floor based on the relative attitude angle of the elevator on the target floor relative to the elevator on the initial floor. The relative attitude angle of the elevator on the target floor relative to the elevator on the initial floor is obtained by rotating the elevator door direction on the initial floor in clockwise order. The initial floor's elevator door direction is 0°, and the relative attitude angle ranges from 0° to 360°. Optionally, the initial floor is the floor where the charging station is located, such as the 1st floor.

[0097] The following is an embodiment of a multi-directional door opening and closing elevator provided in this application, showing the door opening directions on different floors.

[0098] For example, the elevator door is a multi-directional opening and closing door. When it is on the 1st floor, the elevator door opens to the south; when it is on the 2nd floor, the elevator door opens to the west; and when it is on the 3rd floor, the elevator door opens to the north. The 1st floor is used as the reference floor, i.e., the initial floor, and the other floors are non-reference floors.

[0099] Using the elevator's door opening direction (south) on the 1st floor as a reference angle, the elevator door direction on the 1st floor is set to 0 degrees. The 2nd floor is a non-reference floor. Using the elevator door direction on the 1st floor as a reference angle, rotating clockwise according to the clock sequence, the elevator door direction on the 2nd floor changes by 90 degrees relative to the reference floor. Therefore, the relative attitude angle of the elevator on the 2nd floor relative to the elevator on the initial floor is 90 degrees. The 3rd floor is a non-reference floor. Using the elevator door direction on the 1st floor as a reference angle, rotating clockwise according to the clock sequence, the elevator door direction on the 3rd floor changes by 180 degrees relative to the reference floor. Therefore, the relative attitude angle of the elevator on the 3rd floor relative to the elevator on the initial floor is 180 degrees.

[0100] In some embodiments, if the elevator door is a one-way opening and closing door, the relative attitude angle of the elevator on each floor relative to the elevator on the initial floor is 0 degrees, and the relative attitude angle of the elevator on each floor relative to the elevator on the initial floor is pre-stored in the robot. When the elevator doors open in multiple directions, the robot's position in the elevator area map of the initial floor is substituted into the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor to determine the robot's positioning information on the target floor, that is, the robot's position in the elevator area map of the target floor. This allows the robot to accurately determine its position in the grid map corresponding to the target floor when switching between different floor maps in the elevator. Based on the floor number of the target floor and the relative attitude angle of the elevator on each floor with respect to the elevator on the initial floor, the opening direction of the elevator door on the target floor is determined. For example, if the target floor is the 3rd floor and the initial floor is the 1st floor, the relative attitude angle of the elevator on the 3rd floor with respect to the elevator on the 1st floor is 180 degrees. The elevator door on the 1st floor opens to the south. Then, using the elevator door on the 1st floor opening to the south as a reference, the robot is rotated 180 degrees clockwise to determine that the elevator door on the 3rd floor opens to the north. Then, the SLAM algorithm is used to control the robot to leave the elevator through the elevator door on the 3rd floor opening to the north.

[0101] In this embodiment, by determining the opening direction of the elevator door of the target floor based on the relative attitude angle of the elevator on the target floor relative to the elevator on the initial floor, this application can improve the success rate of the robot riding an elevator with multi-directional opening and closing doors.

[0102] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure of a map switching device provided in an embodiment of this application.

[0103] Secondly, embodiments of this application propose a map switching device, which is applied to an electronic device, such as a robot. Specifically, the map switching device is configured on a robot.

[0104] like Figure 4 As shown, the map switching device 400 includes:

[0105] The acquisition unit 401 is used to acquire the elevator area map of the initial floor and the elevator area map of the target floor, wherein the initial floor is the floor where the robot enters and takes the elevator, and the target floor is the floor where the robot leaves the elevator.

[0106] The calculation unit 402 is used to calculate the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, and to determine the robot's positioning information on the target floor based on the transformation relationship.

[0107] In some embodiments of this application, the acquisition unit 401 is further configured to, when the robot is inside the elevator, capture a preset range of elevator area map including the elevator location in a first map corresponding to the initial floor, and capture a preset range of elevator area map including the elevator location in a second map corresponding to the target floor.

[0108] In some embodiments of this application, the acquisition unit 401 is further configured to construct a likelihood field on the grid map corresponding to the initial floor to obtain a first map before the steps of acquiring the elevator area map of the initial floor and the elevator area map of the target floor; and to construct a likelihood field on the grid map corresponding to the target floor to obtain a second map.

[0109] In some embodiments of this application, the calculation unit 402 is further configured to extract a first elevator outline in the elevator area map of the initial floor, and convert the coordinate system of the trajectory points of the first elevator outline into a first pixel coordinate system; extract a second elevator outline in the elevator area map of the target floor, and convert the coordinate system of the trajectory points of the second elevator outline into a first pixel coordinate system; and determine the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the amount of change between the first elevator outline and the second elevator outline in the first pixel coordinate system.

[0110] In some embodiments of this application, the calculation unit 402 is further configured to convert the center point inside the elevator on the initial floor from the world coordinate system to the first pixel coordinate system; and calculate the pixel coordinates of the trajectory points of the first elevator outline on the initial floor according to the first pixel coordinate system.

[0111] In some embodiments of this application, the calculation unit 402 is further configured to convert the center point inside the elevator on the target floor from the world coordinate system to the first pixel coordinate system; and calculate the pixel coordinates of the trajectory points of the second elevator outline on the target floor based on the first pixel coordinate system.

[0112] In some embodiments of this application, the calculation unit 402 is further configured to calculate the rotation and translation variables between the first elevator outline and the second elevator outline in the first pixel coordinate system using a matching algorithm; and to determine the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor based on the rotation and translation variables.

[0113] In some embodiments of this application, the computing unit 402 is further configured to determine the robot's positioning information on the target floor based on the transformation relationship when the elevator door is a unidirectional opening and closing door, and control the robot to leave the elevator on the target floor; and to determine the robot's positioning information on the target floor based on the transformation relationship when the elevator door is a multidirectional opening and closing door, and to determine the opening direction of the elevator door on the target floor based on the relative attitude angle of the elevator on the target floor relative to the elevator on the initial floor, and control the robot to leave the elevator on the target floor.

[0114] Understandably, the implementation principle and technical effects of the map switching device 400 proposed in the second aspect of this application can be found in the implementation principle and technical effects of the map switching method proposed in the first aspect, and will not be repeated here.

[0115] Please refer to the following: Figure 5 , Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0116] Thirdly, embodiments of this application provide a schematic diagram of the structure of an electronic device. For example... Figure 5 As shown, the electronic device 500 includes one or more processors 501 and a memory 502. The electronic device 500 can be a mobile robot, an unmanned vehicle, etc. Figure 5 Take a processor 501 as an example.

[0117] The processor 501 and the memory 502 can be connected via a bus or other means. Figure 5 Taking the example of a connection between China and Israel via a bus.

[0118] The processor 501 is used to provide computing and control capabilities to control the electronic device 500 to perform corresponding tasks, such as controlling the electronic device 500 to perform the map switching method in any of the above method embodiments. The map switching method includes: acquiring an elevator area map of an initial floor and an elevator area map of a target floor, wherein the initial floor is the floor where the robot enters and takes the elevator, and the target floor is the floor where the robot leaves the elevator; calculating the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, and determining the robot's positioning information on the target floor based on the transformation relationship.

[0119] By determining the robot's location information on the target floor based on the transformation relationship between the elevator area map of the initial floor and the elevator area map of the target floor, this application can accurately determine the robot's location information on the target floor when the robot is riding the elevator.

[0120] Processor 501 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0121] Memory 502, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs, non-transitory computer-executable programs, and modules, such as the program instructions / modules corresponding to the map switching method in the embodiments of this application. Processor 501 can implement the map switching method in any of the above method embodiments by running the non-transitory software programs, instructions, and modules stored in memory 502. Specifically, memory 502 may include volatile memory (VM), such as random access memory (RAM); memory 502 may also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), or other non-transitory solid-state storage devices; memory 502 may also include combinations of the above types of memory.

[0122] Memory 502 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some embodiments, memory 502 may optionally include memory remotely located relative to processor 501, and these remote memories may be connected to processor 501 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0123] One or more modules are stored in memory 502. When executed by one or more processors 501, they perform the map switching method in any of the above method embodiments, for example, the method described above. Figure 2 The steps shown can also be implemented. Figure 4 The functions of each module or unit.

[0124] In this embodiment, the electronic device 500 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The electronic device 500 may also include other components for implementing device functions, which will not be described in detail here.

[0125] The robot in this application embodiment exists in various forms, performing the above-described... Figure 2 The steps shown can also be implemented. Figure 4 The functions of each unit include, but are not limited to: hotel robots, delivery robots, cleaning robots, service robots, remote monitoring robots, sweeping robots, and other robots.

[0126] This application also provides a computer-readable storage medium, such as a memory including program code, which can be executed by a processor to complete the map switching method in the above embodiments. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CDROM), magnetic tape, floppy disk, and optical data storage device, etc.

[0127] This application also provides a computer program product comprising one or more lines of program code stored in a computer-readable storage medium. A processor of an electronic device reads the program code from the computer-readable storage medium and executes the program code to complete the method steps of the map switching method provided in the above embodiments.

[0128] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware, or by a program or program code related to hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0129] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented using software and a general-purpose hardware platform, or of course, using hardware. Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0130] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and not to limit them; under the concept of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations as described above in different aspects of this application, which are not provided in detail for the sake of brevity; although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

Claims

1. A map switching method characterized by comprising: The method comprises the following steps: obtaining an elevator area map of an initial floor and an elevator area map of a target floor, comprising: when the robot is located in the elevator, cutting out an elevator area map of a preset range including the elevator position in a first map corresponding to the initial floor, and cutting out an elevator area map of a preset range including the elevator position in a second map corresponding to the target floor; wherein the initial floor is the floor on which the robot enters the elevator, and the target floor is the floor on which the robot exits the elevator; calculating the transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor, and determining the positioning information of the robot on the target floor according to the transformation relationship, comprising: extracting a first elevator contour in the elevator area map of the initial floor, and converting the coordinate system of the track points of the first elevator contour into a first pixel coordinate system; extracting a second elevator contour in the elevator area map of the target floor, and converting the coordinate system of the track points of the second elevator contour into the first pixel coordinate system; determining the transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor according to the change quantity of the first elevator contour and the second elevator contour in the first pixel coordinate system; wherein the positioning information includes the position of the robot in the elevator area map of the target floor.

2. The method of claim 1, wherein, Before the steps of obtaining the elevator area map of the initial floor and the elevator area map of the target floor, comprising: constructing a likelihood field on the grid map corresponding to the initial floor to obtain a first map; constructing a likelihood field on the grid map corresponding to the target floor to obtain a second map.

3. The method of claim 1, wherein, The steps of extracting the first elevator contour in the elevator area map of the initial floor and converting the coordinate system of the track points of the first elevator contour into the first pixel coordinate system, comprising: converting the center point in the elevator of the initial floor from the world coordinate system into the first pixel coordinate system; calculating the pixel coordinates of the track points of the first elevator contour of the initial floor according to the first pixel coordinate system.

4. The method of claim 1, wherein, The steps of extracting the second elevator contour in the elevator area map of the target floor and converting the coordinate system of the track points of the second elevator contour into the first pixel coordinate system, comprising: converting the center point in the elevator of the target floor from the world coordinate system into the first pixel coordinate system; calculating the pixel coordinates of the track points of the second elevator contour of the target floor according to the first pixel coordinate system.

5. The method of claim 1, wherein, The steps of determining the transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor according to the change quantity of the first elevator contour and the second elevator contour in the first pixel coordinate system, comprising: calculating the rotation variable and the translation variable between the first elevator contour and the second elevator contour in the first pixel coordinate system through a matching algorithm; determining the transformation relationship of the elevator area map of the initial floor and the elevator area map of the target floor according to the rotation variable and the translation variable.

6. The method of claim 1, wherein, The steps of determining the positioning information of the robot on the target floor according to the transformation relationship, comprising: if the elevator door of the elevator is a single-direction opening and closing door, then determining the positioning information of the robot on the target floor according to the transformation relationship, and controlling the robot to exit the elevator on the target floor; If the elevator door of the elevator is a multi-direction switch door, the positioning information of the robot at the target floor is determined according to the transformation relationship, the opening direction of the elevator door of the elevator at the target floor is determined according to the relative attitude angle of the elevator at the target floor relative to the elevator at the initial floor, and the robot is controlled to get off the elevator at the target floor.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The computer program is executed by the processor to implement the steps of the map switching method according to any one of claims 1 to 6.

8. A computer-readable storage medium storing a computer program, the computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 7. The computer program is executed by the processor to implement the steps of the map switching method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Robot navigation method and device, computer readable storage medium and robot

    CN111847142A