A robot cross-floor navigation method, system and robot
By using the transformation matrix T to calculate the robot's position information on the target map during cross-floor navigation, the problems of low efficiency and accuracy in existing technologies are solved, and fast and accurate positioning and navigation are achieved.
Patent Information
- Application Number
- CN202210590781.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-27
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2042-05-27
AI Technical Summary
In existing methods for robot navigation across floors, map stitching or the use of SLAM algorithms for localization are inefficient and have low accuracy, failing to meet the efficiency and accuracy requirements for robot navigation across floors.
By obtaining the robot's current address and target address, the robot is controlled to travel to the elevator's predetermined position and then call the elevator. After entering the elevator, the transformation matrix T is used to calculate the robot's position information on the target map and plan a path to the target address.
This technology enables robots to quickly and accurately locate and navigate within a target map, solving the problem of large positional deviations caused by limited reference points in the elevator environment and improving navigation accuracy.
Smart Images

Figure CN114923487B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot navigation technology, and in particular to a robot cross-floor navigation method, system and robot. Background Art
[0002] When the robot is navigating across floors, it is necessary to switch the maps between different floors and redetermine the robot's position in the new map to ensure the robot's normal navigation and driving on each floor. Therefore, in order to achieve cross-floor navigation, it is necessary to associate the maps between different floors to ensure the robot's positioning and navigation in the new map.
[0003] However, the existing map splicing or SLAM algorithm positioning has the problems of low efficiency and low accuracy, and cannot meet the efficiency and accuracy requirements of robot cross-floor navigation. Summary of the invention
[0004] The embodiments of the present application provide a robot cross-floor navigation method, system and robot, which can achieve the purpose of fast and accurate positioning and navigation.
[0005] In a first aspect, the present application provides a robot cross-floor navigation method, comprising: obtaining the current address and target address of the robot, the current address including the current floor and the current map, the target address including the target floor and the target map, wherein there is a one-to-one correspondence between the floor and the map; controlling the robot to drive to a first predetermined position on the current floor and then call an elevator, the first predetermined position being a position point that satisfies the distance condition between the robot and the elevator or elevator group; after the robot enters the elevator, calculating the second position information through a transformation matrix T according to the first position information, the first position information being the position information of the robot's current position in the current map, and the second position information being the position information of the robot's current position in the target map; planning a path for the robot to reach the target address according to the second position information; after the elevator reaches the target floor, controlling the robot to drive to the target address according to the planned path.
[0006] In an embodiment of the present application, by managing floors and maps, after controlling the robot to enter the elevator, the position information of the robot's current position in the current map is switched to the position information in the target map through the conversion matrix T, so that after the robot reaches the target floor, it can accurately navigate to the target address according to the planned path in the target map, solving the problem of large position deviation and inability to accurately locate and navigate in the existing slam algorithm due to limited reference objects in the elevator environment.
[0007] In an optional manner provided in the first aspect, after the robot enters the elevator, calculating the second position information through the conversion matrix T according to the first position information includes:
[0008] Acquire several groups of third position information, each group of third position information consists of fourth position information and fifth position information, the fourth position information is the position information of any point in the elevator in the current map, and the fifth position information is the position information of the point corresponding to the fourth position information in the target map;
[0009] The above-mentioned conversion matrix T is determined according to the linear equation group composed of the above-mentioned several groups of third position information. The above-mentioned conversion matrix T is:
[0010]
[0011] Among them, θ is the rotation angle and (x,y) is the translation coordinate.
[0012] In another optional manner provided in the first aspect, after the robot enters the elevator, calculating the second position information through the conversion matrix T according to the first position information includes:
[0013] The second location information is calculated according to a map switching formula, wherein the map switching formula is:
[0014] map2_elevator_id_A_pose=T*map1_elevator_id_A_pose
[0015] Among them, map2_elevator_id_A_pose is the position information of point A in the elevator in the target map map2, that is, the second position information; map1_elevator_id_A_pose is the position information of point A in the elevator in the current map map1, that is, the first position information;
[0016] The position is initialized according to the second position information, and the position information of the robot is updated to the second position information.
[0017] In another optional manner provided in the first aspect, the controlling the robot to call an elevator after driving from the current address to the first predetermined position includes:
[0018] Find the elevator or elevator group closest to the robot;
[0019] When the elevator closest to the robot is a single elevator, a position point in front of the single elevator and within a preset distance range is selected as the first predetermined position;
[0020] When the elevator closest to the robot is any one of the elevators in the elevator group, a position point at a middle position in front of the elevator group and within a preset distance range is selected as the first predetermined position.
[0021] In another optional manner provided in the first aspect, the controlling the robot to call an elevator after driving from the current address to the first predetermined position includes:
[0022] When there are multiple elevator groups on the current floor, plan the path for the robot to reach the elevator group closest to the robot from the current address;
[0023] When path planning fails, the robot plans the path from the current address to different elevator groups according to the distance between the robot and different elevator groups, from near to far, until the path planning succeeds.
[0024] In another optional manner provided in the first aspect, the control robot calls an elevator after driving from the current address to the first predetermined position, comprising:
[0025] Sending an elevator call request message to an elevator or an elevator group, wherein the elevator call request message includes information about the current floor and the elevator group number;
[0026] Receiving elevator response information sent by the elevator, wherein the elevator response information includes elevator number information;
[0027] Monitor the elevator status until the elevator corresponding to the above elevator number opens the elevator door;
[0028] The robot is controlled to travel to the second predetermined position of the elevator corresponding to the above elevator number, and the position information of the robot in the current map is recorded.
[0029] In another optional manner provided in the first aspect, the method further includes:
[0030] When an abnormal event occurs, select the abnormal handling method corresponding to the abnormal event and control the robot to solve the abnormal event;
[0031] When the robot cannot resolve the above abnormal events, it generates and sends abnormal notification information.
[0032] In a second aspect, the present application provides a robot cross-floor navigation system, comprising:
[0033] An address acquisition unit, used to acquire the current address and target address of the robot, wherein the current address includes the current floor and the current map, and the target address includes the target floor and the target map, wherein there is a one-to-one correspondence between the floor and the map;
[0034] A first control unit, used to control the robot to drive to a first predetermined position on the current floor and then call the elevator, wherein the first predetermined position is a position point that satisfies the distance condition between the robot and the elevator or elevator group;
[0035] A position information calculation unit, used to calculate second position information through a transformation matrix T according to the first position information after the robot enters the elevator, wherein the first position information is the position information of the current position of the robot in the current map, and the second position information is the position information of the current position of the robot in the target map;
[0036] A path planning unit, used to plan a path for the robot to reach the target address according to the second position information;
[0037] The second control unit is used to control the robot to travel to the above-mentioned target address according to the planned path after the elevator reaches the target floor.
[0038] In an optional manner provided in the second aspect, the position information calculation unit includes:
[0039] A position information acquisition subunit is used to acquire several groups of third position information, each group of third position information is composed of fourth position information and fifth position information, the fourth position information is the position information of any point in the elevator in the current map, and the fifth position information is the position information of the corresponding point in the fourth position information in the target map;
[0040] The conversion matrix determination subunit is used to determine the conversion matrix T according to the linear equation group composed of the above-mentioned several groups of third position information. The above-mentioned conversion matrix T is:
[0041]
[0042] Among them, θ is the rotation angle and (x,y) is the translation coordinate.
[0043] In another optional manner provided in the second aspect, the position information calculation unit includes:
[0044] The position information calculation subunit is used to calculate the second position information according to a map switching formula, wherein the map switching formula is:
[0045] map2_elevator_id_A_pose=T*map1_elevator_id_A_pose
[0046] Among them, map2_elevator_id_A_pose is the position information of point A in the elevator in the target map map2, that is, the second position information; map1_elevator_id_A_pose is the position information of point A in the elevator in the current map map1, that is, the first position information;
[0047] The position information initialization subunit is used to perform position initialization according to the second position information, and update the position information of the robot to the second position information.
[0048] In another optional manner provided in the second aspect, the first control unit includes:
[0049] An elevator search subunit, used to find the elevator or elevator group closest to the robot;
[0050] A first position selection subunit is used for selecting a position point in front of the single elevator and within a preset distance range as a first predetermined position when the elevator closest to the robot is a single elevator;
[0051] The second position selection subunit is used for selecting a position point at a middle position in front of the elevator group and within a preset distance range as the first predetermined position when the elevator closest to the robot is any elevator in the elevator group.
[0052] In another optional manner provided in the second aspect, the first control unit includes:
[0053] A first path planning subunit is used to plan a path for the robot to reach an elevator group closest to the robot from the current address when there are multiple elevator groups on the current floor;
[0054] The second path planning subunit is used to plan the path of the robot from the current address to different elevator groups according to the distance between the robot and different elevator groups, from near to far, when the path planning fails, until the path planning succeeds.
[0055] In another optional manner provided in the second aspect, the first control unit includes:
[0056] An elevator call request information sending subunit, used to send an elevator call request information to an elevator or an elevator group, wherein the elevator call request information includes information of the current floor and the elevator group number;
[0057] An elevator response information receiving subunit, used to receive elevator response information sent by the elevator, wherein the elevator response information includes elevator number information;
[0058] An elevator status monitoring subunit, used to monitor the elevator status until the elevator corresponding to the above elevator number opens the elevator door;
[0059] The first control subunit is used to control the robot to travel to the second predetermined position of the elevator corresponding to the above elevator number, and record the position information of the robot in the current map.
[0060] In another optional manner provided in the second aspect, the robot cross-floor navigation system further includes:
[0061] An abnormal event processing unit is used to select an abnormal event corresponding to the abnormal event and control the robot to solve the abnormal event when the abnormal event occurs;
[0062] The abnormality notification information sending unit is used to generate and send abnormality notification information when the robot cannot resolve the above abnormal event.
[0063] In a third aspect, the present application provides a robot comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method as described in the first aspect or any optional aspect of the first aspect when executing the computer program.
[0064] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described in the first aspect or any optional manner of the first aspect is implemented.
[0065] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a robot, enables the robot to execute the steps of the robot cross-floor navigation method described in the first aspect.
[0066] It can be understood that the beneficial effects of the second to fifth aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art 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 drawings can be obtained based on these drawings without paying creative labor.
[0068] Figure 1 It is a flowchart of a robot cross-floor navigation method provided in an embodiment of the present application;
[0069] Figure 2It is a flowchart of a method for controlling an elevator call provided by an embodiment of the present application;
[0070] Figure 3 It is a flowchart of a method for initializing robot position information provided by an embodiment of the present application;
[0071] Figure 4 It is a structural schematic diagram of a robot cross-floor navigation system provided in an embodiment of the present application;
[0072] Figure 5 It is a schematic diagram of the structure of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0073] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, systems, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.
[0074] It should be understood that the term "and / or" used in the specification of this application and the appended claims refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations. In addition, in the description of the specification of this application and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0075] It should also be understood that references to "one embodiment" or "some embodiments" etc. described in the specification of the present application mean that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Thus, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in different places in the specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.
[0076] See also Figure 1 , Figure 1 This is a flow chart of a robot cross-floor navigation method provided by an embodiment of the present application, which is described in detail as follows:
[0077] Step S101, obtaining the current address and target address of the robot, wherein the current address includes the current floor and the current map, and the target address includes the target floor and the target map, wherein there is a one-to-one correspondence between the floors and the maps.
[0078] In the embodiment of the present application, a plurality of elevators are generally deployed in a shopping mall or a hotel. The elevators can be divided into a plurality of elevator groups according to distance or direction, and each elevator group has at least two elevators. Here, an elevator group refers to elevators that are divided into a group at different positions on the same floor, such as a group of elevators at the south entrance of a building and a group of elevators at the north entrance of a building. Due to the distance limit, these two groups of elevators cannot be combined into one group of elevators, so they are regarded as two groups of elevators. For another example, multiple elevators located on one side of the south entrance of a building and multiple elevators located on the other side can be regarded as two groups of elevators due to the direction limit.
[0079] In some cases, because there is only one elevator within a certain distance range, this elevator is not included in any elevator group and is represented by a single elevator. That is, the elevator appearing in the following text can be considered as a single elevator, and the elevator group is a combination of two or more elevators.
[0080] In order to improve the accuracy of robot navigation, different floors are equipped with corresponding maps. There is a one-to-one correspondence between floors and maps, that is, the map to which the floor belongs can be determined by the floor. After determining which map a certain location point is located, the floor corresponding to the map of this location point can also be determined.
[0081] In some embodiments of the present application, after the robot obtains the target address, it obtains the map to which the current location belongs, determines whether the current floor is the same floor as the floor in the target address, and if the current floor is the same floor as the floor in the target address, directly plans a path from the current address to the target address, and controls the robot to drive to the target address along the planned path. If the current floor is not the same floor as the floor in the target address, the target map and target floor of the target address are recorded, and then a path from the current address to the elevator is planned to facilitate calling the elevator.
[0082] Step S102, controlling the robot to drive to a first predetermined position on the current floor and then calling an elevator, wherein the first predetermined position is a position point that satisfies a distance condition between the robot and the elevator or elevator group.
[0083] In the embodiment of the present application, after recording the target map and the target floor, the elevator or elevator group closest to the robot is searched to plan a path from the current address to the predetermined position of the elevator or elevator group. Here, when the elevator closest to the robot is a single elevator, a position point in front of the single elevator and within a preset distance range is selected as the first predetermined position; when the elevator closest to the robot is any one of the elevators in the elevator group, a position point in the middle position in front of the elevator group and within a preset distance range is selected as the first predetermined position.
[0084] It can be understood that the elevator group in the embodiment of the present application is an elevator group including at least two elevators.
[0085] Specifically, when the elevator group is closest to the robot, the middle position 1m in front of the elevator group is selected as the first predetermined position; when the elevator group is closest to the robot, the position 1m in front of the elevator group is selected as the first predetermined position.
[0086] In some embodiments of the present application, when there are multiple elevator groups on the current floor, a path is planned for the robot to reach an elevator group that is closest to the robot from the current address; when path planning fails due to obstacles or other uncontrollable factors, the path is planned for the robot to reach different elevator groups from the current address according to the distance between the robot and different elevator groups, from near to far, until the path planning is successful.
[0087] See also Figure 2 , Figure 2 This is a flow chart of a method for controlling an elevator call provided by an embodiment of the present application, which is described in detail as follows:
[0088] Step S201, sending an elevator call request message to an elevator or an elevator group, wherein the elevator call request message includes information of a current floor and an elevator group number.
[0089] In an embodiment of the present application, after the robot reaches the first predetermined position, for example, when the elevator is a single elevator, when the robot reaches a distance of 1m in front of the single elevator, it sends an elevator call request message including the current floor information to the elevator so that the elevator can reach the current floor.
[0090] In some embodiments of the present application, when multiple elevators on the same floor are divided into multiple groups of elevators, and each group of elevators may not be together, if there is no elevator group number, the robot cannot call the correct elevator at the current position. Therefore, in order to call the correct elevator, it is necessary to associate the elevator group number with the first predetermined position, and when the robot sends an elevator call request message to the elevator group at the first predetermined position, the elevator call request message must include the elevator group number information, so that the robot can call the elevator quickly and accurately after determining the first predetermined position.
[0091] Step S202, receiving elevator response information sent by the elevator, wherein the elevator response information includes elevator number information.
[0092] In the embodiment of the present application, since not all elevators are in an idle state, after receiving the elevator call request information sent by the robot, any elevator in the elevator group that is in an idle state will give the robot a feedback message, that is, the elevator response message. In order to facilitate the robot to monitor the status of the responded elevator, the responded elevator number needs to be fed back to the robot so that the robot can accurately monitor whether the elevator door of the elevator is opened at the floor where the robot is currently located.
[0093] Step S203, monitoring the elevator status until the elevator corresponding to the above elevator number opens the elevator door.
[0094] Step S204, controlling the robot to travel to the second predetermined position of the elevator corresponding to the above elevator number, and recording the position information of the robot in the current map.
[0095] In an embodiment of the present application, after monitoring that the elevator corresponding to the elevator number has opened its elevator door, the robot is controlled to travel to the middle position or other designated position of the elevator compartment with the opened elevator door, and the location information of the robot's current position in the current map is recorded at the same time.
[0096] Step S103, after the robot enters the elevator, the second position information is calculated through the transformation matrix T according to the first position information, the first position information is the position information of the current position of the robot in the current map, and the second position information is the position information of the current position of the robot in the target map.
[0097] In an embodiment of the present application, after the robot enters the elevator, the position can be initialized so that the robot can quickly and accurately reach the target address in the target map after reaching the target floor.
[0098] It should be noted that due to the limited reference objects in the elevator environment, if the position is initialized using the SLAM algorithm, the results obtained are often not very accurate. In particular, when the elevator entered by the robot is any elevator in the elevator group, the error rate of using the SLAM algorithm for position initialization is even greater. In order to improve the accuracy of position initialization, the embodiment of the present application uses a transformation matrix T to force the position to be set for the robot. Specifically, the robot's position information in the current map is converted into the position information in the target map through the transformation matrix T. The current map and the target map use the same world coordinate system, and there is no need to re-establish the coordinate system in the elevator to initialize the robot's position information, thereby avoiding position deviations due to different coordinate systems.
[0099] In the embodiment of the present application, the transformation matrix T can be determined by a linear equation composed of the position information of any point at the same position in a plurality of groups of elevators in the current map and the target map.
[0100] Specifically, several groups of third position information are obtained, each group of third position information is composed of fourth position information and fifth position information, the fourth position information is the position information of any point in the elevator in the current map, and the fifth position information is the position information of the point corresponding to the fourth position information in the target map. In other words, the fourth position information and the fifth position information are the corresponding position information of any point in the elevator in the current map and the target map. For example, the position information of point A in the elevator in the current map is the fourth position information, and the position information of point A in the elevator in the target map is the fifth position information. The fourth position information and the fifth position information corresponding to point A constitute a group of third position information.
[0101] After obtaining several sets of third position information, a linear equation group consisting of the several sets of third position information is obtained according to the linear relationship between each set of third position information, and then the above-mentioned transformation matrix T is determined according to the linear equation group consisting of the several sets of third position information. The above-mentioned transformation matrix T is:
[0102]
[0103] Among them, θ is the rotation angle and (x,y) is the translation coordinate.
[0104] After determining the transformation matrix T, the map switching formula formed by the transformation matrix T is used to calculate the position information of the robot's current position in the target map.
[0105] See also Figure 3 , Figure 3 This is a schematic diagram of a method for initializing robot position information provided by an embodiment of the present application, which is described in detail as follows:
[0106] Step S301, calculating the second location information according to the map switching formula.
[0107] Among them, the above map switching formula is:
[0108] map2_elevator_id_A_pose=T*map1_elevator_id_A_pose
[0109] Among them, map2_elevator_id_A_pose is the position information of point A in the elevator in the target map map2, that is, the second position information; map1_elevator_id_A_pose is the position information of point A in the elevator in the current map map1, that is, the first position information.
[0110] Step S302, performing position initialization according to the second position information, and updating the position information of the robot to the second position information.
[0111] In an embodiment of the present application, the second position information is directly assigned to the robot, so that the position information of the robot is updated to the position information in the target map, so that accurate navigation can be performed in the target map.
[0112] Step S104: planning a path for the robot to reach the target address based on the second position information.
[0113] In an embodiment of the present application, after the current position information of the robot is updated to the position information in the target map, the path for the robot to reach the target address is planned according to the updated position information, and the path is the path formed in the target map.
[0114] Step S105, after the elevator reaches the target floor, the robot is controlled to travel to the above-mentioned target address according to the planned path.
[0115] In an embodiment of the present application, after the robot enters the elevator, the robot sends a door closing command to the elevator, ending the elevator call task. At the same time, the elevator opens the elevator door after reaching the target floor according to the target floor information in the elevator call request information, and the robot is controlled to travel to the target address according to the planned path.
[0116] In some embodiments of the present application, in order to quickly end the control of the elevator, a third predetermined position is set at the target floor. After reaching the third predetermined position, the robot sends a door closing command to the elevator to end the elevator control task. At this time, step S104 and step S105 are respectively:
[0117] According to the second position information, planning a path for the robot to reach the third predetermined position, and planning a path for the robot to reach the target address from the third predetermined position;
[0118] After the elevator reaches the target floor, the control robot drives to the third predetermined position according to the planned path, and sends a door closing command to the elevator. After sending the door closing command, the control robot drives to the target address according to the planned path.
[0119] In an embodiment of the present application, when the robot is navigating across floors, if it encounters an abnormality, it is necessary to resolve the abnormality so that the robot can successfully complete the navigation task, rather than staying where it is and waiting for rescue. Different exception handling methods are needed to resolve abnormal events that occur in different links. If the robot is indeed unable to resolve these abnormal events, it is necessary to notify the management personnel to facilitate the management personnel to take corresponding measures.
[0120] Specifically, when an abnormal event occurs, an abnormal handling method corresponding to the abnormal event is selected to control the robot to resolve the abnormal event; when the robot cannot resolve the abnormal event, an abnormal notification message is generated and sent.
[0121] For example, in an application scenario, when the robot plans a path from the current address to the first predetermined location, it may be unable to successfully plan the path due to obstacles, road failures and other problems. In this case, a navigation failure handling method can be used to try to re-plan the path, such as planning to reach the predetermined locations of different elevator groups according to the distance between the elevator groups until the path planning is successful.
[0122] For example, in another application scenario, after the robot sends an elevator call request message to the elevator, the elevator does not respond for a long time. This may be because the elevator has a malfunction or the elevator is occupied, causing the elevator to be unresponsive. At this time, the elevator no response processing method can be used to resend the elevator call request message or send an abnormal notification message to control the robot to return to the starting position.
[0123] For example, in another application scenario, when the elevator door is open and the robot cannot enter the elevator for a long time, the robot will use voice broadcast to announce the obstacle blocking information and notify the obstacle to move to make room for the robot to enter the elevator. If the robot still cannot enter the elevator, it will return to the starting position, end the elevator call task and send an exception notification message to the management personnel.
[0124] For example, in another application scenario, when the robot enters the elevator and sends a door closing command to the elevator, if the elevator door cannot be closed normally, then after repeatedly sending the door closing command to the elevator a preset number of times, if the elevator door still cannot be closed, an abnormal notification message is sent to inform the management staff that the elevator control system is abnormal and wait for rescue.
[0125] For example, in another application scenario, after reaching the target floor, if the robot cannot navigate to the target address for a long time, it will return to the predetermined position on the target floor to wait and notify the management staff.
[0126] In an embodiment of the present application, the current address and target address of the robot are obtained, the current address includes the current floor and the current map, and the target address includes the target floor and the target map; the robot is controlled to drive to the first predetermined position on the current floor and then call the elevator, after the robot enters the elevator, according to the position information of the current position of the robot in the current map, the position information of the current position of the robot in the target map is calculated through the transformation matrix T, and according to the calculated position information, the path of the robot to the target address is planned; after the elevator reaches the target floor, the robot is controlled to drive to the target address according to the planned path, and can quickly and accurately navigate to the target address according to the planned path in the target map, so as to achieve the purpose of fast and precise positioning and navigation, and solve the problem of large position deviation and inability to accurately position and navigate in the existing SLAM algorithm due to limited reference objects in the elevator environment.
[0127] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0128] Based on the robot cross-floor navigation method provided in the above embodiment, the embodiment of the present application further provides a system embodiment for implementing the above method embodiment.
[0129] See also Figure 4 , Figure 4 Schematic diagram of a robot cross-floor navigation system provided in an embodiment of the present application. The units included are used to execute Figure 1 For details, please refer to the steps in the corresponding embodiment. Figure 1 For the convenience of explanation, only the parts related to this embodiment are shown. Figure 4 , the robot cross-floor navigation system 4 includes:
[0130] An address acquisition unit 41 is used to acquire the current address and target address of the robot, wherein the current address includes the current floor and the current map, and the target address includes the target floor and the target map, wherein there is a one-to-one correspondence between the floor and the map;
[0131] A first control unit 42 is used to control the robot to drive to a first predetermined position on the current floor and then call the elevator, wherein the first predetermined position is a position point that satisfies the distance condition between the robot and the elevator or elevator group;
[0132] A position information calculation unit 43 is used to calculate second position information through a transformation matrix T according to the first position information after the robot enters the elevator, wherein the first position information is the position information of the current position of the robot in the current map, and the second position information is the position information of the current position of the robot in the target map;
[0133] A path planning unit 44 is used to plan a path for the robot to reach the target address according to the second position information;
[0134] The second control unit 45 is used to control the robot to travel to the above-mentioned target address according to the planned path after the elevator reaches the target floor.
[0135] In some embodiments of the present application, the above-mentioned position information calculation unit 43 includes:
[0136] A position information acquisition subunit is used to acquire several groups of third position information, each group of third position information is composed of fourth position information and fifth position information, the fourth position information is the position information of any point in the elevator in the current map, and the fifth position information is the position information of the corresponding point in the fourth position information in the target map;
[0137] The conversion matrix determination subunit is used to determine the conversion matrix T according to the linear equation group composed of the above-mentioned several groups of third position information. The above-mentioned conversion matrix T is:
[0138]
[0139] Among them, θ is the rotation angle and (x,y) is the translation coordinate.
[0140] In some other embodiments of the present application, the above-mentioned position information calculation unit 43 includes:
[0141] The position information calculation subunit is used to calculate the second position information according to a map switching formula, wherein the map switching formula is:
[0142] map2_elevator_id_A_pose=T*map1_elevator_id_A_pose
[0143] Among them, map2_elevator_id_A_pose is the position information of point A in the elevator in the target map map2, that is, the second position information; map1_elevator_id_A_pose is the position information of point A in the elevator in the current map map1, that is, the first position information;
[0144] The position information initialization subunit is used to perform position initialization according to the second position information, and update the position information of the robot to the second position information.
[0145] In some other embodiments of the present application, the first control unit 42 includes:
[0146] An elevator search subunit, used to find the elevator or elevator group closest to the robot;
[0147] A first position selection subunit is used for selecting a position point in front of the single elevator and within a preset distance range as a first predetermined position when the elevator closest to the robot is a single elevator;
[0148] The second position selection subunit is used for selecting a position point at a middle position in front of the elevator group and within a preset distance range as the first predetermined position when the elevator closest to the robot is any elevator in the elevator group.
[0149] In some other embodiments of the present application, the first control unit 42 includes:
[0150] A first path planning subunit is used to plan a path for the robot to reach an elevator group closest to the robot from the current address when there are multiple elevator groups on the current floor;
[0151] The second path planning subunit is used to plan the path of the robot from the current address to different elevator groups according to the distance between the robot and different elevator groups, from near to far, when the path planning fails, until the path planning succeeds.
[0152] In some other embodiments of the present application, the first control unit 42 includes:
[0153] Used to send an elevator call request message to an elevator or an elevator group, wherein the elevator call request message includes information about the current floor and the elevator group number;
[0154] An elevator response information receiving subunit, used to receive elevator response information sent by the elevator, wherein the elevator response information includes elevator number information;
[0155] An elevator status monitoring subunit, used to monitor the elevator status until the elevator corresponding to the above elevator number opens the elevator door;
[0156] The first control subunit is used to control the robot to travel to the second predetermined position of the elevator corresponding to the above elevator number, and record the position information of the robot in the current map.
[0157] In some other embodiments of the present application, the robot cross-floor navigation system 4 further includes:
[0158] An abnormal event processing unit is used to select an abnormal event corresponding to the abnormal event and control the robot to solve the abnormal event when the abnormal event occurs;
[0159] The abnormality notification information sending unit is used to generate and send abnormality notification information when the robot cannot resolve the above abnormal event.
[0160] In an embodiment of the present application, the current address and target address of the robot are obtained, the current address includes the current floor and the current map, and the target address includes the target floor and the target map; the robot is controlled to drive to the first predetermined position on the current floor and then call the elevator, after the robot enters the elevator, according to the position information of the current position of the robot in the current map, the position information of the current position of the robot in the target map is calculated through the transformation matrix T, and according to the calculated position information, the path of the robot to the target address is planned; after the elevator reaches the target floor, the robot is controlled to drive to the target address according to the planned path, and can quickly and accurately navigate to the target address according to the planned path in the target map, so as to achieve the purpose of fast and precise positioning and navigation, and solve the problem of large position deviation and inability to accurately position and navigate in the existing SLAM algorithm due to limited reference objects in the elevator environment.
[0161] It should be noted that the information interaction, execution process and other contents between the above-mentioned modules are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0162] Figure 5 Schematic diagram of a robot provided in an embodiment of the present application. Figure 5 As shown, the robot 5 of this embodiment includes: a processor 50, a memory 51, and a computer program 52 stored in the memory 51 and executable on the processor 50, such as a speech recognition program. When the processor 50 executes the computer program 52, the steps in the above-mentioned robot cross-floor navigation method embodiments are implemented, such as Figure 1 Alternatively, when the processor 50 executes the computer program 52, the functions of each module / unit in the above-mentioned system embodiments are implemented, for example Figure 4 The functions of units 41-45 are shown.
[0163] Exemplarily, the computer program 52 may be divided into one or more modules / units, one or more modules / units are stored in the memory 51 and executed by the processor 50 to complete the present application. One or more modules / units may be a series of computer program instruction segments that can complete specific functions, and the instruction segments are used to describe the execution process of the computer program 52 in the robot 5. For example, the computer program 52 may be divided into an address acquisition unit 41, a first control unit 42, a position information calculation unit 43, a path planning unit 44, and a second control unit 45. For specific functions of each unit, please refer to Figure 1 The relevant descriptions in the corresponding embodiments are not repeated here.
[0164] The robot may include, but is not limited to, a processor 50 and a memory 51. Those skilled in the art will appreciate that Figure 5 It is only an example of the robot 5 and does not constitute a limitation of the robot 5. The robot may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot may also include an input and output robot, a network access robot, a bus, etc.
[0165] The processor 50 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.
[0166] The memory 51 may be an internal storage unit of the robot 5, such as a hard disk or memory of the robot 5. The memory 51 may also be an external storage unit of the robot 5, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 5. Furthermore, the memory 51 may include both an internal storage unit and an external storage unit of the robot 5. The memory 51 is used to store computer programs and other programs and data required by the robot. The memory 51 may also be used to temporarily store data that has been output or is to be output.
[0167] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned robot cross-floor navigation method can be implemented.
[0168] An embodiment of the present application provides a computer program product. When the computer program product runs on a robot, the robot can implement the above-mentioned robot cross-floor navigation method when executing the computer program product.
[0169] Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the system can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.
[0170] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0171] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0172] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A robot cross-floor navigation method, characterized in that: The method comprises: Obtain the current address and target address of the robot, wherein the current address includes the current floor and the current map, and the target address includes the target floor and the target map, wherein there is a one-to-one correspondence between the floor and the map; Control the robot to drive to a first predetermined position on the current floor and then call the elevator, where the first predetermined position is a position point that satisfies the distance condition between the robot and the elevator or elevator group; After the robot enters the elevator, the second position information is calculated through the transformation matrix T according to the first position information, wherein the first position information is the position information of the current position of the robot in the current map, and the second position information is the position information of the current position of the robot in the target map; the current map and the target map use the same world coordinate system; Planning a path for the robot to reach the target address according to the second position information; After the elevator reaches the target floor, the robot is controlled to travel to the target address according to the planned path; The controlling robot to drive from the current address to the first predetermined position and then call the elevator comprises: Find the elevator or elevator group closest to the robot; When the elevator closest to the robot is a single elevator, a position point in front of the single elevator and within a preset distance range is selected as the first predetermined position; When the elevator closest to the robot is any one of the elevators in the elevator group, a position point in the middle position in front of the elevator group and within a preset distance range is selected as the first predetermined position; The controlling robot to drive from the current address to the first predetermined position and then call the elevator further includes: Sending an elevator call request message to an elevator or an elevator group, wherein the elevator call request message includes information of a current floor and an elevator group number; wherein the elevator group number is associated with the first predetermined position; Receiving elevator response information sent by the elevator, wherein the elevator response information includes elevator number information; Monitor the elevator status until the elevator corresponding to the elevator number opens the elevator door; The robot is controlled to travel to a second predetermined position of the elevator corresponding to the elevator number, and the position information of the robot in the current map is recorded.
2. The robot cross-floor navigation method according to claim 1, characterized in that: After the robot enters the elevator, the second position information is calculated by the conversion matrix T according to the first position information, including: Acquire several groups of third position information, each group of third position information consists of fourth position information and fifth position information, the fourth position information is the position information of any point in the elevator in the current map, and the fifth position information is the position information of the point corresponding to the fourth position information in the target map; The transformation matrix T is determined according to the linear equation group composed of the plurality of sets of third position information, and the transformation matrix T is: Among them, θ is the rotation angle and (x,y) is the translation coordinate.
3. The robot cross-floor navigation method according to claim 2, characterized in that: After the robot enters the elevator, the second position information is calculated by the conversion matrix T according to the first position information, including: The second location information is calculated according to a map switching formula, wherein the map switching formula is: map2_elevator_id_A_pose=T*map1_elevator_id_A_pose Among them, map2_elevator_id_A_pose is the position information of point A in the elevator in the target map map2, that is, the second position information; map1_elevator_id_A_pose is the position information of point A in the elevator in the current map map1, that is, the first position information; Position initialization is performed according to the second position information, and the position information of the robot is updated to the second position information.
4. The robot cross-floor navigation method according to claim 1, characterized in that: The controlling robot to drive from the current address to the first predetermined position and then call the elevator comprises: When there are multiple elevator groups on the current floor, plan the path for the robot to reach the elevator group closest to the robot from the current address; When path planning fails, the robot plans the path from the current address to different elevator groups according to the distance between the robot and different elevator groups, from near to far, until the path planning succeeds.
5. The robot cross-floor navigation method according to claim 1, characterized in that: The method further comprises: When an abnormal event occurs, select the abnormal handling method corresponding to the abnormal event and control the robot to solve the abnormal event; When the robot cannot resolve the abnormal event, an abnormal notification message is generated and sent.
6. A robot cross-floor navigation system, characterized in that: The system comprises: An address acquisition unit, used to acquire a current address and a target address of the robot, wherein the current address includes a current floor and a current map, and the target address includes a target floor and a target map, wherein there is a one-to-one correspondence between the floor and the map; A first control unit, used to control the robot to drive to a first predetermined position on a current floor and then call an elevator, wherein the first predetermined position is a position point that satisfies a distance condition between the robot and the elevator or elevator group; a position information calculation unit, configured to calculate second position information according to the first position information through a transformation matrix T after the robot enters the elevator, wherein the first position information is position information of the current position of the robot in the current map, and the second position information is position information of the current position of the robot in the target map; the current map and the target map use the same world coordinate system; A path planning unit, configured to plan a path for the robot to reach the target address according to the second position information; A second control unit is used to control the robot to travel to the target address according to the planned path after the elevator reaches the target floor; The controlling robot to drive from the current address to the first predetermined position and then call the elevator comprises: Find the elevator or elevator group closest to the robot; When the elevator closest to the robot is a single elevator, a position point in front of the single elevator and within a preset distance range is selected as the first predetermined position; When the elevator closest to the robot is any one of the elevators in the elevator group, a position point in the middle position in front of the elevator group and within a preset distance range is selected as the first predetermined position; The controlling robot to drive from the current address to the first predetermined position and then call the elevator comprises: Sending an elevator call request message to an elevator or an elevator group, wherein the elevator call request message includes information of a current floor and an elevator group number; wherein the elevator group number is associated with the first predetermined position; Receiving elevator response information sent by the elevator, wherein the elevator response information includes elevator number information; Monitor the elevator status until the elevator corresponding to the elevator number opens the elevator door; The robot is controlled to travel to a second predetermined position of the elevator corresponding to the elevator number, and the position information of the robot in the current map is recorded.
7. A robot, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the robot cross-floor navigation method as described in any one of claims 1 to 5 when executing the computer program.
8. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the robot cross-floor navigation method according to any one of claims 1 to 5 is implemented.
Citation Information
Patent Citations
IMU-based floor measurement method and robot cross-floor navigation method
CN107655471A
Robot navigation method and device, computer readable storage medium and robot
CN111847142A