Method, device and medium for path planning of robot picking pallets
By planning the straight-line travel path of the robot forking the pallet and introducing spin angle and termination node angle costs, the direction of candidate nodes is optimized, which solves the problem of low robot path following accuracy and improves travel efficiency and accuracy.
Patent Information
- Application Number
- CN202310763536.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-26
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2043-06-26
AI Technical Summary
In existing technologies, the path planning for robots to pick up pallets results in low path following accuracy and frequent changes in travel angle, which affects travel efficiency.
By determining the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot picks up the pallet, the robot plans a straight-line travel path from the current node to the termination node. The robot spin angle cost and the termination node angle deviation cost are introduced to optimize the direction of the candidate next node until the target next node coincides with the termination node.
It improves the robot's driving efficiency during pallet picking, and enhances the path following accuracy and the accuracy of path planning.
Smart Images

Figure CN116834002B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of path planning technology, and in particular to a path planning method, apparatus, device and medium for a robot to pick up a pallet. Background Technology
[0002] Autonomous mobile robots are a type of industrial robot that can be used to transport materials such as pallets. With the advancement of information technology and the maturity of automation, robots are widely used in various fields such as handling, stacking, and logistics.
[0003] Before a robot picks up a pallet, it needs to plan the travel path from the robot's current position to the pallet's position. In existing technologies, the shortest travel path of the robot is usually planned directly based on obstacle information.
[0004] However, the planned robot travel path is generally a smooth curved path, which has low tracking accuracy, causing the robot to frequently change its travel angle. Summary of the Invention
[0005] This invention provides a path planning method, apparatus, device, and medium for a robot to pick up a pallet, in order to solve the problem of low following accuracy of the robot's travel path and improve the travel efficiency of the robot in the process of picking up a pallet.
[0006] According to one aspect of the present invention, a path planning method for a robot to pick up a pallet is provided, comprising:
[0007] Determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot performs path planning for pallet picking;
[0008] Based on the current node pose information, the termination node pose information, and the obstacle convex hull information, the obstacle collision detection results of the robot's straight-line travel path from the current node to the termination node are determined.
[0009] If there is an obstacle collision, at least two candidate next node directions are determined based on the robot's current node pose information;
[0010] The at least two candidate next node directions are sorted according to the robot spin angle cost and the termination node angle deviation cost; wherein, the robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, and the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction.
[0011] Based on the direction sorting results, the pose information of the target next node is determined according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
[0012] According to another aspect of the present invention, a path planning device for a robot to pick up a pallet is provided, comprising:
[0013] The information determination module is used to determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot performs path planning for pallet picking.
[0014] The first path collision detection module is used to determine the obstacle collision detection result of the robot's straight-line travel path from the current node to the end node based on the current node pose information, the end node pose information, and the obstacle convex hull information.
[0015] The candidate node orientation determination module is used to determine at least two candidate next node orientations based on the robot's current node pose information if there is an obstacle collision.
[0016] The candidate node direction sorting module is used to sort the at least two candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost; wherein, the robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, and the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction.
[0017] The second path collision detection module is used to determine the pose information of the target next node based on the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, based on the direction sorting results, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
[0018] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0019] At least one processor; and
[0020] A memory communicatively connected to the at least one processor; wherein,
[0021] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the path planning method for a robot to pick up a pallet according to any embodiment of the present invention.
[0022] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the path planning method for a robot to pick up a pallet according to any embodiment of the present invention.
[0023] The technical solution of this invention solves the problem of low robot following accuracy by planning a straight-line travel path from the current node to the end node; and improves the travel efficiency of the robot by introducing robot spin angle cost and end node angle deviation cost when determining the robot at the intermediate node of the travel path.
[0024] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0025] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a flowchart of a path planning method for a robot to pick up a pallet, according to Embodiment 1 of the present invention;
[0027] Figure 2 This is a flowchart of another path planning method for a robot to pick up a pallet, provided in Embodiment 2 of the present invention;
[0028] Figure 3 This is a schematic diagram of the path planning results for the robot to pick up the pallet;
[0029] Figure 4 This is a schematic diagram of a path planning device for a robot to pick up a pallet according to Embodiment 3 of the present invention;
[0030] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the path planning method for a robot to pick up a pallet according to an embodiment of the present invention. Detailed Implementation
[0031] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0032] It should be noted that the terms "candidate," "target," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0033] Example 1
[0034] Figure 1 This is a flowchart illustrating a path planning method for a robot to pick up a pallet, as provided in Embodiment 1 of the present invention. This embodiment is applicable to situations where a robot determines its travel path when picking up a pallet in a narrow space. This method can be executed by a path planning device for picking up a pallet, which can be implemented in hardware and / or software. This path planning device can be configured in a robot or a server or other device with communication and computing capabilities. Figure 1 As shown, the method includes:
[0035] S110. Determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot performs path planning for pallet picking.
[0036] The robot's current node pose information includes the current node position information and the current node orientation angle. The robot's final node pose information includes the final node position information and the final node orientation angle. The obstacle convex hull information refers to the obstacle boundary information obtained by the robot's perception sensors. For example, the obstacle convex hull information is the obstacle 3D point cloud boundary data obtained by the radar sensor.
[0037] Specifically, the current node pose information can be determined based on the robot's starting position and posture, while the ending node pose information can be determined based on the pallet's placement position and posture. For example, before path planning, the current node pose information is determined based on the robot's parking position and posture. During path planning, the current node pose information is continuously updated based on the robot's current travel path and travel direction. Since the robot can only pick up the pallet from a fixed direction to ensure stability, the ending node pose information needs to be determined based on the direction and pallet position when the robot has fully picked up the pallet. For instance, to improve path planning efficiency, the pose information in this embodiment is determined from a bird's-eye view of the robot's travel space, avoiding the inefficiency of 3D path planning.
[0038] S120. Based on the current node pose information, the termination node pose information, and the obstacle convex hull information, determine the obstacle collision detection results for the robot's straight-line travel path from the current node to the termination node.
[0039] During path planning, each time a subsequent path to the current node is planned, it is first determined whether the straight-line travel between the current node and the end node is directly traversable. This involves performing obstacle collision detection on the straight-line travel between the current node and the end node. If there are no obstacles on the straight-line travel path, it is directly adopted as the path planning result. If there are obstacles, then the intermediate nodes between the current node and the end node are determined.
[0040] For example, it is determined whether the distance between the straight-line travel path of the current node and the end node and any obstacle convex hull information is less than the preset obstacle avoidance distance. If so, it is determined that the robot will encounter obstacle collision risk when traveling along the straight-line travel path; if the distance between the robot and all obstacle convex hull information is greater than or equal to the preset obstacle avoidance distance, it is determined that there is no obstacle collision risk.
[0041] Since the robot uses a control method that combines straight-line travel with spin, the efficiency of the robot's path planning can be improved by determining whether the current node and the termination node can travel in a straight line, and by determining whether the subsequent planned path is a straight path.
[0042] S130. If there is an obstacle collision, at least two candidate next node directions are determined based on the robot's current node pose information.
[0043] If there are obstacle collisions on the robot's straight-line path from the current node to the end node, the robot needs to determine an intermediate node between the current node and the end node. This allows the robot to travel straight from the current node to the intermediate node, and then from the intermediate node to the end node, thus avoiding obstacle collisions. Specifically, the robot needs to determine candidate next directions to the next node. For example, it can offset the current node's orientation angle to the left or right by a preset angle based on the current node's pose information. The preset angle can be one or more.
[0044] S140. Sort at least two candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost.
[0045] The robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, while the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction.
[0046] Because the distance between the robot and the terminal node changes differently depending on the direction the robot travels in, the efficiency of the planned path will vary. Furthermore, the rotation angle of the robot when traveling in different directions will also vary, which will also result in different travel efficiencies.
[0047] Therefore, in this embodiment of the invention, the robot spin angle cost and the termination node angle deviation cost are combined to select the direction of the candidate next node, thereby improving the accuracy of determining the direction of the next node and thus improving the driving efficiency of the planned path.
[0048] Specifically, the robot spin angle cost represents the rotation angle cost of the robot rotating from the orientation angle of the current node to the direction of the candidate next node. This rotation angle cost is used to sort the directions of the candidate next node to avoid the robot needing to rotate too much when changing the straight travel path between two adjacent nodes. The termination node angle deviation cost represents the angle deviation cost between the direction of the candidate next node and the orientation angle of the robot's termination node. This angle deviation cost represents the degree of deviation between the candidate next node and the termination node, so as to avoid planning the path with too much deviation from the termination node, so that the travel path through the next node can approach the termination node more quickly.
[0049] In one feasible embodiment, the formula for calculating the robot spin angle cost is as follows:
[0050] k_turn=1+abs(d yaw ) / π;
[0051] Where k_turn represents the robot spin angle cost, d yaw This represents the difference in rotation angle between the robot's current node pose and the direction of the candidate next node.
[0052] d yaw = mod(yaw - yaw_tmp * 2 * π);
[0053] Where yaw represents the orientation angle of the current node in the current node pose information, and yaw_tmp represents the direction of the candidate next node;
[0054] The formula for calculating the cost of the termination node angle deviation is as follows:
[0055] k_diff=1+(abs(d theta / π))*dg / kd;
[0056] Where k_diff represents the cost of the angle deviation at the termination node, d theta dg represents the angular deviation between the terminal node orientation angle and the candidate next node direction in the robot's terminal node pose information; dg represents the distance between the terminal node position information and the candidate next node position information corresponding to the candidate next node direction in the robot's terminal node pose information; and kd represents the preset distance scaling factor.
[0057] Specifically, the rotation angle difference between the robot's current node orientation angle and the direction of each candidate next node is determined. A modulo operation is used to ensure that the rotation angle difference is within the range of [-π, π]. The preset distance scaling factor can be determined based on the actual driving area and is not limited here; for example, it can be set to 2 meters.
[0058] For example, the total cost calculation formula is determined as F = a * k_turn + b * k_diff, where a and b are the influence parameters of the robot spin angle cost and the termination node angle deviation cost, which are predetermined based on the robot's mechanical properties and the pallet picking scenario. The total cost parameter for each candidate next node direction is determined according to the total cost calculation formula, and the candidate next node directions are sorted in ascending order according to the magnitude of the total cost parameter.
[0059] S150. Based on the direction sorting results, determine the pose information of the target next node according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
[0060] Based on the direction sorting results, it is determined whether there is a risk of obstacle collision on the straight driving path of each candidate next node direction. If there is, the next candidate next node direction is determined according to the sorting results. If there is no obstacle, the candidate next node direction is determined as the target next node direction.
[0061] For example, based on the direction sorting result, the candidate next node directions are traversed sequentially. During the traversal, the obstacle collision detection result of the robot's straight-line travel path along the candidate next node direction from the current node is determined. If there is an obstacle collision, the traversal of the candidate next node direction continues; if there is no obstacle collision, the position of the current node along the candidate next node direction along the preset length is determined as the target next node position information, and the candidate next node direction is set as the robot's target next node orientation angle, that is, the robot rotates to the candidate next node direction to travel in a straight line.
[0062] After determining the target next node direction from the candidate next node directions and determining the target next node pose information, the target next node pose information is used as the current node pose information. First, based on the current node pose information, the termination node pose information, and the obstacle convex hull information, the obstacle collision detection results of the robot's straight-line travel path from the updated current node to the termination node are determined. Then, based on the obstacle collision detection results, the subsequent planned path is determined until the path reaches the termination node and the path planning is completed.
[0063] This invention addresses the problem of low robot path following accuracy by planning a straight-line travel path from the current node to the end node. Furthermore, it improves the robot's path planning efficiency by introducing robot spin angle cost and end node angle deviation cost when determining the robot's intermediate nodes on the travel path.
[0064] Example 2
[0065] Figure 2 This is a flowchart of a path planning method for a robot to pick up a pallet, provided in Embodiment 2 of the present invention. This embodiment further refines the above embodiment. Figure 2 As shown, the method includes:
[0066] S210. Determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot performs path planning for pallet picking.
[0067] In one feasible embodiment, determining the pose information of the termination node when the robot performs path planning for pallet picking includes:
[0068] Acquire the pallet pose information and determine the robot's endpoint fork pose information based on the pallet pose information; wherein, the robot's endpoint fork pose information includes the robot's fork orientation angle and the robot's endpoint fork position information;
[0069] The position of the path planning termination node is the position of the robot's fork position extended by a preset fork length in the direction of the robot's fork orientation angle, based on the robot's endpoint fork position information.
[0070] The pose information of the termination node is determined based on the location information of the termination node and the orientation angle of the robot fork.
[0071] Since the robot needs to be in a fixed orientation to fully pick up the pallet when it is forking it, in order to improve the efficiency of picking up the pallet when the robot travels to the vicinity of the pallet according to the planned path, and to avoid the robot having to adjust its own angle and position to complete the picking up when it is near the pallet, this embodiment sets the termination node of the robot's path planning on the straight extension line of the pallet picking direction. This allows the robot to pick up the pallet directly with the orientation angle at the end of the path when it travels to the end of the path, thus improving the problem of path planning failure in narrow road scenarios.
[0072] Specifically, the pallet pose information includes pallet position information and pallet orientation information. Based on the pallet orientation information, the robot's endpoint forking pose information when it can fully pick up the pallet can be determined. Starting from the robot's endpoint forking position information, the position where a preset forking length is extended in a straight line towards the robot's forking direction angle is the termination node position information. The preset forking length is determined based on the robot's fork arm length to ensure that the robot will not touch the pallet when it spins at this extension point.
[0073] like Figure 3 The image shows the path planning results for the robot to pick up the pallet. The straight path segment labeled 1 is a preset picking length path extending in the direction of the robot's picking angle based on the robot's endpoint picking position information. The path labeled 2 is the path planning result for the robot from the current node to the end node.
[0074] S220. Divide the robot's driving area into multiple candidate grids; determine the set of obstacles corresponding to each candidate grid based on the obstacle convex hull information.
[0075] The robot's travel area is determined based on the robot's starting position and the tray's position, and the travel area completely includes both the robot and the tray. For example, based on the robot and tray positions, [x_min, x_max, y_min, y_max] are calculated, where x_min, x_max, y_min, and y_max are the maximum and minimum values of the robot and tray's coordinate positions. Therefore, the robot's travel area range is [x_min–d, x_max+d, y_min–d, y_max+d]. The value of d can be determined based on the scene size and is not restricted here.
[0076] The robot's driving area is divided according to a preset grid resolution, resulting in multiple candidate grids. The obstacle convex hull information is then expanded, and the expanded obstacle convex hull information is projected onto the grid map of the driving area to determine the set of obstacle IDs included in each grid. For example, the obstacle convex hull information can be determined by multi-frame data collected by the robot's perception sensors; therefore, the obstacle set corresponding to each candidate grid can be empty or contain one or more obstacles.
[0077] Optionally, to prevent the robot from traveling to a position on the pallet that cannot be picked up during path planning, the convex hull information of the pallet area is obtained, and virtual obstacles are set at the positions where the pallet cannot be picked up, and the virtual obstacles are projected onto the grid map.
[0078] S230. Determine the target grid corresponding to the straight-line travel path from the current node to the termination node from the candidate grids.
[0079] When performing obstacle collision detection, the candidate grids covered by the straight-line travel path from the current node to the end node in the grid map are used as the target grids.
[0080] S240. If the obstacle set corresponding to the target grid is not empty, the obstacle collision detection result is determined based on the distance between the convex hull information of each obstacle in the obstacle set corresponding to the target grid and the straight driving path.
[0081] The system iterates through the obstacle sets corresponding to the target grids. If all obstacle sets corresponding to the target grids are empty, it means that there is no risk of collision with obstacles on the straight-line travel path from the current node to the termination node, and the path planning ends. If there is any obstacle set corresponding to a target grid that is not empty, the system iterates through the convex hull information of each obstacle in the obstacle set corresponding to that target grid, and determines whether the distance between the original convex hull information of the obstacle and the straight-line travel path is less than the preset obstacle avoidance distance. If the distance corresponding to any obstacle convex hull information is less than the preset obstacle avoidance distance, it is determined that there is a risk of collision between the robot and the obstacle when traveling along the straight-line travel path. If the distance corresponding to all obstacle convex hull information is greater than or equal to the preset obstacle avoidance distance, it is determined that there is no risk of collision with obstacles when the robot travels along the straight-line travel path.
[0082] Projecting obstacle convex hull information onto a grid map improves obstacle collision detection efficiency. However, in narrow spaces, directly determining collision risk based on whether a target grid covered by the straight-line path includes obstacle convex hull information can lead to situations where a target grid contains a set of obstacles, but the distance between the convex hull information of each obstacle and the straight-line path is relatively large, thus not affecting the robot's movement. Therefore, combining obstacle convex hull information with a grid map for obstacle collision detection improves accuracy, thereby maximizing the use of space in narrow passages and increasing the efficiency of the robot's path planning.
[0083] S250. If there is an obstacle collision, then take the current node position information in the current node pose information as the center, and determine nine candidate next node directions based on the directions of the eight neighboring domains and the direction pointing to the position information of the termination node.
[0084] When determining the direction of the candidate next node, we take the current node's position information as the center and expand outwards to the eight neighboring areas, plus a direction that directly points to the position information of the endpoint node.
[0085] Determining the direction of the candidate next node by using the direction of the eight neighbors can help find intermediate nodes leading to the terminal node from various directions of the current node, thereby improving the coverage in the intermediate node determination process; determining the direction of the candidate next node by using the direction pointing to the location information of the terminal node can reduce the deviation from the pallet direction in the path planning process, thereby improving the accuracy of path planning.
[0086] In one feasible embodiment, the method further includes, before sorting at least two candidate next node directions based on robot spin angle cost and termination node angle deviation cost:
[0087] Based on the angle difference between the current node orientation angle and the candidate next node direction in the robot's current node pose information, determine the robot rotation angle difference corresponding to the candidate next node direction;
[0088] The direction of the candidate next node is determined based on the difference in the robot's rotation angle to determine whether it is the same as the direction of travel of the current node's orientation angle;
[0089] If the driving directions are different, the corresponding candidate next node direction is deleted.
[0090] Determine the rotation angle difference between the robot's current node orientation angle and the direction of each candidate next node, for example, according to formula d. yaw =mod(yaw-yaw_tmp*2*π) determines the robot rotation angle difference corresponding to the direction of the candidate next node, where yaw represents the current node orientation angle in the current node pose information, and yaw_tmp represents the direction of the candidate next node.
[0091] The root rotation angle difference determines whether the direction of the candidate next node is the same as the robot's direction of travel at the current node. Specifically, it determines abs(d yaw If the angle is less than 90 degrees, then the driving direction of the candidate next node is determined to be the same as that of the current node; otherwise, the driving direction of the candidate next node is determined to be different from that of the current node. In order to ensure the accuracy of path planning, the driving direction of the candidate next node that is different from that of the current node is deleted, and only the driving direction of the candidate next node that is the same as that of the current node is retained for obstacle collision detection.
[0092] S260. Sort the candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost.
[0093] S270. Based on the direction sorting results, the pose information of the target next node is determined according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
[0094] In one feasible embodiment, based on the direction sorting results, the pose information of the target next node is determined according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, including:
[0095] Based on the direction sorting results, the direction of the next node of the candidate target is determined sequentially;
[0096] The number of search steps is increased sequentially according to the preset search step size to determine the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next node of the candidate target;
[0097] If the preset search step limit is reached, and the obstacle collision detection result of the straight driving path corresponding to the preset search step limit is no collision, then the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the preset search step limit.
[0098] If the obstacle collision detection result of the straight driving path corresponding to the current search step count is a collision before the preset upper limit of search steps is reached, then it is determined whether the current search step count is greater than or equal to the preset lower limit of search steps.
[0099] If so, the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the current search step.
[0100] Otherwise, the pose information of the next node of the target is determined based on the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next node of the subsequent candidate target.
[0101] Based on the direction sorting results, the candidate next node direction with the lowest cost is first determined as the candidate target next node direction. Starting from the current node position information, the number of search steps is increased sequentially along the candidate target next node direction. For each straight path with an additional preset search step, obstacle collision detection is performed on the straight path. The obstacle collision detection method is the same as the obstacle collision detection of the straight path from the current node to the terminal node, and will not be repeated here.
[0102] If there is no obstacle collision on the straight path, the search steps will continue to increase until the preset search step limit is reached. If there is still no obstacle collision on the corresponding straight path, the path planned for the next node will be extended from the current node position information along the direction of the next node of the candidate target, corresponding to the preset search step limit.
[0103] If, during the process of increasing the search steps, a collision occurs with an obstacle on the straight path corresponding to the current search step count before reaching the preset upper limit of search steps, it is determined whether the current search step count is greater than or equal to the preset lower limit of search steps. If the current search step count is greater than or equal to the preset lower limit of search steps, it means that the robot can proceed according to the next node direction of the candidate target. If the current search step count is less than the preset lower limit of search steps, it means that if the robot proceeds according to the next node direction of the candidate target, it will face a situation where it needs to change its orientation angle after traveling a short distance, which will cause the robot's path following accuracy to decrease. Therefore, if the current search step count is less than the preset lower limit of search steps, the next node direction of the candidate target is excluded, and the next candidate node direction with lower cost is determined according to the direction sorting results.
[0104] After the planned path is completed, the planned path is composed of a series of straight path segments. The robot follows the trajectory. For each straight path segment, the robot first spins to the orientation angle corresponding to the straight path before moving in a straight line. The robot's orientation angle on each path is the same as the direction of the path.
[0105] In this embodiment of the invention, the termination node of the robot's planned path is determined by extending a straight line based on the pallet position, thereby improving the robot's efficiency in picking up the pallet after traveling along the planned path. At the same time, obstacle collision detection based on obstacle convex hull information can improve the robot's space utilization in narrow scenarios. Furthermore, by limiting the upper and lower limits of the search steps, the path length from the current node to the next node is limited, thereby improving the robot's path planning and driving efficiency and path following accuracy.
[0106] Example 3
[0107] Figure 4 This is a schematic diagram of a path planning device for a robot to pick up a pallet, provided in Embodiment 3 of the present invention. Figure 4 As shown, the device includes:
[0108] The information determination module 410 is used to determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot performs path planning for pallet picking.
[0109] The first path collision detection module 420 is used to determine the obstacle collision detection result of the robot's straight-line travel path from the current node to the end node based on the current node pose information, the end node pose information and the obstacle convex hull information.
[0110] The candidate node orientation determination module 430 is used to determine at least two candidate next node orientations based on the robot's current node pose information if there is an obstacle collision.
[0111] The candidate node direction sorting module 440 is used to sort the at least two candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost; wherein, the robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, and the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction.
[0112] The second path collision detection module 450 is used to determine the pose information of the target next node based on the obstacle collision detection results of the straight-line travel path of the robot from the current node along the direction of the candidate next node, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
[0113] Optionally, the information determination module includes a termination node pose information unit, specifically used for:
[0114] Acquire the pallet pose information and determine the robot's endpoint fork pose information based on the pallet pose information; wherein, the robot's endpoint fork pose information includes the robot's fork orientation angle and the robot's endpoint fork position information;
[0115] The position of the path planning termination node is the position of the robot's fork position extended by a preset fork length in the direction of the robot's fork orientation angle based on the robot's endpoint fork position information.
[0116] The pose information of the termination node is determined based on the termination node position information and the robot fork orientation angle.
[0117] Optionally, the device further includes a grid division module for...
[0118] After determining the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot plans its path for picking up the pallet, the robot's travel area is divided into regions to obtain multiple candidate grids.
[0119] The obstacle set corresponding to each candidate grid is determined based on the obstacle convex hull information.
[0120] Accordingly, the first path collision detection module is specifically used for:
[0121] Determine the target grid corresponding to the straight-line travel path from the current node to the termination node from the candidate grids;
[0122] If the obstacle set corresponding to the target grid is not empty, the obstacle collision detection result is determined based on the distance between the convex hull information of each obstacle in the obstacle set corresponding to the target grid and the straight driving path.
[0123] Optionally, a candidate node direction determination module is used for:
[0124] Centered on the current node position information in the current node pose information, nine candidate next node directions are determined based on the directions of the eight neighboring domains and the direction pointing to the position information of the termination node.
[0125] Optionally, the device further includes a candidate node direction filtering module, specifically used for:
[0126] Before sorting the at least two candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost, the robot rotation angle difference corresponding to the candidate next node direction is determined according to the angle difference between the current node orientation angle in the robot's current node pose information and the candidate next node direction.
[0127] Based on the difference in robot rotation angles, determine whether the direction of the candidate next node is the same as the direction of travel of the current node's orientation angle;
[0128] If the driving directions are different, the corresponding candidate next node direction is deleted.
[0129] Optional, a second path collision detection module, specifically used for:
[0130] Based on the direction sorting results, the direction of the next node of the candidate target is determined sequentially;
[0131] By sequentially increasing the search steps according to the preset search step size, the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next node of the candidate target are determined.
[0132] If the preset search step limit is reached, and the obstacle collision detection result of the straight driving path corresponding to the preset search step limit is no collision, then the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the preset search step limit.
[0133] If the obstacle collision detection result of the straight driving path corresponding to the current search step count is that there is a collision before the preset upper limit of search steps is reached, then it is determined whether the current search step count is greater than or equal to the preset lower limit of search steps.
[0134] If so, the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the current search step number;
[0135] Otherwise, the pose information of the next target node is determined based on the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next candidate target node.
[0136] Optionally, the formula for calculating the robot spin angle cost is as follows:
[0137] k_turn=1+abs(d yaw ) / π;
[0138] Where k_turn represents the robot spin angle cost, d yawThis represents the difference in rotation angle between the robot's current node pose and the direction of the candidate next node;
[0139] d yaw = mod(yaw - yaw_tmp * 2 * π);
[0140] Where yaw represents the orientation angle of the current node in the current node pose information, and yaw_tmp represents the direction of the candidate next node;
[0141] The formula for calculating the cost of the termination node angle deviation is as follows:
[0142] k_diff=1+(abs(d theta / π))*dg / kd;
[0143] Where k_diff represents the cost of the angular deviation of the termination node, d theta dg represents the angular deviation between the terminal node orientation angle in the robot's terminal node pose information and the direction of the candidate next node; kd represents the distance between the terminal node position information in the robot's terminal node pose information and the position information of the candidate next node corresponding to the direction of the candidate next node; and kd represents the preset distance scaling factor.
[0144] The path planning device for robot pallet picking provided in the embodiments of the present invention can execute the path planning method for robot pallet picking provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0145] The acquisition, storage, use, and processing of data in this application comply with relevant national laws and regulations and do not violate public order and good morals.
[0146] Example 4
[0147] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0148] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0149] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0150] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0151] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as the path planning method for a robot to pick up a pallet.
[0152] In some embodiments, the path planning method for a robot to pick up a pallet can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the path planning method for a robot to pick up a pallet described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the path planning method for a robot to pick up a pallet by any other suitable means (e.g., by means of firmware).
[0153] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific reference products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0154] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0155] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0156] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0157] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0158] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0159] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0160] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A path planning method for a robot to pick up a pallet, characterized in that, include: The robot determines the current node pose information, the termination node pose information, and the obstacle convex hull information when planning the path for pallet picking. The robot uses a control method that combines linear travel with spin. The termination node pose information is determined based on the pallet's placement position and orientation. Based on the current node pose information, the termination node pose information, and the obstacle convex hull information, the obstacle collision detection results of the robot's straight-line travel path from the current node to the termination node are determined. If there is an obstacle collision, at least two candidate next node directions are determined based on the robot's current node pose information; The at least two candidate next node directions are sorted in ascending order based on the total cost determined by the robot spin angle cost and the termination node angle deviation cost. The robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, and the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction. The total cost is equal to the sum of the product of the robot spin angle cost and its corresponding influence parameter, and the product of the termination node angle deviation cost and its corresponding influence parameter. The formula for calculating the robot spin angle cost is as follows: ;in, This represents the cost of the robot's spin angle. This represents the difference in rotation angle between the robot's current node pose and the direction of the candidate next node; Where yaw represents the orientation angle of the current node in the current node pose information. The direction of the candidate next node is indicated; the formula for calculating the angle deviation cost of the termination node is as follows: ;in, This represents the cost of the angle deviation at the termination node. dg represents the angular deviation between the orientation angle of the termination node in the robot's termination node pose information and the direction of the candidate next node; kd represents the distance between the position information of the termination node in the robot's termination node pose information and the position information of the candidate next node corresponding to the direction of the candidate next node; and kd represents the preset distance scaling factor. Based on the direction sorting results, the pose information of the target next node is determined according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
2. The method according to claim 1, characterized in that, Determine the pose information of the termination node when the robot performs path planning for pallet picking, including: Acquire the pallet pose information and determine the robot's endpoint fork pose information based on the pallet pose information; wherein, the robot's endpoint fork pose information includes the robot's fork orientation angle and the robot's endpoint fork position information; The position of the path planning termination node is the position of the robot's fork position extended by a preset fork length in the direction of the robot's fork orientation angle based on the robot's endpoint fork position information. The pose information of the termination node is determined based on the termination node position information and the robot fork orientation angle.
3. The method according to claim 1, characterized in that, After determining the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot plans its path for pallet retrieval, the method further includes: The robot's operating area is divided into regions to obtain multiple candidate grids; The obstacle set corresponding to each candidate grid is determined based on the obstacle convex hull information. Accordingly, the obstacle collision detection results for determining the robot's straight-line travel path from the current node to the termination node include: Determine the target grid corresponding to the straight-line travel path from the current node to the termination node from the candidate grids; If the obstacle set corresponding to the target grid is not empty, the obstacle collision detection result is determined based on the distance between the convex hull information of each obstacle in the obstacle set corresponding to the target grid and the straight driving path.
4. The method according to claim 1, characterized in that, Based on the robot's current node pose information, at least two candidate next node directions are determined, including: Centered on the current node position information in the current node pose information, nine candidate next node directions are determined based on the directions of the eight neighboring domains and the direction pointing to the position information of the termination node.
5. The method according to claim 1, characterized in that, Before sorting the at least two candidate next node directions according to the robot spin angle cost and the termination node angle deviation cost, the method further includes: Based on the angle difference between the current node orientation angle in the robot's current node pose information and the candidate next node direction, the robot rotation angle difference corresponding to the candidate next node direction is determined; Based on the difference in robot rotation angles, determine whether the direction of the candidate next node is the same as the direction of travel of the current node's orientation angle; If the driving directions are different, the corresponding candidate next node direction is deleted.
6. The method according to claim 1, characterized in that, Based on the direction sorting results, the pose information of the target next node is determined according to the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, including: Based on the direction sorting results, the direction of the next node of the candidate target is determined sequentially; By sequentially increasing the search steps according to the preset search step size, the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next node of the candidate target are determined. If the preset search step limit is reached, and the obstacle collision detection result of the straight driving path corresponding to the preset search step limit is no collision, then the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the preset search step limit. If the obstacle collision detection result of the straight driving path corresponding to the current search step count is that there is a collision before the preset upper limit of search steps is reached, then it is determined whether the current search step count is greater than or equal to the preset lower limit of search steps. If so, the direction of the next node of the candidate target is determined as the orientation angle of the next node of the target, and the position information of the next node of the target is determined according to the current search step number; Otherwise, the pose information of the next target node is determined based on the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the next candidate target node.
7. A path planning device for a robot to pick up a pallet, characterized in that, include: The information determination module is used to determine the current node pose information, the termination node pose information, and the obstacle convex hull information when the robot plans its path for pallet picking. The robot uses a control method that combines linear travel with spin. The termination node pose information can be determined based on the pallet's placement position and orientation. The first path collision detection module is used to determine the obstacle collision detection result of the robot's straight-line travel path from the current node to the end node based on the current node pose information, the end node pose information, and the obstacle convex hull information. The candidate node orientation determination module is used to determine at least two candidate next node orientations based on the robot's current node pose information if there is an obstacle collision. The candidate node direction sorting module is used to sort the at least two candidate next node directions in ascending order based on the total cost determined by the robot spin angle cost and the termination node angle deviation cost. The robot spin angle cost is determined based on the rotation angle difference between the robot's current node pose information and the candidate next node direction, and the termination node angle deviation cost is determined based on the angle deviation between the robot's termination node pose information and the candidate next node direction. The total cost is equal to the sum of the product of the robot spin angle cost and the corresponding influence parameter, and the product of the termination node angle deviation cost and the corresponding influence parameter. The formula for calculating the robot spin angle cost is as follows: ;in, This represents the cost of the robot's spin angle. This represents the difference in rotation angle between the robot's current node pose and the direction of the candidate next node; Where yaw represents the orientation angle of the current node in the current node pose information. The direction of the candidate next node is indicated; the formula for calculating the angle deviation cost of the termination node is as follows: ;in, This represents the cost of the angle deviation at the termination node. dg represents the angular deviation between the orientation angle of the termination node in the robot's termination node pose information and the direction of the candidate next node; kd represents the distance between the position information of the termination node in the robot's termination node pose information and the position information of the candidate next node corresponding to the direction of the candidate next node; and kd represents the preset distance scaling factor. The second path collision detection module is used to determine the pose information of the target next node based on the obstacle collision detection results of the robot's straight-line travel path from the current node along the direction of the candidate next node, based on the direction sorting results, until the target next node coincides with the termination node to complete the path planning for the robot to pick up the pallet.
8. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the path planning method for a robot to pick up a pallet according to any one of claims 1-6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the path planning method for a robot to pick up a pallet according to any one of claims 1-6.
Citation Information
Patent Citations
Mobile robot path planning method based on improved ant colony algorithm
CN110726408A
Robot obstacle avoidance path planning method and system and medium
CN115793647A