A dynamic obstacle avoidance method, terminal, and medium for a six-axis robotic arm based on an improved DWA algorithm.

By improving the DWA algorithm, the speed sampling and trajectory update of the six-axis robotic arm are carried out in stages, which solves the problem of low path planning efficiency in the existing technology, achieves efficient and reliable dynamic obstacle avoidance, and improves the real-time performance and stability of the robotic arm in complex environments.

CN120244977BActive Publication Date: 2026-07-17HEFEI UNIV OF TECH +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HEFEI UNIV OF TECH
Filing Date
2025-05-07
Publication Date
2026-07-17

AI Technical Summary

Technical Problem

Existing dynamic obstacle avoidance methods for six-axis robotic arms perform poorly in terms of path planning computation efficiency and obstacle avoidance path quality, making it difficult to meet the real-time and stability requirements in complex environments.

Method used

An improved DWA algorithm is adopted, which performs velocity sampling in two stages: the first three joints and the last three joints. The trajectory update method is optimized, and the calculation speed and the real-time performance and reliability of path planning are improved by normalizing the motion direction, obstacle distance and velocity evaluation value.

Benefits of technology

It improves the dynamic obstacle avoidance calculation speed of the six-axis robotic arm in complex environments, ensures the smoothness and reliability of path results, and enhances the adaptability of the robotic arm in unstructured environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120244977B_ABST
    Figure CN120244977B_ABST
Patent Text Reader

Abstract

This invention relates to the field of robotic arm path planning technology, and discloses a dynamic obstacle avoidance method, terminal, and medium for a six-axis robotic arm based on an improved DWA algorithm. The method first initializes the current robotic arm state and target position; then it determines whether the first three joints of the robotic arm have reached the target position; if so, it calculates the dynamic velocity windows of the first three joints, while limiting the dynamic velocity windows of the last three joints to zero; otherwise, it calculates the dynamic velocity windows of the last three joints, while limiting the dynamic velocity windows of the first three joints to zero; it samples velocity samples based on the dynamic velocity windows; it simulates and updates the robotic arm state corresponding to each set of velocity samples, thereby calculating a velocity sample score; it selects the velocity sample with the highest score to update the robotic arm state, and determines whether all joints have reached the target position; if so, dynamic obstacle avoidance is completed; otherwise, it continues to perform local joint checks. This invention improves the computation speed of the DWA algorithm and ensures the real-time performance of dynamic planning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] A six-axis robotic arm is a common type of multi-degree-of-freedom robot, typically 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 various fields such as industrial manufacturing, medical assistance, and service robotics. As application scenarios continue to expand, the working environments faced by robotic arms are becoming increasingly complex, especially when operating in unstructured environments where numerous unpredictable obstacles may exist.

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

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

[0005] To address the technical problems existing in the prior art, this invention provides a dynamic obstacle avoidance method, terminal, and medium for a six-axis robotic arm based on an improved DWA algorithm. The method optimizes the trajectory update of the robotic arm by sampling the angular velocity of the robotic arm in two stages: the first three joints and the last three joints. This improves the calculation speed of the DWA algorithm, ensures the real-time performance of dynamic planning, and guarantees the smoothness and reliability of the path results.

[0006] To achieve the above objectives, the present invention provides the following technical solution:

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

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

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

[0010] Based on the calculated velocity dynamic window, velocity samples are sampled at the set resolution;

[0011] Based on each set of velocity samples, a simulated and predicted trajectory of the robotic arm is generated for a period of time in the future, that is, the state of the robotic arm corresponding to the velocity sample is simulated and updated.

[0012] Based on the simulated updated state of the robotic arm, the evaluation values ​​of the robotic arm's motion direction, the distance between the robotic arm and the obstacle, and the robotic arm's speed are calculated for the corresponding speed samples. After normalizing the three evaluation values, they are added together to obtain the speed sample score.

[0013] The highest-scoring speed sample is selected for updating the robotic arm's state, and it is determined whether all joints have reached the target position. If so, dynamic obstacle avoidance is completed; otherwise, the local joint judgment is continued.

[0014] As a further improvement to the above solution, the formula for calculating the evaluation value of the robotic arm's motion direction is as follows:

[0015]

[0016] In the formula, K heading The evaluation value for the robotic arm's movement direction measures the proximity between the current joint angle and the target joint angle; the closer to the target joint angle, the higher the score. g For the target joint angle; pos c The current joint angle; ||·|| is the vector magnitude calculation;

