Control method, device, electronic device and storage medium for robot

By determining the movable space based on laser data when the robot enters the elevator and controlling the movement of the robot using the space vector, the problem of low accuracy of movable space caused by irregular laser envelope is solved, and the smoothness and success rate of entering the elevator is improved.

CN115167454BActive Publication Date: 2025-04-18BEIJING JINGDONG QIANSHITECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210929618.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-03
Publication Date
2025-04-18
Estimated Expiration
2042-08-03

AI Technical Summary

Technical Problem

When the envelope formed by laser points is irregular, it is difficult for the prior art to accurately determine the movable space of the robot entering the elevator, resulting in a low smoothness and success rate of entry into the elevator.

Method used

By controlling the robot to move to the waiting position of the target elevator, and when the elevator door is opened, the movable space is determined based on the laser data collected by the robot. For each movable spatial point, a space vector representing the spatial relationship between the target point and the spatial point is determined, multiple spatial vectors are obtained, and the moving state of the robot is then controlled based on these vectors.

Benefits of technology

It improves the smoothness and success rate of the robot entering the elevator, and overcomes the problem of poor scaling effect when the envelope is irregular.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115167454B_ABST
    Figure CN115167454B_ABST
Patent Text Reader

Abstract

The present disclosure provides a control method for a robot, which can be applied to the field of intelligent robot technology. The control method for the robot includes: controlling the robot to move to a target elevator waiting position corresponding to a target elevator; when it is determined that the elevator door of the target elevator is open, determining a movable space according to laser data collected by the robot, wherein the movable space is formed by n movable space points, wherein n≥1; for each of the n movable space points, determining a spatial vector for characterizing the spatial relationship between the target point and the movable space point, and obtaining n of the above-mentioned spatial vectors, wherein the target point is located on the robot; and controlling the movement state of the robot according to the n above-mentioned spatial vectors. The present disclosure also provides a control device, equipment, and storage medium for a robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of intelligent robots, and more particularly, to a control method, device, electronic device, medium, and program product for a robot. Background Art

[0002] With the rapid development of artificial intelligence, automatic control, communications, and computer technologies, robots are increasingly being used in a wide range of fields, including industrial and agricultural production, construction, logistics, and daily life. Robots often enter and exit elevators, requiring them to find a parking spot within the elevator to ensure smooth entry. Currently, robots typically enter elevators by reducing the envelope of laser points projected onto the elevator interior by a certain percentage to create a suitable space for the robot to maneuver, and then controlling the robot to enter the elevator.

[0003] In the process of realizing the concept of the present disclosure, the inventors found that there are at least the following problems in the related art: when the envelope formed by the laser point is irregular, the accuracy of the robot's movable space obtained by the above method is low, which affects the smoothness and success rate of the robot entering the elevator. Summary of the Invention

[0004] In view of this, the present disclosure provides a control method, apparatus, electronic device, medium, and program product for a robot.

[0005] One aspect of the present disclosure provides a control method for a robot, comprising:

[0006] Control the robot to move to the target elevator waiting position corresponding to the target elevator;

[0007] When it is determined that the door of the target elevator is open, a movable space is determined based on the laser data collected by the robot, wherein the movable space is formed by n movable space points, where n ≥ 1;

[0008] For each of the n movable spatial points, determining a spatial vector representing a spatial relationship between a target point and the movable spatial point, to obtain n spatial vectors, wherein the target point is located on the robot; and

[0009] The movement state of the robot is controlled according to the n space vectors.

[0010] According to an embodiment of the present disclosure, controlling the movement state of the robot according to the n space vectors includes:

[0011] When the robot moves to a designated point, a target vector intersecting with the equivalent coordinate vector of the elevator door is selected from the n space vectors to obtain a target vector set, wherein the equivalent coordinate vector is a coordinate vector representing a spatial relationship between equivalent points on the elevator door, and the designated point is located outside the target elevator and close to the elevator door groove of the target elevator;

[0012] When the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable space point meets the preset distance condition, the robot is controlled to enter the target elevator through the elevator door, wherein the target movable space point corresponds to the target vector.

[0013] According to an embodiment of the present disclosure, the laser data includes angle data of the laser point;

[0014] The above-mentioned determination of the movable space based on the laser data collected by the above-mentioned robot includes:

[0015] Determining, based on the angle data of the laser points, laser points that meet a preset angle threshold, to obtain a target laser point set, wherein the preset angle threshold includes a movable space determined based on the laser points within the preset angle threshold, and an elevator area that can cover the target elevator;

[0016] Extracting laser data corresponding to the target laser point set from the laser data to obtain target laser data;

[0017] The movable space is determined according to the target laser data.

[0018] According to an embodiment of the present disclosure, the target laser point set includes k target laser points, where k ≥ 1;

[0019] The step of determining the movable space based on the target laser data includes:

[0020] In the coordinate system of the robot, for each target laser point in the target laser point set, determining the direction of the target laser point, and obtaining the laser direction corresponding to the target laser point;

[0021] Determine the boundary value of the movable space point in the above laser direction, and obtain k boundary values ​​of the above movable space point;

[0022] The movable space is determined according to the k boundary values ​​of the movable space points.

[0023] According to an embodiment of the present disclosure, determining the boundary value of the movable spatial point in the laser direction includes:

[0024] Operation S1, determining the angle of the laser direction relative to the reference axis in the coordinate system of the robot to obtain a target angle;

[0025] Operation S2, for the i-th target laser point in the target laser point set, determining an i-th lateral distance corresponding to the i-th target laser point when the i-th target laser point is rotated by the target angle, where 1≤i≤k;

[0026] Operation S3: if the i-th lateral distance is less than a preset lateral distance threshold, obtaining a vertical coordinate value of the i-th target laser point, wherein the preset lateral distance threshold represents a lateral obstacle reference range of the robot;

[0027] Operation S4, when the vertical coordinate value of the i-th target laser point is less than the current feasible boundary threshold, updating the current feasible boundary threshold using the vertical coordinate value of the i-th target laser point to obtain an updated feasible boundary threshold;

[0028] Operation S5, traversing the target laser point set, cyclically executing operations S2 to S4 to cyclically update the current feasible boundary threshold value until all target laser points in the target laser point set are traversed, and then completing the updating of the current feasible boundary threshold value to obtain a final feasible boundary threshold value;

[0029] Operation S6: determining the final feasible boundary threshold as the boundary value of the movable space point in the laser direction.

[0030] According to an embodiment of the present disclosure, the above-mentioned control method for a robot further includes:

[0031] Determining an extension vector for representing a spatial relationship between a target extension point and a center equivalent point of the target elevator, wherein the target extension point is a point where the target point is extended in the negative direction of the longitudinal axis by a preset length;

[0032] In a case where the extended vector and the equivalent coordinate vector do not intersect, it is determined that the robot has completely passed through the elevator door and entered the target elevator.

[0033] According to an embodiment of the present disclosure, the above-mentioned control method for a robot further includes:

[0034] Before controlling the robot to pass through the elevator door and enter the target elevator, a forward target point is determined from the target movable space points according to the target vector set, wherein the direction of the forward target point is the forward direction of the robot.

[0035] According to an embodiment of the present disclosure, the target vector set includes m target vectors, where m≥1;

[0036] The step of determining the forward target point from the target movable space points according to the target vector set includes:

[0037] For each target vector in the target vector set, determine the angle between the target vector and the reference vector, obtain the absolute value of the angle corresponding to the target vector, and ultimately obtain m absolute values ​​of the angle, where the reference vector is a vector representing the spatial relationship between the target point and the center equivalent point of the target elevator;

[0038] According to the above m absolute values ​​of the angles, the above forward target point is determined from the above target movable space points.

