Robot control method and device, robot, and computer-readable storage medium

By planning a global path after the elevator door opens and controlling the robot's movement based on the distance to obstacles, the problem of collisions during the robot's entry and exit from the elevator is solved, improving the success rate and safety of path planning.

CN116520835BActive Publication Date: 2026-03-24UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-17
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing robots are prone to collisions with obstacles when entering and exiting elevators, especially when working between different floors, and lack the ability to autonomously call elevators and enter and exit elevators.

Method used

After the elevator door opens, the robot plans a global path from its current position to the target position. It then decides whether to control the robot to move based on the distance between the obstacle pairs. The position and distance of the obstacle pairs are determined by the AlphaGo algorithm and sensor data, and the path planning is optimized to avoid collisions.

Benefits of technology

This increases the probability of the robot successfully following the global path, reduces the probability of collisions with obstacles during elevator entry and exit, and enhances its ability to autonomously call elevators and enter and exit elevators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116520835B_ABST
    Figure CN116520835B_ABST
Patent Text Reader

Abstract

The application is suitable for the field of artificial intelligence technology, and provides a robot control method and device, a robot and a computer readable storage medium. The method comprises the following steps: after judging that an elevator door is opened, a global path from a current position of a robot to a target position is planned; an obstacle distance of an obstacle pair is determined according to the global path, wherein each obstacle pair comprises two obstacles, the two obstacles are located in two side regions of the global path, the global path passes through a connecting line between the two obstacles, and the obstacle distance is a distance between the two obstacles; and whether the robot is controlled to move from the current position to the target position according to the global path is selected according to the determined obstacle distance. Through the above method, the probability of collision between the robot and obstacles during the process of entering and exiting the elevator can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of artificial intelligence, and particularly relates to a robot control method and device, a robot, and a computer readable storage medium. BACKGROUND

[0002] Currently, robots can provide more and more services for humans. The robots can achieve these services by working in the same floor or by working between different floors.

[0003] When the robot needs to work between different floors, the robot needs to have the ability to autonomously call, enter, and exit the elevator. However, the existing robot is prone to collision with other people during the process of entering and exiting the elevator. Therefore, a new method is needed to solve the above technical problem. SUMMARY

[0004] The robot control method and device, the robot, and the computer readable storage medium provided by the embodiments of the present application can solve the problem of a high probability of collision events during the process of the robot entering and exiting the elevator.

[0005] In a first aspect, the embodiments of the present application provide a robot control method, comprising:

[0006] After it is determined that the elevator door is open, a global path from a current position of the robot to a target position is planned, the current position and the target position are located inside or outside the elevator, and the current position and the target position are located on two sides of the elevator door, respectively;

[0007] An obstacle distance of an obstacle pair is determined according to the planned global path, wherein each obstacle pair includes two obstacles, the two obstacles are located in two side regions of the global path, the global path passes through a connecting line between the two obstacles, and the obstacle distance is a distance between the two obstacles;

[0008] Whether to control the robot to move from the current position to the target position according to the global path is selected according to the determined obstacle distance.

[0009] In a second aspect, the embodiments of the present application provide a robot control device, comprising:

[0010] A global path planning module is configured to plan a global path from a current position of the robot to a target position after it is determined that the elevator door is open, the current position and the target position are located inside or outside the elevator, and the current position and the target position are located on two sides of the elevator door, respectively;

[0011] determine an obstacle distance of an obstacle pair according to the planned global path, wherein each of the obstacle pairs comprises two obstacles respectively located in two side regions of the global path, the global path passes through a line between the two obstacles, and the obstacle distance is a distance between the two obstacles;

[0012] determine an obstacle distance of an obstacle pair according to the planned global path, wherein each of the obstacle pairs comprises two obstacles respectively located in two side regions of the global path, the global path passes through a line between the two obstacles, and the obstacle distance is a distance between the two obstacles;

[0013] In a third aspect, an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the method in the first aspect when executing the computer program.

[0014] In a fourth aspect, an embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the computer program is executable on a processor to implement the method in the first aspect.

[0015] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when executed on a robot, causes the robot to perform the method in the first aspect.

[0016] Compared with the prior art, the embodiments of the present application have the beneficial effects that:

[0017] In the embodiments of the present application, after it is determined that the elevator door is opened, a global path from the current position of the robot to the target position is planned, after the global path is planned, an obstacle distance of an obstacle pair is determined according to the global path, and whether to control the robot to move from the current position to the target position according to the global path is selected according to the determined obstacle distance. Since the current position and the target position are respectively located on two sides of the elevator door, the planning action is performed only after the elevator door is opened, and the probability of planning the global path can be improved. In addition, since the obstacle distance is a distance between two obstacles respectively located in two side regions of the global path, and whether the robot can successfully follow the global path from the current position to the target position is related to the distance between the obstacles in the two side regions of the global path, whether to control the robot to move from the current position to the target position is selected according to the obstacle distance, the probability of the robot successfully following the global path can be improved, and the probability of the robot colliding with the obstacles during the process of entering and exiting the elevator can be reduced. BRIEF DESCRIPTION OF DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or prior art description will be briefly introduced.