[0017] The formula for calculating the distance evaluation value between the robotic arm and the obstacle is as follows:

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

[0019] In the formula, K dist This is the distance evaluation value between the robotic arm and the obstacle, used to measure the distance between the trajectory and the obstacle; the farther the trajectory is from the obstacle, the higher the score. e p represents the coordinates of the robotic arm's end effector. obstacle This indicates the current position of the nearest obstacle to the robotic arm.

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

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

[0022] In the formula, K veloticy For the robotic arm speed evaluation item, v e This refers to the linear velocity of the robotic arm's end effector; a higher end effector linear velocity results in a higher score.

[0023] As a further improvement to the above scheme, the formula for calculating the speed sample score is as follows:

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

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

[0026] As a further improvement to the above scheme, the calculation formula for the normalization process is as follows:

[0027]

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

[0029] As a further improvement to the above scheme, the calculation method for the dynamic velocity window includes:

[0030] The velocity boundary constraints for the joints are expressed by the following formula:

[0031]

[0032] In the formula, i represents the joint number, i = 1, ..., 6; ω imin ω represents the minimum angular velocity that the i-th joint can achieve. imax This represents the maximum angular velocity that the i-th joint can achieve. This indicates the velocity boundary limit of the i-th joint;

[0033] The acceleration constraints for the joints are expressed by the following formula:

[0034]

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

[0036] The obstacle threat constraint for constructing a joint is expressed by the following formula:

[0037]

[0038] In the formula, This represents the maximum angular acceleration when the i-th joint brakes. This represents the obstacle threat speed limit for the i-th joint; dista is the closest distance to the obstacle on the simulated predicted trajectory of the robotic arm.

[0039] Based on the above three constraints, the dynamic window of the joint velocity of the i-th joint of the robotic arm is obtained.

[0040] As a further improvement to the above scheme, the simulation update method for the robotic arm state includes:

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

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

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

[0044] The terminal velocity V is calculated using the Jacobian matrix. e :

[0045]

[0046] V e =J(q)ω

[0047] In the formula, v e v is the terminal linear velocity. ex v ey v ez These are the linear velocity components along the x, y, and z axes, respectively; ω e ω is the terminal angular velocity. ex ω ey ω ez ω represents the angular velocity components along the x, y, and z axes; J(q) is the Jacobian matrix.

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

[0049]

[0050] In the formula, q(t) is the joint angle at time t; ω(t) is the joint angular velocity at time t; Let xe(t+Δt) be the joint angular acceleration at time t; xe(t+Δt) be the robot end-effector pose after time Δt; fkin(·) represents the forward kinematics solution; Let Δt be the robot's end effector velocity after time Δ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, it implements the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm as described above.

[0052] The present invention also discloses a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the six-axis robotic arm dynamic obstacle avoidance method based on the improved DWA algorithm as described above.