[0039] According to an embodiment of the present disclosure, determining the forward target point from the target movable space point based on the m absolute values ​​of the angles includes:

[0040] Determine the minimum absolute value of the angle from the m absolute values ​​of the angles to obtain the target absolute value of the angle;

[0041] From the above target movable space points, determine the movable space point corresponding to the absolute value of the above target angle to obtain the above forward target point.

[0042] According to an embodiment of the present disclosure, the target vector set includes m target vectors, where m≥1;

[0043] The step of determining the forward target point from the target movable space points according to the target vector set includes:

[0044] For each target vector in the target vector set, determining an angle between the target vector and a reference vector to obtain a vector angle value corresponding to the target vector;

[0045] Determine a reference value based on the distance from the target extension point to the equivalent coordinate vector, the vector angle value corresponding to the target vector, and the rotation radius of the robot;

[0046] In the case where the line segment length of the target vector satisfies the reference value, determining the target movable space point as the candidate forward target point;

[0047] An alternative forward target point corresponding to the minimum vector angle value is determined from the alternative forward target points to obtain the above-mentioned forward target point.

[0048] According to an embodiment of the present disclosure, the above-mentioned control method for a robot further includes:

[0049] When the feasible distance in the direction of the forward target point is greater than or equal to a preset value, the robot is controlled to move in the direction of the forward target point, wherein the preset value is determined based on the speed of the robot, the acceleration of the robot and the distance compensation value.

[0050] Another aspect of the present disclosure provides a control device for a robot, comprising:

[0051] The first control module is used to control the robot to move to a target elevator waiting position corresponding to a target elevator;

[0052] a first determining module configured to, when determining that the door of the target elevator is open, determine a movable space based on the laser data collected by the robot, wherein the movable space is formed by n movable space points, where n ≥ 1;

[0053] a second determining module configured to determine, for each of the n movable spatial points, a spatial vector representing a spatial relationship between a target point and the movable spatial point, to obtain n spatial vectors, wherein the target point is located on the robot; and

[0054] The second control module is used to control the movement state of the robot according to the n space vectors.

[0055] Another aspect of the present disclosure provides an electronic device comprising: one or more processors; and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the control method for the robot.

[0056] Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions, which are used to implement the method described in the embodiments of the present disclosure when executed.

[0057] Another aspect of the present disclosure provides a computer program, which includes computer-executable instructions. When the instructions are executed, the computer program is used to implement the method described in the embodiment of the present disclosure.

[0058] According to the embodiments of the present disclosure, because a technical means is adopted for controlling the robot to move to the target elevator waiting position corresponding to the target elevator, and then when the elevator door of the target elevator is open, determining the movable space according to the laser data collected by the robot, and then determining, for each movable space point in the movable space, a spatial vector for characterizing the spatial relationship between the target point and the movable space point, to obtain n spatial vectors, and then controlling the movement state of the robot according to the n spatial vectors, the technical problem of poor scaling effect when the envelope is irregular, thereby affecting the performance of the robot entering the elevator, is at least partially overcome, thereby achieving the technical effect of improving the smoothness and success rate of the robot entering the elevator. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] The above and other objects, features and advantages of the present disclosure will become more apparent through the following description of the embodiments of the present disclosure with reference to the accompanying drawings, in which:

[0060] Figure 1 Schematically illustrates an exemplary system architecture to which a control method and apparatus for a robot according to an embodiment of the present disclosure may be applied;

[0061] Figure 2 Schematically shows a flow chart of a control method for a robot according to an embodiment of the present disclosure;

[0062] Figure 3 A schematic diagram schematically illustrates a target elevator area according to an embodiment of the present disclosure;

[0063] Figure 4 Schematically shows a flow chart of a control method for a robot according to another embodiment of the present disclosure;

[0064] Figure 5 The flowchart of the movable space determination method according to an embodiment of the present disclosure is schematically shown;

[0065] Figure 6 Schematically shows a flow chart of a method for determining a boundary value of a movable space point according to an embodiment of the present disclosure;

[0066] Figure 7 Schematically shows a schematic diagram of an elevator area including a target extension point according to an embodiment of the present disclosure;

[0067] Figure 8 The following schematically shows a flow chart of a method for determining whether a robot has completely entered an elevator according to an embodiment of the present disclosure;

[0068] Figure 9 Schematically shows a flow chart of a method for determining an alternative forward target point according to an embodiment of the present disclosure;

[0069] Figure 10Schematically shows a structural block diagram of a control device for a robot according to an embodiment of the present disclosure; and

[0070] Figure 11 A block diagram of an electronic device suitable for implementing the above-described method according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION

[0071] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present disclosure. In the detailed description below, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of the embodiments of the present disclosure. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessary confusion of the concepts of the present disclosure.

[0072] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise," "include," etc. used herein indicate the presence of the features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0073] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0074] When expressions such as "at least one of A, B and C, etc." are used, they should generally be interpreted in accordance with the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).

[0075] In practical applications, mobile robots often enter and exit elevators. In this scenario, the robot is usually required to find an optimal parking spot based on the space inside the elevator to successfully complete the task of entering the elevator.

[0076] In related technologies, the technology for robots to enter elevators usually reduces the envelope composed of laser points shot by the robot inside the elevator by a certain proportion to obtain the robot's movable space, and then finds the target point within the movable space that can meet the robot's entry requirements to control the robot to enter the elevator.

[0077] However, in the process of realizing the concept disclosed herein, the inventors discovered that there are at least the following problems in the related art: the above-mentioned method of reducing the envelope composed of the laser points projected by the robot inside the elevator to obtain the robot's movable space has a poor scaling effect when the envelope is irregular, thereby affecting the robot's performance in entering the elevator.

[0078] In view of this, the present disclosure provides a control method for a robot to address the above technical problems, including: controlling the robot to move to a target elevator waiting position corresponding to a target elevator; when it is determined that the elevator door of the above target elevator is open, determining a movable space based on laser data collected by the above robot, wherein the above movable space is formed by n movable space points, wherein n≥1; for each of the above n movable space points, determining a spatial vector for characterizing the spatial relationship between the target point and the above movable space point, and obtaining n above-mentioned spatial vectors, wherein the above-mentioned target point is located on the above-mentioned robot; and controlling the movement state of the above-mentioned robot according to the n above-mentioned spatial vectors.

[0079] According to the embodiments of the present disclosure, because a technical means is adopted for controlling the robot to move to the target elevator waiting position corresponding to the target elevator, and then when the elevator door of the target elevator is open, determining the movable space according to the laser data collected by the robot, and then determining, for each movable space point in the movable space, a spatial vector for characterizing the spatial relationship between the target point and the movable space point, to obtain n spatial vectors, and then controlling the movement state of the robot according to the n spatial vectors, the technical problem of poor scaling effect when the envelope is irregular, thereby affecting the performance of the robot entering the elevator, is at least partially overcome, thereby achieving the technical effect of improving the smoothness and success rate of the robot entering the elevator.

[0080] Figure 1 The following schematically illustrates an exemplary system architecture 100 to which the control method and apparatus for a robot according to an embodiment of the present disclosure can be applied. Figure 1 The examples shown are merely examples of system architectures to which the embodiments of the present disclosure may be applied, to help those skilled in the art understand the technical content of the present disclosure, but do not mean that the embodiments of the present disclosure may not be used in other devices, systems, environments or scenarios.

[0081] like Figure 1 As shown, the system architecture 100 according to this embodiment may include a robot 101, elevators 102 and 103, a network 104, and a control center 105. The network 104 is used as a medium for providing a communication link between the robot 101 and the control center 105. The network 104 may include various connection types, such as wired and / or wireless communication links, etc.

