Robotic arm obstacle avoidance method and robotic arm obstacle avoidance system
Through the non-contact robot arm obstacle avoidance method, the steps of modeling, evaluating coordinates, occupying functions and obstacle avoidance attitude are solved, and the overall anti-collision effect of the robot arm and reducing production costs are achieved.
Patent Information
- Application Number
- CN202110990348.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-26
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2041-08-26
AI Technical Summary
The existing anti-collision technology of robotic arms mainly relies on contact type, which leads to easy damage and equipment damage when colliding with people or obstacles. The anti-collision effect is limited to the end effector, and the overall anti-collision effect is limited.
The non-contact robot arm obstacle avoidance method is adopted to achieve all-round obstacle avoidance of the robot arm within the working range through the steps of modeling, collecting and evaluating coordinates, establishing an occupation function and finding obstacle avoidance attitude.
The overall anti-collision effect of the robot arm is achieved, avoiding collision with obstacles, reducing the risk of equipment damage and personnel injury. At the same time, due to the non-contact design, the production cost and the overall weight of the robot arm are reduced.
Smart Images

Figure CN115723121B_ABST
Abstract
Description
Technical Field
[0001] The present invention provides a technical field of automation equipment, and in particular, refers to a non-contact robot arm obstacle avoidance method, and a robot arm obstacle avoidance system using the robot arm obstacle avoidance method. Background Art
[0002] With the rapid development of industrial technology, automation technology has been widely used in various industries. For example, robotic arms or other similar equipment are used to assist production and improve factory production efficiency. However, during the operation of the robotic arm, there may be people or other obstacles within its working range. In order to avoid damage to the robotic arm due to collision, common anti-collision safety technologies generally include the following two types:
[0003] The first method uses the limiting relationship between resistance and working current to achieve the protection purpose. The principle is that when the robot arm collides with an obstacle, the current of the motor used to control the robot arm will increase due to the resistance. Then, when the working current exceeds the limit, the robot arm will stop operating.
[0004] The second method is to use smart skin to achieve the purpose of protection. The principle is to cover the surface of the robotic arm with pressure sensors. When the robotic arm collides with an obstacle, the pressure sensors will send a signal to control the robotic arm to stop operating. However, this method requires that the robotic arm be covered with sensors as much as possible. Therefore, in addition to the disadvantage of increasing the overall weight of the robotic arm, the process of installing sensors is complicated, which will increase production costs.
[0005] Since both of the above technologies are contact-based, that is, the stop condition is triggered only after the robot touches an obstacle, when the robot collides with a person or an obstacle, it often causes injuries to people, damage to products, or damage to the robot. In addition, the existing robot only designs the anti-collision effect for its end effector, not for the entire robot, so the anti-collision effect is limited. Summary of the invention
[0006] The object of the present invention is to provide a non-contact robot arm obstacle avoidance method that can achieve an overall anti-collision effect.
[0007] To achieve the above-mentioned purpose, the present invention discloses a robot arm obstacle avoidance method, which is applicable to a robot arm, wherein the robot arm includes a plurality of joints and a plurality of connecting arms respectively connected to different joints, and the robot arm obstacle avoidance method comprises: a modeling step: constructing the connecting arms into cylinders with a fixed diameter, and the diameter of the cylinder is not less than the diameter of the thickest connecting arm; a step of collecting evaluation coordinates: collecting the kth sampling point of the modeled robot arm in the i-th working posture within a working range, and marking the evaluation coordinates corresponding to the sampling points as i and k are both positive integers; establishing an occupation function step: establishing an occupation function O for determining whether the m-th spatial coordinate is occupied by part of the robot arm, m being a positive integer, and when the distance between the m-th spatial coordinate and the evaluation coordinate to be compared is less than a set value, defining the function value range of the occupation function O corresponding to the occupied state to be greater than 0.5 and less than 1, and the function value range of the occupation function O corresponding to the non-occupied state to be greater than 0 and less than 0.5; obtaining a control variable step: obtaining a control variable X corresponding to the i-th working posture of the robot arm on the motion path i ; and the step of finding the obstacle avoidance posture: according to the following equation To obtain an obstacle avoidance posture, where is the control variable corresponding to the obstacle avoidance posture, O T is a threshold value.
[0008] As a further improvement, the step of finding the obstacle avoidance posture further includes setting the threshold O T Adjust to another threshold O T 'Step, the adjusted threshold O T ' is less than the threshold value O T , the threshold O T ' is less than 0.5.
[0009] As a further improvement, the robotic arm further comprises an end effector, and the posture of the end effector in the world coordinate system does not change over time.
[0010] As a further improvement, when the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robotic arm stops moving.
[0011] As a further improvement, the data obtained in the modeling step, the evaluation coordinate collection step, the control variable acquisition step, and the occupancy function establishment step are all pre-stored in a database.
[0012] As a further improvement, when the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robotic arm stops moving.
[0013] To achieve the above-mentioned purpose, the present invention discloses a robotic arm obstacle avoidance system, characterized in that: it includes a robotic arm fixed on a base, the robotic arm includes multiple joints and multiple connecting arms respectively connected to different joints; and a host, electrically connected to the robotic arm and including a database, storing the data obtained in the modeling step, the step of collecting and evaluating coordinates, the step of obtaining control variables, and the step of establishing an occupancy function as described above; and an operation control module, electrically connected to the database, and used to execute the step of finding an obstacle avoidance posture as described above, so as to control the robotic arm to dodge obstacles.
[0014] As a further improvement, the robotic arm further comprises an end effector, and the posture of the end effector in the world coordinate system does not change over time.
[0015] As a further improvement, when the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robotic arm stops moving.
[0016] As a further improvement, the step of finding the obstacle avoidance posture further includes setting the threshold O T Adjust to another threshold O T 'Step, the adjusted threshold O T ' is less than the threshold value O T , the threshold O T ' is less than 0.5.
[0017] As described above, the present invention has at least the following effects: by pre-storing the possible posture parameters of the robot arm in the execution of the task in the database, the robot arm can quickly evaluate whether it will collide with obstacles during the movement process when performing the task. If the evaluation shows that a collision will occur, the obstacle avoidance posture search step is executed to avoid the obstacle. The present invention not only enables the robot arm to achieve the overall obstacle avoidance and collision avoidance effect, but also because it adopts a non-contact collision avoidance design, it can also improve the shortcomings faced by the existing contact collision avoidance design. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Figure 1 A flow chart of the robot arm obstacle avoidance method of the present invention.
[0019] Figure 2 FIG. 4 is a schematic diagram of an embodiment of a robot arm obstacle avoidance system of the present invention.
[0020] Figure 3 A block diagram of a host of the robot arm obstacle avoidance system of the present invention.
[0021] Figure 4It is a schematic diagram of a robotic arm within a working range of the embodiment of the robotic arm obstacle avoidance system of the present invention.
[0022] Figure 5 It is a schematic diagram of the robotic arm of the embodiment of the robotic arm obstacle avoidance system of the present invention, illustrating that the robotic arm is in the first working posture and has only two joint degrees of freedom.
[0023] Figure 6 is a distribution diagram of an occupation function of the robot arm obstacle avoidance method of the present invention, and the horizontal axis thereof has the control variable X of the i-th working posture i , and the vertical axis is the function value of the occupation function.
[0024] Figure 7 FIG. 1 is a schematic diagram of another robot arm of the embodiment of the robot arm obstacle avoidance system of the present invention in the i-th working posture, illustrating the k-th sampling point of the robot arm in the i-th working posture. and the mth spatial coordinate R m The distance between the two is d i,k,m .
[0025] Figure 8 FIG. 4 is a schematic diagram of a robot arm according to the embodiment of the present invention moving along a motion path.
[0026] Fig. 9 For similar Figure 8 A schematic diagram illustrating that the robot arm of the present invention is controlled to dodge obstacles in an obstacle avoidance posture. DETAILED DESCRIPTION
[0027] In order to explain the technical content, structural features, achieved objectives and effects of the present invention in detail, the following is a detailed description in conjunction with specific embodiments and accompanying drawings.
[0028] Before the present invention is described in detail, it should be noted that in the following description, similar components are represented by the same reference numerals. In addition, the shapes, sizes, thicknesses, angles and other related parameters of the components in the drawings are not drawn according to scale. The simplification is intended only for the convenience of clear description.
[0029] See also Figure 1 , 23. The robot arm obstacle avoidance method of the present invention is applicable to a robot arm obstacle avoidance system. The robot arm obstacle avoidance system includes a robot arm 1 with a high degree of freedom, and a host 2 electrically connected to the robot arm 1. In the present embodiment, the robot arm 1 is fixed to a base 3, and the robot arm 1 includes a plurality of joints 11 and a plurality of connecting arms 12 respectively connected to different joints 11. The host 2 includes components such as a database 21 (database) electrically connected to each other, a calculation control module 22 and a signal receiving module 23, etc. The calculation control module 22 includes a processor (processor), and the receiving module includes a receiver (receiver) and a transmitter (emitter). In practical applications, the host 2 can be a robot arm controller (RobotController), a server (sever), a desktop computer (desk computer) or a laptop (laptop), etc. The electrical connection method between the host 2 and the robot arm 1 is not limited to transmitting signals wirelessly through the signal receiving module 23, and can also be transmitting signals through wired means.
[0030] The robot arm obstacle avoidance method of the present invention at least comprises the following steps S101 to S105:
[0031] See also Figure 1 , 2 , Step S101, Modeling step: construct the connecting arms 12 into columns with a fixed diameter, and the diameter of the column is not less than the diameter of the thickest connecting arm. For example, the connecting arms 12 of the physical robot arm 1 have two sizes of diameters of 130mm and 220mm, respectively. The diameter of the connecting arm 12 after modeling must be at least equal to 220mm or greater than 220mm. This step simulates the robot arm 1 to dodge obstacles b (such as Figure 8 If the subsequent simulation result is that the obstacle b is successfully avoided, it means that in actual operation, there is still a considerable buffer space between the robot arm 1 and the obstacle b. In other words, the present invention has an additional modeling step to improve reliability during use.
[0032] See also Figure 1 , 2 4. Step S102: Collecting evaluation coordinates: Collect the kth sampling point of the modeled robot arm 1 in the i-th working posture within a working range W, and mark the evaluation coordinate position corresponding to the sampling point as i and k are both positive integers. Different i values represent different working postures of the robot arm 1. For example, Q 3 1 It is represented as the evaluation coordinates of the third sampling point of the robot arm 1 in the first working posture. Figure 4In FIG. 1 , the sampling points are represented by triangle symbols, and the sampling points have their own evaluation coordinates. When a certain number of sampling points are constructed, the corresponding relationship between the evaluation coordinates of the sampling points and the working posture of the robot arm 1 can be established.
[0033] See also Figure 1 , 2 5. Step S103: Obtaining the control variable step: Obtain the control variable X corresponding to the i-th working posture of the robot arm 1 on the motion path P. i The control variable X i Can be the control variable X set directly from the controller i ; or from the known working posture, the corresponding control variable is obtained according to inverse kinematics. That is to say, in step S103, as long as the control variable X corresponding to the i-th working posture of the robot arm 1 on its motion path P can be obtained, i , whose control variable X i There is no particular limitation on how the source of is generated.
[0034] The control variable X corresponding to the i-th working posture i It meets the following equation
[0035]
[0036] Wherein N is a positive integer and represents the highest degree of freedom of the robot arm 1. In this embodiment, an eight-axis robot arm 1 (such as Figure 2 As shown), so N is 8, x j represents the variation of the jth joint 11, e j represents the jth normal basis, j is a positive integer, and the control variable X can be expressed by equation (1) i , covering the variation of rotation or movement between joints 11.
[0037] For the convenience and clarity of formula (1), Figure 4 and Figure 5 A robotic arm with two joints is used as an example to further understand the obstacle avoidance operation of an eight-axis robotic arm with high degrees of freedom. Figure 5 Display the first working posture of the robot arm 1', the first working posture can be directly set to the control variable X 1 To operate, or the first working posture is based on the corresponding control variable X obtained by inverse kinematics 1 , after being applied to equation (1), can be expressed as follows:
[0038] X 1 =x 1 1e 1 +x 2 1 e 2
[0039] When the robot arm 1' has another working posture, its control variable can be recorded as X 2 , and so on. When the i-th working posture is reached, its control variable can be recorded as X i .
[0040] See also Figure 1 , 2 , 6, 7, step S104, establish an occupation function step: establish an occupation function O, which is used to determine whether the mth spatial coordinate within the working range of the robot arm 1 is partially occupied by the robot arm, m is a positive integer, and the mth spatial coordinate can be recorded as R m , while R m and The distance between the two can be expressed as d i,k,m Indicates that
[0041] Occupancy function O(X i ) is described as follows
[0042]
[0043] Mathematical formula (2) shows that when the mth spatial coordinate R m The evaluation coordinates to be compared When the distance between them is less than a set value ε, and for all k-th sampling points in the i-th working posture of the robot arm 1, the function value O of the occupancy function O corresponding to the occupancy state is defined as m The range is greater than 0.5 and less than 1, rather than the function value O of the occupation function O corresponding to the occupied state m The range is greater than 0 and less than 0.5, where ε is a real number. For example, if the mth spatial coordinate R m is occupied by obstacles, and when the occupation function O(X i ) is calculated to be 1, because the function value O occupied by the function m As long as it is greater than 0.5 and less than 1, it means the spatial coordinate R m In essence, the coordinates will be evaluated Occupy and evaluate coordinates is the kth sampling point of robot arm 1 in the i-th working posture, so the i-th working posture of the robot arm will be evaluated as touching the obstacle, and when O(X i ) is 0, because the function value O occupied by the function m If it is greater than 0 and less than 0.5, it means the spatial coordinate R mThe coordinates will not actually be evaluated Therefore, the i-th working posture of the robot arm will be evaluated as not touching the obstacle. Preferably, in the step of establishing the occupation function, in order to obtain the best numerical solution for the subsequent obstacle avoidance action path of the robot arm, the occupation function O(X i ) is converted into a Gaussian function, and the resulting curve is as follows Figure 6 As shown by the dotted line in .
[0044] It should be noted that step S104 does not necessarily have to be performed after step S103. Step S103 may be performed first and then step S104. Steps S103 and S104 may even be performed simultaneously.
[0045] See also Figure 1 Step S105: Obstacle avoidance posture search step: According to the following equation
[0046]
[0047] To get the obstacle avoidance posture, where is the control variable corresponding to the obstacle avoidance posture. i For example, it can represent the change in each joint controlled by its own motor. Therefore, by minimizing the problem of formula (3), the change in each motor's adjustment is minimized, thereby obtaining an obstacle avoidance posture that meets formula (3). i )’s function value O m 0.5 <O m ≤1, it means that the robot arm is evaluated to touch the obstacle, and when the occupation function O(X i )’s function value O m 0≤O m ≤0.5, it means that the robot arm is evaluated as not touching the obstacle. Therefore, the present invention can also increase the threshold value by T Adjust from 0.5 to another threshold O T ', the adjusted threshold O T ' is less than 0.5, for example T '=0.4, thereby improving the safety level of obstacle avoidance. At this time, the function value of the calculated occupancy function is O m must be less than or equal to 0.4, the obstacle avoidance posture of the robot arm will be evaluated as not touching the obstacle, and when the function value of the calculated occupancy function is O m When it is greater than 0.4, the obstacle avoidance posture of the robot arm will be evaluated as touching the obstacle, and as the occupation function value O mThe larger the value, the more serious the collision. T ' is smaller than the threshold O T In practice, the distance between the robot arm and the obstacle is increased to reduce the probability of the robot arm touching the obstacle. T The size of the obstacle avoidance function is used to control the safety level of the obstacle avoidance.
[0048] In practical applications, for example, when the robot arm is performing a dispensing operation along a specific path on a horizontal plane, the end portion of the robot arm used for dispensing must be maintained on the horizontal plane. Therefore, under the condition of meeting equation (3), an eighth joint of the robot arm can be added to be arranged outward from the base in sequence, and the relative position between the eighth joint and the base is the same before and after the step of finding the obstacle avoidance posture, so as to ensure that the robot arm can avoid obstacles while maintaining the correct position of the end effector when performing the task. In addition, by adding a constraint condition that the end vector is constant, that is, the posture of the end effector of the robot arm itself in the world coordinate system does not change over time, so that it can be applied to operations where the hole position must be accurately aligned (not tilted with the hole entry direction) (such as: screw locking operation) or edge finding of the target object.
[0049] See also Figure 2 , 3 , 8, 9, the following will be through the process of the robot arm 1 using the above-mentioned obstacle avoidance method to avoid the obstacle b, so as to understand the advantages of the present invention:
[0050] First, the data obtained in executing steps S101 to S104 are stored in the database 21 of the host 2, and then the robot arm 1 and the host 2 are installed with the relevant driver. The time required for executing steps S101 to S104 of the present invention is the number of evaluation coordinates multiplied by the number of sampled postures multiplied by the calculation time of the permutation and combination when each group of postures occupies the evaluation coordinates. Preferably, the time required for executing steps S101 to S104 is completed within one day.
[0051] Next, when the robot arm 1 is performing a task, the operation control module 22 controls the robot arm 1 to move along a motion path P. There are multiple path coordinates on the motion path P, and each path coordinate can be matched with a corresponding evaluation coordinate. When an obstacle b is located within the working range of the robot arm 1 (the relevant coordinates of the obstacle can be obtained through three-dimensional point cloud technology, for example), the operation control module 22 will calculate whether the robot arm 1 will collide with the obstacle b. This calculation process can be completed within 10 milliseconds. If this calculation process evaluates that there will be no collision, the robot arm 1 continues to move along the motion path P. On the contrary, if it is evaluated that a collision will occur (such as Figure 8 As shown), the operation control module 22 will execute the step of finding the obstacle avoidance posture, so that the robot arm 1 can avoid the obstacle b in the obstacle avoidance posture to continue to perform the task (as shown in FIG. Fig. 9 As shown). For example, the time required to perform the step of finding the obstacle avoidance posture can be calculated as follows:
[0052] t=D*(E*F+G) (4)
[0053] Wherein t is the time required for the step of finding the obstacle avoidance posture, D is the number of iterations, E is the number of occupancy function calculations required for each iteration, F is the time required for each occupancy function calculation, and G is the time required for the algorithm calculation applicable to this calculation formula (4).
[0054] If the operation control module 22 assesses that a collision will occur, but the time for executing the step of finding the obstacle avoidance posture exceeds a running time, the operation control module 22 will control the robot arm 1 to stop moving and wait for the obstacle b to move away from the position where a collision may occur. Only then will the operation control module 22 control the robot arm 1 to continue to perform the task.
[0055] The present invention pre-stores the relevant parameters that the robot arm may encounter when performing a task in a database, so when in use, it can quickly evaluate whether the robot arm will collide during movement. In addition, if it is evaluated that a collision will occur, the robot arm obstacle avoidance method of the present invention has pre-calculated all possible working postures that may touch obstacles. Therefore, in terms of calculation, it only needs to perform calculations on the working postures that may touch obstacles, and it can quickly find a suitable obstacle avoidance posture to avoid the obstacles, so that the robot arm of the present invention will not interrupt the task due to touching obstacles during the execution of the task.
[0056] In summary, the robot arm obstacle avoidance method of the present invention and the robot arm obstacle avoidance system using the obstacle avoidance method can indeed achieve the purpose of the present invention.
[0057] The technical content disclosed by this creation is not limited to the above-mentioned embodiments. All those with the same creative concepts and principles as those disclosed by this creation fall within the scope of the patent application of this creation. It should be noted that the definition of components, such as "first" and "second", are not limiting words, but distinguishing terms. The "include" or "comprising" used in this case covers the concepts of "including" and "having", and indicates components, operating steps and / or groups or the above combinations, and does not mean exclusion or addition. In addition, unless otherwise specified, the order of the steps of the operation does not represent an absolute order. Moreover, unless otherwise specified, when referring to a component in the singular form (for example, using the article "one" or "an"), it does not mean "one and only one" but "one or more". The "and / or" used in this case refers to "and" or "or", as well as "and" and "or". The scope-related terms used in this case include all and / or scope limitations, such as "at least", "greater than", "less than", "not more than", etc., which refer to the upper or lower limit of the range.
[0058] However, what is described above is only an embodiment of the present invention and should not be used to limit the scope of implementation of the present invention. All simple equivalent changes and modifications made according to the scope of the patent application of the present invention and the content of the patent specification are still within the scope covered by the patent of the present invention.
Claims
1. A robot arm obstacle avoidance method, applicable to a robot arm, Features: The robot arm includes a plurality of joints and a plurality of connecting arms respectively connected to different joints. The robot arm obstacle avoidance method includes: a modeling step: constructing the connecting arms into cylinders with a fixed diameter, and the diameter of the cylinder is not less than the diameter of the thickest connecting arm; a step of collecting evaluation coordinates: collecting the kth sampling point of the modeled robot arm in the i-th working posture within a working range, and marking the evaluation coordinate corresponding to the sampling point as Q k i , i and k are both positive integers; establishing an occupation function step: establishing an occupation function O for judging whether the m-th spatial coordinate is occupied by part of the robot arm, m is a positive integer, when the distance between the m-th spatial coordinate and the evaluation coordinate to be compared is less than a set value, defining the function value range of the occupation function O corresponding to the occupied state to be greater than 0.5 and less than 1, and the function value range of the occupation function O corresponding to the non-occupied state to be greater than 0 and less than 0.5; obtaining a control variable step: obtaining the control variable X corresponding to the i-th working posture of the robot arm on the action path i ; and the step of finding the obstacle avoidance posture: according to the following equation To obtain an obstacle avoidance posture, where is the control variable corresponding to the obstacle avoidance posture, O T is a threshold value.
2. The robot arm obstacle avoidance method according to claim 1, Features: The step of finding the obstacle avoidance posture also includes setting the threshold O T Adjust to another threshold O T 'Step, the adjusted threshold O T ' is less than the threshold value O T , the threshold O T ' is less than 0.
5.
3. The robot arm obstacle avoidance method according to claim 1, Features: The robotic arm also includes an end effector, and the posture of the end effector in the world coordinate system does not change over time.
4. The robot arm obstacle avoidance method as claimed in claim 3, Features: When the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robot arm stops moving.
5. The robot arm obstacle avoidance method according to claim 1, Features: The data obtained in the modeling step, the evaluation coordinate collection step, the control variable acquisition step, and the occupancy function establishment step are all pre-stored in a database.
6. The robot arm obstacle avoidance method as claimed in claim 5, Features: When the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robot arm stops moving.
7. A robotic arm obstacle avoidance system, Features: The invention comprises a robotic arm fixed on a base, wherein the robotic arm comprises a plurality of joints and a plurality of connecting arms respectively connected to different joints; and a host electrically connected to the robotic arm and comprising a database storing data obtained in the modeling step, the step of collecting and evaluating coordinates, the step of obtaining control variables, and the step of establishing an occupancy function as described in claim 1; and an operation control module electrically connected to the database and used to execute the step of finding an obstacle avoidance posture as described in claim 1 to control the robotic arm to avoid obstacles.
8. The robot arm obstacle avoidance system as claimed in claim 7, Features: The robotic arm also includes an end effector, and the posture of the end effector in the world coordinate system does not change over time.
9. The robot arm obstacle avoidance system as claimed in claim 7, Features: When the time required for the step of finding the obstacle avoidance posture is greater than a running time, the robot arm stops moving.
10. The robot arm obstacle avoidance system according to claim 7, Features: The step of finding the obstacle avoidance posture also includes setting the threshold O T Adjust to another threshold O T 'Step, the adjusted threshold O T ' is less than the threshold value O T , the threshold O T ' is less than 0.5.
Citation Information
Patent Citations
Robot simulation device for generating motion path of robot
CN104875203A
Live line work mechanical arm autonomous obstacle avoidance path planning method based on movement primitive libraries
CN107214701A