Six-axis mechanical arm dynamic obstacle avoidance method based on improved DWA algorithm, terminal and medium

Through the improved DWA algorithm, speed sampling and path planning of the six-axis robotic arm are performed in stages, which solves the problems of low computing efficiency and poor path quality in the prior art, and achieves the effects of real-time obstacle avoidance and smoothing paths.

CN120244977AActive Publication Date: 2025-07-04HEFEI UNIV OF TECH +1
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
CN202510579397.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-07
Publication Date
2025-07-04
Estimated Expiration
2045-05-07

AI Technical Summary

Technical Problem

The existing six-axis robotic arm dynamic obstacle avoidance method performs poorly in path planning calculation efficiency and obstacle avoidance path quality, and it is difficult to meet the real-time and stability requirements in complex environments.

Method used

The improved DWA algorithm is used to conduct velocity sampling in two stages: the first three joints and the last three joints, and the trajectory update method is optimized. Through the scoring mechanism of motion direction, obstacle distance and speed evaluation value, the robotic arm is guided to avoid obstacles.

Benefits of technology

Improve computing speed, ensure real-time dynamic programming and smooth path results, and improve the adaptability and safety of robotic arms in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120244977A_ABST
    Figure CN120244977A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of mechanical arm path planning, and discloses a six-axis mechanical arm dynamic obstacle avoidance method based on an improved DWA algorithm, a terminal and a medium. The method comprises the following steps: firstly, initializing a current mechanical arm state and a target position; then whether the first three joints of the mechanical arm reach target positions or not is judged; if yes, speed dynamic windows of the first three joints are calculated, and the speed dynamic windows of the last three joints are limited to be zero; otherwise, speed dynamic windows of the last three joints are calculated, and the speed dynamic windows of the first three joints are limited to be zero; performing speed sample sampling according to the speed dynamic window; simulating and updating the mechanical arm state corresponding to each group of speed samples so as to calculate a speed sample score; the speed sample with the highest score is selected for mechanical arm state updating, whether all joints reach the target position or not is judged, and if yes, dynamic obstacle avoidance is completed; otherwise, local joint judgment is continuously carried out. According to the method, the calculation speed of the DWA algorithm is improved, and the real-time performance of dynamic planning is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robotic arm path planning, and specifically to a dynamic obstacle avoidance method, terminal, and medium for a six-axis robotic arm based on an improved DWA algorithm. Background Art

[0002] A six-axis robotic arm is a common multi-degree-of-freedom robotic device, usually controlled by motors at six joints to achieve flexible movement in multi-dimensional space. Due to its high flexibility and versatility, this type of robotic arm has been widely used in many fields such as industrial manufacturing, medical assistance, and service robots. With the continuous expansion of application scenarios, the working environment faced by the robotic arm is becoming increasingly complex. Especially when operating in an unstructured environment, there may be a large number of unpredictable obstacles.

[0003] In such a complex environment, if the robotic arm cannot effectively avoid obstacles, it may not only cause damage to the device itself but also endanger the safety of the operator, thus limiting the actual application range of the robotic arm. Therefore, researching and developing a dynamic obstacle avoidance method suitable for a six-axis robotic arm has become a key means to ensure the safety of system operation, improve operation reliability, and work efficiency.

[0004] However, existing dynamic obstacle avoidance methods for six-axis robotic arms still have many problems. For example, they perform poorly in terms of path planning calculation efficiency and the quality of obstacle avoidance paths, and it is difficult to meet the requirements of real-time and stability in practical applications. Therefore, there is an urgent need to propose an efficient and reliable dynamic obstacle avoidance solution to improve the adaptability and practical value of six-axis robotic arms in complex environments. Summary of the Invention

[0005] To solve the technical problems existing in the prior art, the present invention provides a dynamic obstacle avoidance method, terminal, and medium for a six-axis robotic arm based on an improved DWA algorithm, which optimizes the robotic arm trajectory update method and samples the angular velocity of the robotic arm in two stages for the first three joints and the last three joints, thereby improving the calculation speed of the DWA algorithm, ensuring the real-time nature of dynamic programming, and guaranteeing the smoothness and reliability of the path result.

[0006] To achieve the above object, the present invention provides the following technical solutions:

[0007] The present invention discloses a dynamic obstacle avoidance method for a six-axis robotic arm based on an improved DWA algorithm, including:

[0008] Initializing the current state of the robotic arm and the target position; wherein, among the six joints of the robotic arm, the one close to the base is defined as the forward direction; the robotic arm state includes joint angles, joint angular velocities, end position, and end velocity;

[0009] Local joint judgment: Determine whether the first three joints of the robotic arm reach the target position; if so, calculate the velocity dynamic window of the first three joints according to the kinematic constraints, velocity limits, acceleration limits, and braking distance of the robotic arm, and at this time, the velocity dynamic window of the last three joints is limited to zero; otherwise, similarly, calculate the velocity dynamic window of the last three joints, and at this time, the velocity dynamic window of the first three joints is limited to zero;

[0010] Perform velocity sample sampling at the set resolution according to the calculated velocity dynamic window;

[0011] Generate the simulated prediction trajectory of the robotic arm within a certain period in the future according to each group of velocity samples, that is, simulate and update the state of the robotic arm corresponding to the velocity sample;

[0012] Combined with the simulated updated state of the robotic arm, calculate the robotic arm motion direction evaluation value, the robotic arm-obstacle distance evaluation value, and the robotic arm velocity evaluation value corresponding to the velocity sample, and add them up after normalizing the three evaluation values to obtain the velocity sample score;

[0013] Select the velocity sample with the highest score to update the state of the robotic arm, and determine whether all joints reach the target position. If so, complete dynamic obstacle avoidance; otherwise, continue to perform the above local joint judgment.

[0014] As a further improvement of the above solution, the calculation formula for the robotic arm motion direction evaluation value is:

[0015]

[0016] In the formula, K heading is the robotic arm motion direction evaluation value, which is used to measure the closeness between the current joint angle and the target joint angle of the robotic arm. The closer to the target joint angle, the higher the score; pos g is the target joint angle; pos c is the current joint angle; ||·|| is the calculation of the vector norm;

[0017] The calculation formula for the robotic arm-obstacle distance evaluation value is:

[0018] K dist =||p e -p obstacle ||

[0019] In the formula, K dist is the robotic arm-obstacle distance evaluation value, which is used to measure the distance between the trajectory and the obstacle. The farther the trajectory is from the obstacle, the higher the score; p e is the end coordinate of the robotic arm; p obstacle is the position of the current obstacle closest to the robotic arm;

[0020] The calculation formula for the evaluation value of the robotic arm speed is as follows:

[0021] K veloticy =||v e ||

[0022] In the formula, K veloticy is the evaluation item of the robotic arm speed, and v e is the linear velocity at the end of the robotic arm. The greater the linear velocity at the end, the higher the score.

[0023] As a further improvement of the above solution, the calculation formula for the speed sample score is:

[0024] G=σ(αK heading +βK dist +γK velocity )

[0025] Among them, σ represents the normalization parameter, α represents the coefficient of the motion direction evaluation item, β represents the coefficient of the evaluation item of the distance between the robotic arm and the obstacle, and γ represents the coefficient of the evaluation item of the robotic arm speed.

[0026] As a further improvement of the above solution, the calculation formula for the normalization process is:

[0027]

[0028] In the formula, j represents the speed sample number, and n represents the total number of speed samples; K heading (j), K dist (j), K velocity (j) respectively represent the evaluation value of the robotic arm motion direction, the evaluation value of the distance between the robotic arm and the obstacle, and the evaluation value of the robotic arm speed of the jth group of speed samples.

[0029] As a further improvement of the above solution, the calculation method of the speed dynamic window includes:

[0030] Construct the speed boundary limit of the joint, and the expression formula is as follows:

[0031]

[0032] In the formula, i represents the joint number, i = 1,..., 6; ω imin represents the minimum angular velocity that the ith joint can reach, ω imax represents the maximum angular velocity that the ith joint can reach, represents the speed boundary limit of the ith joint;

[0033] Construct the acceleration limit of the joint, and the expression formula is as follows:

[0034]

[0035] Where, ω i (t) represents the angular velocity of the i-th joint at the current moment, represents the maximum angular acceleration that the i-th joint can achieve, Δt is the unit time, represents the acceleration limit of the i-th joint;