[0082] The operator can use the control center 105 to send an operation instruction to the robot 101 via the network 104, so that the robot 101 moves to the waiting position of either elevator 102 or 103 (e.g., elevator 102), or the robot 101 moves to the waiting position of either elevator 102 or 103 (e.g., elevator 102) according to the driving task. Then, when the door of elevator 102 is open, the robot 101 determines the movable space within elevator 102 based on the collected laser data and determines whether the movable space within elevator 102 meets the entry conditions. Only when the movable space within elevator 102 meets the entry conditions will the robot 101 continue to perform the elevator entry task. If the movable space does not meet the entry conditions, the robot 101 will not enter the elevator and the elevator entry task will be terminated.

[0083] The control center 105 may be a control center that provides various control instructions, for example, sending inspection instructions to the robot 101 , sending movement instructions to the robot 101 , and the like.

[0084] It should be noted that the control method for a robot provided in the embodiments of the present disclosure can generally be executed by the robot 101. Accordingly, the control device for a robot provided in the embodiments of the present disclosure can generally be set in the robot 101. The control method for a robot provided in the embodiments of the present disclosure can also be executed by a server or server cluster that is different from the robot 101 and can communicate with the robot 101. Accordingly, the control device for a robot provided in the embodiments of the present disclosure can also be set in a server or server cluster that is different from the robot 101 and can communicate with the robot 101.

[0085] For example, robot 101 transmits the collected laser data to the server cluster, and then the server cluster analyzes the laser data, determines the movable space, and judges whether the movable space meets the conditions for entering the elevator, and then sends the analysis results to robot 101 to control the movement status of robot 101.

[0086] The following will be based on Figure 1 The scene described by Figures 2 to 9 A control method for a robot according to an embodiment of the disclosure is described in detail.

[0087] Figure 2 A flowchart of a control method for a robot according to an embodiment of the present disclosure is schematically shown.

[0088] like Figure 2 As shown, the control method for a robot in this embodiment includes operations S210 to S240.

[0089] In operation S210, the robot is controlled to move to a target elevator waiting position corresponding to a target elevator.

[0090] According to an embodiment of the present disclosure, when a robot enters a new working scene, it needs to scan the global map of the scene or obtain the global map of the scene, and then perform corresponding tasks according to the position of the robot in the global map to perform automatic work.

[0091] According to an embodiment of the present disclosure, the global map may include the locations of various areas, such as room locations, elevator locations, entrance and exit locations, etc. Specifically, for example, in the global map, the elevator may use polygons to represent the elevator outline to identify the location of the elevator door.

[0092] According to an embodiment of the present disclosure, the robot can determine the elevator position and the elevator waiting location based on the global map, and then move to the target elevator waiting location directly in front of the elevator door and a certain distance in the direction of the elevator door according to the set instructions.

[0093] In operation S220, when it is determined that the door of the target elevator is open, a movable space is determined based on the laser data collected by the robot, wherein the movable space is formed by n movable space points, wherein n≥1.

[0094] According to an embodiment of the present disclosure, after the robot reaches the target elevator waiting position, it needs to determine whether the elevator door of the target elevator is open. If the elevator door of the target elevator is open, the movable space is determined based on the laser data collected by the robot.

[0095] According to an embodiment of the present disclosure, the laser data collected by the robot may be pre-processed data such as filtering and sparseness, and the pre-processed data may be converted into data in the robot coordinate system.

[0096] In operation S230, for each of the n movable spatial points, a spatial vector for characterizing the spatial relationship between the target point and the movable spatial point is determined to obtain n spatial vectors, wherein the target point is located on the robot.

[0097] According to an embodiment of the present disclosure, the target point may be the center point of the robot, and the space vector may be a vector having the target point and the movable space point as endpoints.

[0098] In operation S240 , the movement state of the robot is controlled according to the n space vectors.

[0099] According to an embodiment of the present disclosure, the movement state of the robot may include remaining at a target waiting position without entering a target elevator, and may also include entering the target elevator through a door of the target elevator.

[0100] According to the embodiments of the present disclosure, because a technical means is adopted for controlling the robot to move to the target elevator waiting position corresponding to the target elevator, and then when the elevator door of the target elevator is open, determining the movable space according to the laser data collected by the robot, and then determining, for each movable space point in the movable space, a spatial vector for characterizing the spatial relationship between the target point and the movable space point, to obtain n spatial vectors, and then controlling the movement state of the robot according to the n spatial vectors, the technical problem of poor scaling effect when the envelope is irregular, thereby affecting the performance of the robot entering the elevator, is at least partially overcome, thereby achieving the technical effect of improving the smoothness and success rate of the robot entering the elevator.

[0101] According to an embodiment of the present disclosure, the above method also includes: the robot determines the current movable space based on the collected laser data, and uses the vector cross multiplication method to determine whether the vector composed of the spatial point of the current movable space and the center point of the robot has an intersection with the vector on the inside of the elevator door. If there is an intersection, it means that the elevator door is open.

[0102] According to an embodiment of the present disclosure, the above method further includes: the robot determines whether the elevator door is open by counting the number of laser rays greater than a preset value based on the distance between the robot and the elevator door.

[0103] According to an embodiment of the present disclosure, when the robot moves to a designated point, the control of the movement state of the robot according to the n space vectors includes: screening a target vector that intersects with the equivalent coordinate vector of the elevator door from the n space vectors to obtain a target vector set, wherein the equivalent coordinate vector is a coordinate vector used to characterize the spatial relationship between equivalent points on the elevator door, and the designated point is located outside the target elevator and close to the elevator door groove of the target elevator; when the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable space point meets a preset distance condition, the robot is controlled to pass through the elevator door and enter the target elevator, wherein the target movable space point corresponds to the target vector.

[0104] According to an embodiment of the present disclosure, the preset distance may be f×R, where f is a coefficient and R is the rotation radius of the robot. Generally, f should be greater than 1.

[0105] According to an embodiment of the present disclosure, when the robot moves to a designated point near the elevator door groove, it determines whether the interior of the target elevator meets the elevator entry conditions. The elevator entry task is performed only when the elevator entry conditions are met, thereby preventing the robot from getting stuck in the elevator door groove.

[0106] According to an embodiment of the present disclosure, the above method also includes: when the distance from the intersection point between the above target vector and the above equivalent coordinate vector to the target movable space point does not meet a preset distance condition, ending the elevator entering task.

[0107] In one embodiment, for example, if the outline of the target elevator is a rectangle, the target elevator is identified by using the coordinates of the four vertices of the rectangle. The robot can obtain the coordinates of the four vertices of the target elevator from the global map.

[0108] Figure 3 A schematic diagram of a target elevator area according to an embodiment of the present disclosure is schematically shown.

[0109] like Figure 3 As shown in the figure, the four vertices of the target elevator are G1, G2, G3, and G4. The area formed by G1, G2, G3, and G4 is the target elevator's interior area. Point P1 is the movable space point inside the elevator, and point P2 is the movable space point outside the elevator. The area formed by points G1, G4, A, and B is the elevator door groove area. The center point of the robot is point O, and the target elevator waiting position is point E.

[0110] Figure 4 A flow chart of a control method for a robot according to another embodiment of the present disclosure is schematically shown.

[0111] Combine Figure 3 and Figure 4 As shown, the control method for a robot in this embodiment includes operations S401 to S411.

[0112] In operation S401, the robot is controlled to move to a target elevator waiting position corresponding to a target elevator, that is, point E.

[0113] In operation S402 , the robot determines a current movable space based on the collected laser data.

[0114] In operation S403, a vector formed by the current movable space point and the center point of the robot is determined to obtain a first vector, wherein the current movable space point may be P1 or P2, and the vector formed by the current movable space point and the center point of the robot may include vector OP1 or vector OP2.

