Robot movement control method and apparatus based on unidirectional path
By obtaining the current location information of the robot on the one -way path and generating a mobile instruction, the robot moves the complexity and collision problem on the one -way path, and achieves high -efficiency and secure robot movements.
Patent Information
- Application Number
- PCT/CN2024/106825
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-21
- Filing Date
- 2024-07-22
- Publication Date
- 2025-01-30
AI Technical Summary
In one-way path application scenarios, robots need to decelerate frequently and accelerate, resulting in complex movement control and difficult to effectively prevent collisions between robots, affecting traffic efficiency and safety.
By obtaining the current location information of the robot, the mobile instructions are generated based on the planning path, including the information of the movement direction and the instruction point to avoid collision. This method uses the topological map data to generate a planning path, and through the generation of non -cross -directional point and cross -conversion point instructions, the robot's efficient movement on one -way path.
Improve the operating efficiency of the robot, reduce frequent deceleration and acceleration, effectively prevent collisions between robots, improve the efficiency and safety of traffic, and achieve lightweight control.
Smart Images

Figure CN2024106825_30012025_PF_FP_ABST
Abstract
Description
Robot movement control method and device based on unidirectional path Technical Field
[0001] The present application relates to the field of robot control, and in particular, to robot movement control based on a unidirectional path. Background Art
[0002] As robots become more intelligent, they are increasingly being used in various industries. Different application scenarios require different robot control methods.
[0003] Take the one-way path application scenario as an example. For a robot moving on a one-way path, while the robot is relatively fast, it needs to slow down when passing right-angle turns and direction changes, and then speed up again afterward. This makes the robot's movement control very complex. Therefore, efficient and reasonable movement control of robots based on one-way paths is particularly important.
[0004] Summary of the Invention
[0005] The present application provides a robot movement control method based on a unidirectional path to improve the operation efficiency of the robot.
[0006] The first aspect of the present application provides a robot movement control method based on a unidirectional path, the method comprising: obtaining the current position information of the robot; based on the planned path, generating a movement instruction for the robot to execute the planned path to be traveled according to the current position information, wherein the planned path includes one or more unidirectional paths, and the movement instruction includes the movement direction of the robot and the information of the instruction point, the instruction point being the end position point of the protection space corresponding to the protection space for avoiding collision of the robot on the planned path to be traveled; issuing the generated movement instruction to the robot so that the robot moves to the instruction point in the movement direction of the movement instruction.
[0007] In some embodiments, the planned path is generated as follows: topological map data of the track is obtained, wherein the topological map data is used to represent the topological map and includes topological map point information for representing topological map points and topological line information for describing a one-way path, and the topological line is a directed line segment for connecting two topological map points; based on the topological map data, the planned path is generated according to the current position point and the target position point represented by the current position information of the robot, wherein the planned path includes information indicating the topological map points that the robot needs to pass through in sequence, the moving direction through the topological map points, and reversing information indicating whether reversing is required at the topological map points.
[0008] In some embodiments, based on the topological map data, the planned path is generated according to the current position point represented by the current position information of the robot and the target position point, including: detecting whether the target position point is located on the topological map, and detecting whether the current position point of the robot is located on the topological map; when the target position point and the current position point of the robot are both located on the topological map, generating the shortest planned path from the current position point to the topological map point or topological line where the target position point is located.
[0009] In some embodiments, obtaining the current position information of the robot includes: receiving the position information reported by the robot; fitting the received position information based on the topological map point information and the topological line information in the topological map data, and using the information representing the fitting position point fitted to the topological map point or topological line in the topological map as the current position information.
[0010] In some embodiments, based on the planned path and according to the current position information, a movement instruction for executing the planned path to be traveled is generated for the robot, including: determining the protection space information corresponding to the movement instruction to be generated based on the protection space information of other robots in the track except the robot, the current position information of the robot and the planned path; determining the information of the instruction point in the movement instruction to be generated based on the current position information and the protection space information of the robot; and determining the moving direction in the movement instruction to be generated based on the current position information and the planned path.
[0011] In some embodiments, the current position information reported by the robot is reported at a set frequency, and the movement instructions are generated at a set time interval; the movement instructions include: at least one of: a non-cross-reversal point instruction for controlling the robot to move on a path without a reversal point, and a cross-reversal point instruction for controlling the robot to reverse at a reversal point.
[0012] In some embodiments, the non-cross-reversing point instruction is generated in the following manner: the non-cross-reversing point instruction is generated based on the protection space information of other robots in the track except the robot and the planned path to be traveled determined based on the current position information of the mobile robot.
[0013] In some embodiments, the cross-reversal point instruction is generated in the following manner: the cross-reversal point instruction is generated according to the reversal point information in the planned path of the robot and the current position information of the robot.
[0014] In some embodiments, generating the non-crossing reversal point instruction based on the protection space information of other robots in the track except the robot and the planned path to be traveled determined based on the current position information of the mobile robot includes:
[0015] According to the current position information of the robot, extending along the planned path to be traveled, determining a reversal point closest to the current position point represented by the current position information, and calculating the distance between the current position point and the reversal point;
[0016] When the distance between the current position point and the reversal point is less than or equal to a first distance threshold, generating an incremental protection space for the robot from the last generated instruction point to the reversal point;
[0017] When the distance between the current position point and the reversal point is greater than the first distance threshold, generating for the robot an incremental protection space extending from the last generated instruction point to the current position point along the planned path to be traveled to the position point at which the first distance threshold is located;
[0018] Performing collision detection on the incremental protection space and the protection spaces of all other robots;
[0019] If there is no collision, an incremental instruction is generated, the protection space of the incremental instruction is the incremental protection space, and the instruction point of the incremental instruction is located at the corresponding terminal position point of the incremental protection space on the planned path to be traveled;
[0020] If there is a collision, the incremental protection space is trimmed to remove the collision space to obtain a trimmed incremental protection space, and an incremental instruction is generated based on the position point corresponding to the trimmed incremental protection space. The protection space of the incremental instruction is the trimmed incremental protection space, and the instruction point of the incremental instruction is the terminal position point corresponding to the trimmed incremental protection space on the planned path to be traveled;
[0021] If the instruction point of the incremental instruction is located after the instruction point generated last time, the incremental instruction is used to replace the movement instruction generated last time, and the incremental instruction is used as the non-crossing reversing point instruction. The incremental protection space of the incremental instruction is spliced after the protection space of the movement instruction generated last time, and the protection space that has been traveled is cut off according to the current position point to obtain the protection space of the non-crossing reversing point instruction. The protection space is used as the instruction point of the non-crossing reversing point instruction at the terminal position of the planned path to be traveled;
[0022] If the instruction point of the incremental instruction is before the instruction point generated last time, the last generated instruction will not be replaced. The incremental instruction will be used as a non-cross-reversing point instruction. The protection space that has been traveled will be cut off according to the current position to obtain the protection space of the non-cross-reversing point instruction. The end position point of the planned path to be traveled in the protection space will be used as the instruction point of the non-cross-reversing point instruction.
[0023] In some embodiments, the method further comprises:
[0024] When the distance between the current position point and the last generated instruction point is greater than the set second distance threshold, the last generated instruction point is used as the instruction point of the movement instruction, and the protection space that has been traveled is cut off according to the current position point to obtain the protection space of the movement instruction.
[0025] In some embodiments, generating the cross-reversal point instruction according to the reversal point information in the planned path to be traveled by the robot and the current position information of the robot includes:
[0026] When the last generated instruction point is any first reversal point among the reversal points included in the planned path, and the distance between the current position point represented by the current position information of the robot and the first reversal point is less than a third distance threshold, extending the planned path to be traveled from the first reversal point to a fourth distance threshold;
[0027] If there is a second reversal point within the extended distance, an incremental instruction is generated, wherein the instruction point of the incremental instruction is the midpoint between the first reversal point and the second reversal point, and the incremental protection space of the incremental instruction is from the first reversal point to the midpoint;
[0028] If there is no second turning point within the extended distance, an incremental instruction is generated, where the instruction point of the incremental instruction is a position extending from the first turning point along the planned path to be traveled to the position at the fourth distance threshold, and the incremental protection space is from the first turning point to the instruction point of the incremental instruction;
[0029] Performing collision detection between the incremental protection space of the incremental instruction and the protection spaces of all other robots in the track;
[0030] If there is a collision, the incremental protection space is trimmed to remove the collision space to obtain a trimmed incremental protection space, and the trimmed incremental protection space is used to update the protection space of the incremental instruction. The terminal position corresponding to the updated protection space on the planned path to be traveled is the instruction point of the incremental instruction;
[0031] If the command point of the incremental command is located after the first reversing point, then:
[0032] Check whether the last generated movement instruction has a post-reversal instruction. If there is no post-reversal instruction, use the incremental instruction as the post-reversal instruction, and splice the incremental protection space of the incremental instruction to the protection space of the last generated movement instruction. Then, use the terminal position point corresponding to the spliced protection space on the planned path to be traveled as the instruction point of the incremental instruction to obtain a cross-reversal point instruction;
[0033] If there is a post-reversal instruction, the incremental protection space of the incremental instruction is spliced to the protection space of the post-reversal instruction, and the corresponding terminal position point of the spliced protection space on the planned path to be traveled is used as the instruction point of the incremental instruction to obtain a cross-reversal point instruction.
[0034] In some embodiments, the method further comprises:
[0035] Priority traffic control is performed at topological map points where two or more one-way paths converge;
[0036] The priority traffic control is performed at a topological map point where two or more unidirectional paths converge, including:
[0037] determining one or more robots to be reversed that are within a fifth distance threshold from the reversing point, wherein the one or more robots to be reversed include the robot;
[0038] For each of the one or more robots to be switched,
[0039] Checking whether the planned walking path of the robot to be reversed includes the reversal point and whether the distance between the reversal point and the current position point represented by the current position information is less than a sixth distance threshold, and checking whether there is an instruction in the movement instruction with the instruction point being the reversal point;
[0040] If yes, a blocked space centered at the reversing point is generated for the robot to be reversed, and the moving direction of the robot to be reversed is used as the direction corresponding to the blocked space;
[0041] Detecting whether the blocked space collides with the protected spaces of other robots in the track;
[0042] If there is a collision, the first incremental protection space or the second incremental protection space is allowed to collide with the blocked space, wherein the first incremental protection space is the incremental protection space of the robot to be reversed that blocks the blocked space, and the second incremental protection space is the incremental protection space of another robot whose current moving direction is about to pass through the blocked space and whose current moving direction is consistent with the direction of the blocked space;
[0043] The incremental protection spaces of other robots in the track except the robot to be commuted and the another robot are prohibited from colliding with the blocked space.
[0044] In some embodiments, fitting the received location information based on the topological map points and the topological lines in the topological map data includes:
[0045] In the absence of historical local positioning results or when local positioning is impossible, global positioning is used for fitting.
[0046] When the robot moves normally, local positioning is used for fitting.
[0047] Wherein, the global positioning method includes: traversing all topological map points in the topological map, calculating the distance between the current position point and the topological map point represented by the received current position information, and if the distance is within a seventh distance threshold, using the topological map point as the fitting position; in the case of failure to fit to the topological map point, traversing all topological lines in the topological map, expanding the topological lines to both sides to a set range, and if the current position point is within the range, using the topological line as the fitting position, and obtaining the direction information of the topological line as the positioning direction of the robot;
[0048] The local positioning method includes: when the robot currently has the planned path, traversing the topological map points included in the planned path, calculating the distance between the current position point and the topological map point, if the distance is within the seventh distance threshold, using the topological map point as the fitting position, and when fitting to the topological map point in the planned path fails, traversing all topological lines in the planned path, expanding the topological lines to both sides to a set range, if the current position point is within the range, using the topological line as the fitting position, and obtaining the direction information of the topological line as the positioning direction of the robot, and when fitting to both the topological map point and the topological line in the planned path fails, fitting the current position point to the adjacent point or adjacent edge in the last positioning result according to the last positioning result, and if fitting fails, re-fitting is performed using the global positioning method.
[0049] A second aspect of the present application provides a robot movement control device based on a unidirectional path, the device comprising:
[0050] Positioning module, used to obtain the current location information of the robot;
[0051] a movement instruction generation module, configured to generate, based on the planned path and the current position information, a movement instruction for the robot to execute the movement of the planned path to be traveled, wherein the planned path includes one or more unidirectional paths, and the movement instruction includes information about the movement direction of the robot and an instruction point, where the instruction point is a protection space end position point corresponding to a protection space for avoiding collisions of the robot on the planned path to be traveled;
[0052] The sending module is used to send the generated movement instruction to the robot, so that the robot moves to the instruction point in the moving direction of the movement instruction.
[0053] A third aspect of the present application provides a scheduling system for controlling the movement of a robot, the scheduling system comprising the aforementioned control device.
[0054] A fourth aspect of the present application provides a scheduling system for controlling the movement of a robot, comprising: a memory storing a computer program and a processor, wherein the processor is configured to execute the computer program to implement the aforementioned method.
[0055] A fifth aspect of the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program implements the aforementioned method when executed by a processor.
[0056] An embodiment of the present application provides a robot movement control method based on a one-way path. The method generates a movement instruction at an instruction point corresponding to the planned path to be traveled, including the movement direction of the robot and protection space information for avoiding collisions of the robot, so that the robot can move to the instruction point in the movement direction of the movement instruction. Since the instruction points of the movement instruction are all located in the planned path to be traveled, the movement instruction can be generated and issued in advance, avoiding frequent deceleration or acceleration of the robot. By protecting the space information, collisions between robots are effectively prevented, thereby improving the travel efficiency and safety of the robot. In addition, since the movement instruction only needs to carry instruction point information and movement direction, lightweight control of the robot can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] FIG1 is a flow chart of a robot movement control method based on a unidirectional path provided in an embodiment of the present application.
[0058] FIG2 is an example diagram of a three-dimensional track of a three-dimensional sorting system provided in an embodiment of the present application.
[0059] FIG3 is a schematic diagram of a topological map drawn for the three-dimensional track of FIG2 .
[0060] FIG4 is a schematic diagram of a global positioning method provided in an embodiment of the present application.
[0061] FIG5 is a flow chart of a local positioning method provided in an embodiment of the present application.
[0062] FIG6 is a flow chart of a robot movement control method based on a unidirectional path according to an embodiment of the present application.
[0063] FIG7 is a flow chart showing a process of generating a non-cross-reversal point instruction according to an embodiment of the present application.
[0064] FIG8 is an example diagram of incremental protection space generation according to an embodiment of the present application.
[0065] FIG9 is an example diagram of generating a non-cross-reversal point instruction according to an embodiment of the present application.
[0066] FIG10 is another example diagram of generating a non-cross-reversal point instruction according to an embodiment of the present application.
[0067] FIG11 is a flow chart of generating a cross-reversal point instruction based on a planned path according to an embodiment of the present application.
[0068] 12A to 12D are exemplary diagrams of generating a cross-reversal point instruction according to an embodiment of the present application.
[0069] FIG13 is a schematic diagram of traffic control at a switching point.
[0070] FIG14 is a schematic diagram of priority control according to an embodiment of the present application.
[0071] FIG15 is a schematic diagram of a control device of a robot based on a one-way path according to the present application.
[0072] FIG16 is a schematic diagram of a control device or scheduling system for a robot based on a one-way path according to the present application. DETAILED DESCRIPTION
[0073] In order to make the purpose, technical means and advantages of this application clearer, the application is further described in detail below with reference to the accompanying drawings.
[0074] Referring to FIG. 1 , FIG. 1 is a flow chart illustrating a method for controlling robot movement based on a one-way path according to an embodiment of the present application. This method can be applied to a scheduling system. For example, in a smart warehouse, the scheduling system can be a server that controls all robots in the warehouse. The method includes steps 101-103.
[0075] Step 101: Obtain the current position information of the robot.
[0076] As an example, the scheduling system receives the location information reported by the robot, fits the received location information based on the topological map points and topological lines in the topological map data, and uses the fitted position of the topological map point or topological line as the current location information, which is the topological positioning information.
[0077] Step 102 : Based on the planned path and according to the current position information, a movement instruction is generated for the robot to execute the movement of the planned path.
[0078] Among them, the planned path includes one or more unidirectional paths, and the movement instruction includes: the movement direction of the robot and the information of the instruction point. The instruction point is the protection space used to avoid collision of the robot, and the corresponding protection space end position point on the planned path to be traveled. The information of the instruction point can be a topological position information, that is, the position information of the protection space at the protection space end position corresponding to the planned path to be traveled. The protection space information can be three-dimensional space information, two-dimensional space information, or one-dimensional space information, which can be determined according to the application scenario.
[0079] In an embodiment of the present application, a planned path is generated as follows: topological map data of a track is obtained, wherein the topological map data is used to represent a topological map and includes topological map point information for representing topological map points and topological line information for describing a one-way path, and the topological line is a directed line segment for connecting two topological map points; based on the topological map data, the planned path is generated according to the current position point and the target position point represented by the current position information of the robot, wherein the planned path includes information indicating the topological map points that the robot needs to pass through in sequence, the moving direction through the topological map points, and reversing information indicating whether reversing is required at the topological map points.
[0080] As an example, for any robot in the track, the movement instructions that need to be generated are determined based on the planned path of the robot.
[0081] In an embodiment of the present application, based on the planned path and according to the current position information, a movement instruction for executing the planned path to be traveled is generated for the robot, including: determining the protection space information of the movement instruction to be generated based on the protection space information of other robots in the track other than the robot, the current position information of the robot and the planned path; determining the information of the instruction point in the movement instruction to be generated based on the current position information of the robot and the protection space information of the movement instruction; and determining the moving direction in the movement instruction to be generated based on the current position information and the planned path.
[0082] In the embodiment of the present application, the current position reported by the robot is reported at a set frequency, that is, the movement instructions are generated at a set time interval. For example, the set frequency is not less than 200ms each time.
[0083] As an example, the movement instruction includes at least one of a non-cross-reversal point instruction for controlling the robot to move on a path without a reversal point and a cross-reversal point instruction for controlling the robot to reverse at a reversal point.
[0084] Among them, the non-crossing reversing point instruction is generated in the following way: for any robot, the non-crossing reversing point instruction is generated based on the protection space information of other robots in the track except the robot, and the planned path to be traveled determined according to the current position information of the robot.
[0085] The cross-reversal point instruction is generated in the following manner: for any robot, the cross-reversal point instruction is generated according to the reversal point information in the planned path to be traveled by the robot and the current position information of the robot.
[0086] Step 103: Send the generated movement instruction to the robot, so that the robot moves to the instruction point in the movement direction of the movement instruction.
[0087] The embodiment of the present application achieves fine control of the robot by generating movement instructions for the robot to execute the planned path to be traveled, including instruction point information and movement direction, so that collisions between robots do not occur. During movement, the robot can run quickly according to the movement instructions without acceleration or deceleration, which greatly improves the movement efficiency of the robot and achieves higher planning efficiency with a lightweight and simple plan.
[0088] To facilitate understanding of the present application, the following is an example of controlling an automated guided vehicle (AGV) running on a fixed track in a three-dimensional sorting track. It should be understood that the embodiments of the present application are not limited to three-dimensional sorting tracks (also referred to as three-dimensional tracks or tracks) and AGVs, but can be applied to any robot movement control with an essentially one-way path operation characteristic.
[0089] Refer to Figure 2, which shows an example of a three-dimensional track for a three-dimensional sorting system. This diagram focuses on the track and does not show components such as the feeder port. In Figure 2, the gray rectangle represents the track, and the black arrows indicate the permitted directions for the AGV on that track. The reversal points in Figure 2 indicate where the AGV can change direction. If the AGV needs to change direction, it must be preemptively controlled before reaching that point.
[0090] In order to control the robot in the three-dimensional track, the three-dimensional track is drawn as a topological map in advance. As an example, the track is drawn as a two-dimensional map according to the track size, as shown in Figure 3, which is a schematic diagram of the topological map drawn by the three-dimensional track in Figure 2. Each reversal point in the three-dimensional track corresponds to a topological map point, and the distance between the coordinates of two adjacent topological map points in the directed line segment represents the distance between two adjacent positions on the actual track. For convenience, the topological map point in the lower left corner is generally set as the origin (0, 0), the horizontal right direction is the positive direction of the coordinate axis x, and the direction perpendicular to the horizontal direction is the positive direction of the coordinate axis y. This setting can also be omitted, as long as the coordinates of the topological map are all non-negative. In the figure, the directed line segments of the topological map are all unidirectional, and these directed line segments are also called topological lines.
[0091] After the topology map is drawn, it can be stored in the scheduling system for easy access.
[0092] As an example, whether generating a planned path or generating movement instructions, topological positioning of the AGV is required. Since the position reported by the AGV is not required to be strictly located on the topological map point, when the AGV reports its actual position, it needs to be fitted to the reported position. The fitting position to the topological map point or topological line is used as the current position information obtained by the scheduling system. This process is called topological positioning.
[0093] Considering the accuracy and efficiency of topological positioning, two topological positioning methods can be adopted: global positioning and local positioning. These two methods each have different application scenarios and advantages.
[0094] The global positioning method is used when the AGV has no historical local positioning results or cannot perform local positioning. See Figure 4, which is a schematic diagram of the global positioning method of an embodiment of the present application. The following steps are included in the global positioning method.
[0095] Fit the position information reported by the AGV to the topological map point, that is, traverse all topological map points in the topological map, calculate the distance between the position reported by the AGV and the topological map point, and if it is within the set seventh distance threshold, for example, within the walking error ERR_POS (for example, within 40mm), then directly fit the reported position to the topological map point, and use the topological map point as the fitting position;
[0096] If fitting to all topological map points fails, it indicates a failure. In this case, topological line fitting is performed. This involves traversing all topological lines in the topological map and expanding them to the specified range. For example, if the topological line length is LEN, a rectangle with a length of LEN and a width of 2*ERR_POS is generated. If the AGV's reported position is within this rectangle, the AGV's reported position is fitted to the topological line, using the topological line as the fitted position. The direction information of the topological line is then obtained as the AGV's positioning direction.
[0097] The local positioning method is applied to the normal walking process of the AGV, as shown in Figure 5, which is a flow chart of the local positioning method. The following steps are included in the local positioning method: if the AGV currently has a planned path, the topological map points and topological lines contained in the planned path are traversed in turn, and the reported position is fitted. The fitting method of the topological map points or topological lines in the planned path is roughly the same as the above-mentioned global positioning method. The difference is that in the global positioning method, the position reported by the AGV is fitted to the topological map points or topological lines in the topological map, while in this step, the position reported by the AGV is fitted to the topological map points or topological lines in the planned path; if the AGV cannot be successfully fitted to the topological map points or topological lines in the planned path, it means that the fitting failed, then according to the last positioning result, the reported position is fitted to the adjacent points or adjacent edges of the last positioning result. If positioning is unsuccessful, the global positioning method is used for refitting.
[0098] It should be understood that, in the following text, the current location information of the AGV refers to the location information obtained by the scheduling system through topological positioning based on the location reported by the AGV.
[0099] 6 , which is a flow chart of a robot movement control method based on a one-way path according to an embodiment of the present application. The method includes steps 601 - 605 .
[0100] Step 601: The scheduling system generates a planned path based on the topological map and the current location and target location of the AGV.
[0101] As an example, before the planned path is generated, the following detection is performed: detecting whether the target location point is located on the topological map, for example, detecting whether the target location point is located on the topological map point or the topological line. If so, it is determined that the target location point is located on the topological map; detecting whether the current location point of the AGV is located on the topological map, for example, detecting whether the current location point of the AGV is located on the topological map point or the topological line. It should be understood that in order to improve robustness, for the AGV, the current location point reported by it is allowed to deviate from the distance set by the topological map. This distance can be a walking error, recorded as ERR_POS.
[0102] Assume that the coordinates of the current position reported by the AGV are (X1, Y1), and the coordinates of the topological map point closest to the current position are (X, Y). When |X-X1|≤ERR_POS and |Y-Y1|≤ERR_POS, the AGV is determined to be located at the topological map point (X, Y).
[0103] When the target location and the AGV's current location are both located on the topological map, the A* algorithm is used to generate the shortest planned path for the AGV from its current location to the topological map point or topological line where the target location is located. The generated planned path is a collection of topological map points that the AGV needs to pass through in sequence, and also includes the AGV's movement direction for each topological map point, as well as reversal information describing whether the AGV needs to change direction at that topological map point. As an example, the reversal information and movement direction are both referenced to the x-axis.
[0104] Taking Figure 3 as an example, the planned path generated from the topological map point (0,3000) to the topological map point (0,0) includes:
[0105] The coordinates of the topological map point are (0, 3000). This topological map point does not need to be reversed, and the angle between the moving direction and the x-axis direction is 0°.
[0106] The topological map point coordinate (1000,3000) needs to be reversed, with the forward angle being 0° and the reverse angle being 90°.
[0107] The topological map point coordinate (1000,0) needs to be reversed. The angle before the reversal is -90°, and the angle after the reversal is 180°.
[0108] The topological map point coordinate (0,0) does not need to be reversed, and the angle between the moving direction and the x-axis direction is 180°.
[0109] As an example, the above-mentioned commutation information and moving direction all use the positive direction of the x-axis as a reference direction. The angle before commutation refers to the angle between the moving direction and the positive direction of the x-axis before commutation. The angle after commutation refers to the angle between the moving direction and the positive direction of the x-axis after commutation. If the direction from the positive direction of the x-axis to the moving direction is counterclockwise, the angle value is positive. If the direction from the positive direction of the x-axis to the moving direction is clockwise, the angle value is negative.
[0110] After generating a planned path for the AGV, if the AGV's current position does not deviate from the generated planned path and the AGV's target position does not change, the generated planned path will be maintained and subsequent control instructions for the AGV will be generated based on this planned path; otherwise, the path will be replanned.
[0111] In step 602 , the scheduling system generates a non-cross-reversal point instruction for controlling the robot to move along a non-reversal point path based on the planned path.
[0112] After generating a planned path for the AGV, the next step is to generate movement instructions for the AGV in real time based on the planned path.
[0113] 7 , which is a flow chart of generating a non-crossing reversal point instruction according to an embodiment of the present application, specifically includes steps 701 to 707 .
[0114] In step 701 , the dispatching system instructs the AGV to report its current location information at a set frequency, so that the dispatching system generates movement instructions based on the current real-time location information and target location reported by the AGV.
[0115] Step 702: periodically generate movement instructions based on the current real-time position information of the AGV and the target position point. For example, the scheduling system determines whether the time interval for generating the movement instruction has been reached.
[0116] If the time interval for generating a movement instruction is reached, step 703 is executed.
[0117] If the time interval for generating the movement instruction has not been reached, return to step 702 .
[0118] Step 703: Based on the current position information of the AGV, extend along the planned path to be traveled (unfinished planned path), find the turning point closest to the current position on the planned path to be traveled, and calculate the distance from the current position to the turning point.
[0119] Step 704 : Compare the distance from the current position point to the turning point with a first distance threshold, and determine a protection space for preventing the AGV from colliding based on the comparison result.
[0120] If the distance from the current position to the reversing point is less than or equal to the first distance threshold, it means that the current position of the AGV is close to the reversing point, and an incremental protection space is generated for the AGV from the last generated instruction point to the reversing point. As an example, the length of the incremental protection space is the distance between the last generated instruction point and the reversing point, and the width is a rectangle that is not less than the sum of the width of the AGV body and 2 times ERR_POS, as shown in Figure 8. The last instruction point in Figure 8 is the last generated instruction point, which corresponds to the terminal position of the last generated instruction protection space on the planned path to be traveled, and the dotted rectangle is the protection space. Among them, the first distance threshold can be determined according to the maximum operating speed of the AGV. It is generally taken as the maximum distance that the AGV can travel within three seconds. Other values can also be taken. It can be determined by taking into account the avoidance of deceleration of the AGV during operation, thereby improving operating efficiency, and can also be determined by taking into account the current AGV's movement instructions to minimize the impact on other AGVs.
[0121] If the distance from the current position to the turning point is greater than the first distance threshold, indicating that the AGV is still far from the turning point, an incremental protection space is generated for the AGV. The length of this incremental protection space is the distance from the last generated instruction point to the AGV's current position along the planned path, extending from the first distance threshold. This is shown in Figure 8.
[0122] It should be understood that, since the protection space of the movement instruction has been generated each time a movement instruction is generated, the generation of the movement instruction this time only needs to calculate the incremental protection space based on the protection space generated by the last movement instruction. Of course, for the generation of the first movement instruction, the current position point is taken as the instruction point in the last generated movement instruction (also referred to as the last generated instruction point). In addition, instruction point information is generated each time a movement instruction is generated to describe the terminal position point corresponding to the protection space of the movement instruction on the planned path to be traveled. The shape of the incremental protection space is not limited to a rectangle, and can be set according to the outline of the AGV itself and the outline of the items it carries.
[0123] Step 705: Use the generated incremental protection space to perform collision detection with the protection spaces of all other AGVs in sequence.
[0124] If there is no collision, an incremental instruction is generated, and the protection space of the incremental instruction is the generated incremental protection space, and the instruction point of the incremental instruction is located at the corresponding terminal position point of the incremental protection space on the planned path to be traveled; if there is a collision, the incremental protection space is cut, and the incremental protection space with the collision is cut off, thereby generating an incremental instruction based on the terminal position point of the cut incremental protection space, and the protection space of the incremental instruction is the cut incremental protection space, and the instruction point of the incremental instruction is the corresponding terminal position point of the cut incremental protection space on the planned path to be traveled.
[0125] The protection spaces of all other AGVs can be obtained based on the protection spaces of the generated movement instructions. The protection spaces of the movement instructions of all AGVs in the track are calculated in the same way.
[0126] In step 706, if the incremental instruction's command point is after the previously generated instruction point, the incremental instruction replaces the previously generated movement instruction and serves as the current movement instruction. The newly generated incremental protection space is then appended to the protection space of the previously generated movement instruction. Since the AGV no longer needs to protect the space it has already traveled, the protected space it has already traveled is cut off based on the AGV's current position. This completes the instruction update process, and the newly generated movement instruction is used as a non-crossing reversal point instruction.
[0127] If the instruction point of the incremental instruction is before the instruction point generated last time, execute step 707, do not replace the movement instruction generated last time and keep the incremental instruction unchanged, use the incremental instruction as the non-cross-reversing point instruction, cut off the protection space that has been walked according to the current position of the AGV, obtain the protection space of the non-cross-reversing point instruction, and use the terminal position of the protection space at the planned path to be traveled as the instruction point of the non-cross-reversing point instruction.
[0128] The process of generating the non-span reversal point instruction described in steps 705 and 706 above can be seen in Figure 9. In Figure 9, the corresponding terminal position point of the spliced protection space on the planned path to be traveled is the instruction point of the non-span reversal point instruction generated this time. In Figure 9, the planned path to be traveled is represented by the thick black solid line. According to the planned path, the AGV first moves to the instruction point of the last generated movement instruction, represented by the white five-star, and then moves to the instruction point of the incremental instruction, represented by the black five-star. Therefore, the instruction point of the incremental instruction is located after the instruction point of the last generated movement instruction, and the instruction point of the last generated movement instruction is before the instruction point of the incremental instruction.
[0129] Furthermore, as shown in FIG10 , the process for generating a non-crossing reversal point instruction also includes: if the distance from the AGV's current position to the instruction point of the last generated movement instruction is greater than a set second distance threshold, for example, half of the first distance threshold, indicating that the current position is far from the instruction point of the last generated movement instruction, to avoid a decrease in control efficiency caused by frequent instruction updates, the last generated movement instruction is not updated, and the instruction point of the last generated movement instruction is used as the instruction point of the current movement instruction. Instead, the protection space of the last generated movement instruction is updated using the incremental protection space. That is, based on the AGV's current position, the protection space that has already been traveled in the protection space of the last generated movement instruction is cut off to obtain an updated protection space, which is used as the protection space of the currently generated movement instruction. The currently generated movement instruction can be used as a non-crossing reversal point instruction, and the instruction point of the non-crossing reversal point instruction is the corresponding terminal position point of the updated protection space on the planned path to be traveled.
[0130] In step 603 , the scheduling system generates a cross-reversal point instruction for controlling the robot to reverse at the reversal point based on the planned path.
[0131] Since the AGV needs to be notified to reverse before passing the reversal point, there is special logic for command generation at the reversal point.
[0132] As an example, if the following two conditions are met, a cross-reversal point instruction will be generated for the AGV to enable it to pass the reversal point smoothly. The two conditions are:
[0133] 1. The command point of the last generated movement command is any reversal point included in the planned path. For the convenience of writing, it is called the first reversal point, for example, reversal point A.
[0134] 2. The distance between the current position of the AGV and the first reversing point, such as reversing point A, is less than a third distance threshold. The third distance threshold can be determined, for example, based on the maximum operating speed of the AGV. Generally, it is the maximum distance that the AGV can travel within three seconds. Other values can also be taken. The third distance threshold can be determined by taking into account avoiding deceleration of the AGV during operation, thereby improving operating efficiency, and can also be determined by taking into account minimizing the impact of the current AGV's movement instructions on other AGVs.
[0135] 11 is a flow chart showing a method for generating a cross-reversal point instruction based on a planned path according to an embodiment of the present invention. The method includes steps 1101-1111.
[0136] Step 1101, determine whether the conditions for generating a cross-reversal point instruction are met.
[0137] If not satisfied, return to step 1101.
[0138] If satisfied, execute step 1102: extending from the instruction point of the last generated movement instruction (assuming it is the first turning point A) along the planned path to be traveled by a set fourth distance threshold, for example, half of the third distance threshold.
[0139] Step 1103, determine whether the next reversal point is encountered within this extended distance; if the next reversal point is encountered within this extended distance, for the convenience of writing, it can be called the second reversal point (assuming it is B), then execute step 1104: generate an incremental instruction, the instruction point of the incremental instruction is located at a position extending from the reversal point A to half the distance between the two reversal points A and B, that is, the midpoint between the two reversal points A and B, and generate an incremental protection space, the length of which is from the reversal point A to the instruction point of the incremental instruction.
[0140] If the next reversing point is not encountered within this extended distance, that is, there is no second reversing point, then execute step 1105: generate an incremental instruction, the instruction point of the incremental instruction is extending from the reversing point A to the fourth distance threshold position, and the length of the incremental protection space of the incremental instruction is from the reversing point A to the instruction point of the incremental instruction.
[0141] Step 1106 : Perform collision detection on the incremental protection space and the protection spaces of all other AGVs.
[0142] If there is a collision, that is, spatial interference, then step 1107 is executed: the incremental protection space where the collision occurs is trimmed, and the instruction point of the incremental instruction is updated based on the trimmed incremental protection space, and the trimmed incremental protection space is used as the incremental protection space of the incremental instruction. After executing step 1107, step 1108 is executed.
[0143] Otherwise, directly execute step 1108.
[0144] Step 1108 , determining whether the incremental instruction is located after the reversal point A, that is, determining whether the instruction point of the incremental instruction is after the reversal point A.
[0145] If the incremental instruction is after reversal point A, then step 1109 is executed: determine whether the last generated movement instruction has generated a post-reversal instruction. If no post-reversal instruction has been generated, then step 1110 is executed: the incremental instruction is used as the post-reversal instruction, and the incremental protection space of the incremental instruction is spliced into the protection space of the last generated movement instruction. The corresponding terminal position of the spliced protection space on the path to be planned is used as the instruction point of the incremental instruction to obtain the cross-reversal point instruction. In this way, the protection space of the post-reversal instruction contains two rectangles, namely the rectangular protection space before reversal and the rectangular protection space after reversal. According to the current position of the AGV, the protection space that has been traveled in the protection space of the last generated movement instruction is cut off.
[0146] It should be understood that the post-reversal instruction and the last generated movement instruction are two separate instructions. The post-reversal instruction specifically refers to the instruction after the AGV needs to reverse. When the AGV has a post-reversal instruction, the last generated movement instruction is the instruction point at the reversal point. If the last generated movement instruction does not require reversal, that is, the instruction point of the last generated movement instruction is not at the reversal point, then the AGV does not have a post-reversal instruction.
[0147] If the post-commutation instruction has been generated, step 1111 is executed: the incremental protection space of the incremental instruction is backward spliced to the protection space of the post-commutation instruction to obtain a cross-commutation point instruction, and the instruction is set as the post-commutation instruction.
[0148] If the incremental instruction is before the reversal point A, the incremental instruction is discarded and the process returns to step 1101 .
[0149] The generation process of the above-mentioned cross-reversal point instruction can be seen in Figures 12A-D, which show the situation of encountering the next reversal point within this extended distance.
[0150] It should be understood that in steps 602 and 603 , the moving directions of the generated moving instructions can be determined according to the planned path.
[0151] By generating cross-reversal point instructions in advance, the instructions after the reversal can have additional protection space, thereby providing optimal space occupancy for the AGV.
[0152] Step 604: Priority traffic control is performed at a topological map point where two or more unidirectional paths converge.
[0153] Since the AGV needs to issue instructions in advance when changing direction, it is necessary to ensure that the AGV has a high planning priority before changing direction to avoid long waiting times before the changing point.
[0154] Refer to Figure 13, which is a schematic diagram of traffic control at a reversing point. In the figure, the black rectangle represents the AGV body, and the gray rectangle represents the AGV protection space. In the figure, the three AGVs B, C, and D pass sequentially in the 180° direction, but A needs to reverse from -90° to 180° at the reversing point in front. If no priority control is performed, then if B runs any distance in the 180° direction, this part of the protection space that has been traveled will be cut off, and C's incremental instruction will be immediately generated after B. Similarly, after C passes, the protection space behind will be cut off, and D's incremental instruction will also be immediately generated after C. However, if A's incremental instruction is to be generated to the reversal point, a space of at least the width of the AGV must be reserved between the protection spaces of B and C. However, under normal circumstances, this condition is difficult to meet, because if the forward running distance of B is less than the vehicle width in two consecutive cycles, the incremental instruction of A cannot be updated forward, but the incremental instruction of C can update the walking distance of B forward. In this way, A needs to wait until BCD have passed before issuing the reversal point update instruction.
[0155] Referring to FIG14 , FIG14 is a schematic diagram of priority control according to an embodiment of the present application, including steps 1401 - 1405 .
[0156] In step 1401, the dispatch system selects AGVs to be reversed whose distance from the reversal point is within a set fifth distance threshold based on the planned path and the current position of the AGV. The fifth distance threshold can be determined, for example, based on the AGV's maximum operating speed, typically the maximum distance the AGV can travel in three seconds. Other values are also possible. The fifth distance threshold can be determined to avoid slowing down the AGV during operation, thereby improving operational efficiency, or to minimize the impact of the current AGV's movement instructions on other AGVs.
[0157] As an example, the AGVs to be switched can be screened out based on the planned path, and then the AGVs to be switched that are within a fifth distance threshold from the switching point can be screened out based on the current position reported by the AGV.
[0158] Step 1402: For each screened AGV, determine whether the following conditions exist:
[0159] ① The AGV's planned path to be traveled has a nearest reversal point, and the distance between the reversal point and the current position is less than a set sixth distance threshold. The sixth distance threshold can be determined, for example, based on the AGV's maximum operating speed. Generally, it is the maximum distance the AGV can travel within three seconds. Other values can also be used. The sixth distance threshold can be determined by taking into account avoiding the AGV from slowing down during operation, thereby improving operating efficiency, and can also be determined by taking into account minimizing the impact of the current AGV's movement instructions on other AGVs.
[0160] ② The instruction point for the reversing point has not yet been generated.
[0161] If so, step 1403 is executed: the scheduling system generates a blockade space for the AGV centered at the reversal point and uses the AGV's travel direction as the direction corresponding to the blockade space. As shown in Figure 13 , A's travel direction is -90°. The blockade space is a circle with a diameter 1.5 times the AGV's length, and the direction of the blockade space is A's travel direction. It should be understood that multiple AGVs can generate blockade spaces of the same size, and the directions corresponding to the blockade spaces can be defined for each AGV.
[0162] Otherwise, return to step 1401.
[0163] Step 1404 , detecting whether the blocked space interferes with the protected spaces of all other AGVs.
[0164] If so, step 1405 is executed. The first incremental protection space of the AGV that is blocking the blockade, or the second incremental protection space of the AGV whose current running direction is about to pass through the blockade and whose running direction is consistent with the blockade, is allowed to interfere with the blockade. The incremental protection spaces of other AGVs are not allowed to interfere with the blockade. In this way, the incremental protection spaces of C and D are guaranteed not to enter the blockade. After B leaves, the incremental protection space of A's incremental instruction can enter the blockade space at the reversal point, allowing A to quickly reverse and leave.
[0165] Otherwise, return to step 1401.
[0166] It should be understood that steps 602, 603, and 604 can all be independent processes. Thus, these three steps can be executed in parallel without a strict order.
[0167] Step 605: The scheduling system sends the currently generated movement instruction to the AGV.
[0168] When the AGV is performing a task, it receives and executes the instructions issued by the scheduling system. Since the scheduling system has made sufficient space protection when issuing instructions, the AGV can run at full speed without colliding with each other. If the AGV receives an updated instruction during operation, it can directly execute the updated instruction.
[0169] Similarly, when the AGV receives a post-reversal instruction, the AGV can reverse at the reversal point according to the last movement instruction generated before the post-reversal instruction, and move to the position of the post-reversal instruction.
[0170] This embodiment describes the process from path planning generation to execution. It should be understood that the control process may not include step 601 and directly execute any one of steps 602, 603, and 604.
[0171] The control method of the robot in the embodiment of the present application eliminates the need for the AGV to perform operations such as deceleration and re-acceleration, and does not require deceleration even at a reversing point. There is no need to decelerate or stop during the entire process, which is beneficial to improving the operating efficiency of the AGV.
[0172] 15 is a schematic diagram of a robot movement control device based on a one-way path according to the present invention, which includes a positioning module, a movement instruction generating module, and a sending module.
[0173] Positioning module, used to obtain the current location information of the robot.
[0174] The movement instruction generation module is used to generate movement instructions for the robot to execute the planned path to be traveled based on the planned path and the current position information, wherein the planned path includes one or more one-way paths, and the movement instruction includes: the movement direction of the robot, and the information of the instruction point, which is the end position point of the protection space corresponding to the protection space on the planned path to be traveled for avoiding collisions of the robot.
[0175] The sending module is used to send the generated movement instructions to the robot, so that the robot moves according to the movement instructions.
[0176] As an example, the movement instruction generation module includes: a non-cross-reversing point instruction generation sub-module, which is used to generate a non-cross-reversing point instruction based on the protection space information of other robots in the track except the robot, and the planned path to be traveled determined according to the current position information of the robot; a cross-reversing point instruction generation sub-module, which is used to generate a cross-reversing point instruction based on the reversing point information in the planned path to be traveled of the robot and the current position information of the robot.
[0177] The device also includes: a congestion control module for performing priority traffic control at a topological map point where two or more one-way paths converge; a path planning module for acquiring topological map data and generating a planned path based on the topological map data and the current position point and target position point of the robot.
[0178] Referring to Figure 16 , which is a schematic diagram of a robot motion control device or scheduling system of the present application, the device includes a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the steps of the robot motion control method described in the embodiments of the present application.
[0179] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0180] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0181] An embodiment of the present application further provides a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the robot movement control method described in the embodiment of the present application are implemented.
[0182] As for the apparatus / network-side device / storage medium embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0183] In this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
[0184] The above descriptions are merely some embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.
Claims
1. A robot movement control method based on a unidirectional path, comprising: Get the current location information of the robot; Based on the planned path, according to the current position information, generating a movement instruction for the robot to execute the movement of the planned path to be traveled, wherein the planned path includes one or more one-way paths, and the movement instruction includes the movement direction of the robot and information of an instruction point, wherein the instruction point is a protection space end position point corresponding to the protection space for avoiding collision of the robot on the planned path to be traveled; The generated movement instruction is sent to the robot, so that the robot moves to the instruction point in the moving direction of the movement instruction.
2. The control method according to claim 1, characterized in that: The planned path is generated as follows: Acquire topological map data of the track, wherein the topological map data is used to represent a topological map and includes topological map point information for representing a topological map point and topological line information for describing a one-way path, wherein the topological line is a directed line segment for connecting two topological map points. Based on the topological map data, the planned path is generated according to the current position point and the target position point represented by the current position information of the robot, wherein the planned path includes information indicating the topological map points that the robot needs to pass through in sequence, the moving direction through the topological map points, and switching information indicating whether switching is required at the topological map points.
3. The control method according to claim 2, characterized in that: Based on the topological map data, according to the current position point represented by the current position information of the robot and the target position point, generating the planned path includes: Detecting whether the target position point is located on the topological map, and detecting whether the current position point of the robot is located on the topological map; When the target location point and the current location point of the robot are both located on the topological map, a shortest planned path from the current location point to the topological map point or topological line where the target location point is located is generated.
4. The control method according to claim 2, characterized in that: Acquiring the current position information of the robot includes: Receiving location information reported by the robot; Based on the topological map point information and the topological line information in the topological map data, the received location information is fitted, and information representing a fitting location point fitted to a topological map point or a topological line in the topological map is used as the current location information.
5. The control method according to claim 2, characterized in that: Based on the planned path and according to the current position information, generating a movement instruction for the robot to execute the planned path to be traveled, including: Determine the protection space information corresponding to the movement instruction to be generated according to the protection space information of other robots in the track except the robot, the current position information of the robot and the planned path, According to the current position information of the robot and the protection space information, information of the instruction point in the movement instruction to be generated is determined, The moving direction in the moving instruction to be generated is determined according to the current position information and the planned path.
6. The control method according to claim 2, characterized in that: The current position information reported by the robot is reported at a set frequency, and the movement instruction is generated at a set time interval; The movement instruction comprises at least one of a non-cross-reversal point instruction for controlling the robot to move on a non-reversal point path and a cross-reversal point instruction for controlling the robot to reverse at a reversal point. The non-crossing reversing point instruction is generated in the following manner: Generate the non-crossing reversing point instruction according to the protection space information of other robots in the track except the robot and the planned path to be traveled determined according to the current position information of the mobile robot; The cross reversal point instruction is generated in the following manner: The cross-reversal point instruction is generated according to the reversal point information in the planned path to be traveled by the robot and the current position information of the robot.
7. The control method according to claim 6, characterized in that: The non-crossing reversing point instruction is generated according to the protection space information of other robots in the track except the robot and the planned path to be traveled determined according to the current position information of the mobile robot, including: According to the current position information of the robot, the robot extends along the planned path to be traveled, determines the reversal point closest to the current position point represented by the current position information, and calculates the distance between the current position point and the reversal point. When the distance between the current position point and the reversing point is less than or equal to a first distance threshold, an incremental protection space from the last generated instruction point to the reversing point is generated for the robot, When the distance between the current position point and the reversal point is greater than the first distance threshold, a distance threshold is generated for the robot from the last generated instruction point to the current position point along the planned path to be traveled, extending the position where the first distance threshold is located. The incremental protection space of the point, Perform collision detection on the incremental protection space and the protection spaces of all other robots, If there is no collision, an incremental instruction is generated, the protection space of the incremental instruction is the incremental protection space, and the instruction point of the incremental instruction is located at the corresponding terminal position point of the incremental protection space on the planned path to be traveled; If there is a collision, the incremental protection space is cut off from the collision space to obtain a cut incremental protection space, and an incremental instruction is generated based on the position point corresponding to the cut incremental protection space. The protection space of the incremental instruction is the cut incremental protection space, and the instruction point of the incremental instruction is the terminal position point corresponding to the cut incremental protection space on the planned path to be traveled; If the instruction point of the incremental instruction is after the instruction point generated last time, the incremental instruction is used to replace the movement instruction generated last time, and the incremental instruction is used as the non-crossing reversing point instruction, and the incremental protection space of the incremental instruction is spliced after the protection space of the movement instruction generated last time, and the protection space that has been walked is cut off according to the current position point to obtain the protection space of the non-crossing reversing point instruction, and the protection space is used as the instruction point of the non-crossing reversing point instruction at the terminal position point of the planned path to be traveled. If the instruction point of the incremental instruction is before the instruction point generated last time, the last generated instruction will not be replaced. The incremental instruction will be used as a non-cross-reversing point instruction. The protection space that has been walked will be cut off according to the current position to obtain the protection space of the non-cross-reversing point instruction. The terminal position point of the planned path to be traveled where the protection space is located will be used as the instruction point of the non-cross-reversing point instruction.
8. The control method according to claim 6, characterized in that: Further including: When the distance between the current position point and the last generated instruction point is greater than the set second distance threshold, the last generated instruction point is used as the instruction point of the moving instruction, and the protection space that has been walked is cut off according to the current position point to obtain the protection space of the moving instruction.
9. The control method according to claim 6, characterized in that: Generating the cross-reversal point instruction according to the reversal point information in the planned path to be traveled by the robot and the current position information of the robot, including: In the case where the last generated instruction point is any first reversal point among the reversal points included in the planned path, and the distance between the current position point represented by the current position information of the robot and the first reversal point is less than a third distance threshold, extending from the first reversal point along the planned path to be traveled to a fourth distance threshold, If there is a second reversing point within the extended distance, an incremental instruction is generated, the instruction point of the incremental instruction is the midpoint between the first reversing point and the second reversing point, and the incremental protection space of the incremental instruction is from the first reversing point to the midpoint. If there is no second turning point within the extended distance, an incremental instruction is generated, the instruction point of the incremental instruction is a position extending from the first turning point along the planned path to be traveled to the fourth distance threshold, and the incremental protection space is from the first turning point to the instruction point of the incremental instruction; Perform collision detection between the incremental protection space of the incremental instruction and the protection spaces of all other robots in the track, If there is a collision, the incremental protection space is cut off from the collision space to obtain a cut incremental protection space, and the cut incremental protection space is used to update the protection space of the incremental instruction. The terminal position point corresponding to the updated protection space on the planned path to be traveled is the instruction point of the incremental instruction. If the command point of the incremental command is located after the first reversing point, then: Check whether the last generated movement instruction has a post-reversal instruction. If there is no post-reversal instruction, use the incremental instruction as the post-reversal instruction, and splice the incremental protection space of the incremental instruction to the protection space of the last generated movement instruction, and use the terminal position point corresponding to the spliced protection space on the planned path to be traveled as the instruction point of the incremental instruction to obtain a cross-reversal point instruction; If there is a post-reversal instruction, the incremental protection space of the incremental instruction is spliced to the protection space of the post-reversal instruction, and the corresponding terminal position point of the spliced protection space on the planned path to be traveled is used as the instruction point of the incremental instruction to obtain a cross-reversal point instruction.
10. The control method according to claim 2, characterized in that: The method further comprises: Priority traffic control is performed at topological map points where two or more one-way paths converge; The priority traffic control is performed at a topological map point where two or more unidirectional paths converge, including: Determine one or more robots to be switched that are within a fifth distance threshold from the switching point, wherein the one or more robots to be switched include the robot; for each of the one or more robots to be switched, Check whether the planned path of the robot to be reversed has the reversing point and whether the distance between the reversing point and the current position point represented by the current position information is less than a sixth distance threshold, and check whether there is an instruction in the movement instruction with the instruction point being the reversing point, If yes, a blocked space with the switching point as the center is generated for the robot to be switched, and the moving direction of the robot to be switched is used as the direction corresponding to the blocked space. Detect whether the blocked space collides with the protected space of other robots in the track, If there is a collision, the first incremental protection space or the second incremental protection space is allowed to collide with the blocked space, wherein the first incremental protection space is the incremental protection space of the robot to be switched that blocks the blocked space, and the second incremental protection space is the incremental protection space of another robot whose current moving direction is about to pass through the blocked space and whose current moving direction is consistent with the direction of the blocked space. The incremental protection spaces of other robots in the track except the robot to be commuted and the another robot are prohibited from colliding with the blocked space.
11. The control method according to claim 4, characterized in that: Fitting the received location information based on the topological map points and the topological lines in the topological map data includes: When there is no historical local positioning result or local positioning is impossible, global positioning is used for fitting. When the robot moves normally, local positioning is used for fitting. in, The global positioning method includes: Traversing all topological map points in the topological map, calculating the distance between the current position point represented by the received current position information and the topological map point, if the distance is within the seventh distance threshold, then taking the topological map point as the fitting position, In the case where fitting to a topological map point fails, all topological lines in the topological map are traversed, and the topological lines are expanded to both sides to a set range. If the current position point is within the range, the topological line is used as the fitting position, and the direction information of the topological line is obtained as the positioning direction of the robot; The local positioning method includes: In the case where the robot currently has the planned path, the topological map points included in the planned path are traversed, and the distance between the current position point and the topological map point is calculated. If the distance is within the seventh distance threshold, the topological map point is used as the fitting position. In the case where fitting to the topological map point in the planned path fails, all topological lines in the planned path are traversed, and the topological lines are expanded to both sides to a set range. If the current position point is within the range, the topological line is used as the fitting position, and the direction information of the topological line is obtained as the positioning direction of the robot. In the case where fitting to the topological map points and topological lines in the planned path fails, the current position point is fitted to the adjacent points or adjacent edges in the last positioning result according to the last positioning result. If the fitting fails, the global positioning method is used for re-fitting.
12. A robot movement control device based on a one-way path, characterized in that: The device includes: Positioning module, used to obtain the current position information of the robot; A movement instruction generation module, for generating a movement instruction for the robot to execute the movement of the planned path to be traveled according to the current position information based on the planned path, wherein the planned path includes one or more one-way paths, and the movement instruction includes the movement direction of the robot and the information of the instruction point, wherein the instruction point is the end position point of the protection space corresponding to the protection space for avoiding collision of the robot on the planned path to be traveled; The sending module is used to send the generated movement instruction to the robot, so that the robot moves to the instruction point in the moving direction of the movement instruction.
13. A scheduling system for controlling the movement of a robot, characterized in that: The dispatching system comprises the control device as claimed in claim 12.
14. A scheduling system for controlling the movement of a robot, comprising: A memory storing a computer program and a processor, wherein the processor is configured to execute the computer program to implement the method according to any one of claims 1 to 11.
15. A computer-readable storage medium, wherein a computer program is stored in the storage medium, and when the computer program is executed by a processor, the method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Mobile robot path planning method used in intensive storage zone
CN102830702A
AGV driven by wheel hub motor and its path planning method
CN106020200A
Time window-based task segmentation multi-AGV path planning algorithm
CN110174111A
AGV control method with autonomous path planning function
CN110455305A
Mobile robot autonomous obstacle avoidance planning method and task scheduling system thereof
CN115185286A
Cited By
Path planning method, system and equipment of mobile shared charging robot and medium
CN121252841A