[0036] Construct the obstacle threat limit of the joint, and the expression formula is as follows:

[0037]

[0038] Where, represents the maximum angular acceleration when the i-th joint brakes, represents the obstacle threat speed limit of the i-th joint; dista is the closest distance between the simulated predicted trajectory of the robotic arm and the obstacle;

[0039] According to the above three limitations, the joint velocity dynamic window of the i-th joint of the robotic arm is obtained

[0040] As a further improvement of the above solution, the method for simulating and updating the state of the robotic arm includes:

[0041] Define the angular velocity ω of the robotic arm joint as:

[0042] ω = [ω1, ω2, ω3, ω4, ω5, ω6] T

[0043] Where, ω1, ω2, ω3, ω4, ω5, ω6 are the angular velocities of the six joints of the robotic arm; the superscript T is the transpose symbol;

[0044] The end velocity V is calculated through the Jacobian matrix e :

[0045]

[0046] V e = J(q)ω

[0047] Where, v e is the end linear velocity, v ex , v ey , v ez are the linear velocity components in the x, y, and z axis directions respectively; ω e is the end angular velocity, ω ex , ω ey , ω ez are the angular velocity components in the x, y, and z axis directions; J(q) is the Jacobian matrix;

[0048] After a unit time Δt, the state of the robotic arm is updated to:

[0049]

[0050] Wherein, q(t) is the joint angle at time t; ω(t) is the joint angular velocity at time t; is the joint angular acceleration at time t; xe(t + Δt) is the pose of the robot end after Δt; fkin(·) represents forward kinematics solution; is the velocity of the robot end after Δt.

[0051] The present invention also discloses a computer terminal, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the above-mentioned six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm are implemented.

[0052] The present invention also discloses a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, the steps of the above-mentioned six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm are implemented.

[0053] Compared with the prior art, the beneficial effects of the present invention are:

[0054] 1. The six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm of the present invention performs joint speed sampling in two stages: before the first three joints reach the target position, only the speed dynamic window of the first three joints is calculated, and the speed windows of the last three joints are limited to zero for speed sampling; after the first three joints reach the target position, only the speed dynamic window of the last three joints is calculated, and the speed windows of the first three joints are limited to zero for speed sampling. Decomposing the six-dimensional speed sampling into three dimensions improves the calculation speed and ensures the real-time performance of dynamic programming.

[0055] 2. The six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm of the present invention optimizes the evaluation function of the DWA algorithm. Aiming at the problem that it is difficult to represent the direction angle evaluation function of the DWA algorithm in the six-dimensional space of the robotic arm, it is replaced by calculating the distance to guide the robotic arm to move towards the target position.

[0056] 3. The computer terminal and the readable storage medium disclosed by the present invention can produce the same beneficial effects by applying the above-mentioned dynamic obstacle avoidance method, which will not be elaborated here. Description of the Drawings

[0057] Figure 1 It is a flowchart of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm in Embodiment 1 of the present invention.

[0058] Figure 2Schematic diagram of the map environment where the robotic arm is simulated in Embodiment 1 of the present invention.

[0059] Figure 3 Process diagram of dynamic obstacle avoidance during simulation in Embodiment 1 of the present invention.

[0060] Figure 4 Schematic diagram of the path planning result during simulation in Embodiment 1 of the present invention.

[0061] Figure 5 Schematic diagram of the structure of the computer terminal in Embodiment 2 of the present invention. Detailed implementation manners

[0062] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0063] Embodiment 1

[0064] Please refer to Figure 1 , this embodiment provides a six-axis robotic arm dynamic obstacle avoidance method based on an improved DWA algorithm, including the following steps S1 to S11.

[0065] S1, State initialization, initialize the current state of the robotic arm and the position of the target point.

[0066] Among them, the robotic arm state includes joint angles, joint angular velocities, end positions, and end velocities. Among the six joints of the robotic arm, the one close to the base is the forward direction, that is, the one far from the base is the backward direction.

[0067] S2, Set the evaluation function G = σ(αK heading +βK dist +γK velocity ).