[0115] In operation S404, a vector cross product method is used to determine whether there is an intersection between the first vector and the vector inside the elevator door, where the vector inside the elevator door can be vectors G1G4. If there is an intersection, operation S405 is performed, otherwise, operation S410 is performed.

[0116] In operation S405 , the robot determines a movable space based on laser data collected at regular intervals.

[0117] In operation S406, when the robot moves to the designated point, for each movable space point in the movable space, a spatial vector used to characterize the spatial relationship between the target point and the movable space point is determined, and n spatial vectors are obtained, wherein the movable space point of the movable space may include point P1, the target point may be the center point O of the robot, one of the spatial vectors may be vector OP1, and the designated point may be a point on the AB line.

[0118] In operation S407 , a target vector intersecting with the equivalent coordinate vector of the elevator door is screened from the n space vectors to obtain a target vector set, wherein the equivalent coordinate vector of the elevator door may include vectors G1 and G4 .

[0119] In operation S408, for each target vector in the target vector set, it is determined whether the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable spatial point satisfies a preset distance condition. If the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable spatial point satisfies the preset distance condition, operation S409 is performed; if the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable spatial point does not satisfy the preset distance condition, operation S410 is performed.

[0120] In operation S409, the robot is controlled to enter the target elevator through the elevator door.

[0121] In operation S410, the robot is controlled to continue waiting at the target elevator waiting position, and operation S402 is executed.

[0122] In operation S411, the elevator entry task is ended.

[0123] According to the embodiments of the present disclosure, the elevator door recess area formed by points G1, G4, A, and B may cause the robot to stall if it stops there. Therefore, when the robot reaches the AB line in front of the elevator door, it must determine whether the elevator interior space meets the robot's entry conditions. The robot will only continue the mission if the elevator interior space meets the robot's entry conditions. Otherwise, the mission will be canceled to avoid unnecessary squeezing in the elevator, which may result in extended mission execution and affect the elevator ride experience.

[0124] According to an embodiment of the present disclosure, the above-mentioned laser data includes angle data of the laser point; the above-mentioned determination of the movable space based on the laser data collected by the above-mentioned robot includes: determining the laser points that meet the preset angle threshold based on the angle data of the above-mentioned laser points to obtain a target laser point set, wherein the above-mentioned preset angle threshold includes the movable space determined based on the laser points within the above-mentioned preset angle threshold, which can cover the elevator area of ​​the above-mentioned target elevator; extracting laser data corresponding to the above-mentioned target laser point set from the above-mentioned laser data to obtain target laser data; and determining the above-mentioned movable space of the above-mentioned target elevator based on the above-mentioned target laser data.

[0125] According to an embodiment of the present disclosure, the angle data of the laser point may include, for example, the angle of the laser point relative to the coordinate origin in the robot coordinate system.

[0126] According to an embodiment of the present disclosure, the preset angle threshold may include the maximum angle on both sides of the robot, ensuring that the movable space obtained according to the laser point within the preset angle threshold range can cover the elevator area of ​​the target elevator.

[0127] According to an embodiment of the present disclosure, the target laser data is obtained by extracting the laser data corresponding to the target laser point set from the laser data, and then the movable space is determined based on the target laser data. Since only the laser data of the laser points that can cover the internal area of ​​the elevator are processed, the data processing amount is reduced, which helps to reduce the processing efficiency of the robot.

[0128] According to an embodiment of the present disclosure, the above-mentioned target laser point set includes k target laser points, where k≥1; wherein, determining the above-mentioned movable space based on the above-mentioned target laser data includes: in the coordinate system of the above-mentioned robot, for each target laser point in the above-mentioned target laser point set, determining the direction of the above-mentioned target laser point, and obtaining the laser direction corresponding to the above-mentioned target laser point; determining the boundary value of the movable space point in the above-mentioned laser direction, and obtaining k boundary values ​​of the above-mentioned movable space point; and determining the above-mentioned movable space based on the k boundary values ​​of the above-mentioned movable space point.

[0129] Figure 5 The flowchart of the movable space determination method according to an embodiment of the present disclosure is schematically shown.

[0130] like Figure 5 As shown, the method of this embodiment includes operations S501 to S506.

[0131] In operation S501 , laser points that meet a preset angle threshold are determined based on angle data of laser points in laser data to obtain a target laser point set.

[0132] In operation S502 , laser data corresponding to a target laser point set is extracted from the laser data to obtain target laser data.

[0133] In operation S503 , in the coordinate system of the robot, for the jth target laser point in the target laser point set, a direction of the jth target laser point is determined to obtain a jth laser direction corresponding to the jth target laser point.

[0134] In operation S504 , a boundary value of a movable spatial point in the j-th laser direction is determined to obtain a j-th movable spatial point boundary value.

[0135] In operation S505, each target laser point in the target laser point set is traversed to obtain a plurality of movable spatial point boundary values.

[0136] In operation S506, a movable space is determined according to the plurality of movable space point boundary values.

[0137] According to an embodiment of the present disclosure, the above-mentioned determination of the boundary value of the movable space point in the above-mentioned laser direction includes: operation S1, determining the angle of the above-mentioned laser direction relative to the reference axis in the coordinate system of the above-mentioned robot to obtain the target angle; operation S2, for the i-th target laser point in the above-mentioned target laser point set, when the above-mentioned i-th target laser point is rotated by the above-mentioned target angle, determining the i-th lateral distance corresponding to the above-mentioned i-th target laser point, wherein 1≤i≤k; operation S3, when the above-mentioned i-th lateral distance is less than a preset lateral distance threshold, obtaining the longitudinal coordinate value of the above-mentioned i-th target laser point, wherein the above-mentioned preset lateral distance threshold represents the above-mentioned machine The robot is within the lateral obstacle reference range; operation S4, when the ordinate value of the above-mentioned i-th target laser point is less than the current feasible boundary threshold, the current feasible boundary threshold is updated using the ordinate value of the above-mentioned i-th target laser point to obtain an updated feasible boundary threshold; operation S5, traversing the above-mentioned target laser point set, and cyclically executing operations S2-S4 to cyclically update the current feasible boundary threshold until the target laser points in the above-mentioned target laser point set are traversed, and the updating of the current feasible boundary threshold is ended to obtain a final feasible boundary threshold; operation S6, determining the above-mentioned final feasible boundary threshold as the boundary value of the movable space point in the above-mentioned laser direction.

[0138] Figure 6 A flowchart of a method for determining a boundary value of a movable space point according to an embodiment of the present disclosure is schematically shown.

[0139] like Figure 6 As shown, the method for determining the boundary value of the movable spatial point in the j-th laser direction includes operations S601 to S608.

[0140] In operation S601 , the angle of the j-th laser direction relative to the reference axis in the coordinate system of the robot is determined to obtain the j-th target angle.

[0141] In operation S602, the target laser points in the target laser point set are sequentially traversed, and for a current target laser point in the target laser point set, a current lateral distance corresponding to the current target laser point is determined when the current target laser point is rotated by a j-th target angle.

[0142] In operation S603, it is determined whether the current lateral distance is less than a preset lateral distance threshold, where the preset lateral distance threshold represents the reference range of obstacles in the lateral direction of the robot. If the current lateral distance is less than the preset lateral distance threshold, operation S604 is executed; if the current lateral distance is greater than or equal to the preset lateral distance threshold, operation S602 is executed.

[0143] In operation S604, the vertical coordinate value of the current target laser point is obtained.

[0144] In operation S605, it is determined whether the ordinate value of the current target laser point is less than the current feasible boundary threshold. If the ordinate value of the current target laser point is less than the current feasible boundary threshold, operation S606 is executed; if the ordinate value of the current target laser point is greater than or equal to the current feasible boundary threshold, operation S602 is executed.