[0019] Figure 1 is a flow diagram of a control method of a robot provided by an embodiment of the present application;

[0020] Figure 2 is a schematic diagram of a current position and a target position of a robot provided by an embodiment of the present application;

[0021] Figure 3 is a schematic diagram of a relationship between two obstacles in an obstacle pair and a global path provided by an embodiment of the present application;

[0022] Figure 4 is a schematic diagram of obstacles on two side regions of a target path provided by an embodiment of the present application;

[0023] Figure 5 is a structural schematic diagram of a control device of a robot provided by another embodiment of the present application;

[0024] Figure 6 is a structural schematic diagram of a robot provided by an embodiment of the present application. DETAILED DESCRIPTION

[0025] In the following description, for the purpose of explanation and not limitation, specific details are set forth, such as particular system configurations, techniques, etc., in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.

[0026] It should be understood that the term "comprising" as used in the specification and in the claims indicates the presence of the recited features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0027] It should also be understood that the term "and / or" as used in the specification and in the claims indicates any combination of one or more of the associated listed items and all possible combinations of the items.

[0028] In addition, in the description of the specification and the appended claims, the terms "first", "second", "third", etc. are only used to distinguish descriptions, and cannot be understood as indicating or implying relative importance.

[0029] Reference to "one embodiment" or "some embodiments" or "one implementation" or "some implementations" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" or "in some embodiments" in various places in the specification are not necessarily all referring to the same embodiment, although it can. Furthermore, the particular features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0030] Embodiment One:

[0031] Considering the particularity of the elevator, there are usually obstacles on both sides of the path selected by the robot to enter or exit the elevator, such as the presence of personnel who need to enter the elevator or the presence of personnel who need to exit the elevator. However, in the process of path planning, the distance between the obstacles on both sides of the path is not considered, and the robot will collide with the obstacles when the distance between the obstacles on both sides of the path is less than the minimum distance that the robot can pass through.

[0032] In order to reduce the probability of collision between the robot and the obstacles, the embodiment of the present application provides a control method of a robot.

[0033] In the control method, after obtaining the planned global path, the obstacle distance of the obstacle pair of the global path is determined, and it is determined whether to control the robot to move according to the global path according to the obstacle distance. Since the obstacle distance is the distance between the obstacles located in the two side regions of the global path, and whether the robot can pass through is related to the distance between the obstacles in the two side regions of the global path, the robot is controlled in the above manner, which can reduce the probability of collision between the robot and the obstacles.

[0034] The control method of the robot provided by the embodiment of the present application is described below in combination with the drawings.

[0035] Figure 1 A flowchart of a control method of a robot provided by the embodiment of the present application is shown. In the embodiment of the present application, the processor of the robot can communicate with the elevator system. The processor realizes the functions of calling the elevator and entering or exiting the elevator by communicating with the elevator system, which is described in detail as follows:

[0036] Step S11, after it is determined that the elevator door is opened, a global path from the current position of the robot to the target position is planned, the current position and the target position are located inside or outside the elevator, and the current position and the target position are located on both sides of the elevator door, respectively.