[0068] Among them, σ represents the normalization parameter, K heading represents the motion direction evaluation term, α represents the motion direction evaluation term coefficient, K dist represents the distance evaluation term between the robotic arm and the obstacle, β represents the distance evaluation term coefficient between the robotic arm and the obstacle, K velocity represents the robotic arm speed evaluation term, and γ represents the robotic arm speed evaluation term coefficient.

[0069] The calculation method of the evaluation function is:

[0070]

[0071] Among them, K headingIt is the evaluation item of the distance between the current joint angle and the target joint angle of the robotic arm. The closer it is to the target joint angle, the higher the score, pos g is the target joint angle, pos c is the current joint angle, ||·|| is the calculation of the modulus of the vector, that is, the square root of the sum of the squares of all components of the vector.

[0072] K dist = ||p e - p obstacle ||

[0073] Among them, K dist is the evaluation item of the distance between the robotic arm and the obstacle. The farther the trajectory is from the obstacle, the higher the score, p e is the coordinate of the end of the robotic arm, p obstacle is the position of the obstacle closest to the robotic arm currently.

[0074] K veloticy = ||v e ||

[0075] Among them, K veloticy is the evaluation item of the robotic arm speed, v e is the linear velocity of the end of the robotic arm. The greater the linear velocity of the end, the higher the score.

[0076] S3, local joint judgment: Judge whether the first three joints reach the target position. If the first three joints do not reach the target position, go to step S4; otherwise, go to step S5;

[0077] S4, according to the kinematic constraints, speed limits, acceleration limits and braking distance of the robotic arm, calculate the dynamic window of the current speed of the first three joints. At this time, the dynamic window limit of the speed of the last three joints is zero.

[0078] The calculation method of the speed dynamic window is as follows:

[0079] (1) Speed boundary limit: The inherent constraints of the six joint motors of the robotic arm will limit the movement ability of the six joints of the six-axis robotic arm, and its speed boundary can be obtained as shown in the following formula:

[0080]

[0081] Among them, i represents the i-th joint, ω imin represents the minimum angular velocity that the i-th joint can reach, ω imax represents the maximum angular velocity that the i-th joint can reach, represents the speed boundary limit of the i-th joint.

[0082] (2) Acceleration limit: Under the control of the six joint motors of the robotic arm, there is an acceleration limit, so the angular velocity cannot change greatly within a unit time:

[0083]

[0084] where ω i (t) represents the angular velocity of the i-th joint at the current moment, represents the maximum angular acceleration that the i-th joint can achieve, Δt is the unit time, represents the acceleration limit of the i-th joint.

[0085] It should be noted that is the differential of angular velocity, that is, angular acceleration. Multiplying the acceleration by time represents the change in velocity under the acceleration limit, and adding and subtracting can obtain the velocity change window under the acceleration limit.

[0086] (3) Obstacle threat limit: When performing dynamic path planning for the robotic arm, it is necessary to stop in time before hitting an obstacle. Assuming dista is the closest distance between the simulated predicted trajectory of the robotic arm and the obstacle, the safe speed limit is:

[0087]

[0088] where represents the maximum angular acceleration when the i-th joint brakes, represents the obstacle threat speed limit of the i-th joint.

[0089] In summary, the dynamic window of the joint velocity of the i-th joint of the robotic arm can be obtained as shown in the following formula:

[0090]

[0091] S5. Similarly to S4, according to the kinematic constraints, speed limit, acceleration limit, and braking distance of the robotic arm, calculate the dynamic windows of the velocities of the last three joints. At this time, the dynamic window limits of the velocities of the first three joints are zero, and go to step S6.

[0092] S6. Sample speed samples at the set resolution according to the dynamic window of speed.

[0093] S7. Simulate and predict the motion trajectory of the robotic arm for a period of time according to each group of speed samples, that is, simulate and update the state of the robotic arm corresponding to the speed sample.

[0094] Among them, the method for simulating and updating the state of the robotic arm includes:

[0095] Define the angular velocity ω of the robotic arm joints as:

[0096] ω = [ω1, ω2, ω3, ω4, ω5, ω6] T

[0097] Where ω1, ω2, ω3, ω4, ω5, ω6 are the six joint angular velocities of the robotic arm; the superscript T is the transpose symbol;

[0098] The end - effector velocity V is calculated through the Jacobian matrix e :

[0099]

[0100] V e = J(q)ω