[0145] In operation S606, the current feasible boundary threshold is updated using the ordinate value of the current target laser point to obtain an updated feasible boundary threshold.

[0146] In operation S607, operations S602 to S606 are executed cyclically to update the current feasible boundary threshold until all target laser points in the target laser point set are traversed, and the updating of the current feasible boundary threshold is terminated to obtain a final feasible boundary threshold.

[0147] In operation S608 , a final feasible boundary threshold is determined as a movable spatial point boundary value in the j-th laser direction.

[0148] According to the embodiments of the present disclosure, a movable space is constructed based on laser data, which has the advantages of high tolerance to positioning deviations and strong traffic capacity in narrow passage scenarios leading to elevators.

[0149] According to an embodiment of the present disclosure, the above-mentioned control method for the robot also includes: determining an extension vector used to characterize the spatial relationship between the target extension point and the central equivalent point of the above-mentioned target elevator, wherein the above-mentioned target extension point is the point after the above-mentioned target point is extended by a preset length in the negative direction of the longitudinal axis; in the case that the above-mentioned extension vector and the above-mentioned equivalent coordinate vector do not intersect, determining that the above-mentioned robot has completely passed through the above-mentioned elevator door and entered the above-mentioned target elevator.

[0150] According to an embodiment of the present disclosure, after the robot enters an elevator, the space between the robot's tail and the elevator door must be sufficient for passengers to enter and exit the elevator. Whether the space between the robot's tail and the elevator door is sufficient for passengers to enter and exit the elevator is determined by determining whether the target extension point enters the elevator.

[0151] Figure 7 A schematic diagram of an elevator area including a target extension point according to an embodiment of the present disclosure is schematically shown.

[0152] like Figure 7 As shown, the robot's tail is extended by a length S in the negative longitudinal direction to obtain vectors B1B2. The length S is determined based on actual conditions, ensuring that the space between the robot's tail and the elevator door is at least sufficient for passengers to enter the elevator. When both extended vectors B1B2 of the robot's tail enter the elevator, the robot has completed the elevator entry task. Figure 7 Point F is the movable space point inside the elevator; point Gt is the intersection of the robot center point O and vector G2G3; L1 and L2 are the distances from points B1 and B2 to vector G1G4 respectively.

[0153] Figure 8 The flowchart of the method for determining whether the robot has completely entered the elevator according to an embodiment of the present disclosure is schematically shown.

[0154] like Figure 7 and Figure 8 As shown, the method for determining whether the robot has completely entered the elevator in this embodiment includes operations S801 to S808.

[0155] In operation S801 , vectors B1Gt and B2Gt are determined.

[0156] In operation S802, it is determined whether there is an intersection between vectors B1Gt, B2Gt and vector G1G4. If it is determined that there is an intersection between vectors B1Gt, B2Gt and vector G1G4, operation S803 is performed; if it is determined that there is no intersection between vectors B1Gt, B2Gt and vector G1G4, operation S808 is performed.

[0157] In operation S803 , it is determined whether the number of intersection points is 2. If the number of intersection points is 2, operations S804 to S805 are performed; if the number of intersection points is not 2, operations S806 to S807 are performed.

[0158] In operation S804 , the distances between points B1 and B2 and vectors G1 and G4 are determined to obtain L1 and L2 .

[0159] In operation S805 , the maximum value of L1 and L2 is determined as L, so as to determine a forward target point using the L value, and control the robot to move according to the forward target point.

[0160] In operation S806 , a vector intersecting with the vector G1G4 is determined from the vectors B1Gt and B2Gt to obtain an intersecting vector.

[0161] In operation S807, the distance from the point corresponding to the intersection vector to the vector G1G4 is determined to be L, so as to determine the forward target point according to the L value, and control the robot to move according to the forward target point, where L is the maximum length of the robot's tail B1B2 before it enters the elevator.

[0162] In operation S808 , it is determined whether the robot completes the elevator entering task.

[0163] According to an embodiment of the present disclosure, the above-mentioned control method for a robot also includes: before controlling the above-mentioned robot to pass through the above-mentioned elevator door and enter the above-mentioned target elevator, determining a forward target point from the above-mentioned target movable space points according to the above-mentioned target vector set, wherein the direction of the above-mentioned forward target point is the forward direction of the above-mentioned robot.

[0164] It should be noted that the laser data in the embodiments of the present disclosure is acquired periodically, and the movable space and the forward target point are also determined periodically. Therefore, the method of the present disclosure periodically determines the movable space and the forward target point based on the laser data.

[0165] According to an embodiment of the present disclosure, the above-mentioned target vector set includes m target vectors, m≥2; wherein, the above-mentioned determination of the forward target point from the above-mentioned target movable space point based on the above-mentioned target vector set includes: for each target vector in the above-mentioned target vector set, determining the angle of the above-mentioned target vector relative to the reference vector, and obtaining the vector angle value corresponding to the above-mentioned target vector; determining the reference value according to the distance from the above-mentioned target extension point to the above-mentioned equivalent coordinate vector, the vector angle value corresponding to the above-mentioned target vector and the rotation radius of the above-mentioned robot; when the line segment length of the above-mentioned target vector meets the reference value, determining the above-mentioned target movable space point as an alternative forward target point; determining the alternative forward target point corresponding to the minimum vector angle value from the alternative forward target points, and obtaining the above-mentioned forward target point.

[0166] According to an embodiment of the present disclosure, a calculation formula for determining a reference value based on the distance from the target extension point to the equivalent coordinate vector, the vector angle value corresponding to the target vector, and the rotation radius of the robot is as follows: L / cosα+R, wherein L is the distance from the target extension point to the equivalent coordinate vector, that is, the maximum length of the robot's tail B1B2 before it enters the elevator; α is the vector angle value corresponding to the target vector; and R is the rotation radius of the robot.

[0167] Figure 9 The flowchart of the method for determining an alternative forward target point according to an embodiment of the present disclosure is schematically shown.

[0168] Combine Figure 7 and Figure 9 As shown, the determination method of this embodiment includes operations S901 to S907.

[0169] In operation S901 , for each target vector in the target vector set, an angle between the target vector and a reference vector is determined to obtain a vector angle value corresponding to the target vector.

[0170] In operation S902 , a reference value is determined according to a distance from a target extension point to an equivalent coordinate vector, a vector angle value corresponding to a target vector, and a rotation radius of the robot.

[0171] In operation S903, it is determined whether the line segment length of the target vector meets the reference value. If the line segment length of the target vector meets the reference value, operation S904 is performed; if the line segment length of the target vector does not meet the reference value, operation S905 is performed.

[0172] In operation S904 , a target movable spatial point is determined as a candidate forward target point, wherein the target movable spatial point corresponds to a target vector, and then operation S906 is performed.

[0173] In operation S905 , it is determined that the target movable spatial point is not a candidate forward target point, wherein the target movable spatial point corresponds to the target vector, and then operation S906 is performed.

[0174] In operation S906 , each target vector in the target vector set is traversed, and operations S901 to S905 are executed in a loop to obtain a plurality of candidate forward target points.

[0175] In operation S907 , a candidate forward target point corresponding to the minimum vector angle value is determined from a plurality of candidate forward target points to obtain a forward target point.

[0176] According to an embodiment of the present disclosure, the above-mentioned target vector set includes m above-mentioned target vectors, m≥2; wherein, the above-mentioned determination of the forward target point from the above-mentioned target movable space point based on the above-mentioned target vector set includes: for each target vector in the above-mentioned target vector set, determining the angle of the above-mentioned target vector relative to the reference vector, obtaining the absolute value of the angle corresponding to the above-mentioned target vector, and finally obtaining m absolute values ​​of the angle, wherein the above-mentioned reference vector is a vector representing the spatial relationship between the above-mentioned target point and the central equivalent point of the above-mentioned target elevator; according to the above-mentioned m absolute values ​​of the angle, determining the above-mentioned forward target point from the above-mentioned target movable space point.