[0037] Specifically, sensors can be installed on the robot. When the robot reaches a preset stopping point inside the elevator (i.e., the robot's stopping position) or a preset stopping point outside the elevator, the robot's processor determines whether the elevator door is open by acquiring sensor data from the installed sensors. For example, assuming a stopping point is set outside the elevator, after the robot, equipped with an image sensor in its forward direction, reaches the stopping point outside the elevator, its processor sends a call signal to the elevator system. Then, the processor acquires sensor data from the image sensor installed on the robot. Since the robot faces the elevator after reaching the stopping point outside the elevator (i.e., the robot stops at the stopping point), and because the image sensor is positioned in the robot's forward direction, it can acquire image information of the elevator. Therefore, after acquiring the sensor data corresponding to the image sensor, the processor can determine whether the elevator door is open or closed based on the acquired sensor data. It should be noted that the above description uses an image sensor as an example; in practice, other sensors can also be combined to determine whether the elevator door is open.

[0038] Of course, the elevator system can also send the elevator door opening indication information to the robot after the elevator door opens, so that the robot can determine that the elevator door has opened based on the received indication information.

[0039] In this embodiment, a stopping point is pre-set both inside and outside the elevator. The robot stops moving forward upon reaching the stopping point outside the elevator, waiting for the elevator to arrive. After entering the elevator, the robot stops moving forward upon reaching the stopping point inside the elevator, waiting for the elevator to start moving. It should be noted that when the robot is at the stopping point outside the elevator, that stopping point is the current position in this embodiment; and when the robot is at the stopping point inside the elevator, that stopping point outside the elevator is the target position in this embodiment. That is, the current position and the target position are located on opposite sides of the elevator door. For example, if the current position is inside the elevator, the target position is outside the elevator; and if the current position is outside the elevator, the target position is inside the elevator.

[0040] like Figure 2 As shown, assume the robot's current position is outside the elevator, i.e. Figure 2 The stop point Y1 in the middle, the target location is inside the elevator, that is Figure 2 At stop point Y2, after the robot's processor determines that the elevator door is open, the processor will plan a global path from the current position to the target position based on the existing map, such as... Figure 2 The line connecting the dwell points Y1 and Y2 shown.

[0041] In some embodiments, the A* algorithm can be used to plan the global path described above. The A* algorithm introduces global information when checking each possible node in the shortest path, estimates the distance of the current node from the end point, and uses it as a measure of the possibility of the node being on the shortest route. The A* algorithm can be used to plan a global path from the current position to the target position with fast speed and high accuracy.

[0042] In step S12, the obstacle distance of each obstacle pair is determined according to the global path planned above, wherein each obstacle pair includes two obstacles, the two obstacles are located in the two side regions of the global path, the global path passes through the line segment between the two obstacles, and the obstacle distance is the distance between the two obstacles.

[0043] It should be noted that the "global path passes through the line segment between the two obstacles" does not mean that there must be a line segment between the two obstacles, but means that when there is a line segment between the two obstacles, the global path does not coincide with the line segment but passes through the line segment.

[0044] In order to more clearly describe the relationship between the two obstacles in the obstacle pair and the global path, the following describes the relationship in combination with Figure 3 .

[0045] In Figure 3 , the line segment between the stay point Y1 and the stay point Y2 represents the global path, and there is an obstacle pair in the two side regions of the global path, and the obstacle pair includes two obstacles: the obstacle a1 and the obstacle a4.

[0046] In the embodiments of the present application, if the global path between the current position and the target position is planned, the obstacles located in the two side regions of the global path are determined first, then the corresponding obstacle pairs are determined according to the determined obstacles, and finally the obstacle distance is calculated by combining the position coordinates of the two obstacles in the obstacle pair and the distance formula. Of course, the obstacle distance described above can also be calculated by combining the voxel neighbor algorithm, which is not described here.

[0047] It should be noted that one obstacle in the embodiments of the present application can form an obstacle pair with one obstacle in the other side region of the global path, or can form multiple obstacle pairs with multiple obstacles in the other side region of the global path, which is not limited here.

[0048] Of course, if no global path is planned, the player of the robot can be controlled to play an avoiding voice. When the robot needs to enter the elevator but no global path is planned, the content of the avoiding voice can be: please give way, I need to enter the elevator. When the robot needs to exit the elevator but no global path is planned, the content of the avoiding voice can be: please give way, I need to exit the elevator. Of course, in actual situations, other content of the voice can also be used, as long as after the avoiding voice is played, other passengers in the elevator can know that the robot needs to enter or exit the elevator. Further, after the avoiding voice is played, the global path from the current position of the robot to the target position is re-planned, and in this process, the processor requests the elevator system to keep the elevator door open. If the number of times of planning the global path exceeds a preset planning frequency threshold, the robot waits for the arrival of the next elevator at the stop point and informs the elevator system so that the elevator continues to keep the door open after arriving at the floor where the robot is located next time.

[0049] Step S13, according to the determined obstacle distance, it is determined whether the robot is controlled to move from the current position to the target position according to the global path.

[0050] Specifically, according to the determined one or more obstacle distances, it is determined whether the robot can pass on the global path. If the robot can pass on the global path, the processor issues a corresponding speed to the chassis of the robot to drive the robot to follow the global path to move from the current position to the target position. Further, after the robot enters the stop point inside the elevator, the processor issues a door closing instruction to the elevator system so that the elevator system knows in time that the robot has entered the elevator.

[0051] Wherein, the following of the global path can be realized according to a PID (proportion-integral-derivative) controller.

[0052] In the embodiments of the present application, after it is determined that the elevator door is opened, a global path from the current position of the robot to the target position is planned, after the global path is planned, the obstacle distance of the obstacle pair is determined according to the global path, and whether to control the robot to move from the current position to the target position according to the global path is selected according to the determined obstacle distance. Since the current position and the target position are respectively located on the two sides of the elevator door, the planning action is performed only after the elevator door is opened, so that the probability of planning the global path can be improved. In addition, since the obstacle distance is the distance between the two obstacles respectively located in the two side regions of the global path, and whether the robot can successfully follow the global path from the current position to the target position is related to the distance between the obstacles in the two side regions of the global path, therefore, whether to control the robot to move from the current position to the target position is selected according to the obstacle distance, so that the probability of the robot successfully following the global path can be improved, thereby reducing the probability of the robot colliding with the obstacle during the process of entering and exiting the elevator.

[0053] It should be understood that the size of the serial number of each step in the above embodiments does not mean the order of execution, the execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0054] Embodiment two:

[0055] In some embodiments, the robot of the embodiments of the present application is provided with a sensor, and the sensor data obtained by the sensor can be used to determine the obstacle. Among them, the sensor provided on the robot can include a laser sensor, and the laser data obtained by the laser sensor can be used to detect whether there is an obstacle in the advancing direction of the robot. Further, considering that the laser data contains two-dimensional information, in order to further improve the accuracy of the obtained obstacle information, a sensor capable of obtaining depth information can also be provided on the robot, such as adding a depth camera to obtain color information containing depth information, and then combining the color information containing depth information with the laser data to determine the obstacles existing on both sides of the global path.

[0056] In some embodiments, the above step S12 comprises:

[0057] A1, the above global path is divided into a plurality of target paths.