[0101] Where v e is the end - effector linear velocity, v ex , v ey , v ez are the linear velocity components in the x, y, and z directions respectively; ω e is the end - effector angular velocity, ω ex , ω ey , ω ez are the angular velocity components in the x, y, and z directions; J(q) is the Jacobian matrix;

[0102] After a unit time Δt, the state of the robotic arm is updated as:

[0103]

[0104] Where q(t) is the joint angle at time t; ω(t) is the joint angular velocity at time t; is the joint angular acceleration at time t; xe(t + Δt) is the end - effector pose of the robot after Δt; fkin(·) represents the forward kinematics solution; is the end - effector velocity of the robot after Δt.

[0105] S8. Calculate the robotic - arm motion - direction evaluation value, the robotic - arm - to - obstacle distance evaluation value, and the robotic - arm velocity evaluation value for each group of velocity samples.

[0106] S9. Normalize the three evaluation function values, and then add the three values after normalization to obtain the final score of the velocity sample.

[0107] Among them, the calculation formula for the normalization process is:

[0108]

[0109] Where j represents the velocity - sample number, and n represents the total number of velocity samples; K heading (j), K dist (j), K velocity (j) represent the robotic - arm motion - direction evaluation value, the robotic - arm - to - obstacle distance evaluation value, and the robotic - arm velocity evaluation value of the j - th group of velocity samples respectively.

[0110] S10. Select the set of velocity samples with the highest score for robotic arm state update.

[0111] S11. Determine whether the target position has been reached. If the target position has not been reached, jump to S3; otherwise, end.

[0112] Please refer to Figures 2 to 4 , in this embodiment, a simulation test is carried out on the above obstacle avoidance method. A dynamic obstacle avoidance scenario is built on the MATLAB software for simulation test. The maximum joint angular velocity is set to 4° / s, the maximum joint acceleration is set to 10° / s, the resolution is set to 0.5° / s, and the evaluation function coefficients are set to α = 10, β = 0.5, and γ = 0.02. Figure 2 For the map environment, the initial pose of the robotic arm is (0.47, -0.14, 0.46, 1.57, 0, 3.14), the target point is the blue point in the figure, the target pose is (0.5, 0.3, 0.3, 1.57, 0, 2.8), the dynamic obstacle is a red sphere, the initial position is (0.4, 0.2, 0.4), and it moves along the positive z-axis direction at a speed of 0.02 m / s. Figure 3 For the dynamic obstacle avoidance movement process of the robotic arm, the initial position is as Figure 3 (a), Figure 3 (b) shows that the robotic arm attempts to cross the obstacle to reach the target point. Later, it is found that it is not sufficient to cross the obstacle, and it makes a downward movement to avoid the obstacle as shown in Figure 3 (c), and finally reaches the target position as shown in Figure 3 (d), and the end movement route is shown by the red curve.

[0113] The result obtained by using the improved DWA algorithm for robotic arm path planning in a dynamic environment in the present invention is as shown in Figure 4 . By optimizing the evaluation function and performing joint velocity sampling in two stages, the path planning efficiency is high and the obtained path quality is better.

[0114] Embodiment 2

[0115] This embodiment provides a computer terminal, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm as described in Embodiment 1 are implemented.

[0116] As shown in Figure 5 , the computer terminal provided in this embodiment includes: at least one processor 101, and a memory 102 connected to at least one processor 101. In this embodiment, the specific connection medium between the processor 101 and the memory 102 is not limited. Figure 5This takes the connection between the processor 101 and the memory 102 via the bus 100 as an example. The bus 100 is represented by a thick line in Figure 5 and the connection manners between other components are only for illustrative purposes and are not restrictive. The bus 100 can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, Figure 5 it is only represented by a thick line in, but it does not mean that there is only one bus or one type of bus. Alternatively, the processor 101 can also be called a controller, and there is no limitation on the name.

[0117] In this embodiment, the memory 102 stores instructions executable by at least one processor 101. By executing the instructions stored in the memory 102, at least one processor 101 can execute the foregoing method.

[0118] Among them, the processor 101 is the control center of the device. It can connect various parts of the entire control device through various interfaces and lines. By running or executing the instructions stored in the memory 102 and calling the data stored in the memory 102, various functions of the device and process data, so as to monitor the device as a whole.