[0177] According to an embodiment of the present disclosure, determining the above-mentioned forward target point from the above-mentioned target movable space points based on the above-mentioned m angle absolute values ​​includes: determining the angle absolute value with the smallest value from the above-mentioned m angle absolute values ​​to obtain the target angle absolute value; determining the movable space point corresponding to the above-mentioned target angle absolute value from the above-mentioned target movable space points to obtain the above-mentioned forward target point.

[0178] According to an embodiment of the present disclosure, a forward target point is flexibly selected according to the movable space and the reference target point to improve the success rate of the robot entering the elevator.

[0179] According to an embodiment of the present disclosure, the movable space points are traversed to determine whether the vector composed of the robot origin and the movable space points and the vector G1G4 intersect, and the movable space point with the smallest absolute value of the angle with the reference vector among the intersecting movable space points is found as the forward target point to improve the smoothness of the robot entering the elevator.

[0180] According to an embodiment of the present disclosure, the method further includes: according to the forward target point, controlling the robot to pass through the elevator door and enter the target elevator along the forward target point method.

[0181] According to an embodiment of the present disclosure, the above-mentioned control method for the robot also includes: when the feasible distance in the direction of the above-mentioned forward target point is greater than or equal to a preset value, controlling the above-mentioned robot to move in the direction of the above-mentioned forward target point, wherein the above-mentioned preset value is determined based on the speed of the above-mentioned robot, the acceleration of the above-mentioned robot and the distance compensation value.

[0182] According to an embodiment of the present disclosure, the preset value s can be calculated using the following formula: 2 / 2a+s0; where v represents the robot's travel speed, a represents acceleration, and s0 is the distance supplement value. s0 can be configured according to the actual application scenario and robot control accuracy.

[0183] According to an embodiment of the present disclosure, when the feasible distance in the direction of the forward target point is less than a preset value, the robot is controlled to decelerate in time to prevent collision with an obstacle.

[0184] According to an embodiment of the present disclosure, a commonly used path tracing algorithm is used to calculate the travel speed of the robot.

[0185] According to an embodiment of the present disclosure, before entering an elevator, the robot first determines whether the elevator door is open. Only when the elevator door is open will the robot perform the elevator entry task. Then, based on the laser data collected by the robot, the maximum distance the robot can travel in each direction within the covered elevator space is determined, thereby constructing a movable space. When the robot travels to the elevator door, for each movable space point in the movable space, a spatial vector representing the spatial relationship between the target point and the movable space point is determined to obtain multiple spatial vectors. Then, based on the multiple spatial vectors, it is determined whether the movable space meets the conditions for the robot to enter. Only when the movable space meets the entry conditions will the robot continue to perform the elevator entry task. If the movable space does not meet the entry conditions, the robot will not enter the elevator, thereby avoiding situations such as the robot's unnecessary squeezing into the elevator resulting in a poor elevator riding experience, and at the same time helping to improve the robot's elevator entry success rate.

[0186] It should be noted that, unless it is explicitly stated that there is a sequence of execution between different operations shown in the flowchart in the embodiments of the present disclosure, or there is a sequence of execution between different operations in technical implementation, otherwise, the execution order between multiple operations may not be prioritized, and multiple operations may also be executed simultaneously.

[0187] Based on the above control method for a robot, the present disclosure also provides a control device for a robot. Figure 10 The device is described in detail.

[0188] Figure 10 The structural block diagram of the control device for a robot according to an embodiment of the present disclosure is schematically shown.

[0189] like Figure 10 As shown, the control device 1000 for a robot in this embodiment includes a first control module 1010 , a first determination module 1020 , a second determination module 1030 and a second control module 1040 .

[0190] The first control module 1010 is used to control the robot to move to the target elevator waiting position corresponding to the target elevator. In one embodiment, the first control module 1010 can be used to perform the operation S210 described above, which will not be repeated here.

[0191] The first determination module 1020 is configured to, upon determining that the door of the target elevator is open, determine a movable space based on the laser data collected by the robot, wherein the movable space is formed by n movable space points, where n ≥ 1. In one embodiment, the first determination module 1020 may be configured to perform operation S220 described above, which will not be further described here.

[0192] The second determination module 1030 is configured to determine, for each of the n movable spatial points, a spatial vector representing the spatial relationship between the target point and the movable spatial point, thereby obtaining n spatial vectors, wherein the target point is located on the robot. In one embodiment, the second determination module 1030 may be configured to perform operation S230 described above, which is not further described here.

[0193] The second control module 1040 is configured to control the movement state of the robot according to the n space vectors. In one embodiment, the second control module 1040 may be configured to execute the operation S240 described above, which will not be described in detail herein.

[0194] According to an embodiment of the present disclosure, the second control module includes: a screening submodule and a control submodule.

[0195] A screening submodule is used to screen target vectors that intersect with the equivalent coordinate vectors of the elevator door from the n spatial vectors when the robot moves to a specified point, so as to obtain a target vector set, wherein the equivalent coordinate vectors are coordinate vectors used to characterize the spatial relationship between equivalent points on the elevator door, and the specified point is located outside the target elevator and close to the elevator door groove of the target elevator.

[0196] A control submodule is used to control the robot to enter the target elevator through the elevator door when the distance from the intersection point between the above-mentioned target vector and the above-mentioned equivalent coordinate vector to the target movable space point meets a preset distance condition, wherein the above-mentioned target movable space point corresponds to the above-mentioned target vector.

[0197] According to an embodiment of the present disclosure, the laser data includes angle data of the laser point.

[0198] According to an embodiment of the present disclosure, the first determination module includes: a first determination submodule, an extraction submodule and a second determination submodule.

[0199] A first determination submodule is configured to determine, based on the angle data of the laser points, laser points that meet a preset angle threshold, to obtain a target laser point set, wherein the preset angle threshold includes a movable space determined based on the laser points within the preset angle threshold, and can cover an elevator area of ​​the target elevator.

[0200] The extraction module is used to extract the laser data corresponding to the target laser point set from the laser data to obtain the target laser data.

[0201] The second determining submodule is used to determine the movable space according to the target laser data.

[0202] According to an embodiment of the present disclosure, the target laser point set includes k target laser points, where k≥1.

[0203] According to an embodiment of the present disclosure, the second determining submodule includes: a first determining unit, a second determining unit, and a third determining unit.

[0204] The first determining unit is configured to determine, in the coordinate system of the robot, for each target laser point in the target laser point set, a direction of the target laser point, and obtain a laser direction corresponding to the target laser point.

[0205] The second determining unit is used to determine the boundary value of the movable space point in the above-mentioned laser direction, and obtain k of the above-mentioned movable space point boundary values.

[0206] The third determining unit is used to determine the movable space according to the k boundary values ​​of the movable space points.

[0207] According to an embodiment of the present disclosure, the second determining unit includes: a first determining subunit, a second determining subunit, an acquiring subunit, an updating subunit, a traversing subunit and a third determining subunit.

[0208] The first determining subunit is used to determine the angle of the laser direction relative to the reference axis in the coordinate system of the robot to obtain a target angle.

[0209] The second determining subunit is configured to determine, for an i-th target laser point in the target laser point set, an i-th lateral distance corresponding to the i-th target laser point when the i-th target laser point is rotated by the target angle, where 1≤i≤k.

[0210] The acquisition subunit is used to obtain the vertical coordinate value of the above-mentioned i-th target laser point when the above-mentioned i-th lateral distance is less than a preset lateral distance threshold, wherein the above-mentioned preset lateral distance threshold represents the lateral obstacle reference range of the above-mentioned robot.

