Mobile robot path planning method and system capable of automatically generating batch paths offline
Through automated batch path planning methods, the problem of cumbersome manual path drawing in large-area warehouses or factories is solved, and the rapid automatic generation of mobile robot paths and support for multiple types of vehicles is realized, which improves the applicability and flexibility of operations.
Patent Information
- Application Number
- CN202411292192.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-14
- Publication Date
- 2024-12-17
AI Technical Summary
In large-area warehouses or factories, traditional map editors that rely on manual path drawing require a lot of manpower investment, and the operation is cumbersome, making it difficult to effectively plan the path of mobile robots to avoid congestion and complete tasks.
A mobile robot path planning method is proposed to automatically generate offline batch paths. By obtaining CAD diagrams and robot size information, dividing the spare area, determining the passable area, generating the main road path and picking and delivery path, supporting mixed operations of multiple types of vehicle models.
It realizes automated path planning, saves manpower, quickly generates paths, reduces manual impact, improves applicability and flexibility, and makes operation more convenient.
Smart Images

Figure CN119148713A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robot path planning, and in particular to a mobile robot path planning method and system for automatically generating batch paths offline. Background Art
[0002] In the current warehousing and logistics industry, with the continuous development of automation technology, mobile robots that mainly operate in line patrol mode have become an important tool for improving warehousing efficiency and reducing costs. This type of robot moves on a pre-planned route to perform tasks such as cargo handling and shelf placement to achieve efficient warehousing management and logistics operations.
[0003] However, when the warehouse or factory is large, has many cargo points, and has mixed operations of multiple vehicle types, traditional map editors that rely on manual route drawing face certain challenges in supporting project implementation and deployment. Usually, it is necessary to draw the operation route map of the mobile robot in advance to ensure that the robot can effectively avoid congestion and complete the task according to the optimal path. However, this kind of drawing work requires a lot of manpower and the operation is cumbersome. Summary of the invention
[0004] Based on this, it is necessary to provide a mobile robot path planning method and system for offline automatic generation of batch paths in order to address the problem that when the warehouse or factory is large, there are many cargo points, and there are multiple types of mixed operations, the drawing work requires a lot of manpower investment and the operation is cumbersome.
[0005] The present invention proposes a mobile robot path planning method for offline automatic generation of batch paths, which includes the following steps: S1: obtaining the CAD drawing of the site and the size information of the mobile robot, and obtaining the shelf size, shelf node, charging node, parking node, and free area from the CAD drawing; S2: dividing the free area into multiple rectangular areas, and the sides of any two rectangular areas are parallel or perpendicular to each other, and determining the main road direction inside each rectangular area, and selecting the corresponding rectangular area that meets the mobile robot's spin condition, and recording it as the passable area, the specific steps are as follows: S21: projecting the shelf node, charging node and parking node to the horizontal center line and the longitudinal center line of each rectangular area respectively, selecting the corresponding projection point of the projection point in the rectangular area, and recording the distance between the corresponding projection point and the shelf node, charging node or parking node corresponding to the corresponding projection point, and traversing to find the corresponding rectangular area with the smallest distance; S22: in the corresponding rectangular area with the smallest distance found, selecting the corresponding projection point in the horizontal center line and the longitudinal center line The direction where there are more shadow points is taken as the main road direction; S23: In the main road direction, according to the size information of the mobile robot, the rectangular area with the smallest distance that satisfies the rotation of the mobile robot is selected from the corresponding rectangular areas with the smallest distance, and recorded as the passable area; S3: Determine the main road type and main road position in each passable area according to the size of the passable area; S4: Determine whether two adjacent passable areas intersect, and connect the main road between the two intersecting passable areas; S5: Determine the cargo node position and the corresponding nearest passable area of the mobile robot when picking up and placing goods; S6: Determine the position of the exit node of the mobile robot before entering the main road in the nearest passable area from the cargo node and the entry node when entering the main road in the nearest passable area; S7: Determine the starting point position on each main road, connect the main roads on the passable area according to the starting point position, main road type and direction, generate a main road path, and generate a pick-up and placement path according to the central position coordinate information, exit node and entry node information of the mobile robot when picking up and placing goods.
[0006] As a further improvement of the present invention, in step S23, the spinning radius R of the mobile robot is:
[0007]
[0008] Among them, L 轴距 is the wheelbase between the front and rear wheels of the mobile robot, and φ is the maximum angle of the front wheel of the mobile robot when turning.
[0009] As a further improvement of the present invention, the main road types in the passable area are divided into: spin, cross double channel, single channel and double channel,
[0010] The minimum main road width p required for the mobile robot to spinrotate,min for:
[0011] and / or
[0012] The minimum main road width p required for the mobile robot to cross the dual channels curve,min for:
[0013] and / or
[0014] The minimum main road width p required for a mobile robot to travel a single channel singlePath,min for:
[0015] p singlePath,min = 2(R+d+e); and / or
[0016] The minimum main road width P required for the mobile robot to travel along a dual channel doublePath,min for:
[0017] P doublePath,min =2(R+d+e)+2c+g
[0018] Among them, a is the long half length of the mobile robot when carrying a load, d is the short half length of the mobile robot when carrying a load, b is the long half width of the mobile robot when carrying a load, c is the short half width of the mobile robot when carrying a load, R is the turning radius of the mobile robot, d is the short half length of the mobile robot, e is the safety distance between the mobile robot and the boundary on one side of the main road, f is the safety distance between the mobile robot and the boundary on the other side of the main road, and g is the safety distance between the two channels.
[0019] As a further improvement of the present invention, in step S3, the steps of determining the main road type and location are as follows:
[0020] S31: When p rotate,min ≤a1<p curve,min , the main road type is set to spin, and the distance between the main road and the corresponding cargo location node is:
[0021]
[0022] S32: When p curve,min ≤a1<p singlePath,min When , the main road type is set to cross double channel, and the distance between the main road and the edge of the corresponding passable area is:
[0023] L 距2 =R+d+e;
[0024] S33: When p singlePath,min ≤a1<p doublePath,min When the main road type is set to single channel, the distance between the main road and the corresponding cargo location node is:
[0025] L 距3 =R(d+e;
[0026] S34: When P doublePath,min When ≤a1, the main road type is set to dual channel, and the distance between the main road and the corresponding cargo location node is:
[0027] L 距4 =R+d+e;
[0028] Among them, a1 is the width of the main road in the passable area, p rotate,min is the minimum width required for the mobile robot to spin, p curve,min is the minimum main road width corresponding to the mobile robot entering the traversable area along an arc, p singlePath,min is the minimum main road width corresponding to the mobile robot taking a single channel, P doublePath,min It is the minimum main road width corresponding to the case where the mobile robot takes dual channels.
[0029] As a further improvement of the present invention, in step S22, in the corresponding rectangular area with the smallest distance found, when the number of corresponding projection points in the horizontal center line and the longitudinal center line is the same, the long side of the corresponding rectangular area with the smallest distance is selected as the main road direction.
[0030] As a further improvement of the present invention, in step S4, the specific steps are: S41: Use the cross multiplication algorithm to determine whether any vertex on one of the passable areas is on the edge of another passable area. If so, enter S43, otherwise enter S42; S42: Use the straddle test to determine whether the vertex on one of the passable areas is inside or outside the other passable area. If any vertex on one of the passable areas is inside the other passable area, enter S43; S43: If the main roads in the two intersecting passable areas are perpendicular to each other, a C-spline curve is used to connect them. If the main roads in the two intersecting passable areas are parallel to each other, an S-spline curve is used to connect them.
[0031] As a further improvement of the present invention, in step S5, the mobile robot includes: a fork tooth part, and the coordinate L (x, y) of the cargo location node is:
[0032] L(x,y)=L1(x,y)±L2
[0033] Among them, L1(x, y) is the coordinate information of one side of the shelf close to the mobile robot, and L2 is the distance between the root of the fork tine and the center point of the mobile robot.
[0034] As a further improvement of the present invention, in step S6, the distance L between the exit node and the corresponding nearest passable area boundary is 退 for:
[0035] L 退 =d+e
[0036] Wherein, d is the short half length of the mobile robot, and e is the safe distance between the mobile robot and the boundary of the main road.
[0037] As a further improvement of the present invention, in step S6, when the main road within the nearest passable area satisfies any one of the cross dual channel, single channel and dual channel, a C-spline connection is used between the exit node and the entry node, and / or when the main road within the nearest passable area satisfies the spin condition, a straight line connection is used between the exit node and the entry node.
[0038] The present invention also proposes a mobile robot path planning system for offline automatic generation of batch paths, which is applied to the above-mentioned mobile robot path planning method for offline automatic generation of batch paths, and includes: an input module, used to input the CAD drawing of the site and the size information of the mobile robot; a path judgment module, used to judge the passable area according to the CAD drawing of the site and the size information of the mobile robot, and determine the direction, type and position of the main road in the passable area; a node generation module, used to generate shelf nodes, charging nodes, parking nodes, cargo location nodes, exit nodes and entry nodes, and at the same time, for nodes on the same straight line, determine the distance between nodes, and select merged nodes or newly added nodes according to the distance between adjacent nodes; a connection module, used to judge the positional relationship between two passable areas, and connect the main roads in two intersecting passable areas; a path generation module, used to generate the main road path and the pick-up and release path according to the above-mentioned nodes; an output module, used to output the main road path information, the pick-up and release path information and the position information of the cargo location node.
[0039] Compared with the prior art, the present invention has the following beneficial effects:
[0040] 1. The present invention can automatically generate the main path and the picking and placing path for the mobile robot offline by inputting the on-site CAD drawing and the size information of the mobile robot into the system, without the need for manual drawing, thus saving manpower and making the operation more convenient.
[0041] 2. The present invention can automatically generate the main path and the picking and placing path according to the actual situation of the warehouse or factory. Compared with manual drawing, the path planning can be carried out more quickly and the influence of manual expertise on the path planning can be reduced.
[0042] 3. The present invention can perform path planning for different mobile robots, thereby supporting mixed operations of multiple types of mobile robots and improving the applicability and flexibility during operations. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 A schematic flow chart of a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0044] Figure 2 Schematic diagram of the turning radius of a mobile robot when spinning in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention
[0045] Figure 3 A schematic diagram of a mobile robot turning within a traversable area in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0046] Figure 4 A schematic diagram of a mobile robot in a dual channel in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0047] Figure 5 A schematic diagram of an S-shaped connection of a main road between two traversable areas in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0048] Figure 6 A schematic diagram of a single channel in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0049] Figure 7 A schematic diagram of a cross dual channel in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention;
[0050] Figure 8 A schematic diagram of dual channels in a mobile robot path planning method for offline automatic generation of batch paths according to an embodiment of the present invention. DETAILED DESCRIPTION
[0051] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0052] It should be noted that when a component is referred to as being "mounted on" another component, it may be directly on the other component or there may be a central component. When a component is considered to be "set on" another component, it may be directly set on the other component or there may be a central component at the same time. When a component is considered to be "fixed to" another component, it may be directly fixed on the other component or there may be a central component at the same time.
[0053] like Figure 1-Figure 7 As shown, the present invention proposes a mobile robot path planning method for offline automatic generation of batch paths, which includes the following steps:
[0054] S1: Obtain the CAD drawing of the site and the size information of the mobile robot, and obtain the shelf size, shelf node, charging node, parking node, and free area from the CAD drawing. The mobile robot can be a forklift or other types of vehicles. The shelf can be rectangular, and the shelf size includes the four vertex information of the shelf top view. The free area is an area without obstacles inside, and the path of the mobile robot can be planned in the free area.
[0055] S2: Divide the free area into multiple rectangular areas, and the sides of any two rectangular areas are parallel or perpendicular to each other. Determine the direction of the main road inside each rectangular area, and select the corresponding rectangular area that meets the mobile robot's spin condition and record it as the passable area. The specific steps are as follows:
[0056] S21: The horizontal center line and the vertical center line can be drawn according to the midpoints of the two opposite sides of each rectangular area. The shelf nodes, charging nodes and parking nodes are projected onto the horizontal center line and the vertical center line of each rectangular area respectively, and the corresponding projection points in the rectangular area are selected, and the distance between the corresponding projection points and the shelf nodes, charging nodes or parking nodes corresponding to the corresponding projection points is recorded, and the corresponding rectangular area with the smallest distance is traversed to find out, that is, one node corresponds to one rectangular area, and one rectangular area can correspond to multiple different nodes.
[0057] S22: In the corresponding rectangular area with the smallest distance found, the direction with more corresponding projection points between the horizontal center line and the vertical center line is selected as the main road direction. Nodes that are inconsistent with the main road direction are recorded as special nodes and require special processing logic. For example: select any rectangular area in the corresponding rectangular area with the smallest distance found. If there are more projection points on the horizontal center line than on the vertical center line in the rectangular area, then the main road direction in the rectangular area can be considered to be horizontal. The nodes corresponding to the projection points on the vertical center line of the rectangular area are recorded as special nodes and require special processing logic.
[0058] It should be noted that if the number of projection points on the transverse center line and the number of projection points on the longitudinal center line in the rectangular area are the same, the long side of the rectangular area is used as the direction of the main road.
[0059] S23: In the main road direction, according to the size information of the mobile robot, a rectangular area with the smallest distance that satisfies the mobile robot's self-spin is selected from the corresponding rectangular areas with the smallest distance, and recorded as a passable area. That is, in the selected rectangular area with the smallest distance, the mobile robot's self-spin condition must be met, that is, the width of the selected rectangular area with the smallest distance must be sufficient for the mobile robot to spin.
[0060] like Figure 2 As shown, the spinning radius R of the mobile robot is:
[0061]
[0062] Among them, L 轴距 is the wheelbase between the front and rear wheels of the mobile robot, and φ is the maximum angle of the front wheel of the mobile robot when turning.
[0063] It should be noted that the above R is the minimum turning radius determined according to the structure of the mobile robot. However, considering the spline curve, if the radius of the spline curve is too small, the curvature of the spline curve will be too large, which is not conducive to the turning of the mobile robot. Therefore, in actual working conditions, it is usually necessary to default to a minimum turning radius. In this embodiment, the minimum turning radius required by the default mobile robot can be 600mm.
[0064] The maximum turning radius is determined by the width of the main road in the passable area, so the actual turning radius is an optional range, and values between the minimum turning radius required by the default mobile robot and the maximum turning radius can be selected. Since the larger the turning radius, the easier it is to control, the actual turning radius defaults to the maximum turning radius.
[0065] like Figure 6-Figure 8 As shown, S3: Determine the main road type and main road position in each passable area according to the size of the passable area. Specifically, the main road types in the passable area are divided into: spin, cross double channel, single channel and double channel, among which the width of the passable area corresponding to spin, cross double channel, single channel and double channel gradually increases. When the width of the passable area is extremely narrow, the mobile robot can complete the turn by spinning. When the width of the passable area is narrow, the mobile robot can complete the walking through the arc, but it is necessary to set up a cross double channel, and it is necessary to select a side channel farther from the cargo node when entering and exiting the cargo node. When the width of the passable area is moderate, the mobile robot can complete the walking through the arc, and a single channel can be set in the center of the passable area. When the width of the passable area is wide, the mobile robot can complete the walking through the arc, and a double channel can be designed in the passable area, and it is necessary to select a side channel closer to the cargo node when entering and exiting the cargo node.
[0066] The minimum main road width p required for the mobile robot to spin rotate,min for:
[0067]
[0068] The minimum main road width p required for the mobile robot to cross the dual channels curve,min for:
[0069]
[0070] The minimum main road width p required for a mobile robot to travel a single channel singlePath,min for:
[0071] p singlePath,min =2(R+d+e).
[0072] The minimum main road width P required for the mobile robot to travel along a dual channel doublePath,min for:
[0073] P doublePath,min =2(R+d+e)+2c+g.
[0074] Among them, a is the long half length of the mobile robot when carrying a load, d is the short half length of the mobile robot when carrying a load, b is the long half width of the mobile robot when carrying a load, c is the short half width of the mobile robot when carrying a load, R is the turning radius of the mobile robot, d is the short half length of the mobile robot, e is the safe distance between the mobile robot and the boundary on one side of the main road, f is the safe distance between the mobile robot and the boundary on the other side of the main road, and g is the safe distance between the two channels. In this embodiment, e and f are both 200mm by default. R defaults to 600mm.
[0075] The steps to determine the main road type and location are as follows:
[0076] S31: When p rotate,min ≤a1<p curve,min , the main road type is set to spin, and the distance between the main road and the corresponding cargo location node is:
[0077]
[0078] S32: When p curve,min ≤a1<p singlePath,min When , the main road type is set to cross double channel, and the distance between the main road and the edge of the corresponding passable area is:
[0079] L 距2 =R+d+e;
[0080] S33: When p singlePath,min ≤a1<p doublePath,minWhen the main road type is set to single channel, the distance between the main road and the corresponding cargo location node is:
[0081] L 距3 =R+d+e;
[0082] S34: When P doublePath,min When ≤a1, the main road type is set to dual channel, and the distance between the main road and the corresponding cargo location node is:
[0083] L 距4 =R+d+e;
[0084] Among them, a1 is the width of the main road in the passable area, p rotate,min is the minimum width required for the mobile robot to spin, p curve,min is the minimum main road width corresponding to the mobile robot entering the traversable area along an arc, p singlePath,min is the minimum main road width corresponding to the mobile robot taking a single channel, P doublePath,min It is the minimum main road width corresponding to the case where the mobile robot takes dual channels.
[0085] S4: Determine whether two adjacent passable areas intersect, and connect the main road between the two intersecting passable areas. Determine whether two passable areas intersect, that is, determine whether two rectangles intersect.
[0086] Specifically, we can determine whether two rectangles intersect by determining the relationship between the vertices of one rectangle and the other rectangle. The steps are:
[0087] S41: First, it can be determined whether the vertex of a rectangle is on the side of another rectangle. At this time, the cross product algorithm can be used for judgment. Since the side of a rectangle is a line segment of fixed length, when judging whether a point is on the line segment, it is necessary to exclude the case where the point is on the extension line of the line segment or the reverse extension line. Therefore, the line segment can be appropriately extended into a very small parallelogram. The line segment is the midline of the parallelogram. If the point is inside the parallelogram, it can be determined that the point is on the line segment, that is, the two passable areas intersect, and then go to step S43. If the point is not on the line segment, it is necessary to determine whether the point on a rectangle is inside or outside the other rectangle, and then go to step S42.
[0088] S42: The relationship between a point and a rectangle can be divided into the point being on the rectangle, the point being inside the rectangle, and the point being outside the rectangle. A straddle test can be used to determine whether the point is inside the rectangle. If the point is inside the rectangle, it can be determined that the two rectangles intersect, that is, the two passable areas intersect, and step S43 is entered at this time.
[0089] S43: Since there are only two relationships between the sides of multiple rectangular areas, namely, perpendicularity and parallelism, the main roads in multiple passable areas also have only two relationships, namely, perpendicularity and parallelism. If the main roads in two intersecting passable areas are perpendicular to each other, a C-type spline curve is used for connection. If the main roads in two intersecting passable areas are parallel to each other, an S-type spline curve is used for connection. It should be noted that the premise of taking a C-type spline curve or an S-type spline curve is that the main road needs to meet the conditions for taking a spline curve, that is, the main road type needs to be one of a cross-dual channel, a single channel and a dual channel, otherwise a straight line connection is used, that is, if only the spin condition is met, a straight line connection is used. Moreover, for a cross-dual channel, the direction of the main road is also along the longitudinal or transverse direction. Compared with a straight line connection, a spline curve connection can reduce the operating steps of a mobile robot and make the movement of a mobile robot smoother.
[0090] As an optional embodiment, the following method may also be used to determine whether two traversable areas intersect.
[0091] Specifically, whether the two rectangles intersect is determined based on whether their sides intersect:
[0092] This is based on two checks, the bounding box test and the straddle test (also called directed cross product or vector cross product). The bounding box test compares the minimum and maximum coordinates of two line segments in the x and y directions. If the minimum coordinate of a line segment in the x and y directions is greater than the maximum coordinate of the other line segment in the same directions, then the two line segments cannot intersect, otherwise they may intersect, which can be used to determine the relationship between the edges of the two rectangles. It should be noted that the x direction can correspond to the horizontal direction mentioned above, and the y direction can correspond to the vertical direction mentioned above.
[0093] The straddling test is used to check if a line segment straddles (or crosses) the line of another line segment. If two line segments straddle each other's line and they straddle in opposite directions (i.e. one line segment crosses from above to below the other line segment, and the other line segment also crosses from above to below the first line segment), then the two line segments intersect. The straddling test uses a vector cross product to check if the two endpoints of a line segment are on opposite sides of the line of the other line segment. If both endpoints are on the same side, then the line segment does not straddle the line of the other line segment.
[0094] Then the relationship between the four sides of a rectangle and the four sides of another rectangle can be traversed. If one side of a rectangle intersects with one side of another rectangle, it can be determined that the two rectangles intersect, and the process proceeds to step S43.
[0095] S5: Determine the cargo node position and the corresponding nearest passable area when the mobile robot picks up and places the goods. The cargo node is the coordinate information of the center position of the mobile robot when picking up and placing the goods.
[0096] It should be noted that according to the input shelf size information, it can be known that the shelf Figure 4 The coordinates of the vertices of the forklift are used to calculate the center position of the shelf rectangle. The mobile robot in this embodiment can be a forklift. When the forklift picks up the goods, the goods need to touch the cargo detection plate close to the vehicle body. The cargo detection plate is provided with a pressure sensor, which can detect that the goods have been loaded on the forklift. Therefore, the actual position of the vehicle body when picking up the goods and the center position of the shelf are not completely coincident, and depend on the length of the forklift's fork teeth and the current position of the shelf. Knowing the center position of the shelf rectangle and the corresponding nearest passable area, the relationship between the cargo location node and the corresponding nearest passable area can be known, so that the direction of the mobile robot entering and exiting to pick up the goods can be determined, that is, the direction between the mobile robot and the corresponding shelf, and then the center position of the mobile robot when picking up and placing the goods can be determined.
[0097] The mobile robot includes a fork tooth part, that is, for a forklift, the mobile robot includes: a fork tooth part, then the coordinate L (x, y) of the cargo location node is:
[0098] L(x,y)=L1(x,y)±L2
[0099] Among them, L1(x, y) is the coordinate information of one side of the shelf close to the mobile robot, and L2 is the distance between the root of the fork tine and the center point of the mobile robot.
[0100] S6: Determine the position of the exit node of the mobile robot before it enters the main road in the nearest passable area from the cargo location node and the entry node when it enters the main road in the nearest passable area. The exit node is the connection point before the mobile robot exits to the main road in the nearest passable area after picking up the cargo, and the entry node is the connection point when the mobile robot enters the main road in the nearest passable area.
[0101] It should be noted that the cargo node and the exit node are connected by a straight line, that is, the mobile robot takes a straight line between the cargo node and the exit node. If the main road in the nearest passable area corresponding to the cargo node only meets the spinning condition of the mobile robot, the exit node and the entry point are connected by a straight line. If the main road in the nearest passable area corresponding to the cargo node meets any one of the cross double channel, single channel and double channel, the exit node and the entry node are connected by a C-type spline curve, that is, the mobile robot can take an arc between the exit node and the entry node.
[0102] The distance L between the exit node and the corresponding nearest passable area boundary is退 for:
[0103] L 退 =d+e
[0104] Among them, d is the short half length of the mobile robot, and e is the safe distance between the mobile robot and the boundary of one side of the main road. Thus, the position of the exit node can be determined.
[0105] In addition, when the mobile robot can take an arc between the exit node and the entry node, the same exit node can correspond to two entry nodes, that is, the mobile robot can enter the rectangle corresponding to the nearest passable area at the exit node through two arcs, and the bending directions of the two arcs are opposite. Of course, the mobile robot on the main road can also enter the exit node through one of the two arcs, so that the road setting can be more flexible.
[0106] S7: Determine the starting point position on each main road, connect the main roads on the passable area according to the starting point position, main road type and direction, generate a main road path, and generate a pick-up and placement path according to the central position coordinate information, exit node and entry node information of the mobile robot when picking up and placing goods.
[0107] Specifically, if the main path type and the cargo pickup and delivery path are spline curves, it should be noted that both C-type connection and S-type connection roads are spline curves. Then when generating the main path type and cargo pickup and delivery path, it is necessary to input the control points, curvature and angle of the generated path. The angle is the turning angle of the mobile robot, so as to better control the generation of the path.
[0108] It should be noted that some passable areas may not have nodes found at the beginning, that is, these passable areas may be far away from the corresponding nodes. However, these passable areas can also be used as channels, so it is necessary to traverse each passable area and generate a suitable main road according to the above method based on the intersection relationship between the passable areas and the width of the passable areas, and then make corresponding connections to generate the main road path.
[0109] In addition, when the main path in the passable area is generated, it is usually cut into multiple appropriate lengths, rather than a long line from the start point to the end point of the main path. In other words, control nodes will be added in the passable area, which can better control the mobile robot, reduce the situation of the mobile machine derailing, and facilitate scheduling. In addition, the main path needs to connect the entry nodes led from the corresponding cargo location nodes.
[0110] When the main path is generated, the generated control nodes are connected sequentially. Therefore, it is necessary to record the start and end information of each generated spline endpoint and the main path, so as to obtain the position of each control node on the main path. After obtaining the point set of the control nodes on the main path, the control nodes need to be sorted according to the position information.
[0111] Considering the actual situation, when the distance between the generated control nodes is too long, a long straight line will be generated, which is not conducive to the implementation of scheduling and control. Therefore, new breakpoints need to be inserted at appropriate intervals. Similarly, when the distance between two control nodes is too close, the generated route will be a straight line that is too short, which does not meet the needs of actual production operations. Therefore, the two control nodes that are too close need to be merged. In order to ensure the robustness of the code, it is also necessary to check the sequentially connected point sets to see if there are any duplicated points and remove them.
[0112] In addition, the cargo location node is connected to the exit node, and the exit node and the entry node can be connected by a straight line or a C-type spline curve. However, for actual production scenarios, there will be dense storage, the cargo location is relatively deep, and there may be more than two cargo location nodes in the same depth, and they share the same exit node and the path for picking and releasing goods. If each cargo location node in the same depth has a path connected to the exit node, it will appear that the path in the cargo location area is very complicated, and it will also bring pressure to traffic control. Therefore, for cargo location nodes on the same straight line that share the same exit point, a connection line between cargo location nodes and cargo location nodes can be formed, thereby forming a segmented single path. If they are not on the same path (there may be some deviations in the placement of cargo locations, etc.), it is still necessary to calculate the exit node separately and connect it, and then enter the main road in the corresponding nearest passable area. At the same time, it is also necessary to confirm whether the path for picking and releasing goods from the cargo location node to the exit node is too long. If it is too long, it is also necessary to add additional control nodes to interrupt the path for picking and releasing goods.
[0113] The original cargo location nodes are isolated from each other. It is necessary to use appropriate logic to find cargo location nodes that can be used as collinear nodes and connect them in series one by one. At the same time, attention should be paid to finding the correct series connection direction. The specific logic is: find all corresponding cargo location nodes in a single passable area. Group cargo location nodes according to the positional relationship between the cargo location nodes and the passable area, and collect cargo location nodes in the same direction into one group. For each cargo location node in each group, further find collinear cargo location nodes in the horizontal or vertical direction. It should be noted that the direction can be determined according to the direction of the passable area. For each collinear node, judge the distance between nodes to determine whether it is necessary to merge or add nodes, and save this information. The nodes here include all types of nodes. In this way, the situation where the path for picking and placing goods is too long or too long can be reduced, which is convenient for controlling the mobile robot.
[0114] In addition, the paths generated for the above special nodes can be merged into the corresponding nearest main road through an S-shaped curve.
[0115] Considering the control friendliness, the starting and ending points of the S-curve should also be reasonably set according to the situation. According to the spline generation algorithm, it can be known that for S-curves in general, if the Δx or Δy of the starting and ending point coordinates is expanded by more than twice, a spline with better curvature can be generated. However, if Δx or Δy is very small, and the special node and the main path are basically aligned, even if it is expanded by two times, the length of the entire S-curve will be very short. At this time, the curvature of the generated curve will be very large, and the control tracking will be more likely to derail. Therefore, it is necessary to dynamically scale the expansion multiple according to the actual size of Δx or Δy, so as to confirm the appropriate starting and ending point coordinates and generate a spline curve with appropriate curvature.
[0116] As an optional embodiment, various types of visualization views or indicators can be provided based on application requirements to improve the friendliness of human-computer interaction. When drawing splines on site before, the generation process is often treated as a black box, and there is no intuitive understanding of whether the generation results meet the site requirements. However, with the visualization of spline information, the properties of the spline can give clearer feedback to on-site personnel. The information of the spline includes maximum curvature, maximum angle, maximum angle change, angle of entry and exit, speed of turning, etc. This information can intuitively reflect whether the current spline can meet the production needs of the site.
[0117] The present invention also proposes a mobile robot path planning system for batch path offline automatic generation, which is applied to the mobile robot path planning method for batch path offline automatic generation, and comprises:
[0118] The input module is used to input the CAD drawing of the site and the size information of the mobile robot. The information of the CAD drawing may include: shelf size, shelf location information, charging location information, parking location information, and free area. The size information of the mobile robot may include the half length and half width of the mobile robot when it is unloaded, the half length and half width of the mobile robot when it is loaded, the wheelbase between the front and rear wheels of the mobile robot, and the length of the fork tine.
[0119] The node generation module is used to generate corresponding shelf nodes, charging nodes, parking nodes from shelf location information, charging location information, and parking location information, and to generate cargo space nodes, exit nodes, and entry nodes. At the same time, for all nodes on the same straight line, the distance between nodes is determined, and merged nodes or newly added nodes are selected based on the distance between adjacent nodes. It can also be used to generate control nodes, which are used to generate spline curves.
[0120] The path judgment module is used to judge the passable area based on the on-site CAD map and the size information of the mobile robot, and determine the direction, type and position of the main road in the passable area.
[0121] The connection module is used to determine the positional relationship between two passable areas and connect the main roads in the two intersecting passable areas. The connection route can be connected by C-spline curve connection, S-spline curve connection and straight line connection.
[0122] The path generation module is used to generate the main path and the pick-up and delivery path according to the above-mentioned various nodes. The above-mentioned various nodes may include: shelf nodes, charging nodes, parking nodes, cargo nodes, exit nodes, entry nodes and corresponding control nodes.
[0123] The output module is used to output the generated main route information and the cargo pick-up and delivery route information. It can also output the location of the cargo location node.
[0124] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present invention belongs. The terms used herein in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The term "or / and" used herein includes any and all combinations of one or more of the related listed items.
[0125] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0126] The above-mentioned embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. A mobile robot path planning method for offline automatic generation of batch paths, characterized in that: It includes the following steps: S1: Obtain the CAD drawing of the site and the size information of the mobile robot, and obtain the shelf size, shelf node, charging node, parking node, and free area from the CAD drawing; S2: Divide the free area into multiple rectangular areas, and the sides of any two rectangular areas are parallel or perpendicular to each other. Determine the main road direction inside each rectangular area, and select the corresponding rectangular area that meets the mobile robot's spin condition as the passable area. The specific steps are as follows: S21: Project the shelf nodes, charging nodes and parking nodes onto the horizontal center line and the vertical center line of each rectangular area respectively, select the corresponding projection point in the rectangular area, and record the distance between the corresponding projection point and the shelf node, charging node or parking node corresponding to the corresponding projection point, and traverse to find the corresponding rectangular area with the smallest distance; S22: In the corresponding rectangular area with the smallest distance found, select the direction where the corresponding projection points are more in the horizontal center line and the vertical center line as the main road direction; S23: In the main road direction, according to the size information of the mobile robot, a rectangular area with the smallest distance that satisfies the rotation of the mobile robot is selected from the corresponding rectangular areas with the smallest distance, and recorded as a passable area; S3: Determine the main road type and main road position within each traversable area according to the size of the traversable area; S4: determining whether two adjacent passable areas intersect, and connecting the main road between the two intersecting passable areas; S5: Determine the cargo node position and the corresponding nearest passable area when the mobile robot picks up and places the cargo; S6: Determine the position of the exit node of the mobile robot before entering the main road in the nearest passable area from the cargo location node and the entry node when entering the main road in the nearest passable area; S7: Determine the starting point position on each main road, connect the main roads on the passable area according to the starting point position, main road type and direction, generate a main road path, and generate a pick-up and placement path according to the central position coordinate information, exit node and entry node information of the mobile robot when picking up and placing goods.
2. The mobile robot path planning method for batch path offline automatic generation according to claim 1 is characterized in that: In step S23, the rotation radius R of the mobile robot is: Among them, L 轴距 is the wheelbase between the front and rear wheels of the mobile robot, and φ is the maximum angle of the front wheel of the mobile robot when turning.
3. The mobile robot path planning method for batch path offline automatic generation according to claim 2 is characterized in that: The main road types in the passable area are divided into: spin, cross double channel, single channel and double channel. The minimum main road width p required for the mobile robot to spin rotate,min for: and / or The minimum main road width p required for the mobile robot to cross the dual channels curve,min for: and / or The minimum main road width p required for a mobile robot to travel a single channel singlePath,min for: p singlePath,min = 2(R+d+e); and / or The minimum main road width P required for the mobile robot to travel along a dual channel doublePath,min for: P doublePath,min =2(R+d+e)+2c+g Among them, a is the long half length of the mobile robot when carrying a load, d is the short half length of the mobile robot when carrying a load, b is the long half width of the mobile robot when carrying a load, c is the short half width of the mobile robot when carrying a load, R is the turning radius of the mobile robot, d is the short half length of the mobile robot, e is the safety distance between the mobile robot and the boundary on one side of the main road, f is the safety distance between the mobile robot and the boundary on the other side of the main road, and g is the safety distance between the two channels.
4. The mobile robot path planning method for offline automatic generation of batch paths according to claim 1 is characterized in that: In step S3, the steps of determining the main road type and location are as follows: S31: When p rotate,min ≤a1<p curve,min , the main road type is set to spin, and the distance between the main road and the corresponding cargo location node is: S32: When p curve,min ≤a1<p singlePath,min When , the main road type is set to cross double channel, and the distance between the main road and the edge of the corresponding passable area is: L 距2 =R+d+e; S33: When p singlePath,min ≤a1<p doublePath,min When the main road type is set to single channel, the distance between the main road and the corresponding cargo location node is: L 距3 =R+d+e; S34: When P doublePath,min When ≤a1, the main road type is set to dual channel, and the distance between the main road and the corresponding cargo location node is: L 距4 =R+d+e; Among them, a1 is the width of the main road in the passable area, p rotate,min is the minimum width required for the mobile robot to spin, p curve,min is the minimum main road width corresponding to the mobile robot entering the traversable area along an arc, p singlePath,min is the minimum main road width corresponding to the mobile robot taking a single channel, P doublePath,min It is the minimum main road width corresponding to the case where the mobile robot takes dual channels.
5. The mobile robot path planning method for batch path offline automatic generation according to claim 1 is characterized in that: In step S22, in the corresponding rectangular area with the smallest distance found, when the number of corresponding projection points in the horizontal center line and the longitudinal center line is the same, the long side of the corresponding rectangular area with the smallest distance is selected as the main road direction.
6. The mobile robot path planning method for batch path offline automatic generation according to claim 1 is characterized in that: In step S4, the specific steps are: S41: Use the cross multiplication algorithm to determine whether any vertex on one of the passable areas is on the edge of another passable area. If yes, go to S43; otherwise, go to S42; S42: using a straddle test to determine whether a vertex on one of the passable areas is inside or outside the other passable area, if any vertex on one of the passable areas is inside the other passable area, proceed to S43; S43: If the main roads in two intersecting passable areas are perpendicular to each other, a C-type spline curve is used to connect them; if the main roads in two intersecting passable areas are parallel to each other, an S-type spline curve is used to connect them.
7. The mobile robot path planning method for batch path offline automatic generation according to claim 1 is characterized in that: In step S5, the mobile robot includes: a fork tooth part, and the coordinate L (x, y) of the cargo location node is: L(x,y)=L1(x,y)±L2 Among them, L1(x, y) is the coordinate information of one side of the shelf close to the mobile robot, and L2 is the distance between the root of the fork tine and the center point of the mobile robot.
8. The mobile robot path planning method for batch path offline automatic generation according to claim 1 is characterized in that: In step S6, the distance L between the exit node and the corresponding nearest passable area boundary is 退 for: L 退 =d+e Wherein, d is the short half length of the mobile robot, and e is the safe distance between the mobile robot and the boundary of the main road.
9. The mobile robot path planning method for batch path offline automatic generation according to claim 1, characterized in that: In step S6, when the main road in the nearest passable area satisfies any one of the cross double channel, single channel and double channel, the exit node and the entry node are connected by a C-spline, and / or When the main road in the nearest traversable area meets the spin condition, a straight line is used to connect the exit node to the entry node.
10. A mobile robot path planning system with batch path offline automatic generation, characterized by: A mobile robot path planning method for offline automatic generation of batch paths applied to any one of claims 1 to 9, comprising: An input module, used to input the CAD drawing of the site and the size information of the mobile robot; The path determination module is used to determine the traversable area based on the on-site CAD map and the size information of the mobile robot, and to determine the direction, type and location of the main road in the traversable area; The node generation module is used to generate shelf nodes, charging nodes, parking nodes, cargo space nodes, exit nodes and entry nodes. At the same time, for nodes on the same straight line, the distance between nodes is determined, and the merged nodes or added nodes are selected according to the distance between adjacent nodes. A connection module is used to determine the positional relationship between two passable areas and connect the main roads in the two intersecting passable areas; A path generation module is used to generate a main path and a pick-up and delivery path based on the above nodes; The output module is used to output the main route information, the pick-up and release route information and the location information of the cargo location node.