[0119] In a possible design, the processor 101 may include one or more processing units. The processor 101 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor may not be integrated into the processor 101. In some embodiments, the processor 101 and the memory 102 can be implemented on the same chip. In some embodiments, they can also be separately implemented on independent chips.

[0120] The processor 101 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field-programmable gate array, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, which can implement or execute the various methods, steps and logic block diagrams disclosed in the embodiments. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm disclosed in conjunction with Embodiment 1 can be directly embodied as being executed by a hardware processor, or executed by a combination of hardware and software modules in the processor 101.

[0121] The memory 102, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. The memory 102 may include at least one type of storage medium, for example, it may include flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disc, and so on. The memory 102 is any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 102 in this embodiment may also be a circuit or any other device capable of implementing a storage function, for storing program instructions and / or data.

[0122] By programming the design of the processor 101, the code corresponding to the security verification method introduced in the foregoing embodiments can be solidified into the chip, so that the chip can execute Figure 1 the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm shown. How to program the design of the processor 101 is a well-known technology to those skilled in the art and will not be elaborated here.

[0123] Embodiment 3

[0124] This embodiment provides a computer-readable storage medium, on which a computer program is stored. When the program is executed by a processor, it implements the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm as described in Embodiment 1.

[0125] The computer-readable storage medium may include flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, etc. In some embodiments, the storage medium may be an internal storage unit of a computer device, such as the hard disk or memory of the computer device. In other embodiments, the storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc., equipped on the computer device. Of course, the storage medium may also include both the internal storage unit and the external storage device of the computer device. In this embodiment, the memory is generally used to store the operating system installed on the computer device and various application software. In addition, the memory may also be used to temporarily store various data that have been output or are to be output.

[0126] As described above, only the preferred specific embodiments of the present invention are given, but the protection scope of the present invention is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present invention, according to the technical solution and inventive concept of the present invention, making equivalent replacements or changes, shall be covered by the protection scope of the present invention.

Claims

1. A dynamic obstacle avoidance method for a six-axis robotic arm based on an improved DWA algorithm, characterized in that, Including: Initialize the current state of the robotic arm and the target position; among them, among the six joints of the robotic arm, the one closer to the base is the forward direction; the robotic arm state includes joint angles, joint angular velocities, end positions, and end velocities; Local joint judgment: Determine whether the first three joints of the robotic arm reach the target position; if so, calculate the velocity dynamic window of the first three joints according to the kinematic constraints, velocity limits, acceleration limits, and braking distances of the robotic arm. At this time, the velocity dynamic windows of the last three joints are limited to zero; otherwise, similarly, calculate the velocity dynamic windows of the last three joints. At this time, the velocity dynamic windows of the first three joints are limited to zero; Perform velocity sample sampling at the set resolution according to the calculated velocity dynamic window; Generate the simulated prediction trajectory of the robotic arm in the future for a period of time according to each group of velocity samples, that is, simulate and update the state of the robotic arm corresponding to the velocity sample; Combined with the simulated updated state of the robotic arm, calculate the robotic arm motion direction evaluation value, the robotic arm-obstacle distance evaluation value, and the robotic arm velocity evaluation value corresponding to the velocity sample. After normalizing the three evaluation values and adding them together, obtain the velocity sample score; Select the velocity sample with the highest score to update the state of the robotic arm, and determine whether all joints reach the target position. If so, complete dynamic obstacle avoidance; otherwise, continue to perform the local joint judgment.

2. The dynamic obstacle avoidance method for a six-axis robotic arm based on the improved DWA algorithm according to claim 1, characterized in that The calculation formula for the robotic arm motion direction evaluation value is: Where, K heading is the evaluation value of the movement direction of the robotic arm, which is used to measure the proximity between the current joint angle and the target joint angle of the robotic arm. The closer it is to the target joint angle, the higher the score; pos g is the target joint angle; pos c is the current joint angle; ||·|| is the calculation of the modulus of a vector; The calculation formula for the robotic arm-obstacle distance evaluation value is: K dist = ||p e -p obstacle || where K dist is the distance evaluation value between the robotic arm and the obstacle, which is used to measure the distance of the trajectory from the obstacle. The farther the trajectory is from the obstacle, the higher the score; p e is the coordinate of the end of the robotic arm; p obstacle is the position of the obstacle closest to the robotic arm currently; The calculation formula for the robotic arm velocity evaluation value is: K veloticy = ||v e || Where K veloticy is the evaluation item of the robotic arm speed, and v e is the linear velocity of the end of the robotic arm. The greater the linear velocity of the end, the higher the score.