[0058] Specifically, the global path can be divided into a plurality of target paths from front to back (i.e. from the current position to the target position) according to a preset fixed length. Of course, since the length of the global path is not necessarily an integer multiple of the preset fixed length, the length of the last target path in the plurality of target paths obtained by using this method may be different from the lengths of the other target paths.

[0059] In some embodiments, the global path can also be divided into a plurality of target paths with preset fixed lengths from front to back. For example, when the current position is outside the elevator, the fixed length corresponding to the target path divided in front is set to be longer, and the fixed length corresponding to the target path divided in back is set to be shorter. When the current position is inside the elevator, the fixed length corresponding to the target path divided in front is set to be shorter, and the fixed length corresponding to the target path divided in back is set to be longer. This is because the density of the elevator passengers gathered inside the elevator is relatively larger than the density of the elevator passengers gathered outside the elevator, and therefore, the path of the global path inside the elevator needs to be divided more densely for subsequent more detailed analysis.

[0060] A2, for each of the target paths, determining the obstacles on the two side regions of the target path according to the sensor data falling on the two side regions of the target path, wherein the target path passes through the line connecting the two obstacles respectively located on the two side regions of the target path.

[0061] In order to more clearly describe the obstacles falling on the two side regions of the target path, the following is described in combination with Figure 4 .

[0062] In Figure 4 , the current position of the robot is the position where the stay point Y1 is located, the target position is the position where the stay point Y2 is located, and the line connecting the stay point Y1 and the stay point Y2 is the global path (it should be noted that in actual situations, since elevator passengers will enter and exit the elevator, the global path obtained may be a plurality of polyline segments, i.e., not necessarily a straight line segment as shown in Figure 4 ). The global path is divided into two target paths. Assuming that the target path corresponding to the stay point Y1 is target path 1, and the other target path is target path 2, it can be seen from Figure 4 that the sensor data falling on one side of the target path 1 is the sensor data corresponding to the obstacle a1 and the obstacle a2, and the sensor data falling on the other side of the target path 1 is the sensor data corresponding to the obstacle a4. The sensor data falling on one side of the target path 2 is the sensor data corresponding to the obstacle a3.

[0063] A3, determining the obstacle pair of each of the target paths according to the obstacles on the two side regions of each of the target paths.

[0064] Specifically, the obstacles on the two side regions of each target path are analyzed respectively with the range of the target path as the boundary, and the obstacle pair corresponding to each target path is determined according to the analysis result.

[0065] A4、calculate the distance between the two obstacles in each obstacle pair on the target path, and obtain the obstacle distance.

[0066] After determining the obstacle pair corresponding to each target path, the distance between the two obstacles in each obstacle pair is calculated according to the positions of the two obstacles, that is, after calculation, each obstacle pair corresponds to an obstacle distance.

[0067] Since the global path is divided into multiple target paths, the two obstacles in the same region can be more accurately found as the demarcation line of each target path, and whether the robot can successfully pass between the two obstacles is related to whether the two obstacles are in the same region. For example, if the two obstacles fall on the two side regions of the global path respectively, but the two obstacles belong to the regions corresponding to different target paths respectively, even if the two obstacles are close to the global path, the robot can usually successfully follow the global path by avoiding.

[0068] In some embodiments, the step A3 includes:

[0069] A31、for each target path, calculate the distance between the two obstacles respectively located in the two side regions of the target path.

[0070] A32、determine the two obstacles corresponding to the minimum value of the calculated distances as the obstacle pair on the target path.

[0071] In the embodiments of the present application, if there are obstacles in the two side regions of the target path, the two obstacles closest in distance in the two side regions are determined as the obstacle pair. For example, assuming that there are obstacle A1 in the A side region of the target path, and there are obstacle B1 and obstacle B2 in the B side region of the target path. If the distance between obstacle A1 and obstacle B1 is less than the distance between obstacle A1 and obstacle B2, then obstacle A1 and obstacle B1 are determined as the obstacle pair. Considering whether the robot can pass between multiple obstacles is related to the minimum distance between two obstacles in the multiple obstacles, therefore, the two obstacles closest in distance and respectively located in the two side regions of the target path are determined as the obstacle pair, which reduces the amount of calculation required when controlling the robot according to the distance of the obstacle pair subsequently, thereby improving the timeliness of the control on the basis of ensuring the accuracy of the control.

[0072] In some embodiments, after the step A2, it further includes:

[0073] If there is an obstacle in only one side region of the target path, or if there is no obstacle in the two side regions of the target path, the obstacle distance of the target path is set to be infinite.

[0074] Specifically, when it is determined that there is an obstacle on one side of the target path or it is determined that there is no obstacle on both sides of the target path, it indicates that there is no obstacle pair on the target path, i.e., there is no obstacle that can affect the movement of the robot on the target path, and therefore the obstacle distance corresponding to the target path is set to infinity, which is beneficial to improve the accuracy of subsequent selection of whether to control the robot to follow the global path.

[0075] Embodiment three:

[0076] In some embodiments, the step S13 comprises:

[0077] B1, determining the minimum value in the above obstacle distance.

