A robot path planning method, device and electronic equipment
By determining the candidate angles of the target joint and the first angles of the remaining joints for the redundant robot, and calculating and selecting the optimal path, the problem of path planning failure in redundant robots in the prior art is solved, and successful path planning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HARBIN SIZHERUI INTELLIGENT MEDICAL EQUIP CO LTD
- Filing Date
- 2026-01-14
- Publication Date
- 2026-06-05
Smart Images

Figure CN121515217B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of robot motion control, and in particular to a robot path planning method, apparatus and electronic device. Background Technology
[0002] A 7-axis robot, also known as a redundant robot, is an additional axis that allows the robot to avoid certain targets, making it easier for its end effector to reach the designated position and making it more flexible in adapting to some special working environments.
[0003] It should be noted that in order to achieve robot motion control, the first prerequisite is to plan the path for the robot, and this path planning process can be carried out based on the joint angles of each joint of the robot.
[0004] However, for redundant robots, since their degrees of freedom exceed the dimensions of Cartesian space, the current solutions (i.e., the solutions for determining joint angles for 6-axis robots) cannot successfully determine optimal joint angles for redundant robots, leading to path planning failures, which urgently need to be addressed. Summary of the Invention
[0005] This invention provides a robot path planning method, apparatus, and electronic device, which solves the problem of path planning failure.
[0006] According to one aspect of the present invention, a robot path planning method is provided, which may include:
[0007] For the target joint among the joints of the redundant robot, determine the candidate angles of the target joint.
[0008] For each candidate angle, with the target joint fixed at the candidate angle, the first angle of each joint other than the target joint is determined, and the length of the motion path of the redundant robot is determined based on the candidate angle and each first angle.
[0009] The target length is determined from all the determined lengths, and path planning is performed for the redundant robot based on the candidate angles corresponding to the target length and each first angle.
[0010] According to another aspect of the present invention, a robot path planning apparatus is provided, which may include:
[0011] The candidate angle determination module can be used to determine the candidate angles of a target joint among the joints of a redundant robot.
[0012] The length determination module is used to determine the first angle of each joint other than the target joint for each candidate angle, while fixing the target joint at the candidate angle, and to determine the length of the motion path of the redundant robot based on the candidate angle and each first angle.
[0013] The path planning module is used to determine the target length from all the determined lengths, and to perform path planning for the redundant robot based on the candidate angles corresponding to the target length and each first angle.
[0014] According to another aspect of the present invention, an electronic device is provided, which may include:
[0015] At least one processor; and
[0016] A memory that is communicatively connected to at least one processor; wherein,
[0017] The memory stores a computer program that can be executed by at least one processor to implement the robot path planning method provided in any embodiment of the present invention when executed by at least one processor.
[0018] According to another aspect of the present invention, a computer-readable storage medium is provided having computer instructions stored thereon for causing a processor to execute and implement the robot path planning method provided in any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer program product is provided, on which a computer program is stored, which, when executed by a processor, implements the robot path planning method provided in any embodiment of the present invention.
[0020] The technical solution of this invention addresses a target joint in a redundant robot. By determining candidate angles for the target joint, and fixing the target joint at each candidate angle, the first angles of all joints except the target joint are determined. Then, the length of the redundant robot's motion path is determined based on the candidate angles and the determined first angles. Furthermore, a target length is determined from all determined lengths, and path planning is performed for the redundant robot based on the candidate angles and the first angles corresponding to the target length. This technical solution reduces uncertainty in the joint angle determination process by pre-fixing the joint angles of the target joint and determining the joint angles of the remaining joints. Then, the length of the motion path corresponding to each set of joint angles (i.e., a set of candidate angles and their corresponding first angles) is determined. This allows for the successful determination of a superior set of joint angles with the goal of optimal path optimization, and ultimately, successful path planning.
[0021] It should be understood that the description in this section is not intended to identify key or important 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
[0022] 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.
[0023] Figure 1 This is a flowchart of a robot path planning method provided according to an embodiment of the present invention;
[0024] Figure 2 This is a flowchart of another robot path planning method provided according to an embodiment of the present invention;
[0025] Figure 3 This is a flowchart of an optional example of another robot path planning method provided according to an embodiment of the present invention;
[0026] Figure 4 This is a flowchart of another robot path planning method provided according to an embodiment of the present invention;
[0027] Figure 5 This is a flowchart of another robot path planning method provided according to an embodiment of the present invention;
[0028] Figure 6 This is a structural block diagram of a robot path planning device according to an embodiment of the present invention;
[0029] Figure 7 This is a schematic diagram of the structure of an electronic device that implements the robot path planning method of this invention. Detailed Implementation
[0030] 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.
[0031] It should be noted that the terms "first," "second," etc., 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. The same applies to "target," "original," etc., and will not be repeated here. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover 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.
[0032] It should be noted that the collection, gathering, updating, analysis, processing, use, transmission, and storage of user personal information involved in the technical solution of this invention all comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken to prevent unauthorized access to user personal information data and to maintain user personal information security and network security.
[0033] Before introducing the embodiments of the present invention, the implementation process of the currently adopted related solutions and the reasons for the technical problem that they cannot successfully determine the optimal joint angle for redundant robots will be explained by way of example, so as to better understand how the embodiments of the present invention solve this technical problem.
[0034] For example, in a related scheme, given the target pose of the robot's end effector, the target pose of the end effector (i.e., the desired position and orientation of the end effector) can be deduced. Then, inverse kinematics is used to solve for the joint angles required to achieve the target pose. It is important to emphasize that for redundant robots, since their degrees of freedom exceed the Cartesian space dimension, there is an infinite number of inverse kinematics solutions (i.e., inverse kinematics solutions). Consequently, it is impossible to obtain a better solution (i.e., a better joint angle) from this infinite number of solutions, let alone the optimal solution.
[0035] Figure 1 This is a flowchart of a robot path planning method provided in an embodiment of the present invention. This embodiment is applicable to path planning for robots, and particularly to path planning for redundant robots. The method can be executed by the robot path planning device provided in this embodiment of the present invention. This device can be implemented by software and / or hardware, and can be integrated into an electronic device, which can be various user terminals or servers.
[0036] See Figure 1 The method of this invention specifically includes the following steps:
[0037] S110. For the target joint among the joints of the redundant robot, determine the candidate angle of the target joint.
[0038] Among them, a redundant robot can be understood as a robot with more degrees of freedom than the dimensions of Cartesian space, and its inverse kinematic solution is not unique.
[0039] A joint can be understood as a kinematic pair connecting two adjacent links in a redundant robot, and is a physical component that generates motion in the redundant robot. In this embodiment of the invention, optionally, the joint can be any joint in the redundant robot; it can also be a joint in the redundant robot with target attributes. Based on this, and in conjunction with this embodiment of the invention, it can be, for example, an attitude joint in the redundant robot; etc., which can be set according to actual needs and is not specifically limited here. The number of joints is multiple.
[0040] A target joint can be understood as a joint whose joint angle needs to be fixed to determine the joint angles of the remaining joints. In this embodiment of the invention, optionally, each joint described above can be used as a target joint, or only some of the joints can be used as target joints. This can be set according to actual needs and is not specifically limited here. In this case, the number of target joints can be one or more.
[0041] Candidate angles can be understood as possible joint angles that are pre-set or automatically determined for the target joint. The number of candidate angles can be multiple.
[0042] Based on this, optionally, the candidate angle can be determined as follows: obtain the mechanical rotation range of the target joint, and determine the candidate angle within the mechanical rotation range. The mechanical rotation range can be understood as the angular interval within which the target joint is allowed to rotate due to physical structure or design limitations, typically defined by minimum and maximum angle values. In this technical solution, optionally, the mechanical rotation range can be read from the technical parameters of the redundant robot or the specifications of the joint actuator, etc., which can be set according to actual needs and is not specifically limited here. Determining the candidate angle within this mechanical rotation range, for example, through equal-interval sampling or random sampling, ensures that all candidate angles are physically achievable joint angles, thereby ensuring that all subsequent calculations are performed within the physical capabilities of the redundant robot, thus avoiding invalid or infeasible path planning from the outset.
[0043] Building upon this, an optional approach using equally spaced sampling is provided below: A preset angle step size and a starting angle within the mechanical rotation range are obtained. Based on the preset angle step size and the starting angle, a search is performed within the mechanical rotation range, and the searched angles are used as candidate angles for the target joint. The preset angle step size can be understood as a pre-defined fixed interval value for angle sampling within the mechanical rotation range; for example, every 5 degrees or every 10 degrees can be considered a sampling step size. The starting angle can be understood as the angle at which the angle search begins within the mechanical rotation range; for example, it could be the smallest joint angle within the mechanical rotation range or a joint angle specified according to the task, etc., without specific limitations. Thus, starting from the starting angle, a preset angle step size is incremented or decremented each time to generate a new joint angle until the search within the mechanical rotation range is completed, and all generated joint angles are used as candidate angles. By using a preset angle step size for systematic searching, the entire range of motion of the target joint can be covered with controllable accuracy and computational load, improving the efficiency and reliability of the path planning process.
[0044] The two alternative schemes mentioned above can be considered as optimization schemes based on single-target joint traversal search. By performing a full-space search within the mechanical rotation range, they achieve the acquisition of the global optimal solution to a certain extent.
[0045] S120. For each candidate angle, while fixing the target joint at the candidate angle, determine the first angle of each joint other than the target joint, and determine the length of the motion path of the redundant robot based on the candidate angle and each first angle.
[0046] In this step, each candidate angle is processed using the same method. Taking any candidate angle as an example, with the target joint fixed at this candidate angle (i.e., the joint angle of the target joint is known), the joint angles of all joints except the target joint (i.e., the remaining joints) are determined (i.e., the first angles in this step). For example, the first angles of the remaining joints can be solved using inverse kinematics. Then, based on the candidate angles and the determined first angles, the length of the motion path of the redundant robot can be determined. For example, based on the current joint angles of each joint (i.e., the joint angles before motion) and the joint angles after motion (i.e., the candidate angles and the determined first angles), the total magnitude of the joint angle changes of all joints can be determined, and the length of the entire motion path can be determined based on this total magnitude.
[0047] The two steps described above work together. By pre-fixing the joint angles of the target joint (i.e., candidate angles) and determining the joint angles of the remaining joints (i.e., first angles) based on these angles, it's like reducing a 7-DOF problem to a 6-DOF problem. This transforms the infinite solution set problem of redundant robots into a finite solution set search problem, thereby reducing the uncertainty of inverse kinematics solutions. Furthermore, by determining the lengths corresponding to each candidate angle, i.e., determining the lengths corresponding to each set of solutions, subsequent steps can be combined to determine a better solution from all sets of solutions with the goal of path optimization.
[0048] S130. Determine the target length from all determined lengths, and perform path planning for the redundant robot based on the candidate angles corresponding to the target length and each first angle.
[0049] The target length can be understood as the optimal length selected from the lengths corresponding to each candidate angle. In this embodiment of the invention, the optimal length can optionally be the length corresponding to the shortest length or the smoothest path, etc., which can be set according to actual needs and is not specifically limited here.
[0050] The target length is determined, and the candidate angles and first angles corresponding to the target length are determined. These candidate angles and first angles are used to determine the target length. Then, based on these joint angles, path planning is performed for the redundant robot to generate the motion trajectory of each joint of the redundant robot.
[0051] Based on this, optionally, when there are at least two target joints, each target joint can be processed according to the above steps, so that each target joint corresponds to a specific target length. The final length can then be determined from all target lengths, and this final length can be considered the length of the globally optimal path. Then, path planning is performed for the redundant robot based on the candidate angles corresponding to this final length and each first angle. In this technical solution, by determining the length of the optimal path (target length) for each target joint separately, the local optimum limitation that may result from a fixed single target joint can be avoided, achieving the selection of the globally optimal path. This improves the path planning effect while ensuring successful path planning.
[0052] The technical solution of this invention addresses a target joint in a redundant robot. By determining candidate angles for the target joint, and fixing the target joint at each candidate angle, the first angles of all joints except the target joint are determined. Then, the length of the redundant robot's motion path is determined based on the candidate angles and the determined first angles. Furthermore, a target length is determined from all determined lengths, and path planning is performed for the redundant robot based on the candidate angles and the first angles corresponding to the target length. This technical solution reduces uncertainty in the joint angle determination process by pre-fixing the joint angles of the target joint and determining the joint angles of the remaining joints. Then, the length of the motion path corresponding to each set of joint angles (i.e., a set of candidate angles and their corresponding first angles) is determined. This allows for the successful determination of a superior set of joint angles with the goal of optimal path optimization, and ultimately, successful path planning.
[0053] Figure 2 This is a flowchart of another robot path planning method provided by an embodiment of the present invention. This embodiment is based on and optimized from the above-described technical solutions. Optionally, in this embodiment, the robot path planning method further includes: obtaining the target pose of the end effector of the redundant robot; determining the first angle of each joint other than the target joint, which may include: determining the first angle of each joint other than the target joint based on the target pose. The explanations of terms that are the same as or corresponding to those in the above embodiments will not be repeated here.
[0054] See Figure 2 The method in this embodiment may specifically include the following steps:
[0055] S210. Obtain the target pose of the end effector of the redundant robot.
[0056] In this context, the end effector can be understood as the endpoint of the last link in the redundant robot's kinematic chain, i.e., the endpoint of the redundant robot arm itself. All kinematic calculations of the robot (such as forward / inverse kinematics) are usually performed with respect to the position of the end effector and the orientation of the coordinate system it supports (i.e., the end effector coordinate system).
[0057] The target pose can be understood as the position and orientation that the end effector needs to achieve to complete the target task. In this embodiment of the invention, optionally, it can typically be described by a position coordinate (X, Y, Z) and an orientation (such as the rotation angle around the X, Y, and Z axes). The target pose is then obtained.
[0058] S220: For the target joint among the joints of the redundant robot, determine the candidate angles of the target joint, and execute S230-S240 for each candidate angle.
[0059] S230. With the target joint fixed at the candidate angle, determine the first angle of each joint other than the target joint based on the target pose.
[0060] In this process, the first angle of each joint other than the target joint is determined based on the target pose. For example, the inverse kinematics principle can be used to calculate the joint angle (i.e. the first angle) that all other joints in the redundant robot need to rotate, so that the end effector of the redundant robot can reach the target pose.
[0061] S240. Determine the length of the motion path of the redundant robot based on the candidate angles and each first angle.
[0062] S250. Determine the target length from all determined lengths, and perform path planning for the redundant robot based on the candidate angles corresponding to the target length and each first angle.
[0063] The technical solution of this invention uses the target pose as the driving force and determines the joint angles of the remaining joints under the constraint of the joint angle of the fixed target joint. The application of the target pose enables the determined joint angles to allow the end effector of the redundant robot to reach the target pose, thereby ensuring the accurate completion of the corresponding task.
[0064] Based on this, an optional technical solution is that the redundant robot includes multiple position joints and multiple pose joints, and the second angle of the position joints corresponding to the target pose is known.
[0065] For the target joint among the joints of the redundant robot, determine the candidate angles of the target joint, including:
[0066] Identify the target joint from all posture joints and determine the candidate angles of the target joint;
[0067] Based on the target pose, determine the first angle of each joint except the target joint, including:
[0068] Based on the target pose and each second angle, determine the first angle of each pose joint except the target joint.
[0069] In this context, the position joint can be understood as the joint in a redundant robot that is mainly responsible for changing the position of the end effector in space. In this technical solution, it can be the first few joints in the redundant robot (e.g., joints 1-3).
[0070] The attitude joint can be understood as the joint in a redundant robot that is mainly responsible for adjusting the spatial orientation (i.e., attitude) of the end effector. In this technical solution, it can be several joints near the end effector (e.g., joints 4-7).
[0071] The second angle can be understood as the angle of rotation required by the position joints, which can be directly and uniquely determined through geometric relationships or simplified calculations, given the target pose. For redundant robots in certain robot configurations (such as tandem 7-axis robots), the required rotation angles (i.e., the position joints) of the first three joints (i.e., the second angles) can be calculated independently. For example, when the position in the target pose is given, the second angles of the first three position joints can be calculated directly using geometric analytical methods.
[0072] At this point, the joint angles of the posture joints are unknown. Therefore, the target joint can be determined from each posture joint. Then, by combining the target pose and each second angle, the first angle of each posture joint (i.e., all remaining posture joints) other than the target joint can be determined.
[0073] The above technical solution divides the joints of the redundant robot into position joints and attitude joints. By taking advantage of the fact that the joint angles of the position joints can be determined first, the joint angles of all remaining attitude joints are determined based on the target pose and the joint angles of the position joints. This determination process is similar to the solution process of analytical solution, thereby achieving the effect of efficiently determining the joint angles of each attitude joint.
[0074] Based on this, in order to better understand the various technical solutions mentioned above as a whole, the following is an exemplary illustration with specific examples. For examples, see [link to example]. Figure 3 The specific implementation process is as follows:
[0075] Step 1: Perform Denavit-Hartenberg (DH) modeling for the redundant robot, i.e., establish the DH coordinate system.
[0076] This example uses the standard DH method to establish the kinematic model of the redundant robot, and obtains the DH parameters of each joint in the redundant robot as shown in the table below, where i indicates the i-th joint (i.e., joint i), i = (1, 2... 7); It is a link offset, indicating that X will be offset. i-1 Along Z i-1 Translate axis to X i The distance; It is the link length, indicating that Z... i-1 Along X i Translate axis to Z i The distance; It is the link torsion angle, indicating the Z-axis. i-1 Along X i Rotate the axis to Z i Angle; This refers to the joint angle of the i-th joint. Specifically, it's the joint angle input for the i-th joint when controlling the redundant robot. In this example, - It is known that - unknown; This refers to the joint angle used for the i-th joint in the DH parameters, which can be determined based on... and Pi (i.e.) )Sure.
[0077]
[0078] According to the DH modeling rules, the pose transformation matrix from the i-th joint to the (i+1)-th joint is... Represented as:
[0079] ;
[0080] So, the master hand forward pose matrix (i.e., the pose matrix that the redundant robot's end effector can actually achieve, calculated in practice) is... This can be expressed by the following formula:
[0081] ;
[0082] Given the target pose matrix (i.e., the matrix representing the target pose) as follows: It can be represented by the following formula:
[0083] ;
[0084] in, , and These represent the positions of the end effector in the corresponding axis directions (i.e., the X-axis, Y-axis, and Z-axis directions) of the base coordinate system of the redundant robot; , and These represent the direction cosines of the unit vector of the X-axis in the terminal coordinate system along the corresponding axis directions (i.e., the X-axis direction, Y-axis direction, and Z-axis direction) in the base coordinate system. , and These represent the direction cosines of the unit vector along the Y-axis of the terminal coordinate system in the corresponding axis directions (i.e., the X-axis, Y-axis, and Z-axis directions) of the base coordinate system. , and These represent the direction cosines of the unit vector of the Z-axis in the terminal coordinate system in the corresponding axis directions (i.e., the X-axis, Y-axis, and Z-axis directions) of the base coordinate system.
[0085] Step 2: Based on the target pose matrix and the second angle of each joint (i.e., joints 1-3) - Within the mechanical limit range (i.e., the mechanical rotation range described above) of each posture joint (i.e., joints 4-7), the analytical solution for each posture joint is solved iteratively by superimposing a preset angle step size on the initial angle. - (i.e., the first perspective described above), and select a set of analytical solutions for the optimal path. Specifically,
[0086] ;
[0087] Based on the above formula, we can obtain the following formula:
[0088] ;
[0089] in, This represents finding the inverse matrix. Based on this, the following eight formulas can be obtained, which represent solving for the joint angles of joints 4, 5, 6, and 7 respectively, and calculating the length of the corresponding motion path:
[0090] ;
[0091] ;
[0092] ;
[0093] ;
[0094] ;
[0095] ;
[0096] ;
[0097] .
[0098] Specifically, assuming ,but , , , , , , , and All of these are known. It should be noted that the above nine variables have no physical meaning; they are only used to represent the left side of the equals sign. ,in , , , , , , , and All indicated that they were about , , and The function of (i.e., the first angle of the four posture joints) can be based on , , , , , , , and These nine equations lead to the eight formulas mentioned above. Here, we take the first formula (i.e. The joint angle represented by the fixed joint 4 (i.e.) Taking the solution as an example: when When the joint angles of the other three posture joints are known, - It is calculated as follows:
[0099] ;
[0100] ;
[0101] .
[0102] Correspondingly, the second formula ( That is, in the known and the solution , and Based on this, the length of the corresponding motion path is calculated. It should be noted that here... It can be any function whose length can be calculated based on the joint angle; no specific limitation is made here.
[0103] The derivation process for the other six formulas is similar and will not be repeated here.
[0104] Step 3: Comparison , , and This involves comparing the target lengths corresponding to each target joint and taking the shortest target length (i.e., the final length described above) as the solution for the optimal path.
[0105] ;
[0106] Among them, here Indicates taking , , and The minimum value in.
[0107] Figure 4 This is a flowchart of another robot path planning method provided by an embodiment of the present invention. This embodiment is based on and optimized from the above-described technical solutions. In this embodiment, optionally, each joint includes an end effector joint. After determining the target length from the determined total length, the robot path planning method may further include: obtaining the current angle of the end effector joint for a first angle corresponding to the target length, and determining the angle difference between the current angle and the first angle; if it is determined from the angle difference that the first angle needs to be Z-axis transformed, performing Z-axis transformation on the first angle, and using the processed first angle as the first angle. The explanations of terms that are the same as or corresponding to those in the above embodiments will not be repeated here.
[0108] See Figure 4 The method in this embodiment may specifically include the following steps:
[0109] S310. For the target joint among the joints of the redundant robot, determine the candidate angle of the target joint.
[0110] S320. For each candidate angle, while fixing the target joint at the candidate angle, determine the first angle of each joint other than the target joint, and determine the length of the motion path of the redundant robot based on the candidate angle and each first angle.
[0111] S330. Determine the target length from all determined lengths, and for the first angle of the end joint in each joint corresponding to the target length, obtain the current angle of the end joint, and determine the angle difference between the current angle and the first angle.
[0112] In this context, the end-effector joint can be understood as the joint at the very end of the redundant robot's kinematic chain that directly supports or drives the end effector, or as a posture joint in the redundant robot that can rotate infinitely. In this embodiment of the invention, optionally, the end-effector joint can be joint 7 (i.e., the seventh joint).
[0113] The first angle of the distal joint corresponding to the target length can be understood as the joint angle solved for the distal joint through the above steps, i.e., the joint angle to which the distal joint is expected to move. The current angle can be understood as the joint angle at which the distal joint is currently located (i.e., at its position before the movement). The angle difference can be understood as the difference between these two joint angles, which characterizes the rotation amplitude required for the distal joint to move from the current angle (or current position) to the first angle (i.e., the target position). Determine the angle difference.
[0114] S340. If it is determined from the angle difference that the first angle needs to be transformed by the Z-axis, the first angle is transformed by the Z-axis, and the processed first angle is taken as the first angle.
[0115] Specifically, the process involves determining whether the first angle, determined through the aforementioned steps, requires Z-axis transformation based on the angle difference to obtain a more optimal motion path for the end joint. For example, a preset difference threshold (i.e., a pre-set threshold related to the angle difference) can be obtained, and the numerical relationship between the angle difference and the preset difference threshold can be used to determine whether Z-axis transformation of the first angle is necessary. For instance, if the angle difference, especially the absolute value of the angle difference, is greater than the preset difference threshold, it indicates that the motion angle of the end joint is too large, resulting in an excessively large motion path, thus requiring Z-axis transformation.
[0116] Furthermore, in this case, the corresponding first angle is subjected to Z-axis transformation processing to generate a first angle that is physically equivalent but numerically different. Here, the Z-axis can be understood as the physical rotation axis of the end-effector itself. Optionally, considering the periodicity and physical equivalence of the end-effector's motion, the first angle can be transformed according to a preset difference threshold. For example, the processed first angle = the unprocessed first angle ± the preset difference threshold. This is set because the angular positions corresponding to joint angles differing by the preset difference threshold are physically equivalent. This ensures that the motion angle of the end-effector is within the preset difference threshold, avoiding frequent jumping by the redundant robot during movement due to excessively large motion angles of the end-effector.
[0117] For example, see [link to previous article] Figure 3 The specific implementation process is as follows:
[0118] Step 4: For joint 7 (i.e., the end joint), introduce Z-axis transformation processing.
[0119] Since it behaves the same at 0° and 180°, when the calculated angle difference is greater than 180° (i.e., the preset difference threshold), Z-axis transformation can be performed to constrain the planned first angle to within 180°.
[0120] S350. Based on the candidate angles corresponding to the target length and each first angle, perform path planning for the redundant robot.
[0121] Here, we continue with Figure 3 The example shown is provided as an illustration of this step.
[0122] Step 5: Based on the solved target angle (i.e., the candidate angles corresponding to the final length and each first angle), use a fifth-order polynomial to perform path planning (i.e. trajectory planning) to generate intermediate angles that change over time, so that each joint of the redundant robot can move smoothly from the current angle to the target angle.
[0123] Fifth-order polynomial interpolation locus formula:
[0124] ;
[0125] in, , It is a known coefficient, determined based on the velocity and acceleration requirements; From the perspective of the target; From the current perspective; For moments during the movement, The moment when the exercise begins, The duration of the exercise; For the corresponding joints in The joint angle below. Other. This can be derived sequentially, and will not be elaborated further here. All of them... Substituting into the above formula, we can calculate the time of each joint. The intermediate angle below. The application of interpolation can ensure the smoothness of redundant robot motion.
[0126] Based on this, optionally, the following steps can be performed: Step 6: Monitor in real time whether each posture joint has reached the middle angle. If so, the solution ends; otherwise, return to step 5 to continue planning.
[0127] The technical solution of this invention takes into account the special motion characteristics of the end joint. When it is determined that the motion angle is too large based on its current angle and the first angle, it can be subjected to Z-axis transformation processing, thereby solving the problem of the end joint having an excessively large motion angle and shortening its motion path.
[0128] Figure 5 This is a flowchart of another robot path planning method provided in an embodiment of the present invention. This embodiment is an optimization based on the above-described technical solutions. The explanations of terms that are the same as or corresponding to those in the above embodiments will not be repeated here.
[0129] See Figure 5 The method in this embodiment may specifically include the following steps:
[0130] S410: Obtain the target pose of the end effector of the redundant robot and the second angle of the position joint of the redundant robot corresponding to the target pose, and execute S420-S430 for each posture joint of the redundant robot.
[0131] S420. Obtain the preset angle step size and the mechanical rotation range of the posture joint, and determine the starting angle within the mechanical rotation range. Search within the mechanical rotation range according to the preset angle step size and the starting angle, and use the searched angle as the candidate angle of the posture joint.
[0132] S430. For each candidate angle, with the attitude joint fixed at the candidate angle, determine the first angle of each attitude joint of the redundant robot other than the attitude joint according to the target pose and each second angle, and determine the length of the motion path of the redundant robot according to the candidate angle and each first angle, so as to determine the target length from all the determined lengths.
[0133] S440. Determine the final length from the target lengths corresponding to each posture joint.
[0134] S450. For the end joints in each posture joint, for the first angle corresponding to the final length of the end joint, determine the angle difference between the current angle of the end joint and the first angle, and determine whether the first angle needs to be transformed by the Z-axis based on the numerical relationship between the angle difference and the preset difference threshold.
[0135] S460. In this case, the first angle is transformed according to a preset difference threshold, and the joint angle obtained after processing is taken as the first angle.
[0136] S470. Based on the candidate angles corresponding to the final length and each first angle, perform path planning for the redundant robot.
[0137] The technical solution of this invention achieves motion control of redundant robots in complex industrial scenarios by iteratively solving the motion path lengths of all posture joints within the mechanical rotation range and comparing the lengths of the motion paths of all posture joints. At the same time, a Z-axis transformation is introduced for the end joints to minimize their motion paths.
[0138] Figure 6 This is a structural block diagram of a robot path planning device provided in an embodiment of the present invention. This device is used to execute the robot path planning method provided in any of the above embodiments. This device and the robot path planning methods of the above embodiments belong to the same inventive concept. Details not described in detail in the embodiments of the robot path planning device can be found in the embodiments of the above robot path planning methods. See also... Figure 6 The device may specifically include: a candidate angle determination module 510, a length determination module 520, and a path planning module 530.
[0139] Among them, the candidate angle determination module 510 is used to determine the candidate angle of the target joint among the joints of the redundant robot.
[0140] The length determination module 520 is used to determine the first angle of each joint other than the target joint for each candidate angle, while fixing the target joint at the candidate angle, and to determine the length of the motion path of the redundant robot based on the candidate angle and each first angle.
[0141] The path planning module 530 is used to determine the target length from all the determined lengths, and to perform path planning for the redundant robot based on the candidate angles corresponding to the target length and each first angle.
[0142] Optionally, the length determination module 520 may include:
[0143] The target pose acquisition unit can be used to acquire the target pose of the end effector of a redundant robot.
[0144] The first angle determination unit can be used to determine the first angle of each joint other than the target joint based on the target pose.
[0145] Based on this, optionally, the redundant robot includes multiple position joints and multiple pose joints, wherein the second angle of the position joint corresponding to the target pose is known;
[0146] The candidate angle determination module 510 can be used to determine the target joint from each posture joint and determine the candidate angles of the target joint;
[0147] The first angle determination unit can be used to determine the first angle of each posture joint other than the target joint based on the target pose and each second angle.
[0148] Optionally, the candidate angle determination module 510 may include:
[0149] Mechanical rotation range acquisition unit, used to acquire the mechanical rotation range of the target joint;
[0150] The candidate angle determination unit is used to determine the candidate angles of the target joint within the mechanical rotation range.
[0151] Based on this, the optional mechanical rotation range acquisition unit is specifically used for:
[0152] Obtain the preset angle step size and determine the starting angle within the mechanical rotation range;
[0153] Based on the preset angle step size and starting angle, a search is performed within the mechanical rotation range, and the searched angle is used as a candidate angle for the target joint.
[0154] Optionally, each joint includes an end joint, and the aforementioned robot path planning device may further include:
[0155] The angle difference determination module is used to determine the current angle of the end joint after determining the target length from all the determined lengths, for the first angle of the end joint corresponding to the target length, and to determine the angle difference between the current angle and the first angle.
[0156] The first angle update module is used to perform Z-axis transformation on the first angle when it is determined that the first angle needs to be transformed based on the angle difference, and then use the processed first angle as the first angle.
[0157] Optionally, the aforementioned robot path planning device may further include:
[0158] The Z-axis transformation processing determination module is used to obtain a preset difference threshold and determine whether the first angle needs to be processed by Z-axis transformation based on the numerical relationship between the angle difference and the preset difference threshold.
[0159] The first-angle update module may include:
[0160] The Z-axis transformation processing unit is used to perform Z-axis transformation processing on the first angle according to a preset difference threshold.
[0161] Optionally, there are at least two target joints, each corresponding to a specific target length. The path planning module 530 may include:
[0162] The path planning unit is used to determine the final length from each target length, and to perform path planning for the redundant robot based on the candidate angles corresponding to the final length and each first angle.
[0163] The robot path planning device provided in this embodiment of the invention uses a candidate angle determination module and a length determination module to cooperate in determining candidate angles for a target joint among the joints of a redundant robot. For each candidate angle, while fixing the target joint at that candidate angle, the device determines the first angles of all joints except the target joint. Then, based on the candidate angles and the determined first angles, the length of the motion path of the redundant robot is determined. Further, the path planning module determines the target length from all determined lengths and performs path planning for the redundant robot based on the candidate angles corresponding to the target length and the first angles. This device reduces uncertainty in the joint angle determination process by pre-fixing the joint angles of the target joint and determining the joint angles of the remaining joints based on these angles. It then determines the length of the motion path corresponding to each set of joint angles (i.e., a set of candidate angles and their corresponding first angles). This allows for the successful determination of a superior set of joint angles with the goal of path optimization, thereby achieving successful path planning.
[0164] The robot path planning device provided in the embodiments of the present invention can execute the robot path planning method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0165] It is worth noting that in the embodiments of the robot path planning device described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.
[0166] Figure 7 A schematic diagram of an electronic device 10, which 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.
[0167] like Figure 7As 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 can 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.
[0168] 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.
[0169] 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 robot path planning methods.
[0170] In some embodiments, the robot path planning method may 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 may be loaded and / or mounted 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 robot path planning method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the robot path planning method by any other suitable means (e.g., by means of firmware).
[0171] 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 standard products (ASSPs), systems-on-chips or system-on-a-chips (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 transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0172] Computer programs used to implement the methods of the present invention can be written in any combination of one or more programming languages. These computer programs can 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 implemented. The computer programs can be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0173] 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.
[0174] 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).
[0175] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or 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.
[0176] 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.
[0177] In particular, according to embodiments of the present invention, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present invention include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication unit 19, or installed from storage unit 18, or installed from ROM 12. When the computer program is executed by processor 11, it performs the functions defined in the methods of the embodiments of the present invention.
[0178] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. 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.
[0179] 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 robot path planning method, characterized in that, In conjunction with a redundant robot, wherein each joint of the redundant robot includes multiple position joints and multiple posture joints, the method includes: The target joint is determined from each of the aforementioned posture joints, and the candidate angles of the target joint are determined; Obtain the target pose of the end effector of the redundant robot, wherein the second angle of each position joint corresponding to the target pose is known; For each candidate angle, with the target joint fixed at the candidate angle, the first angle of each of the posture joints other than the target joint is determined according to the target pose and each of the second angles, and the length of the motion path of the redundant robot is determined according to the candidate angle and each of the first angles. A target length is determined from all the determined lengths, and path planning is performed for the redundant robot based on the candidate angles corresponding to the target length and each of the first angles.
2. The robot path planning method according to claim 1, characterized in that, Determining the candidate angles of the target joint includes: Obtain the mechanical rotation range of the target joint; Within the range of mechanical rotation, candidate angles for the target joint are determined.
3. The robot path planning method according to claim 2, characterized in that, Determining the candidate angle of the target joint within the mechanical rotation range includes: Obtain the preset angle step size and determine the starting angle within the mechanical rotation range; Based on the preset angle step size and the starting angle, a search is performed within the mechanical rotation range, and the searched angle is used as a candidate angle for the target joint.
4. The robot path planning method according to claim 1, characterized in that, Each of the joints includes an end joint, and after determining the target length from all the determined lengths, the method further includes: For the first angle of the distal joint corresponding to the target length, obtain the current angle of the distal joint, and determine the angle difference between the current angle and the first angle; If it is determined from the angle difference that the first angle needs to be transformed by the Z-axis, the first angle is transformed by the Z-axis, and the processed first angle is taken as the first angle.
5. The robot path planning method according to claim 4, characterized in that, Also includes: Obtain a preset difference threshold, and determine whether the first angle needs to be transformed by the Z-axis based on the numerical relationship between the angle difference and the preset difference threshold. The Z-axis transformation of the first angle includes: The first angle is subjected to Z-axis transformation based on the preset difference threshold.
6. The robot path planning method according to claim 1, characterized in that, There are at least two target joints, and each target joint corresponds to a specific target length. The step of performing path planning for the redundant robot based on the candidate angles corresponding to the target lengths and each of the first angles includes: The final length is determined from each of the target lengths, and path planning is performed for the redundant robot based on the candidate angles corresponding to the final lengths and each of the first angles.
7. A robot path planning device, characterized in that, In conjunction with a redundant robot, wherein each joint of the redundant robot includes multiple position joints and multiple posture joints, the device includes: A candidate angle determination module is used to determine a target joint from each of the posture joints and to determine candidate angles of the target joint; A length determination module is used to determine, for each of the candidate angles, a first angle of each of the joints other than the target joint, while fixing the target joint at the candidate angle, and to determine the length of the motion path of the redundant robot based on the candidate angle and each of the first angles. The path planning module is used to determine a target length from all the determined lengths, and to perform path planning for the redundant robot based on the candidate angles corresponding to the target length and each of the first angles; The length determination module includes: A target pose acquisition unit is used to acquire the target pose of the end effector of the redundant robot, wherein the second angle of each position joint corresponding to the target pose is known; The first angle determination unit is used to determine the first angle of each of the posture joints other than the target joint, based on the target pose and each of the second angles.
8. An electronic device, characterized in that, include: At least one processor; as well as 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 to cause the at least one processor to perform the robot path planning method as described in any one of claims 1-6.