[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 this invention performs joint velocity sampling in two stages: before the first three joints reach the target position, only the dynamic velocity windows of the first three joints are calculated, while the velocity windows of the last three joints are restricted to zero, thus performing velocity sampling; after the first three joints reach the target position, only the dynamic velocity windows of the last three joints are calculated, while the velocity windows of the first three joints are restricted to zero, thus performing velocity sampling. Decomposing the six-dimensional velocity sampling into three dimensions improves computational 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. To address the problem that the orientation angle evaluation function of the DWA algorithm is difficult to represent 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 readable storage medium disclosed in this invention can produce the same beneficial effects by applying the above-described dynamic obstacle avoidance method, and will not be described in detail here. Attached Figure Description

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

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

[0059] Figure 3 This is a diagram of the simulated dynamic obstacle avoidance process in Embodiment 1 of the present invention.

[0060] Figure 4 This is a schematic diagram of the simulated path planning results in Embodiment 1 of the present invention.

[0061] Figure 5 This is a schematic diagram of the structure of the computer terminal in Embodiment 2 of the present invention. Detailed Implementation

[0062] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. 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 are within the scope of protection of the present invention.

[0063] Example 1

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

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

[0066] The robotic arm's state includes joint angles, joint angular velocities, end effector position, and end effector velocity. Of the six joints of the robotic arm, those closest to the base are defined as forward, and those furthest from the base are defined as backward.

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

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

[0069] The evaluation function is calculated as follows:

[0070]

[0071] Among them, K headingThis is an evaluation item for the distance between the current joint angle of the robotic arm and the target joint angle. The closer the joint angle is to the target angle, the higher the score. g For the target joint angle, pos c Let ||·|| be the current joint angle, and let ||·|| be the magnitude of the vector, which is the square root of the sum of the squares of all vector components.

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

[0073] Among them, K dist This is an evaluation item for the distance between the robotic arm and obstacles; the farther the trajectory is from the obstacle, the higher the score. e Let p be the coordinates of the robotic arm's end effector. obstacle This is the current position of the nearest obstacle to the robotic arm.

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

[0075] Among them, K veloticy For the robotic arm speed evaluation item, v e The linear velocity of the robotic arm's end effector is the highest score.

[0076] S3, Local joint judgment: Determine whether the first three joints have reached the target position. If the first three joints have not reached the target position, proceed to step S4; otherwise, proceed to step S5.

[0077] S4. Based on the kinematic constraints, speed limits, acceleration limits, and braking distance of the robotic arm, calculate the current dynamic window of the first three joint speeds. At this time, the dynamic window of the last three joint speeds is limited to zero.

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

[0079] (1) Velocity boundary constraints: The inherent constraints of the motors of the six joints of the robotic arm will limit the motion capability of the six joints of the six-axis robotic arm. The velocity boundary can be obtained as shown in the following formula:

[0080]

[0081] Where i represents the i-th joint, ω imin ω represents the minimum angular velocity that the i-th joint can achieve. imax This represents the maximum angular velocity that the i-th joint can achieve. This represents the velocity 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 drastically per unit time.

[0083]

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

[0085] It should be noted that, This is the differential of angular velocity, which is angular acceleration. Multiplying acceleration by time represents the change in velocity under the constraint of acceleration. Adding or subtracting these two values ​​gives the window of velocity change under the acceleration constraint.

[0086] (3) Obstacle Threat Limitation: During dynamic path planning, the robotic arm needs to stop in time before colliding with an obstacle. Assuming dista is the closest distance between the robotic arm and the obstacle on the simulated predicted trajectory, the safe speed limit is:

[0087]

[0088] in, This represents the maximum angular acceleration when the i-th joint brakes. This indicates the speed limit posed by an obstacle at 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, similar to S4, calculate the current dynamic window of the last three joint speeds based on the kinematic constraints, speed limit, acceleration limit and braking distance of the robotic arm. At this time, the dynamic window of the first three joint speeds is limited to zero, and proceed to step S6.

[0092] S6, sample velocity samples at the set resolution according to the velocity dynamic window.

[0093] S7, based on each set of velocity samples, simulate and predict the motion trajectory of the robotic arm over a period of time, that is, simulate and update the state of the robotic arm corresponding to the velocity sample.

[0094] The simulation and update methods for the robotic arm's state include:

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

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

[0097] In the formula, ω1, ω2, ω3, ω4, ω5, and ω6 are the angular velocities of the six joints of the robotic arm; the superscript T is the transpose symbol.

[0098] The terminal velocity V is calculated using the Jacobian matrix. e :

[0099]

[0100] V e =J(q)ω

[0101] In the formula, v e v is the terminal linear velocity. ex v ey v ez These are the linear velocity components along the x, y, and z axes, respectively; ω e ω is the terminal angular velocity. ex ω ey ω ez ω represents the angular velocity components along the x, y, and z axes; J(q) is the Jacobian matrix.

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

[0103]

[0104] In the formula, q(t) is the joint angle at time t; ω(t) is the joint angular velocity at time t; Let xe(t+Δt) be the joint angular acceleration at time t; xe(t+Δt) be the robot end-effector pose after time Δt; fkin(·) represents the forward kinematics solution; Let Δt be the robot's end effector velocity after time Δt.

[0105] S8, calculate the evaluation value of the robotic arm's motion direction, the evaluation value of the distance between the robotic arm and the obstacle, and the evaluation value of the robotic arm's speed for each group of speed samples.

[0106] S9. Normalize the three evaluation function values, and then add the three values ​​together to obtain the final speed sample score.

[0107] The normalization process is calculated using the following formula:

[0108]

[0109] In the formula, j represents the velocity sample number, n represents the total number of velocity samples; K heading (j), K dist (j), K velocity (j) represents the evaluation value of the robotic arm's motion direction, the evaluation value of the distance between the robotic arm and the obstacle, and the evaluation value of the robotic arm's speed for the j-th velocity sample, respectively.

[0110] S10: Select the set of speed samples with the highest score to update the state of the robotic arm.

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

[0112] Please see Figures 2-4 In this embodiment, the above obstacle avoidance method is simulated and tested. A dynamic obstacle avoidance scenario is built on MATLAB software for simulation testing. 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 Given the map environment, the robotic arm's initial pose is (0.47, -0.14, 0.46, 1.57, 0, 3.14), the target point is the blue point in the image with a pose of (0.5, 0.3, 0.3, 1.57, 0, 2.8), and the dynamic obstacle is a red sphere with an initial position of (0.4, 0.2, 0.4), moving at 0.02 m / s along the positive z-axis. Figure 3 This describes the dynamic obstacle avoidance process of the robotic arm, with the initial position as follows: Figure 3 (a), Figure 3 (b) The robotic arm wants to cross the obstacle to reach the target point, but finds it cannot cross the obstacle, so it moves downwards to avoid it. Figure 3 (c) Finally reaching the target location as shown Figure 3 (d) The final trajectory is shown by the red curve.

[0113] The improved DWA algorithm used in this invention yields the following results for robotic arm path planning in dynamic environments: Figure 4 As shown, by optimizing the evaluation function and sampling joint velocities in two stages, the path planning efficiency is high and the resulting path quality is better.

[0114] Example 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, 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.

[0116] like Figure 5 As shown, the computer terminal provided in this embodiment includes: at least one processor 101, and a memory 102 connected to at least one processor 101. This embodiment does not limit the specific connection medium between the processor 101 and the memory 102. Figure 5The example shown is the connection between processor 101 and memory 102 via bus 100. Bus 100 is... Figure 5 The connections between other components are shown in bold lines and are for illustrative purposes only, not as limiting information. Bus 100 can be divided into address bus, data bus, control bus, etc., for ease of representation. Figure 5 The bus is represented by a single thick line, but this does not indicate that there is only one bus or one type of bus. Alternatively, the processor 101 may also be called a controller; there is no restriction on the name.

[0117] In this embodiment, the memory 102 stores instructions that can be executed by at least one processor 101. The at least one processor 101 can execute the aforementioned method by executing the instructions stored in the memory 102.

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

[0119] In one possible design, processor 101 may include one or more processing units. Processor 101 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 101. In some embodiments, processor 101 and memory 102 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.

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

[0121] 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. Memory 102 may include at least one type of storage medium, such as 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 storage, magnetic disk, optical disk, etc. Memory 102 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In this embodiment, memory 102 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0122] By designing and programming the processor 101, the code corresponding to the security verification method described in the foregoing embodiments can be embedded into the chip, thereby enabling the chip to execute the code during operation. Figure 1 The steps of the dynamic obstacle avoidance method for a six-axis robotic arm based on the improved DWA algorithm are shown. How to design and program the processor 101 is a technique well-known to those skilled in the art and will not be described further here.