[0078] Specifically, the obstacle distances corresponding to each segment target distance are compared, and the minimum obstacle distance is determined according to the comparison result.

[0079] B2, comparing the determined minimum value in the above obstacle distance with a preset passing distance, wherein the preset passing distance is the minimum width that the robot can pass through.

[0080] The preset passing distance can be set to a value slightly larger than the maximum width of the robot, for example, assuming that the robot is a humanoid robot, the maximum width of the humanoid robot is equal to the length between the left shoulder and the right shoulder of the humanoid robot when the hands of the humanoid robot are vertically standing, and the sum of the maximum width and a preset length value is taken as the passing distance.

[0081] B3, if the minimum value in the above obstacle distance is greater than the preset passing distance, controlling the robot to move from the current position to the target position according to the global path.

[0082] Specifically, if it is determined that the minimum value in the obstacle distance is greater than the preset passing distance, it indicates that the robot can move between each obstacle, i.e., the robot can successfully follow the global path, at this time, controlling the robot to move from the current position to the target position can ensure that the robot does not collide with each obstacle. Of course, if it is determined that the minimum value in the obstacle distance is not greater than the preset passing distance, it indicates that the robot will have a high probability of colliding with the two obstacles in the obstacle pair corresponding to the minimum value in the obstacle distance when passing through the obstacle pair, at this time, the global path can be re-planned, or an avoidance voice can be played, and the global path can be re-planned after the avoidance voice is played.

[0083] In some embodiments, in the step B3, controlling the robot to move from the current position to the target position according to the global path comprises:

[0084] C1, if the current position of the robot is inside the elevator, moving the robot from the current position to the target position according to a preset first speed control strategy and the global path, wherein the first speed control strategy comprises: controlling the speed of the robot to be less than a first speed in a region with a distance less than a preset first distance threshold from the current position, and controlling the speed of the robot to be not less than the first speed in a region with a distance not less than the first distance threshold from the current position.

[0085] The first distance threshold can be set according to actual conditions. Alternatively, considering that there are usually people taking the elevator inside the elevator, i.e., the distance between the robot and the people taking the elevator is relatively close, the robot can be set to move at a relatively small speed inside the elevator, i.e., the first distance threshold can be set according to the length or width of the elevator car.

[0086] In the embodiments of the present application, since the global path is taken as a reference object with respect to the constructed map, and the robot is controlled with the robot as a reference object, the global path is first projected into the robot coordinate system, and then the robot is controlled to move from the current position to the target position according to the projection result, which can improve the accuracy of control.

[0087] C2, if the current position of the robot is outside the elevator, moving the robot from the current position to the target position according to a preset second speed control strategy and the global path, wherein the second speed control strategy comprises: controlling the speed of the robot to be greater than a second speed in a region with a distance less than a preset second distance threshold from the current position, and controlling the speed of the robot to be not greater than the second speed in a region with a distance not less than the second distance threshold from the current position.

[0088] The second distance threshold can be set according to actual conditions. Alternatively, considering that a stop point is arranged outside the elevator, i.e., the robot will wait for the elevator at the stop point outside the elevator, the second distance threshold can be set according to the distance between the stop point outside the elevator and the elevator door.

[0089] The first speed and the second speed can be set according to actual conditions. In some embodiments, the second speed can be set to be greater than the first speed, in which case, no matter whether the robot is getting on the elevator or getting off the elevator, the speed of the robot outside the elevator is greater than the speed of the robot inside the elevator.

[0090] In the embodiments of the present application, considering that the distance between the current position of the robot and the obstacle (such as the passenger taking the elevator) is usually different when the robot enters and exits the elevator (for example, before the robot exits the elevator, the distance between the robot and the passenger taking the elevator in the car is close, and before the robot enters the elevator, the distance between the robot and the passenger taking the elevator outside the elevator is usually far), therefore, different speeds are issued to the chassis of the robot according to the two different situations of entering and exiting the elevator and the distance between the robot and the current position, which is beneficial to reduce the probability of collision between the robot and the passenger taking the elevator. For example, when the robot needs to enter the elevator, because the space outside the elevator is larger, the robot can move to the vicinity of the elevator door at a faster speed, and because the space inside the elevator is smaller, and the passenger taking the elevator also occupies a certain space in the elevator, therefore, when entering the elevator, the robot moves at a lower speed, which is beneficial to reduce the probability of collision between the robot and the passenger taking the elevator. That is, when the robot is controlled in the above-mentioned manner, the robot can realize the purpose of entering or exiting the elevator at a faster speed, and in the process of entering or exiting the elevator, the collision with the obstacle is avoided as much as possible.

[0091] Embodiment four:

[0092] In some embodiments, the above step S11 comprises:

[0093] If the robot needs to enter the elevator, the global path from the current position of the robot to the target position is planned when it is judged that the elevator door is opened and the running direction of the elevator is the same as the direction of the robot taking the elevator.

[0094] Or,

[0095] If the robot needs to exit the elevator, the global path from the current position of the robot to the target position is planned after waiting for a preset time when it is judged that the elevator reaches the target floor and the elevator door is opened.