3. The dynamic obstacle avoidance method for a six-axis robotic arm based on the improved DWA algorithm according to claim 2, wherein, The calculation formula for the velocity sample score is: G = σ(αK heading + βK dist + γK velocity ) Among them, σ represents the normalization parameter, α represents the motion direction evaluation item coefficient, β represents the robotic arm-obstacle distance evaluation item coefficient, and γ represents the robotic arm velocity evaluation item coefficient.

4. The method for dynamic obstacle avoidance of a six-axis robotic arm based on the improved DWA algorithm according to claim 3, wherein The calculation formula for the normalization process is: Where j represents the speed sample number, and n represents the total number of speed samples; K heading (j), K dist (j), K velocity (j) respectively represent the evaluation value of the manipulator motion direction, the evaluation value of the distance between the manipulator and the obstacle, and the evaluation value of the manipulator speed of the j-th group of speed samples.

5. The method for dynamic obstacle avoidance of a six-axis robotic arm based on an improved DWA algorithm according to claim 1, characterized in that, The calculation method of the velocity dynamic window includes: Construct the velocity boundary limit of the joint, and the expression formula is as follows: where \(i\) represents the joint number, \(i = 1,\ldots,6\); \(\omega\) imin represents the minimum angular velocity that the \(i\)-th joint can achieve, \(\omega\) imax represents the maximum angular velocity that the \(i\)-th joint can achieve, represents the velocity boundary limit of the \(i\)-th joint; Construct the acceleration limit of the joint, and the expression formula is as follows: where ω i (t) represents the angular velocity of the i-th joint at the current moment, represents the maximum angular acceleration that the i-th joint can achieve, Δt is the unit time, represents the acceleration limit of the i-th joint; Construct the obstacle threat limit of the joint, and the expression formula is as follows: wherein, represents the maximum angular acceleration when the i-th joint brakes, represents the obstacle threat speed limit of the i-th joint; dista is the closest distance between the robotic arm's simulated predicted trajectory and the obstacle; According to the above three restrictions, the dynamic window of the joint velocity of the i-th joint of the robotic arm is obtained 6. The dynamic obstacle avoidance method for a six-axis robotic arm based on the improved DWA algorithm according to claim 5, characterized in that, The method for simulating and updating the state of the robotic arm includes: Define the angular velocity ω of the robotic arm joint as: ω = [ω1, ω2, ω3, ω4, ω5, ω6] T In the formula, ω1, ω2, ω3, ω4, ω5, ω6 are the angular velocities of the six joints of the robotic arm; the superscript T is the transpose symbol; The end effector velocity V is calculated through the Jacobian matrix e : V e = J(q)ω where v e is the end linear velocity, and v ex , v ey , v ez are the linear velocity components in the x, y, and z axis directions respectively; ω e is the end angular velocity, and ω ex , ω ey , ω ez are the angular velocity components in the x, y, and z axis directions; J(q) is the Jacobian matrix; After a unit time Δt, the state of the robotic arm is updated to: where \(q(t)\) is the joint angle at time \(t\); \(\omega(t)\) is the joint angular velocity at time \(t\); is the joint angular acceleration at time \(t\); \(x\) e (t + \Delta t)\) is the pose of the robot end-effector after \(\Delta t\) time; \(f_{kin}(\cdot)\) represents the forward kinematics solution; is the velocity of the robot end-effector after \(\Delta t\) time.

7. A computer terminal, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm described in any one of claims 1 to 6.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Robot arm mechanism

    CN107735228A

  • Method and device for controlling motion of mechanical arm

    CN109909998A

  • Obstacle avoiding method with mechanical arm probing and perceiving function

    CN110696000A

  • Mechanical arm type robot, robot obstacle avoidance method and storage medium

    CN111923038A

  • Mechanical arm control method and device, operation control equipment and readable storage medium

    CN113021347A