[0211] The updating subunit is configured to update the current feasible boundary threshold using the ordinate value of the i-th target laser point when the ordinate value of the i-th target laser point is less than the current feasible boundary threshold, so as to obtain an updated feasible boundary threshold.

[0212] The traversal subunit is used to traverse the above-mentioned target laser point set, cyclically execute the operations performed by the second determination subunit, the acquisition subunit, and the update subunit to cyclically update the current feasible boundary threshold until the target laser points in the above-mentioned target laser point set are traversed, and then end the update of the current feasible boundary threshold to obtain a final feasible boundary threshold.

[0213] The third determining subunit is configured to determine the final feasible boundary threshold as a boundary value of a movable space point in the laser direction.

[0214] According to an embodiment of the present disclosure, the control device for a robot further includes: a third determination module and a fourth determination module.

[0215] The third determination module is used to determine an extension vector used to characterize the spatial relationship between the target extension point and the central equivalent point of the above-mentioned target elevator, wherein the above-mentioned target extension point is a point after the above-mentioned target point is extended in the negative direction of the longitudinal axis by a preset length.

[0216] The fourth determining module is configured to determine that the robot has completely passed through the elevator door and entered the target elevator when the extended vector and the equivalent coordinate vector do not intersect.

[0217] According to an embodiment of the present disclosure, the above-mentioned control device for a robot further includes a fifth determination module.

[0218] The fifth determination module is used to determine a forward target point from the target movable space points according to the target vector set before controlling the robot to pass through the elevator door and enter the target elevator, wherein the direction of the forward target point is the forward direction of the robot.

[0219] According to an embodiment of the present disclosure, the target vector set includes m target vectors, where m≥2.

[0220] According to an embodiment of the present disclosure, the fifth determination module includes: a third determination submodule and a fourth determination submodule.

[0221] The third determination submodule is used to determine, for each target vector in the target vector set, the angle of the target vector relative to the reference vector, obtain the absolute value of the angle corresponding to the target vector, and ultimately obtain m absolute values ​​of the angle, wherein the reference vector is a vector representing the spatial relationship between the target point and the center equivalent point of the target elevator.

[0222] The fourth determination submodule is used to determine the forward target point from the target movable space points based on the m absolute values ​​of the angles.

[0223] According to an embodiment of the present disclosure, the fourth determining submodule includes: a fourth determining unit and a fifth determining unit.

[0224] The fourth determining unit is used to determine the minimum absolute value of the angle from the m absolute values ​​of the angles to obtain the target absolute value of the angle.

[0225] The fifth determining unit is used to determine the movable space point corresponding to the absolute value of the target angle from the target movable space points to obtain the forward target point.

[0226] According to an embodiment of the present disclosure, the target vector set includes m target vectors, m≥2

[0227] According to an embodiment of the present disclosure, the fifth determining module includes: the fifth determining submodule, a sixth determining submodule, a seventh determining submodule, and an eighth determining submodule.

[0228] The fifth determination submodule is used to determine, for each target vector in the target vector set, an angle between the target vector and the reference vector, and obtain a vector angle value corresponding to the target vector.

[0229] The sixth determination submodule is used to determine a reference value according to the distance from the target extension point to the equivalent coordinate vector, the vector angle value corresponding to the target vector, and the rotation radius of the robot.

[0230] The seventh determination submodule is used to determine the target movable space point as a candidate forward target point when the line segment length of the target vector meets the reference value.

[0231] The eighth determination submodule is used to determine the candidate forward target point corresponding to the minimum vector angle value from the candidate forward target points to obtain the above-mentioned forward target point.

[0232] According to an embodiment of the present disclosure, the above-mentioned control submodule is also used to control the above-mentioned robot to move in the direction where the above-mentioned forward target point is located when the feasible distance in the direction where the above-mentioned forward target point is located is greater than or equal to a preset value, wherein the above-mentioned preset value is determined based on the speed of the above-mentioned robot, the acceleration of the above-mentioned robot and the distance compensation value.

[0233] It should be noted that the embodiments of the device part of the present disclosure are the same or similar to the embodiments of the method part of the present disclosure, and the present disclosure will not repeat them here.

[0234] According to the modules, submodules, units, and subunits of the embodiments of the present invention, any multiple or at least part of the functions of any multiple thereof can be implemented in one module. According to the modules, submodules, units, and subunits of the embodiments of the present invention, any one or more thereof can be split into multiple modules for implementation. According to the modules, submodules, units, and subunits of the embodiments of the present invention, any one or more thereof can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware of any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation modes of software, hardware, and firmware or in an appropriate combination of any of them. Alternatively, according to the modules, submodules, units, and subunits of the embodiments of the present invention, one or more thereof can be at least partially implemented as a computer program module, which can perform the corresponding function when the computer program module is run.

[0235] For example, any multiple of the first control module 1010, the first determination module 1020, the second determination module 1030, and the second control module 1040 can be combined into one module / unit / sub-unit for implementation, or any one of the modules / units / sub-units can be split into multiple modules / units / sub-units. Alternatively, at least part of the functions of one or more of these modules / units / sub-units can be combined with at least part of the functions of other modules / units / sub-units and implemented in one module / unit / sub-unit. According to an embodiment of the present disclosure, at least one of the first control module 1010, the first determination module 1020, the second determination module 1030, and the second control module 1040 can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or can be implemented by hardware or firmware such as any other reasonable way of integrating or packaging the circuit, or implemented in any one of the three implementation modes of software, hardware, and firmware, or in an appropriate combination of any of them. Alternatively, at least one of the first control module 1010 , the first determination module 1020 , the second determination module 1030 and the second control module 1040 may be at least partially implemented as a computer program module, which may perform corresponding functions when executed.

[0236] Figure 11 A block diagram of an electronic device suitable for implementing the above-described method according to an embodiment of the present disclosure is schematically shown. Figure 11The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0237] like Figure 11 As shown, the electronic device 1100 according to an embodiment of the present disclosure includes a processor 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage part 1108 into a random access memory (RAM) 1103. The processor 1101 may, for example, include a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1101 may also include an onboard memory for caching purposes. The processor 1101 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0238] Various programs and data required for the operation of the electronic device 1100 are stored in the RAM 1103. The processor 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. The processor 1101 performs various operations of the method flow according to the embodiment of the present disclosure by executing the programs in the ROM 1102 and / or the RAM 1103. It should be noted that the programs may also be stored in one or more memories other than the ROM 1102 and the RAM 1103. The processor 1101 may also perform various operations of the method flow according to the embodiment of the present disclosure by executing the programs stored in the one or more memories.

[0239] According to an embodiment of the present disclosure, electronic device 1100 may further include an input / output (I / O) interface 1105, which is also connected to bus 1104. System 1100 may also include one or more of the following components connected to I / O interface 1105: an input section 1106 including a keyboard, mouse, etc.; an output section 1107 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 1108 including a hard disk; and a communication section 1109 including a network interface card such as a LAN card or a modem. Communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to I / O interface 1105 as needed. Removable media 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in drive 1110 as needed, so that computer programs read from the removable media can be installed into storage section 1108 as needed.

[0240] According to an embodiment of the present disclosure, the method flow according to an embodiment of the present disclosure can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1109, and / or installed from the removable medium 1111. When the computer program is executed by the processor 1101, the above-mentioned functions defined in the system of the embodiment of the present disclosure are executed. According to an embodiment of the present disclosure, the system, equipment, device, module, unit, etc. described above can be implemented by a computer program module.

[0241] The present disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not be incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, and when executed, implements the method according to the embodiments of the present disclosure.