[0096] Specifically, the robot generates a call signal according to the boarding direction, and sends the call signal to the elevator system, so that the elevator system can learn the boarding direction of the robot after receiving the call signal, and send information about the elevator to be arrived to the robot before the running direction of the elevator is the same as the boarding direction of the robot and the elevator is about to arrive at the waiting floor where the robot is located. After the robot receives the information sent by the elevator system, it is judged whether the elevator door and the running direction of the elevator meet the boarding requirements, and if so, the global path from the current position to the target position is planned in order to enter the elevator as soon as possible, that is, the global path is not planned after the passenger enters the elevator, so as to avoid the collision caused by the robot repeatedly hesitating whether to enter the elevator. When the robot needs to get off the elevator, considering that the passenger needs to get out of the elevator and the passenger in the car will also hinder the robot, therefore, when the robot needs to get off the elevator, the global path can be planned after waiting for a preset time.

[0097] In the embodiments of the present application, because the different scenarios of the robot when getting on and off the elevator are considered when planning the global path, the success rate of planning the global path can be improved.

[0098] In some embodiments, in order to further improve the probability of planning the global path when the robot gets off the elevator, the player of the robot is controlled to play the avoidance voice first when it is judged that the elevator arrives at the target floor and the elevator door is opened, and then the global path from the current position of the robot to the target position is planned after waiting for a preset time. Because the avoidance voice is played before getting off the elevator, it is beneficial for the passenger in the elevator to avoid in time, thereby improving the global path corresponding to the robot getting off the elevator.

[0099] In some embodiments, during the process of the robot following the global path, the processor of the robot continues to judge whether the obstacles on both sides of the global path will hinder the robot from advancing according to the sensor data, and when it is judged that there is a new obstacle hindering the robot from advancing (such as the distance of the obstacle is too small), the global path is re-planned from the new current position of the robot.

[0100] In the embodiments of the present application, because the processor of the robot still monitors the obstacles around the global path in real time during the process of following the global path, the global path can be adjusted in time when there are obstacles hindering.

[0101] Embodiment five:

[0102] The control method of the robot described in each of the above embodiments, Figure 5A structural block diagram of the robot control device provided by the embodiment of the present application is shown. For the convenience of description, only the parts related to the embodiment of the present application are shown.

[0103] With reference to Figure 5 The robot control device 5 comprises a global path planning module 51, an obstacle distance determination module 52, and a movement control module 53. Wherein:

[0104] The global path planning module 51 is configured to plan a global path from a current position of the robot to a target position after judging that the elevator door is opened, wherein the current position and the target position are located inside or outside the elevator, and the current position and the target position are respectively located on two sides of the elevator door.

[0105] The obstacle distance determination module 52 is configured to determine an obstacle distance of an obstacle pair according to the planned global path, wherein each obstacle pair comprises two obstacles, the two obstacles are respectively located in two side regions of the global path, the global path passes through a connecting line between the two obstacles, and the obstacle distance is the distance between the two obstacles.

[0106] The movement control module 53 is configured to select whether to control the robot to move from the current position to the target position according to the global path according to the determined obstacle distance.

[0107] In the embodiment of the present application, after judging that the elevator door is opened, a global path from a current position of the robot to a target position is planned. After planning the global path, an obstacle distance of an obstacle pair is determined according to the global path, and whether to control the robot to move from the current position to the target position according to the global path is selected according to the determined obstacle distance. Since the current position and the target position are respectively located on two sides of the elevator door, the planning action is performed only after the elevator door is opened, which can improve the probability of planning the global path. In addition, since the obstacle distance is the distance between the two obstacles respectively located in the two side regions of the global path, and whether the robot can successfully follow the global path from the current position to the target position is related to the distance between the obstacles in the two side regions of the global path, therefore, whether to control the robot to move from the current position to the target position is selected according to the obstacle distance, which can improve the probability of the robot successfully following the global path, thereby reducing the probability of the robot colliding with the obstacles during the process of entering and exiting the elevator.

[0108] In some embodiments, the robot is provided with a sensor, sensor data obtained by the sensor can determine the obstacles, and the obstacle distance determination module 52 comprises:

[0109] A target path generation unit is configured to divide the global path into a plurality of target paths.

[0110] an obstacle determination unit configured to determine, for each segment of the target path, obstacles on two side regions of the target path according to sensor data falling on the two side regions of the target path, wherein the target path passes through a line connecting two obstacles respectively located on the two side regions of the target path.

[0111] an obstacle pair determination unit configured to determine, for each segment of the target path, an obstacle pair of the target path according to the obstacles on the two side regions of the target path.

[0112] an obstacle distance calculation unit configured to calculate a distance between the two obstacles in the obstacle pair of each segment of the target path to obtain the obstacle distance.

[0113] In some embodiments, the obstacle pair determination unit is specifically configured to:

[0114] calculate, for each segment of the target path, a distance between the two obstacles respectively located on the two side regions of the target path.

[0115] take the two obstacles corresponding to the minimum of the calculated distances as the obstacle pair on the target path.

[0116] In some embodiments, the control device 5 of the robot further comprises:

[0117] an obstacle distance setting module configured to set the obstacle distance of the target path as infinite if there is an obstacle on only one side region of the target path, or if there is no obstacle on both side regions of the target path.