[0123] Example 3

[0124] This embodiment provides a computer-readable storage medium storing a computer program thereon. 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, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, 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, smart media card (SMC), secure digital (SD) card, flash card, etc., provided on the computer device. Of course, the storage medium may include both internal storage units and external storage devices of the computer device. In this embodiment, the memory is typically used to store the operating system and various application software installed on the computer device. In addition, the memory can also be used to temporarily store various types of data that have been output or will be output.

[0126] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any equivalent substitutions or modifications made by those skilled in the art within the scope of the technology disclosed in the present invention, based on the technical solution and inventive concept of the present invention, should be covered within the scope of protection 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, include: Initialize the current state and target position of the robotic arm; wherein, among the six joints of the robotic arm, the one closest to the base is defined as forward; the state of the robotic arm includes joint angles, joint angular velocities, end effector position, and end effector velocity; Local joint judgment: Determine whether the first three joints of the robotic arm have reached the target position; if so, calculate the dynamic velocity window of the first three joints based on the kinematic constraints, speed limit, acceleration limit and braking distance of the robotic arm, and at this time the dynamic velocity window of the last three joints is limited to zero; otherwise, similarly, calculate the dynamic velocity window of the last three joints, and at this time the dynamic velocity window of the first three joints is limited to zero. Based on the calculated velocity dynamic window, velocity samples are sampled at the set resolution; Based on each set of velocity samples, a simulated and predicted trajectory of the robotic arm is generated for a period of time in the future, that is, the state of the robotic arm corresponding to the velocity sample is simulated and updated. Based on the simulated updated state of the robotic arm, the evaluation values ​​of the robotic arm's motion direction, the distance between the robotic arm and the obstacle, and the robotic arm's speed are calculated for the corresponding speed samples. After normalizing the three evaluation values, they are added together to obtain the speed sample score. The highest-scoring speed sample is selected for updating the robotic arm's state, and it is determined whether all joints have reached the target position. If so, dynamic obstacle avoidance is completed; otherwise, the local joint judgment is continued.

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 formula for calculating the evaluation value of the robotic arm's motion direction is: In the formula, K heading The evaluation value for the robotic arm's movement direction measures the proximity between the current joint angle and the target joint angle; the closer to the target joint angle, the higher the score. g For the target joint angle; pos c The current joint angle; ||·|| is the vector magnitude calculation; The formula for calculating the distance evaluation value between the robotic arm and the obstacle is as follows: K dist =||p e -p obstacle || In the formula, K dist This is the distance evaluation value between the robotic arm and the obstacle, used to measure the distance between the trajectory and the obstacle; the farther the trajectory is from the obstacle, the higher the score. e p represents the coordinates of the robotic arm's end effector. obstacle This indicates the current position of the nearest obstacle to the robotic arm. The formula for calculating the robotic arm speed evaluation value is as follows: K veloticy =||v e || In the formula, K veloticy For the robot arm speed evaluation item, v e This refers to the linear velocity of the robotic arm's end effector; a higher end effector linear velocity results in a higher score.