[0242] According to an embodiment of the present disclosure, a computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include, but is not limited to: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0243] For example, according to an embodiment of the present disclosure, the computer-readable storage medium may include the ROM 1102 and / or the RAM 1103 described above and / or one or more memories other than the ROM 1102 and the RAM 1103 .

[0244] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0245] Those skilled in the art will appreciate that various combinations and / or combinations of features described in the various embodiments and / or claims of this disclosure may be made, even if such combinations or combinations are not explicitly described in this disclosure. In particular, various combinations and / or combinations of features described in the various embodiments and / or claims of this disclosure may be made, without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.

[0246] The embodiments of the present disclosure are described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although each embodiment has been described separately above, this does not mean that the measures in each embodiment cannot be used in combination to advantage. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present disclosure.

Claims

1. A control method for a robot, comprising: Control the robot to move to the target elevator waiting position corresponding to the target elevator; When it is determined that the door of the target elevator is open, a movable space is determined according to the laser data collected by the robot, wherein the movable space is formed by n movable space points, wherein n≥1; For each of the n movable spatial points, determining a spatial vector for characterizing a spatial relationship between a target point and the movable spatial point, to obtain n spatial vectors, wherein the target point is located on the robot; and Controlling the movement state of the robot according to the n space vectors; Wherein, controlling the movement state of the robot according to the n space vectors comprises: When the robot moves to a designated point, a target vector intersecting with an equivalent coordinate vector of the elevator door is selected from the n space vectors to obtain a target vector set, wherein the equivalent coordinate vector is a coordinate vector used to characterize a spatial relationship between equivalent points on the elevator door, and the designated point is located outside the target elevator and close to a door groove of the target elevator; When the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable space point meets a preset distance condition, the robot is controlled to enter the target elevator through the elevator door, wherein the target movable space point corresponds to the target vector.

2. The method according to claim 1, wherein: The laser data includes angle data of the laser point; Determining the movable space according to the laser data collected by the robot comprises: Determining laser points that meet a preset angle threshold according to the angle data of the laser points to obtain a target laser point set, wherein the preset angle threshold includes a movable space determined according to the laser points within the preset angle threshold, and can cover an elevator area of ​​the target elevator; Extracting laser data corresponding to the target laser point set from the laser data to obtain target laser data; The movable space is determined according to the target laser data.

3. The method according to claim 2, wherein: The target laser point set includes k target laser points, where k ≥ 1; Wherein, determining the movable space according to the target laser data comprises: In the coordinate system of the robot, for each target laser point in the target laser point set, determining the direction of the target laser point, and obtaining the laser direction corresponding to the target laser point; Determine the boundary value of the movable space point in the laser direction to obtain k boundary values ​​of the movable space point; The movable space is determined according to k boundary values ​​of the movable space points.

4. The method according to claim 3, wherein: Determining the boundary value of the movable space point in the laser direction includes: Operation S1, determining the angle of the laser direction relative to the reference axis in the coordinate system of the robot to obtain a target angle; Operation S2, for an i-th target laser point in the target laser point set, determining an i-th lateral distance corresponding to the i-th target laser point when the i-th target laser point is rotated by the target angle, wherein 1≤i≤k; Operation S3, when the i-th lateral distance is less than a preset lateral distance threshold, obtaining a ordinate value of the i-th target laser point, wherein the preset lateral distance threshold represents a lateral obstacle reference range of the robot; Operation S4, when the ordinate value of the i-th target laser point is less than the current feasible boundary threshold, the current feasible boundary threshold is updated using the ordinate value of the i-th target laser point to obtain an updated feasible boundary threshold; Operation S5, traversing the target laser point set, cyclically executing operations S2 to S4 to cyclically update the current feasible boundary threshold value, until the target laser points in the target laser point set are traversed, and then the updating of the current feasible boundary threshold value is terminated to obtain a final feasible boundary threshold value; Operation S6: determining the final feasible boundary threshold as a boundary value of the movable space point in the laser direction.

5. The method according to claim 1, further comprising: Determine an extension vector for characterizing a spatial relationship between a target extension point and a central equivalent point of the target elevator, wherein the target extension point is a point after the target point is extended in the negative direction of the longitudinal axis by a preset length; When the extended vector and the equivalent coordinate vector do not intersect, it is determined that the robot has completely passed through the elevator door and entered the target elevator.

6. The method according to claim 5, further comprising: Before controlling the robot to enter the target elevator through the elevator door, a forward target point is determined from the target movable space points according to the target vector set, wherein the direction of the forward target point is the forward direction of the robot.

7. The method according to claim 6, wherein: The target vector set includes m target vectors, m≥1; Wherein, determining the forward target point from the target movable space point according to the target vector set comprises: For each target vector in the target vector set, determine the angle of the target vector relative to a reference vector, obtain the absolute value of the angle corresponding to the target vector, and finally obtain m absolute values ​​of the angle, wherein the reference vector is a vector representing the spatial relationship between the target point and the central equivalent point of the target elevator; The forward target point is determined from the target movable space points according to the m absolute values ​​of the angles.

8. The method according to claim 7, wherein: Determining the forward target point from the target movable space point according to the m absolute values ​​of the angles comprises: Determine the minimum absolute value of the angle from the m absolute values ​​of the angles to obtain a target absolute value of the angle; From the target movable space points, determine the movable space point corresponding to the absolute value of the target angle to obtain the forward target point.

9. The method according to claim 6, wherein: The target vector set includes m target vectors, m≥1; Wherein, determining the forward target point from the target movable space point according to the target vector set comprises: For each target vector in the target vector set, determining an angle between the target vector and a reference vector to obtain a vector angle value corresponding to the target vector; Determine a reference value according to the distance from the target extension point to the equivalent coordinate vector, the vector angle value corresponding to the target vector, and the rotation radius of the robot; In the case where the line segment length of the target vector meets the reference value, determining the target movable space point as a candidate forward target point; Determine the candidate forward target point corresponding to the minimum vector angle value from the candidate forward target points to obtain the forward target point.

10. The method according to claim 6, further comprising: When the feasible distance in the direction where the forward target point is located is greater than or equal to a preset value, the robot is controlled to move in the direction where the forward target point is located, wherein the preset value is determined based on the speed of the robot, the acceleration of the robot and the distance compensation value.

11. A control device for a robot, comprising: A first control module is used to control the robot to move to a target elevator waiting position corresponding to a target elevator; A first determination module is used to determine a movable space according to laser data collected by the robot when it is determined that the door of the target elevator is open, wherein the movable space is formed by n movable space points, wherein n≥1; a second determining module, configured to determine, for each of the n movable spatial points, a spatial vector used to characterize a spatial relationship between a target point and the movable spatial point, to obtain n said spatial vectors, wherein the target point is located on the robot; and A second control module, used for controlling the movement state of the robot according to the n space vectors; Wherein, the second control module includes: a screening submodule, configured to screen a target vector intersecting with an equivalent coordinate vector of the elevator door from the n space vectors when the robot moves to a designated point, to obtain a target vector set, wherein the equivalent coordinate vector is a coordinate vector used to characterize a spatial relationship between equivalent points on the elevator door, and the designated point is located outside the target elevator and close to a groove of the elevator door of the target elevator; A control submodule is used to control the robot to enter the target elevator through the elevator door when the distance from the intersection point between the target vector and the equivalent coordinate vector to the target movable space point meets a preset distance condition, wherein the target movable space point corresponds to the target vector.

12. An electronic device comprising: one or more processors; a memory for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 10.

13. A computer-readable storage medium having executable instructions stored thereon, which, when executed by a processor, enables the processor to implement the method according to any one of claims 1 to 10.

14. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.

Citation Information

Patent Citations

  • Real-time detection method and device for passable area, terminal and storage medium

    CN114200472A