[0118] In some embodiments, the movement control module comprises:

[0119] a minimum obstacle distance determination unit configured to determine a minimum value of the obstacle distance.

[0120] a minimum obstacle distance comparison unit configured to compare the determined minimum value of the obstacle distance with a preset passing distance, wherein the preset passing distance is a minimum width through which the robot can pass.

[0121] a movement control unit configured to control the robot to move from the current position to the target position according to the global path if the minimum value of the obstacle distance is greater than the preset passing distance.

[0122] In some embodiments, the movement control unit is specifically configured to:

[0123] If the current position of the robot is inside the elevator, the robot is controlled to move from the current position to the target position according to a preset first speed control strategy and the global path, wherein the first speed control strategy comprises: controlling the speed of the robot to be less than a first speed in a region with a distance less than a preset first distance threshold from the current position, and controlling the speed of the robot to be not less than the first speed in a region with a distance not less than the first distance threshold from the current position.

[0124] If the current position of the robot is outside the elevator, the robot is controlled to move from the current position to the target position according to a preset second speed control strategy and the global path, wherein the second speed control strategy comprises: controlling the speed of the robot to be greater than a second speed in a region with a distance less than a preset second distance threshold from the current position, and controlling the speed of the robot to be not greater than the second speed in a region with a distance not less than the second distance threshold from the current position.

[0125] In some embodiments, the global path planning module comprises:

[0126] An elevator entry path planning unit is configured to, if the robot needs to enter the elevator, plan a global path from the current position of the robot to the target position when it is determined that the elevator door is open and the running direction of the elevator is the same as the elevator entry direction of the robot.

[0127] Or,

[0128] An elevator exit path planning unit is configured to, if the robot needs to exit the elevator, plan a global path from the current position of the robot to the target position after waiting for a preset time duration when it is determined that the elevator arrives at the target floor and the elevator door is open.

[0129] It should be noted that the information interaction, execution process, etc. between the above devices / units, since based on the same concept as the method embodiments of the present application, the specific functions and the technical effects brought by them can be referred to the method embodiment part, and will not be repeated here.

[0130] Embodiment six:

[0131] Figure 6 A structural schematic diagram of a robot provided by an embodiment of the present application is shown. As shown in the figure, the robot 6 of this embodiment comprises at least one processor 60 Figure 6 Figure 6 ​The diagram shows only one processor, a memory 61, and a computer program 62 stored in the memory 61 and executable on the at least one processor 60, which, when executing the computer program 62, implements the steps in any of the above method embodiments.

[0132] The robot 6 may include, but is not limited to, a processor 60 and a memory 61. Those skilled in the art will understand that... Figure 6 This is merely an example of robot 6 and does not constitute a limitation on robot 6. It may include more or fewer parts than shown in the figure, or combine certain parts, or different parts, such as input / output devices, network access devices, etc.

[0133] The processor 60 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), 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.

[0134] In some embodiments, the memory 61 may be an internal storage unit of the robot 6, such as a hard disk or memory of the robot 6. In other embodiments, the memory 61 may be an external storage device of the robot 6, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the robot 6. Furthermore, the memory 61 may include both internal storage units and external storage devices of the robot 6. The memory 61 is used to store operating systems, applications, bootloaders, data, and other programs, such as the program code of computer programs. The memory 61 can also be used to temporarily store data that has been output or will be output.

[0135] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the above-mentioned division of each functional unit and module is exemplified, and in actual application, the above-mentioned functions can be completed by different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or software functional unit. In addition, the specific names of each functional unit and module are only for easy distinction, and do not limit the protection scope of the present application. The specific working process of the unit and module in the above system can refer to the corresponding process in the foregoing method embodiment, which will not be described here.

[0136] The embodiment of the present application further provides a computer readable storage medium, the computer readable storage medium stores a computer program, and the computer program is executed by a processor to realize the steps in each method embodiment.

[0137] The embodiment of the present application provides a computer program product, when the computer program product runs on a robot, so that the robot executes to realize the steps in each method embodiment.

[0138] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on such understanding, the embodiment of the present application realizes all or part of the processes in the above method, which can be completed by a computer program to instruct related hardware, and the computer program can be stored in a computer readable storage medium. The computer program is executed by a processor to realize the steps in each method embodiment. The computer program includes computer program code, which can be in the form of source code, object code, executable file or some intermediate form, etc. The computer readable medium at least includes any entity or device capable of carrying the computer program code to the photographing device / terminal equipment, recording medium, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium. For example, U disk, mobile hard disk, magnetic disk or optical disk, etc. In some jurisdictions, according to legislation and patent practice, the computer readable medium cannot be an electrical carrier signal and a telecommunication signal.

[0139] In the above embodiments, the description of each embodiment focuses on different aspects, and the parts not described or recorded in a certain embodiment can be referred to the relevant description of other embodiments.

[0140] Those skilled in the art can understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are realized in hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0141] In the embodiments provided in the present application, it should be understood that the disclosed apparatus / network device and method can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely schematic, for example, the division of the modules or units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the displayed or discussed each other can be through some interface, indirect coupling or communication connection between the devices or units, which can be electrical, mechanical or other forms.