3. The dynamic obstacle avoidance method for a six-axis robotic arm based on the improved DWA algorithm according to claim 2, characterized in that, The formula for calculating the speed sample score is: G=σ(αK heading +βK dist +γK velocity ) Where σ represents the normalization parameter, α represents the coefficient of the motion direction evaluation term, β represents the coefficient of the distance evaluation term between the robotic arm and the obstacle, and γ represents the coefficient of the robotic arm speed evaluation term.

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

5. 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 method for the velocity dynamic window includes: The velocity boundary constraints for the joints are expressed by the following formula: In the formula, i represents the joint number, i = 1, ..., 6; ω imin ω represents the minimum angular velocity that the i-th joint can achieve. imax This represents the maximum angular velocity that the i-th joint can achieve. This indicates the velocity boundary limit of the i-th joint; The acceleration constraints for the joints are expressed by the following formula: In the formula, ω i (t) represents the angular velocity of the i-th joint at the current moment. This represents the maximum angular acceleration that the i-th joint can achieve, where Δt is the unit time. This represents the acceleration limit of the i-th joint; The obstacle threat constraint for constructing a joint is expressed by the following formula: In the formula, This represents the maximum angular acceleration when the i-th joint brakes. This represents the obstacle threat speed limit for the i-th joint; dista is the closest distance to the obstacle on the simulated predicted trajectory of the robotic arm. Based on the above three constraints, 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, Methods for simulating and updating the state of a robotic arm include: Define the angular velocity ω of the robotic arm joints as: ω=[ω1,ω2,ω3,ω4,ω5,ω6] T In the formula, ω1, ω2, ω3, ω4, ω5, and ω6 are the angular velocities of the six joints of the robotic arm; the superscript T is the transpose symbol. The terminal velocity V is calculated using the Jacobian matrix. e : V e =J(q)ω In the formula, v e v is the terminal linear velocity. ex v ey v ez These are the linear velocity components along the x, y, and z axes, respectively; ω e ω is the terminal angular velocity. ex ω ey ω ez ω represents the angular velocity components along the x, y, and z axes; J(q) is the Jacobian matrix. After a unit time Δt, the state of the robotic arm is updated as follows: In the formula, q(t) is the joint angle at time t; ω(t) is the joint angular velocity at time t; x is the joint angular acceleration at time t; e (t+Δt) represents the robot's end-effector pose after time Δt; fkin(·) represents the forward kinematics solution; Let Δt be the robot's end effector velocity after time Δt.

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 as 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 as described in any one of claims 1 to 6.