[0142] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or they can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0143] The above described embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.

Claims

1. A method for controlling a robot, characterized in that, include: After determining that the elevator door is open, a global path is planned from the robot's current position to the target position. The current position and the target position are located inside or outside the elevator, and the current position and the target position are located on opposite sides of the elevator door. The obstacle distances of obstacle pairs are determined based on the planned global path, wherein each obstacle pair includes two obstacles, the two obstacles are located on opposite sides of the global path, the global path passes through the line connecting the two obstacles, and the obstacle distance is the distance between the two obstacles. Determine the minimum value among the distances to the obstacles; The minimum value among the determined obstacle distances is compared with a preset passage distance, wherein the preset passage distance is the minimum width that the robot can pass through; If the minimum value of the obstacle distance is greater than the preset passage distance, and the robot's current position is inside the elevator, then the robot moves from the current position to the target position according to the preset first speed control strategy and the global path control. The first speed control strategy includes: controlling the robot's speed to be less than the first speed in the region where the distance from the current position is less than the preset first distance threshold, and controlling the robot's speed to be not less than the first speed in the region where the distance from the current position is not less than the first distance threshold. If the minimum value of the obstacle distance is greater than the preset passage distance, and the robot's current position is outside the elevator, then the robot moves from the current position to the target position according to the preset second speed control strategy and the global path control. The second speed control strategy includes: controlling the robot's speed to be greater than the second speed in the region where the distance from the current position is less than the preset second distance threshold, and controlling the robot's speed to be no greater than the second speed in the region where the distance from the current position is not less than the second distance threshold.

2. The robot control method as described in claim 1, characterized in that, The robot is equipped with sensors, and the sensor data acquired by these sensors can identify obstacles. Determining the obstacle distance to the obstacle pair based on the planned global path includes: The global path is divided into multiple target paths; For each segment of the target path, obstacles on both sides of the target path are determined based on sensor data falling on both sides of the target path, wherein the target path passes through the line connecting two obstacles located on both sides of the target path respectively; Determine the obstacle pairs for each segment of the target path based on the obstacles on both sides of the target path. Calculate the distance between two obstacles in each obstacle pair of the target path segment to obtain the obstacle distance.

3. The robot control method as described in claim 2, characterized in that, The step of determining the obstacle pairs for each segment of the target path based on the obstacles on both sides of each segment includes: For each segment of the target path, calculate the distance between two obstacles located on opposite sides of the target path; The two obstacles corresponding to the minimum calculated distance are taken as the obstacle pair on the target path.

4. The robot control method as described in claim 2, characterized in that, After determining the obstacles in the regions on both sides of the target path based on sensor data falling into the regions on both sides of the target path, the method further includes: If there is an obstacle on only one side of the target path, or if there are no obstacles on either side of the target path, then the obstacle distance of the target path is set to infinite.

5. The robot control method according to any one of claims 1 to 4, characterized in that, The step of planning a global path from the robot's current position to the target position after determining that the elevator door is open includes: If the robot needs to enter the elevator, then if it is determined that the elevator door is open and the direction of the elevator is the same as the direction in which the robot takes the elevator, a global path from the robot's current position to the target position is planned. or, If the robot needs to exit the elevator, after determining that the elevator has reached the target floor and the elevator door is open, it waits for a preset time before planning a global path from the robot's current position to the target position.

6. A control device for a robot, characterized in that, include: The global path planning module is used to plan a global path from the robot's current position to the target position after determining that the elevator door is open. The current position and the target position are located inside or outside the elevator, and the current position and the target position are located on opposite sides of the elevator door. An obstacle distance determination module is used to determine the obstacle distance of an obstacle pair based on the planned global path, wherein each obstacle pair includes two obstacles, the two obstacles are located on both sides of the global path, the global path passes through the line connecting the two obstacles, and the obstacle distance is the distance between the two obstacles. A minimum obstacle distance determination unit is used to determine the minimum value among the obstacle distances; A minimum obstacle distance comparison unit is used to compare the minimum value among the determined obstacle distances with a preset passage distance, wherein the preset passage distance is the minimum width that the robot can pass through; A motion control unit is configured to, if the minimum distance among the obstacles is greater than a preset travel distance and the robot's current position is inside an elevator, control the robot to move from its current position to a target position according to a preset first speed control strategy and a global path. The first speed control strategy includes: controlling the robot's speed to be less than a first speed in areas where the distance to the current position is less than a preset first distance threshold, and controlling the robot's speed to be not less than the first speed in areas where the distance to the current position is not less than the first distance threshold. The unit is also configured to, if the minimum distance among the obstacles is greater than the preset travel distance and the robot's current position is outside an elevator, control the robot to move from its current position to the target position according to a preset second speed control strategy and a global path. The second speed control strategy includes: controlling the robot's speed to be greater than a second speed in areas where the distance to the current position is less than a preset second distance threshold, and controlling the robot's speed to be not greater than the second speed in areas where the distance to the current position is not less than the second distance threshold.

7. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 5.

8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Robot control method and device, electronic equipment and computer storage medium

    CN112130574A

  • Robot, obstacle crossing method and device thereof and computer readable storage medium

    CN113359742A