Shaft value determination method, device, storage medium, program product, and robot

By determining the coordinates of robot feature points and performing pose detection in the first coordinate system of the guide rail, the axis values ​​are automatically adjusted, solving the inefficiency problem caused by relying on human experience in the existing technology, and realizing efficient axis value determination and smooth robot motion.

CN116890328BActive Publication Date: 2026-02-17KUKA ROBOTICS MFG CHINA CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311071994.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2026-02-17
Estimated Expiration
2043-08-24

AI Technical Summary

Technical Problem

In existing technologies, the determination of the external axis values ​​of industrial robots relies on human experience, which is inefficient and leads to problems such as unreachable target points and interference between the robot and obstacles.

Method used

By determining the coordinates of the robot's feature points in the first coordinate system of the guide rail, and combining this with pose detection, the axis values ​​are automatically acquired and adjusted, thus achieving automatic determination of the axis values ​​and reducing reliance on human experience.

Benefits of technology

It improves the efficiency of axis value determination, avoids unreachable target points and robot interference, and ensures continuous and smooth robot movement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116890328B_ABST
    Figure CN116890328B_ABST
Patent Text Reader

Abstract

This invention provides a method, apparatus, storage medium, program product, and robot for determining axis values, relating to the field of industrial robot technology. The axis value determination method is executed by a robot, which includes a robot body and a guide rail. The robot body is capable of moving along the guide rail. The axis value determination method includes: determining first coordinate values ​​of feature points of the robot body in a first coordinate system corresponding to the guide rail; determining a first axis value based on the first coordinate values, the first axis value indicating the position of the robot body on the guide rail; performing pose detection on the robot body based on the first axis value; and determining a target axis value based on the pose detection result and the first axis value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial robot technology, and more specifically, to a method, apparatus, storage medium, program product, and robot for determining axis values. Background Technology

[0002] In related technologies, industrial robots are mounted on linear guides and controlled by external linear axes, enabling long-distance movement and thus large-scale, multi-station operation. The external axis values ​​of the robot need to be clearly defined to ensure continuous and smooth robot movement.

[0003] Currently, the determination of external axis values ​​for industrial robots relies on human experience, which is inefficient. Summary of the Invention

[0004] The present invention aims to solve at least one of the technical problems existing in the prior art or related art.

[0005] Therefore, the first aspect of the present invention proposes a method for determining axis values.

[0006] A second aspect of the present invention provides an axis value determination device.

[0007] A third aspect of the present invention provides an axis value determination device.

[0008] A fourth aspect of the present invention provides a readable storage medium.

[0009] The fifth aspect of the present invention provides a computer program product.

[0010] The sixth aspect of the present invention provides a robot.

[0011] In view of this, a first aspect of the present invention provides an axis value determination method, executed by a robot, the robot including a robot body and a guide rail, the robot body being capable of moving along the guide rail, the axis value determination method comprising: determining a first coordinate value of a feature point of the robot body in a first coordinate system corresponding to the guide rail; determining a first axis value based on the first coordinate value, the first axis value being used to indicate the position of the robot body on the guide rail; performing pose detection on the robot body based on the first axis value; and determining a target axis value based on the pose detection result and the first axis value.

[0012] In this technical solution, the robot is specifically an industrial robot, which includes a robot body. The robot body can be a multi-axis robotic arm, such as a 6-axis robot. The guide rail can be a linear guide rail, and the robot body is mounted on the guide rail, allowing it to move along the guide rail to change its position, thereby expanding its working range and enabling multi-station work.

[0013] In this context, the guide rail can be considered the robot's external linear axis. In related technologies, the main modes for controlling the robot's movement along this external linear axis include two task planning and control methods: station-based and continuous. Station-based methods involve the robot working only at a few specific stations along the external linear axis. While this method can cover the entire processing range of the product, when processing continuous trajectory points within the corresponding processing range at a particular station, the robot's joints undergo significant changes. Furthermore, when processing the processing range corresponding to the next station is required, the robot must wait to move from one station to another. Therefore, this method is suitable for tasks involving relatively discrete trajectory points on large workpieces, such as automated drilling and riveting based on industrial robots.

[0014] Continuous motion means that the robot's linear external axis moves continuously with the target, which reduces the range of motion of the robot joints and makes the robot's motion continuous and smooth. It is suitable for robot processing of continuous and dense trajectory points. For continuous and dense processing trajectory points on large workpieces, such as induction hardening of the chamfered surface of large molds, the industrial robot needs to be in a continuous and smooth motion state.

[0015] Regardless of whether the motion mode of the linear external axis is stationary or continuous, the axis value of the linear external axis corresponding to each target point needs to be clearly defined. The confirmation of axis values ​​often relies on experience and simulation testing. Inappropriate axis values ​​can cause problems such as the target point being unreachable, interference between the robot and obstacles or itself. The process of confirming axis values ​​is time-consuming and laborious.

[0016] To address the aforementioned issues, the present invention addresses the problem by projecting the feature points of the robot onto the outer axis of the straight line, i.e., the first coordinate system of the guide rail, and determining the initial axis value, i.e., the first axis value, based on the coordinate values ​​of the feature points in the first coordinate system of the guide rail. This first axis value can indicate the position of the robot body, specifically the position of the robot's tool on the guide rail, and is used to measure the relationship between the position of the robot's tool and the working target point.

[0017] For station-type robots, when a target point is unreachable or the axis value exceeds the travel limit, an axis value calculation is triggered to update the axis value. If no target point is unreachable or the axis value does not exceed the travel limit, the axis value of the outer axis of the line corresponding to the previous adjacent target point is used.

[0018] For continuous robots, an axis value calculation is performed for each target point on the robot body.

[0019] After obtaining the first axis value, the robot body is subjected to pose detection based on the first axis value to determine whether the pose of the robot body under the first axis value can meet the work requirements.

[0020] Based on the pose detection result corresponding to the first axis value, the first axis value is determined as the target axis value, or the first axis value is adjusted to obtain the target axis value that meets the requirements.

[0021] The technical solution of this invention can automatically obtain the axis value of the robot's linear external axis and automatically perform pose detection on the robot body based on the axis value of the linear external axis until a suitable axis value of the external axis is found. Therefore, the determination of the axis value of the external axis no longer depends on human experience, thus improving the efficiency of axis value determination.

[0022] In addition, the shaft value determination method in the above-mentioned technical solution provided by the present invention may also have the following additional technical features:

[0023] In some technical solutions of the present invention, optionally, the step of determining the first coordinate value of the feature point of the robot body in the first coordinate system corresponding to the guide rail includes:

[0024] In the second coordinate system, the target point coordinates and the tool coordinates of the robot are obtained, where the second coordinate system is either the robot's tool coordinate system or the world coordinate system. Based on the target point coordinates, tool coordinates, and the robot's kinematic parameters, the second coordinate values ​​of the feature points in the second coordinate system are determined. Based on the correspondence between the first and second coordinate systems, the second coordinate values ​​are transformed to obtain the first coordinate values ​​of the feature points in the first coordinate system.

[0025] In this technical solution, the second coordinate system can be either the robot's working coordinate system or the world coordinate system. When the robot is working, its operation involves moving the tool to the target point and processing the workpiece using the tool. However, based on different axis values, the robot's posture when moving the tool to the target point will differ. For example, if the axis value is too far, the robot may not be able to reach the target point; if the axis value is too close, the robot's joint angles may be inappropriate, or even interfere with itself.

[0026] Therefore, in the second coordinate system, the target point coordinates and the robot's tool coordinates are determined. Since the second coordinate system is the robot's tool coordinate system, or the world coordinate system, both the target point coordinates and the tool coordinates are known.

[0027] After obtaining the target point coordinates and the robot's tool coordinates, and combining these with the robot's kinematic parameters, the coordinates of the robot's feature points in the second coordinate system can be calculated, i.e., the second coordinate values. After obtaining the second coordinate values, they are transferred from the second coordinate system to the first coordinate system. The resulting first coordinate values ​​represent the current axis value of the robot body relative to the external axis of the straight line, i.e., the first axis value.

[0028] Specifically, let the world coordinate system be T.world Let the robot's working coordinate system be T. tool Let the user-defined base coordinate system be T. user Among them, the user-defined base coordinate system T user It can be the same as the world coordinate system T world .

[0029] Let the coordinates of the target point be T. target According to the robot's target point T target And the tool coordinate system T currently activated by the robot is defined. tool By combining the kinematic parameters of the industrial robot, the flange center P of the industrial robot can be obtained. flange and the position P at the center of the wrist wrist The feature point can be either the flange center or the wrist center.

[0030] With the zero point of the linear external axis, i.e., the guide rail, as the center, establish the linear external axis coordinate system, also known as the first coordinate system, denoted as T. linearUnit Find the flange center P. flange and wrist center P wrist T in the first coordinate system linearUnit The coordinate position, according to the first coordinate system T linearUnit The coordinate axis direction, such as the x-axis, y-axis, or z-axis, is used to project the center position of the feature point onto the coordinate axis. The resulting coordinate value is the first coordinate value, which corresponds to the initial axis value, denoted as V. initial .

[0031] The technical solution of this invention determines the coordinates of feature points by combining the target point coordinates of the robot with the tool coordinate system or world coordinate system. The coordinates of the feature points are then projected onto the first coordinate system corresponding to the guide rail. The initial value of the axis is determined by the coordinate value of the feature points in the first coordinate system. Based on the initial value of the axis and the pose detection results, it is judged whether the axis is suitable. If the axis is not suitable, a suitable axis is searched. This realizes the automatic search of axis, without relying on human experience, thus improving the efficiency of axis determination.

[0032] In some technical solutions of the present invention, optionally, the first coordinate system includes a first coordinate axis, the extension direction of the first coordinate axis being the same as the extension direction of the guide rail; determining the first axis value based on the first coordinate value includes:

[0033] Determine the first coordinate value range of the guide rail in the first coordinate system; if the first coordinate value is within the first coordinate value range, determine the first coordinate value as the first axis value; if the first coordinate value is outside the first coordinate value range, determine the first preset axis value as the first axis value.

[0034] In this technical solution, the first coordinate system T linearUnit Let it be a Cartesian coordinate system, with the first coordinate system T. linearUnit The system includes an x-axis, a y-axis, and a z-axis, with the intersection of these axes forming the zero point of the guide rail device. The first coordinate axis can be any one of the x-axis, y-axis, or z-axis, provided that its extension direction is the same as the extension direction of the guide rail.

[0035] Taking the y-axis as the first coordinate axis as an example, the center position of the feature point is projected onto the y-axis, and the resulting coordinate value is the y-axis coordinate value of the feature point, which is also the first coordinate value. This first coordinate value corresponds to the initial axis value, also known as the first axis value, and is denoted as V. initial .

[0036] The first coordinate value interval is specifically the range of coordinate values ​​of each point on the guide rail on the y-axis. If the first coordinate value is outside the first coordinate value interval, it means that the axis value corresponding to the first coordinate value exceeds the limit travel of the guide rail. If the first coordinate value is within the first coordinate value interval, it means that the axis value corresponding to the first coordinate value does not exceed the limit travel of the guide rail.

[0037] When the first coordinate value is within the first coordinate value range, the current first coordinate value is retained and determined as the first axis value V. initial .

[0038] When the first coordinate is outside the range of the first coordinate value, a first preset axis value is searched. This first preset axis value is the axis value that is closest to the axis value corresponding to the first coordinate value and is within the limit stroke of the guide rail. For example, the preset axis value can be denoted as V. min or V max .

[0039] After determining the first axis value, the robot body is pose detected based on the first axis value. Based on the pose detection result, it is determined whether the first axis value is the optimal axis value. If the first axis value does not meet the requirements, a new axis value is searched starting from the first axis value until the optimal axis value that meets the requirements is found, which is the target axis value.

[0040] The technical solution of this invention can automatically set the initial axis value and search for a suitable target axis value based on the pose detection result of the initial axis value, thereby realizing the automatic determination of the axis value and improving the efficiency of axis value determination.

[0041] In some technical solutions of the present invention, optionally, the robot body includes at least two joint axes, and the at least two joint axes include a target joint axis; based on the first axis value, pose detection of the robot body is performed, including:

[0042] Based on the first axis value, control the robot body to move along the guide rail to the target position corresponding to the first axis value; obtain the second axis value of the target joint axis when the robot's tool reaches the point indicated by the target point coordinates; and perform pose detection on the robot body based on the second axis value and the axis value range corresponding to the target joint axis.

[0043] In this technical solution, the pose of the robot body is detected by using the axis values ​​of specific joints of the robot.

[0044] Specifically, a robot pose state judgment model is defined. For the same target point of an industrial robot, different values ​​of the external axis of the straight line will cause different pose states of the industrial robot. The robot pose state judgment model will determine how to select the best value from the redundant degrees of freedom of the external axis of the straight line.

[0045] If the linear outer axis moves the industrial robot too close or too far from the target point, it will result in poor robot posture. If it is too close, the industrial robot may interfere with obstacles or itself; if it is too far, the target point may still be unreachable, or the end effector may lack rigidity.

[0046] Taking a 6-axis industrial robot as an example, a 6-axis industrial robot includes 6 joint axes, specifically A1, A2, A3, A4, A5 and A6 axes. The angle value of the A2 axis among these 6 axes will have a significant impact on the state of the industrial robot's pose extension, and can be used as an important parameter for evaluating the robot's pose state.

[0047] Therefore, a reference state can be established using the upright position along axis A2 to detect the robot's pose. Let the axis value of axis A2, that is, the value of the second axis, be A2. ref Define the range of axis values ​​corresponding to the target joint axis A2. This range of axis values ​​is also the acceptable range of axis values ​​for axis A2, denoted as [A2]. allowed_min A2 allowed_max ].

[0048] When the second axis value A2 ref Satisfy A2 allowed_min ≤A2 ref ≤A2 allowed_max If the first axis value passes the pose detection, then it can be determined that the first axis value has passed the pose detection; otherwise, it can be determined that the first axis value has not passed the pose detection.

[0049] The technical solution of this invention performs pose detection on a multi-axis robot based on the axis values ​​of its key axes. This enables rapid and accurate identification of whether the robot's pose meets the requirements under different axis values ​​of the external linear axis, thereby improving the efficiency of axis value determination.

[0050] In some technical solutions of the present invention, optionally, the target axis value is determined based on the pose detection result and the first axis value, including: performing motion collision detection on the robot based on the robot's simulation model; and determining the first axis value as the target axis value when both the pose detection result and the motion collision detection result are passed.

[0051] In this technical solution, the robot's simulation model, i.e., the robot body and the robot's working environment are modeled in 3D software. Based on the robot's simulation model, the robot's actual working actions can be simulated, thereby determining whether the robot will collide or interfere with itself or the environment during its actions, thus performing collision detection on the robot.

[0052] At the same time, based on the simulation model of the robot itself, it is also possible to determine whether the target point is reachable, whether the axis value exceeds the range, and whether the robot is at a singular point.

[0053] When the robot's pose detection result is a pass and the robot's motion collision detection result is also a pass, the current axis value is determined as the target axis value; otherwise, continue searching for the next axis value until it exceeds the target axis value that simultaneously meets the pose detection requirements and motion collision detection requirements.

[0054] The technical solution of this invention simulates a robot and uses the simulation model to perform motion collision detection on the robot. This allows the determination of whether the axis value of the external axis of the straight line can meet the requirement that the robot's movements do not collide with or interfere with itself or the environment. Furthermore, it does not require the actual construction of the robot environment, thus improving the efficiency and reliability of axis value determination.

[0055] In some technical solutions of the present invention, optionally, after the step of performing motion collision detection on the robot based on the robot's simulation model, the method further includes:

[0056] If either the pose detection result or the motion collision detection result fails the detection, a first set of axis values ​​and a second set of axis values ​​are obtained. All axis values ​​in the first set of axis values ​​are less than the first axis value, and all axis values ​​in the second set of axis values ​​are greater than the first axis value.

[0057] If either the pose detection result or the motion collision detection result fails, a first set of axis values ​​and a second set of axis values ​​are obtained. All axis values ​​in the first set are less than the first axis value, and all axis values ​​in the second set are greater than the first axis value. A fourth axis value is determined from the first set of axis values, where the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the first set and the first axis value. A fifth axis value is determined from the second set of axis values, where the absolute value of the difference between the fifth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the second set and the first axis value.

[0058] Determine the sixth axis value of the target joint axis under the fourth axis value, and the seventh axis value of the target joint axis under the fifth axis value; determine the set of axis values ​​corresponding to the smaller absolute value of the difference between the sixth axis value and the seventh axis value and the second axis value as the target axis value set; determine the target axis value in the target axis value set.

[0059] In this technical solution, the first axis value corresponds to a point on the first coordinate axis, the first axis value set specifically refers to several axis value points on the first coordinate axis that are located to the left of the point corresponding to the first axis value, and the second axis value set specifically refers to several axis value points on the first coordinate axis that are located to the right of the point corresponding to the first axis value.

[0060] If either the pose detection result or the motion collision detection result fails the detection, then the fourth axis value is selected from the first axis value set, and the fifth axis value is selected from the second axis value set.

[0061] In this context, the fourth axis value is the closest axis value to the first axis value in the first set of axis values, and the fifth axis value is the closest axis value to the first axis value in the second set of axis values. Therefore, the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the first set of axis values.

[0062] Furthermore, determine the sixth axis value of the target joint axis when the outer axis of the straight line is at the fourth axis value, and determine the seventh axis value of the target joint axis when the outer axis of the straight line is at the fifth axis value. Calculate the absolute value of the difference between the sixth axis value and the first axis value, and the absolute value of the difference between the seventh axis value and the first axis value.

[0063] If the absolute value of the difference between the sixth axis value and the first axis value is less than the absolute value of the difference between the seventh axis value and the first axis value, then the set of first axis values ​​is determined as the target axis value set.

[0064] If the absolute value of the difference between the seventh axis value and the first axis value is less than the absolute value of the difference between the sixth axis value and the first axis value, then the second axis value set is determined as the target axis value set.

[0065] This step specifically involves determining the direction of the search target axis value, i.e., whether to continue searching for a smaller or larger axis value.

[0066] Specifically, taking the search state position corresponding to the first axis value as the initial position starting point, the second axis value A2 of axis A2 is recorded at this time. ref And search one step each in the outer axis of the straight line, that is, in the positive and negative directions of the guide rail, according to the preset search step size, to obtain the fourth axis value and the actual axis value A2 of the A2 axis under the fourth axis value. negativeStep And the actual axis value A2 of axis A2 under the fifth axis value. positiveStep .

[0067] If the following condition is met: ABS(A2) positiveStep -A2 ref ) <ABS(A2 negativeStep -A2 ref If the target value is found in the first set of axis values, then the search direction is optimized to the positive direction of the outer axis of the line, meaning the search continues in the second set of axis values. Otherwise, the search direction is optimized to the negative direction of the outer axis of the line, meaning the search continues in the first set of axis values.

[0068] The search stops when the number of searches exceeds the preset maximum number of searches, or when the searched axis value makes the robot's pose worse, or when the target axis value is found that meets the robot's pose requirements.

[0069] The technical solution of this invention determines the search direction of the axis value of the outer axis of a straight line by based on the axis value change of the target joint axis, which can reduce the axis value search range and improve the axis value determination efficiency.

[0070] In some technical solutions of the present invention, optionally, the robot body includes a flange, the flange is used to connect the robot to a tool, and the feature point is the geometric center point of the flange.

[0071] In this technical solution, a flange is provided on the robot body, which is used to connect the robot tool. The robot then uses the tool to process the workpiece. Specifically, the feature point of the robot body is the geometric center point of the flange.

[0072] By using the geometric center point of the flange, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0073] Optionally, in some technical solutions of the present invention, the robot body includes a robot wrist, and the feature point is the geometric center point of the robot wrist.

[0074] In this technical solution, the robot body includes a robot wrist, which is a component located between the robot arm and the gripper, used to support and adjust the gripper. The robot wrist can determine the posture of the object being gripped and typically employs a three-degree-of-freedom multi-joint mechanism consisting of rotary joints and swing joints. The feature point of the robot body is specifically the geometric center point of the robot wrist.

[0075] By using the geometric center point of the robot's wrist, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0076] A second aspect of the present invention provides an axis value determination device applied to a robot, the robot including a robot body and a guide rail, the robot body being capable of moving along the guide rail, the axis value determination device comprising:

[0077] The determination module is used to determine the first coordinate value of the feature point of the robot body in the first coordinate system corresponding to the guide rail; determine the first axis value based on the first coordinate value, the first axis value is used to indicate the position of the robot body on the guide rail; the pose detection module is used to perform pose detection on the robot body based on the first axis value; the determination module is also used to determine the target axis value based on the detection result of pose detection and the first axis value.

[0078] In this technical solution, the robot is specifically an industrial robot, which includes a robot body. The robot body can be a multi-axis robotic arm, such as a 6-axis robot. The guide rail can be a linear guide rail, and the robot body is mounted on the guide rail, allowing it to move along the guide rail to change its position, thereby expanding its working range and enabling multi-station work.

[0079] In this context, the guide rail can be considered the robot's external linear axis. In related technologies, the main modes for controlling the robot's movement along this external linear axis include two task planning and control methods: station-based and continuous. Station-based methods involve the robot working only at a few specific stations along the external linear axis. While this method can cover the entire processing range of the product, when processing continuous trajectory points within the corresponding processing range at a particular station, the robot's joints undergo significant changes. Furthermore, when processing the processing range corresponding to the next station is required, the robot must wait to move from one station to another. Therefore, this method is suitable for tasks involving relatively discrete trajectory points on large workpieces, such as automated drilling and riveting based on industrial robots.

[0080] Continuous motion means that the robot's linear external axis moves continuously with the target, which reduces the range of motion of the robot joints and makes the robot's motion continuous and smooth. It is suitable for robot processing of continuous and dense trajectory points. For continuous and dense processing trajectory points on large workpieces, such as induction hardening of the chamfered surface of large molds, the industrial robot needs to be in a continuous and smooth motion state.

[0081] Regardless of whether the motion mode of the linear external axis is stationary or continuous, the axis value of the linear external axis corresponding to each target point needs to be clearly defined. The confirmation of axis values ​​often relies on experience and simulation testing. Inappropriate axis values ​​can cause problems such as the target point being unreachable, interference between the robot and obstacles or itself. The process of confirming axis values ​​is time-consuming and laborious.

[0082] To address the aforementioned issues, the present invention addresses the problem by projecting the feature points of the robot onto the outer axis of the straight line, i.e., the first coordinate system of the guide rail, and determining the initial axis value, i.e., the first axis value, based on the coordinate values ​​of the feature points in the first coordinate system of the guide rail. This first axis value can indicate the position of the robot body, specifically the position of the robot's tool on the guide rail, and is used to measure the relationship between the position of the robot's tool and the working target point.

[0083] For station-type robots, when a target point is unreachable or the axis value exceeds the travel limit, an axis value calculation is triggered to update the axis value. If no target point is unreachable or the axis value does not exceed the travel limit, the axis value of the outer axis of the line corresponding to the previous adjacent target point is used.

[0084] For continuous robots, an axis value calculation is performed for each target point on the robot body.

[0085] After obtaining the first axis value, the robot body is subjected to pose detection based on the first axis value to determine whether the pose of the robot body under the first axis value can meet the work requirements.

[0086] Based on the pose detection result corresponding to the first axis value, the first axis value is determined as the target axis value, or the first axis value is adjusted to obtain the target axis value that meets the requirements.

[0087] The technical solution of this invention can automatically obtain the axis value of the robot's linear external axis and automatically perform pose detection on the robot body based on the axis value of the linear external axis until a suitable axis value of the external axis is found. Therefore, the determination of the axis value of the external axis no longer depends on human experience, thus improving the efficiency of axis value determination.

[0088] A third aspect of the present invention provides an axis value determination apparatus, comprising: a memory for storing a program or instructions; and a processor for executing the program or instructions to implement the steps of the axis value determination method provided in any of the above technical solutions, and therefore also includes all the beneficial effects of the axis value determination method provided in any of the above technical solutions, which will not be repeated here to avoid repetition.

[0089] The fourth aspect of the present invention provides a readable storage medium having a program or instructions stored thereon. When the program or instructions are executed by a processor, they implement the steps of the axis value determination method provided in any of the above technical solutions. Therefore, it also includes all the beneficial effects of the axis value determination method provided in any of the above technical solutions. To avoid repetition, these will not be repeated here.

[0090] The fifth aspect of the present invention provides a computer program product, which is stored in a storage medium. When the computer program product is executed by at least one processor, it implements the steps of the axis value determination method provided in any of the above technical solutions, and therefore also includes all the beneficial effects of the axis value determination method provided in any of the above technical solutions. To avoid repetition, these will not be repeated here.

[0091] The sixth aspect of the present invention provides a robot, including an axis value determination device as provided in any of the above technical solutions, and / or a readable storage medium as provided in any of the above technical solutions; and / or a computer program product as provided in any of the above technical solutions, thus also including the axis value determination device as provided in any of the above technical solutions, and / or the readable storage medium as provided in any of the above technical solutions; and / or all the beneficial effects of the computer program product as provided in any of the above technical solutions will not be repeated here to avoid repetition. Attached Figure Description

[0092] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the description of the embodiments taken in conjunction with the following drawings, in which:

[0093] Figure 1 The diagram shows a schematic representation of the robot according to some embodiments of the present invention;

[0094] Figure 2 A flowchart of an axis value determination method according to some embodiments of the present invention is shown;

[0095] Figure 3 One of the structural block diagrams of the axis value determination device according to some embodiments of the present invention is shown;

[0096] Figure 4 The second structural block diagram of an axis value determination device according to some embodiments of the present invention is shown. Attached image description:

[0098] 100 Robot, 102 Robot body, 104 Guide rail. Detailed Implementation

[0099] To better understand the above-mentioned objectives, features, and advantages of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.

[0100] Many specific details are set forth in the following description in order to provide a full understanding of the invention. However, the invention may also be practiced in other ways different from those described herein, and therefore the scope of protection of the invention is not limited to the specific embodiments disclosed below.

[0101] The following reference Figures 1 to 4 The invention describes a method, apparatus, storage medium, program product, and robot for determining axis values ​​according to some embodiments of the invention.

[0102] In some embodiments of the present invention, a method for determining axis values ​​is provided, which is performed by a robot. Figure 1 Schematic diagrams of the structure of the robot according to some embodiments of the present invention are shown, such as Figure 1 As shown, the robot 100 includes a robot body 102 and a guide rail 104, and the robot body 102 can move along the guide rail 104.

[0103] Figure 2 Flowcharts of axis value determination methods according to some embodiments of the present invention are shown, such as... Figure 2 As shown, the methods for determining axis values ​​include:

[0104] Step 202: Determine the first coordinate values ​​of the feature points of the robot body in the first coordinate system corresponding to the guide rail;

[0105] Step 204: Determine the first axis value based on the first coordinate value. The first axis value is used to indicate the position of the robot body on the guide rail.

[0106] Step 206: Based on the first axis value, perform pose detection on the robot body;

[0107] Step 208: Determine the target axis value based on the pose detection results and the first axis value.

[0108] In this embodiment, the robot is specifically an industrial robot, which includes a robot body. The robot body can be a multi-axis robotic arm, such as a 6-axis robot. The guide rail can be a linear guide rail, and the robot body is mounted on the guide rail, enabling it to move along the guide rail to change its position, thereby expanding the robot body's working range and enabling multi-station work.

[0109] In this context, the guide rail can be considered the robot's external linear axis. In related technologies, the main modes for controlling the robot's movement along this external linear axis include two task planning and control methods: station-based and continuous. Station-based methods involve the robot working only at a few specific stations along the external linear axis. While this method can cover the entire processing range of the product, when processing continuous trajectory points within the corresponding processing range at a particular station, the robot's joints undergo significant changes. Furthermore, when processing the processing range corresponding to the next station is required, the robot must wait to move from one station to another. Therefore, this method is suitable for tasks involving relatively discrete trajectory points on large workpieces, such as automated drilling and riveting based on industrial robots.

[0110] Continuous motion means that the robot's linear external axis moves continuously with the target, which reduces the range of motion of the robot joints and makes the robot's motion continuous and smooth. It is suitable for robot processing of continuous and dense trajectory points. For continuous and dense processing trajectory points on large workpieces, such as induction hardening of the chamfered surface of large molds, the industrial robot needs to be in a continuous and smooth motion state.

[0111] Regardless of whether the motion mode of the linear external axis is stationary or continuous, the axis value of the linear external axis corresponding to each target point needs to be clearly defined. The confirmation of axis values ​​often relies on experience and simulation testing. Inappropriate axis values ​​can cause problems such as the target point being unreachable, interference between the robot and obstacles or itself. The process of confirming axis values ​​is time-consuming and laborious.

[0112] To address the aforementioned issues, this embodiment of the invention projects the feature points of the robot onto the outer axis of the straight line, i.e., the first coordinate system of the guide rail, and determines the initial axis value, i.e., the first axis value, based on the coordinate values ​​of the feature points in the first coordinate system of the guide rail. This first axis value can indicate the position of the robot body, specifically the position of the robot's tool on the guide rail, and is used to measure the relationship between the position of the robot's tool and the working target point.

[0113] For station-type robots, when a target point is unreachable or the axis value exceeds the travel limit, an axis value calculation is triggered to update the axis value. If no target point is unreachable or the axis value does not exceed the travel limit, the axis value of the outer axis of the line corresponding to the previous adjacent target point is used.

[0114] For continuous robots, an axis value calculation is performed for each target point on the robot body.

[0115] After obtaining the first axis value, the robot body is subjected to pose detection based on the first axis value to determine whether the pose of the robot body under the first axis value can meet the work requirements.

[0116] Based on the pose detection result corresponding to the first axis value, the first axis value is determined as the target axis value, or the first axis value is adjusted to obtain the target axis value that meets the requirements.

[0117] The embodiments of the present invention can automatically obtain the axis value of the robot's linear external axis and automatically perform pose detection on the robot body based on the axis value of the linear external axis until a suitable axis value of the external axis is found. Therefore, the determination of the axis value of the external axis no longer depends on human experience, thus improving the efficiency of axis value determination.

[0118] In some embodiments of the present invention, optionally, the step of determining the first coordinate value of the feature point of the robot body in the first coordinate system corresponding to the guide rail includes:

[0119] In the second coordinate system, the target point coordinates and the tool coordinates of the robot are obtained, where the second coordinate system is either the robot's tool coordinate system or the world coordinate system. Based on the target point coordinates, tool coordinates, and the robot's kinematic parameters, the second coordinate values ​​of the feature points in the second coordinate system are determined. Based on the correspondence between the first and second coordinate systems, the second coordinate values ​​are transformed to obtain the first coordinate values ​​of the feature points in the first coordinate system.

[0120] In this embodiment, the second coordinate system can be either the robot's working coordinate system or the world coordinate system. When the robot is working, its operation involves moving the tool to a target point and processing the workpiece using the tool. However, the robot's posture when moving the tool to the target point varies depending on the axis value. For example, if the axis value is too far, the robot may not be able to reach the target point; if the axis value is too close, the robot's joint angles may be inappropriate, or even interfere with itself.

[0121] Therefore, in the second coordinate system, the target point coordinates and the robot's tool coordinates are determined. Since the second coordinate system is the robot's tool coordinate system, or the world coordinate system, both the target point coordinates and the tool coordinates are known.

[0122] After obtaining the target point coordinates and the robot's tool coordinates, and combining these with the robot's kinematic parameters, the coordinates of the robot's feature points in the second coordinate system can be calculated, i.e., the second coordinate values. After obtaining the second coordinate values, they are transferred from the second coordinate system to the first coordinate system. The resulting first coordinate values ​​represent the current axis value of the robot body relative to the external axis of the straight line, i.e., the first axis value.

[0123] Specifically, let the world coordinate system be T. world Let the robot's working coordinate system be T. tool Let the user-defined base coordinate system be T. userAmong them, the user-defined base coordinate system T user It can be the same as the world coordinate system T world .

[0124] Let the coordinates of the target point be T. target According to the robot's target point T target And the tool coordinate system T currently activated by the robot is defined. tool By combining the kinematic parameters of the industrial robot, the flange center P of the industrial robot can be obtained. flange and the position P at the center of the wrist wrist The feature point can be either the flange center or the wrist center.

[0125] With the zero point of the linear external axis, i.e., the guide rail, as the center, establish the linear external axis coordinate system, also known as the first coordinate system, denoted as T. linearUnit Find the flange center P. flange and wrist center P wrist T in the first coordinate system linearUnit The coordinate position, according to the first coordinate system T linearUnit The coordinate axis direction, such as the x-axis, y-axis, or z-axis, is used to project the center position of the feature point onto the coordinate axis. The resulting coordinate value is the first coordinate value, which corresponds to the initial axis value, denoted as V. initial .

[0126] This invention determines the coordinates of feature points by combining the target point coordinates of the robot with the tool coordinate system or world coordinate system. The feature point coordinates are then projected onto the first coordinate system corresponding to the guide rail. The initial value of the axis is determined by the coordinate value of the feature point in the first coordinate system. The suitability of the axis is judged based on the initial value of the axis and the pose detection result. If the axis is not suitable, a suitable axis is searched. This achieves automatic axis search without relying on human experience, thus improving the efficiency of axis determination.

[0127] In some embodiments of the present invention, optionally, the first coordinate system includes a first coordinate axis, the extension direction of the first coordinate axis being the same as the extension direction of the guide rail; determining the first axis value based on the first coordinate value includes:

[0128] Determine the first coordinate value range of the guide rail in the first coordinate system; if the first coordinate value is within the first coordinate value range, determine the first coordinate value as the first axis value; if the first coordinate value is outside the first coordinate value range, determine the first preset axis value as the first axis value.

[0129] In this embodiment, the first coordinate system T linearUnit Let it be a Cartesian coordinate system, with the first coordinate system T. linearUnitThe system includes an x-axis, a y-axis, and a z-axis, with the intersection of these axes forming the zero point of the guide rail device. The first coordinate axis can be any one of the x-axis, y-axis, or z-axis, provided that its extension direction is the same as the extension direction of the guide rail.

[0130] Taking the y-axis as the first coordinate axis as an example, the center position of the feature point is projected onto the y-axis, and the resulting coordinate value is the y-axis coordinate value of the feature point, which is also the first coordinate value. This first coordinate value corresponds to the initial axis value, also known as the first axis value, and is denoted as V. initial .

[0131] The first coordinate value interval is specifically the range of coordinate values ​​of each point on the guide rail on the y-axis. If the first coordinate value is outside the first coordinate value interval, it means that the axis value corresponding to the first coordinate value exceeds the limit travel of the guide rail. If the first coordinate value is within the first coordinate value interval, it means that the axis value corresponding to the first coordinate value does not exceed the limit travel of the guide rail.

[0132] When the first coordinate value is within the first coordinate value range, the current first coordinate value is retained and determined as the first axis value V. initial .

[0133] When the first coordinate is outside the range of the first coordinate value, a first preset axis value is searched. This first preset axis value is the axis value that is closest to the axis value corresponding to the first coordinate value and is within the limit stroke of the guide rail. For example, the preset axis value can be denoted as V. min or V max .

[0134] After determining the first axis value, the robot body is pose detected based on the first axis value. Based on the pose detection result, it is determined whether the first axis value is the optimal axis value. If the first axis value does not meet the requirements, a new axis value is searched starting from the first axis value until the optimal axis value that meets the requirements is found, which is the target axis value.

[0135] The embodiments of the present invention can automatically set the initial axis value and search for a suitable target axis value based on the pose detection result of the initial axis value, thereby realizing the automatic determination of the axis value and improving the efficiency of axis value determination.

[0136] In some embodiments of the present invention, optionally, the robot body includes at least two joint axes, and the at least two joint axes include a target joint axis; based on the first axis value, pose detection of the robot body is performed, including:

[0137] Based on the first axis value, control the robot body to move along the guide rail to the target position corresponding to the first axis value; obtain the second axis value of the target joint axis when the robot's tool reaches the point indicated by the target point coordinates; and perform pose detection on the robot body based on the second axis value and the axis value range corresponding to the target joint axis.

[0138] In this embodiment, the robot's pose is detected by using the axis values ​​of specific joints of the robot.

[0139] Specifically, a robot pose state judgment model is defined. For the same target point of an industrial robot, different values ​​of the external axis of the straight line will cause different pose states of the industrial robot. The robot pose state judgment model will determine how to select the best value from the redundant degrees of freedom of the external axis of the straight line.

[0140] If the linear outer axis moves the industrial robot too close or too far from the target point, it will result in poor robot posture. If it is too close, the industrial robot may interfere with obstacles or itself; if it is too far, the target point may still be unreachable, or the end effector may lack rigidity.

[0141] Taking a 6-axis industrial robot as an example, a 6-axis industrial robot includes 6 joint axes, specifically A1, A2, A3, A4, A5 and A6 axes. The angle value of the A2 axis among these 6 axes will have a significant impact on the state of the industrial robot's pose extension, and can be used as an important parameter for evaluating the robot's pose state.

[0142] Therefore, a reference state can be established using the upright position along axis A2 to detect the robot's pose. Let the axis value of axis A2, that is, the value of the second axis, be A2. ref Define the range of axis values ​​corresponding to the target joint axis A2. This range of axis values ​​is also the acceptable range of axis values ​​for axis A2, denoted as [A2]. allowed_min A2 allowed_max ].

[0143] When the second axis value A2 ref Satisfy A2 allowed_min ≤A2 ref ≤A2 allowed_max If the first axis value passes the pose detection, then it can be determined that the first axis value has passed the pose detection; otherwise, it can be determined that the first axis value has not passed the pose detection.

[0144] This invention improves the efficiency of axis value determination by detecting the pose of a multi-axis robot based on the axis values ​​of its key axes. It can quickly and accurately identify whether the robot's pose meets the requirements under different axis values ​​of the external axis of a straight line.

[0145] In some embodiments of the present invention, optionally, determining the target axis value based on the pose detection result and the first axis value includes: performing motion collision detection on the robot based on the robot's simulation model; and determining the first axis value as the target axis value when both the pose detection result and the motion collision detection result are passed.

[0146] In this embodiment, the robot's simulation model, i.e., the robot body and the robot's working environment are modeled in 3D software. Based on the robot's simulation model, the robot's actual working actions can be simulated, thereby determining whether the robot will collide or interfere with itself or the environment during its actions, thus performing collision detection on the robot.

[0147] At the same time, based on the simulation model of the robot itself, it is also possible to determine whether the target point is reachable, whether the axis value exceeds the range, and whether the robot is at a singular point.

[0148] When the robot's pose detection result is a pass and the robot's motion collision detection result is also a pass, the current axis value is determined as the target axis value; otherwise, continue searching for the next axis value until it exceeds the target axis value that simultaneously meets the pose detection requirements and motion collision detection requirements.

[0149] This invention simulates a robot and uses the simulation model to perform motion collision detection on the robot. This allows the determination of whether the axis value of the external axis of the straight line can meet the requirement that the robot's movements do not collide with or interfere with itself or the environment. Furthermore, it does not require the actual construction of the robot environment, thus improving the efficiency and reliability of axis value determination.

[0150] In some embodiments of the present invention, optionally, after the step of performing motion collision detection on the robot based on a robot simulation model, the method further includes:

[0151] If either the pose detection result or the motion collision detection result fails the detection, a first set of axis values ​​and a second set of axis values ​​are obtained. All axis values ​​in the first set of axis values ​​are less than the first axis value, and all axis values ​​in the second set of axis values ​​are greater than the first axis value.

[0152] If either the pose detection result or the motion collision detection result fails, a first set of axis values ​​and a second set of axis values ​​are obtained. All axis values ​​in the first set are less than the first axis value, and all axis values ​​in the second set are greater than the first axis value. A fourth axis value is determined from the first set of axis values, where the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the first set and the first axis value. A fifth axis value is determined from the second set of axis values, where the absolute value of the difference between the fifth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the second set and the first axis value.

[0153] Determine the sixth axis value of the target joint axis under the fourth axis value, and the seventh axis value of the target joint axis under the fifth axis value; determine the set of axis values ​​corresponding to the smaller absolute value of the difference between the sixth axis value and the seventh axis value and the second axis value as the target axis value set; determine the target axis value in the target axis value set.

[0154] In this embodiment, the first axis value corresponds to a point on the first coordinate axis, the first axis value set specifically refers to several axis value points on the first coordinate axis that are located to the left of the point corresponding to the first axis value, and the second axis value set specifically refers to several axis value points on the first coordinate axis that are located to the right of the point corresponding to the first axis value.

[0155] If either the pose detection result or the motion collision detection result fails the detection, then the fourth axis value is selected from the first axis value set, and the fifth axis value is selected from the second axis value set.

[0156] In this context, the fourth axis value is the closest axis value to the first axis value in the first set of axis values, and the fifth axis value is the closest axis value to the first axis value in the second set of axis values. Therefore, the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the first set of axis values.

[0157] Furthermore, determine the sixth axis value of the target joint axis when the outer axis of the straight line is at the fourth axis value, and determine the seventh axis value of the target joint axis when the outer axis of the straight line is at the fifth axis value. Calculate the absolute value of the difference between the sixth axis value and the first axis value, and the absolute value of the difference between the seventh axis value and the first axis value.

[0158] If the absolute value of the difference between the sixth axis value and the first axis value is less than the absolute value of the difference between the seventh axis value and the first axis value, then the set of first axis values ​​is determined as the target axis value set.

[0159] If the absolute value of the difference between the seventh axis value and the first axis value is less than the absolute value of the difference between the sixth axis value and the first axis value, then the second axis value set is determined as the target axis value set.

[0160] This step specifically involves determining the direction of the search target axis value, i.e., whether to continue searching for a smaller or larger axis value.

[0161] Specifically, taking the search state position corresponding to the first axis value as the initial position starting point, the second axis value A2 of axis A2 is recorded at this time. ref And search one step each in the outer axis of the straight line, that is, in the positive and negative directions of the guide rail, according to the preset search step size, to obtain the fourth axis value and the actual axis value A2 of the A2 axis under the fourth axis value. negativeStep And the actual axis value A2 of axis A2 under the fifth axis value. positiveStep .

[0162] If the following condition is met: ABS(A2) positiveStep -A2ref ) <ABS(A2 negativeStep -A2 ref If the target value is found in the first set of axis values, then the search direction is optimized to the positive direction of the outer axis of the line, meaning the search continues in the second set of axis values. Otherwise, the search direction is optimized to the negative direction of the outer axis of the line, meaning the search continues in the first set of axis values.

[0163] The search stops when the number of searches exceeds the preset maximum number of searches, or when the searched axis value makes the robot's pose worse, or when the target axis value is found that meets the robot's pose requirements.

[0164] The embodiments of the present invention determine the search direction of the axis value of the outer axis of the straight line by based on the axis value change of the target joint axis, which can reduce the axis value search range and improve the axis value determination efficiency.

[0165] In some embodiments of the present invention, optionally, the robot body includes a flange for connecting the robot to a tool, and the feature point is the geometric center point of the flange.

[0166] In this embodiment, a flange is provided on the robot body for connecting robot tools, which the robot uses to process the workpiece. Specifically, the feature point of the robot body is the geometric center point of the flange.

[0167] By using the geometric center point of the flange, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0168] In some embodiments of the present invention, the robot body may optionally include a robot wrist, wherein the feature point is the geometric center point of the robot wrist.

[0169] In this embodiment, the robot body includes a robot wrist, which is a component located between the robot arm and the gripper, used to support and adjust the gripper. The robot wrist can determine the posture of the object being gripped and typically employs a three-degree-of-freedom multi-joint mechanism consisting of rotary joints and oscillating joints. The feature point of the robot body is specifically the geometric center point of the robot wrist.

[0170] By using the geometric center point of the robot's wrist, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0171] In some embodiments of the present invention, an axis value determination device is provided, applied to a robot, the robot including a robot body and a guide rail, the robot body being capable of moving along the guide rail. Figure 3 A structural block diagram of one embodiment of the axis value determination device of the present invention is shown, such as Figure 3 As shown, the shaft value determination device 300 includes:

[0172] The determining module 302 is used to determine the first coordinate value of the feature point of the robot body in the first coordinate system corresponding to the guide rail; and to determine the first axis value based on the first coordinate value, the first axis value being used to indicate the position of the robot body on the guide rail;

[0173] The pose detection module 304 is used to perform pose detection on the robot body based on the first axis value;

[0174] The determination module 302 is also used to determine the target axis value based on the detection result of the pose detection and the first axis value.

[0175] In this embodiment, the robot is specifically an industrial robot, which includes a robot body. The robot body can be a multi-axis robotic arm, such as a 6-axis robot. The guide rail can be a linear guide rail, and the robot body is mounted on the guide rail, enabling it to move along the guide rail to change its position, thereby expanding the robot body's working range and enabling multi-station work.

[0176] In this context, the guide rail can be considered the robot's external linear axis. In related technologies, the main modes for controlling the robot's movement along this external linear axis include two task planning and control methods: station-based and continuous. Station-based methods involve the robot working only at a few specific stations along the external linear axis. While this method can cover the entire processing range of the product, when processing continuous trajectory points within the corresponding processing range at a particular station, the robot's joints undergo significant changes. Furthermore, when processing the processing range corresponding to the next station is required, the robot must wait to move from one station to another. Therefore, this method is suitable for tasks involving relatively discrete trajectory points on large workpieces, such as automated drilling and riveting based on industrial robots.

[0177] Continuous motion means that the robot's linear external axis moves continuously with the target, which reduces the range of motion of the robot joints and makes the robot's motion continuous and smooth. It is suitable for robot processing of continuous and dense trajectory points. For continuous and dense processing trajectory points on large workpieces, such as induction hardening of the chamfered surface of large molds, the industrial robot needs to be in a continuous and smooth motion state.

[0178] Regardless of whether the motion mode of the linear external axis is stationary or continuous, the axis value of the linear external axis corresponding to each target point needs to be clearly defined. The confirmation of axis values ​​often relies on experience and simulation testing. Inappropriate axis values ​​can cause problems such as the target point being unreachable, interference between the robot and obstacles or itself. The process of confirming axis values ​​is time-consuming and laborious.

[0179] To address the aforementioned issues, this embodiment of the invention projects the feature points of the robot onto the outer axis of the straight line, i.e., the first coordinate system of the guide rail, and determines the initial axis value, i.e., the first axis value, based on the coordinate values ​​of the feature points in the first coordinate system of the guide rail. This first axis value can indicate the position of the robot body, specifically the position of the robot's tool on the guide rail, and is used to measure the relationship between the position of the robot's tool and the working target point.

[0180] For station-type robots, when a target point is unreachable or the axis value exceeds the travel limit, an axis value calculation is triggered to update the axis value. If no target point is unreachable or the axis value does not exceed the travel limit, the axis value of the outer axis of the line corresponding to the previous adjacent target point is used.

[0181] For continuous robots, an axis value calculation is performed for each target point on the robot body.

[0182] After obtaining the first axis value, the robot body is subjected to pose detection based on the first axis value to determine whether the pose of the robot body under the first axis value can meet the work requirements.

[0183] Based on the pose detection result corresponding to the first axis value, the first axis value is determined as the target axis value, or the first axis value is adjusted to obtain the target axis value that meets the requirements.

[0184] The embodiments of the present invention can automatically obtain the axis value of the robot's linear external axis and automatically perform pose detection on the robot body based on the axis value of the linear external axis until a suitable axis value of the external axis is found. Therefore, the determination of the axis value of the external axis no longer depends on human experience, thus improving the efficiency of axis value determination.

[0185] In some embodiments of the present invention, the axis value determination device may optionally further include:

[0186] The acquisition module is used to acquire the target point coordinates of the robot and the tool coordinates of the robot in the second coordinate system, wherein the second coordinate system is the robot's tool coordinate system or world coordinate system;

[0187] The determination module is also used to determine the second coordinate value of the feature point in the second coordinate system based on the target point coordinates, tool coordinates and robot kinematic parameters;

[0188] The transformation module is used to perform coordinate system transformation on the second coordinate value based on the correspondence between the first coordinate system and the second coordinate system, so as to obtain the first coordinate value of the feature point in the first coordinate system.

[0189] In this embodiment, the second coordinate system can be either the robot's working coordinate system or the world coordinate system. When the robot is working, its operation involves moving the tool to a target point and processing the workpiece using the tool. However, the robot's posture when moving the tool to the target point varies depending on the axis value. For example, if the axis value is too far, the robot may not be able to reach the target point; if the axis value is too close, the robot's joint angles may be inappropriate, or even interfere with itself.

[0190] Therefore, in the second coordinate system, the target point coordinates and the robot's tool coordinates are determined. Since the second coordinate system is the robot's tool coordinate system, or the world coordinate system, both the target point coordinates and the tool coordinates are known.

[0191] After obtaining the target point coordinates and the robot's tool coordinates, and combining these with the robot's kinematic parameters, the coordinates of the robot's feature points in the second coordinate system can be calculated, i.e., the second coordinate values. After obtaining the second coordinate values, they are transferred from the second coordinate system to the first coordinate system. The resulting first coordinate values ​​represent the current axis value of the robot body relative to the external axis of the straight line, i.e., the first axis value.

[0192] Specifically, let the world coordinate system be T. world Let the robot's working coordinate system be T. tool Let the user-defined base coordinate system be T. user Among them, the user-defined base coordinate system T user It can be the same as the world coordinate system T world .

[0193] Let the coordinates of the target point be T. target According to the robot's target point T target And the tool coordinate system T currently activated by the robot is defined. tool By combining the kinematic parameters of the industrial robot, the flange center P of the industrial robot can be obtained. flange and the position P at the center of the wrist wrist The feature point can be either the flange center or the wrist center.

[0194] With the zero point of the linear external axis, i.e., the guide rail, as the center, establish the linear external axis coordinate system, also known as the first coordinate system, denoted as T. linearUnit Find the flange center P. flange and wrist center P wrist T in the first coordinate system linearUnit The coordinate position, according to the first coordinate system T linearUnitThe coordinate axis direction, such as the x-axis, y-axis, or z-axis, is used to project the center position of the feature point onto the coordinate axis. The resulting coordinate value is the first coordinate value, which corresponds to the initial axis value, denoted as V. initial .

[0195] This invention determines the coordinates of feature points by combining the target point coordinates of the robot with the tool coordinate system or world coordinate system. The feature point coordinates are then projected onto the first coordinate system corresponding to the guide rail. The initial value of the axis is determined by the coordinate value of the feature point in the first coordinate system. The suitability of the axis is judged based on the initial value of the axis and the pose detection result. If the axis is not suitable, a suitable axis is searched. This achieves automatic axis search without relying on human experience, thus improving the efficiency of axis determination.

[0196] In some embodiments of the present invention, optionally, the first coordinate system includes a first coordinate axis, the extension direction of the first coordinate axis being the same as the extension direction of the guide rail; the determining module is further configured to:

[0197] Determine the first coordinate value range of the guide rail in the first coordinate system; if the first coordinate value is within the first coordinate value range, determine the first coordinate value as the first axis value; if the first coordinate value is outside the first coordinate value range, determine the first preset axis value as the first axis value.

[0198] In this embodiment, the first coordinate system T linearUnit Let it be a Cartesian coordinate system, with the first coordinate system T. linearUnit The system includes an x-axis, a y-axis, and a z-axis, with the intersection of these axes forming the zero point of the guide rail device. The first coordinate axis can be any one of the x-axis, y-axis, or z-axis, provided that its extension direction is the same as the extension direction of the guide rail.

[0199] Taking the y-axis as the first coordinate axis as an example, the center position of the feature point is projected onto the y-axis, and the resulting coordinate value is the y-axis coordinate value of the feature point, which is also the first coordinate value. This first coordinate value corresponds to the initial axis value, also known as the first axis value, and is denoted as V. initial .

[0200] The first coordinate value interval is specifically the range of coordinate values ​​of each point on the guide rail on the y-axis. If the first coordinate value is outside the first coordinate value interval, it means that the axis value corresponding to the first coordinate value exceeds the limit travel of the guide rail. If the first coordinate value is within the first coordinate value interval, it means that the axis value corresponding to the first coordinate value does not exceed the limit travel of the guide rail.

[0201] When the first coordinate value is within the first coordinate value range, the current first coordinate value is retained and determined as the first axis value V. initial .

[0202] When the first coordinate is outside the range of the first coordinate value, a first preset axis value is searched. This first preset axis value is the axis value that is closest to the axis value corresponding to the first coordinate value and is within the limit stroke of the guide rail. For example, the preset axis value can be denoted as V. min or V max .

[0203] After determining the first axis value, the robot body is pose detected based on the first axis value. Based on the pose detection result, it is determined whether the first axis value is the optimal axis value. If the first axis value does not meet the requirements, a new axis value is searched starting from the first axis value until the optimal axis value that meets the requirements is found, which is the target axis value.

[0204] The embodiments of the present invention can automatically set the initial axis value and search for a suitable target axis value based on the pose detection result of the initial axis value, thereby realizing the automatic determination of the axis value and improving the efficiency of axis value determination.

[0205] In some embodiments of the present invention, optionally, the robot body includes at least two joint axes, and the at least two joint axes include a target joint axis;

[0206] The determining module is also used to control the robot body to move along the guide rail to the target position corresponding to the first axis value based on the first axis value;

[0207] The acquisition module is also used to acquire the second axis value of the target joint axis when the robot's tool reaches the point indicated by the target point coordinates;

[0208] The shaft value determination device also includes:

[0209] The pose detection module is also used to perform pose detection on the robot body based on the axis value range corresponding to the second axis value and the target joint axis.

[0210] In this embodiment, the robot's pose is detected by using the axis values ​​of specific joints of the robot.

[0211] Specifically, a robot pose state judgment model is defined. For the same target point of an industrial robot, different values ​​of the external axis of the straight line will cause different pose states of the industrial robot. The robot pose state judgment model will determine how to select the best value from the redundant degrees of freedom of the external axis of the straight line.

[0212] If the linear outer axis moves the industrial robot too close or too far from the target point, it will result in poor robot posture. If it is too close, the industrial robot may interfere with obstacles or itself; if it is too far, the target point may still be unreachable, or the end effector may lack rigidity.

[0213] Taking a 6-axis industrial robot as an example, a 6-axis industrial robot includes 6 joint axes, specifically A1, A2, A3, A4, A5 and A6 axes. The angle value of the A2 axis among these 6 axes will have a significant impact on the state of the industrial robot's pose extension, and can be used as an important parameter for evaluating the robot's pose state.

[0214] Therefore, a reference state can be established using the upright position along axis A2 to detect the robot's pose. Let the axis value of axis A2, that is, the value of the second axis, be A2. ref Define the range of axis values ​​corresponding to the target joint axis A2. This range of axis values ​​is also the acceptable range of axis values ​​for axis A2, denoted as [A2]. allowed_min A2 allowed_max ].

[0215] When the second axis value A2 ref Satisfy A2 allowed_min ≤A2 ref ≤A2 allowed_max If the first axis value passes the pose detection, then it can be determined that the first axis value has passed the pose detection; otherwise, it can be determined that the first axis value has not passed the pose detection.

[0216] This invention improves the efficiency of axis value determination by detecting the pose of a multi-axis robot based on the axis values ​​of its key axes. It can quickly and accurately identify whether the robot's pose meets the requirements under different axis values ​​of the external axis of a straight line.

[0217] In some embodiments of the present invention, the axis value determination device further includes:

[0218] Motion collision detection is used to perform motion collision detection on robots based on robot simulation models.

[0219] The determination module is also used to determine the first axis value as the target axis value when both the pose detection result and the motion collision detection result are passed.

[0220] In this embodiment, the robot's simulation model, i.e., the robot body and the robot's working environment are modeled in 3D software. Based on the robot's simulation model, the robot's actual working actions can be simulated, thereby determining whether the robot will collide or interfere with itself or the environment during its actions, thus performing collision detection on the robot.

[0221] At the same time, based on the simulation model of the robot itself, it is also possible to determine whether the target point is reachable, whether the axis value exceeds the range, and whether the robot is at a singular point.

[0222] When the robot's pose detection result is a pass and the robot's motion collision detection result is also a pass, the current axis value is determined as the target axis value; otherwise, continue searching for the next axis value until it exceeds the target axis value that simultaneously meets the pose detection requirements and motion collision detection requirements.

[0223] This invention simulates a robot and uses the simulation model to perform motion collision detection on the robot. This allows the determination of whether the axis value of the external axis of the straight line can meet the requirement that the robot's movements do not collide with or interfere with itself or the environment. Furthermore, it does not require the actual construction of the robot environment, thus improving the efficiency and reliability of axis value determination.

[0224] In some embodiments of the present invention, the acquisition module is further configured to acquire a first set of axis values ​​and a second set of axis values ​​when either the pose detection result or the motion collision detection result fails the detection, wherein all axis values ​​in the first set of axis values ​​are less than the first axis value, and all axis values ​​in the second set of axis values ​​are greater than the first axis value; and to acquire a first set of axis values ​​and a second set of axis values ​​when either the pose detection result or the motion collision detection result fails the detection, wherein all axis values ​​in the first set of axis values ​​are less than the first axis value, and all axis values ​​in the second set of axis values ​​are greater than the first axis value;

[0225] The determination module is further configured to: determine a fourth axis value in the first axis value set, wherein the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between other axis values ​​in the first axis value set and the first axis value; determine a fifth axis value in the second axis value set, wherein the absolute value of the difference between the fifth axis value and the first axis value is less than the absolute value of the difference between other axis values ​​in the second axis value set and the first axis value; determine a sixth axis value of the target joint axis under the fourth axis value and a seventh axis value of the target joint axis under the fifth axis value; determine the set of axis values ​​corresponding to the one with the smaller absolute value of the difference between the sixth axis value and the seventh axis value and the second axis value as the target axis value set; and determine the target axis value in the target axis value set.

[0226] In this embodiment, the first axis value corresponds to a point on the first coordinate axis, the first axis value set specifically refers to several axis value points on the first coordinate axis that are located to the left of the point corresponding to the first axis value, and the second axis value set specifically refers to several axis value points on the first coordinate axis that are located to the right of the point corresponding to the first axis value.

[0227] If either the pose detection result or the motion collision detection result fails the detection, then the fourth axis value is selected from the first axis value set, and the fifth axis value is selected from the second axis value set.

[0228] In this context, the fourth axis value is the closest axis value to the first axis value in the first set of axis values, and the fifth axis value is the closest axis value to the first axis value in the second set of axis values. Therefore, the absolute value of the difference between the fourth axis value and the first axis value is less than the absolute value of the difference between the other axis values ​​in the first set of axis values.

[0229] Furthermore, determine the sixth axis value of the target joint axis when the outer axis of the straight line is at the fourth axis value, and determine the seventh axis value of the target joint axis when the outer axis of the straight line is at the fifth axis value. Calculate the absolute value of the difference between the sixth axis value and the first axis value, and the absolute value of the difference between the seventh axis value and the first axis value.

[0230] If the absolute value of the difference between the sixth axis value and the first axis value is less than the absolute value of the difference between the seventh axis value and the first axis value, then the set of first axis values ​​is determined as the target axis value set.

[0231] If the absolute value of the difference between the seventh axis value and the first axis value is less than the absolute value of the difference between the sixth axis value and the first axis value, then the second axis value set is determined as the target axis value set.

[0232] This step specifically involves determining the direction of the search target axis value, i.e., whether to continue searching for a smaller or larger axis value.

[0233] Specifically, taking the search state position corresponding to the first axis value as the initial position starting point, the second axis value A2 of axis A2 is recorded at this time. ref And search one step each in the outer axis of the straight line, that is, in the positive and negative directions of the guide rail, according to the preset search step size, to obtain the fourth axis value and the actual axis value A2 of the A2 axis under the fourth axis value. negativeStep And the actual axis value A2 of axis A2 under the fifth axis value. positiveStep .

[0234] If the following condition is met: ABS(A2) positiveStep -A2 ref ) <ABS(A2 negativeStep -A2 ref If the target value is found in the first set of axis values, then the search direction is optimized to the positive direction of the outer axis of the line, meaning the search continues in the second set of axis values. Otherwise, the search direction is optimized to the negative direction of the outer axis of the line, meaning the search continues in the first set of axis values.

[0235] The search stops when the number of searches exceeds the preset maximum number of searches, or when the searched axis value makes the robot's pose worse, or when the target axis value is found that meets the robot's pose requirements.

[0236] The embodiments of the present invention determine the search direction of the axis value of the outer axis of the straight line by based on the axis value change of the target joint axis, which can reduce the axis value search range and improve the axis value determination efficiency.

[0237] In some embodiments of the present invention, optionally, the robot body includes a flange for connecting the robot to a tool, and the feature point is the geometric center point of the flange.

[0238] In this embodiment, a flange is provided on the robot body for connecting robot tools, which the robot uses to process the workpiece. Specifically, the feature point of the robot body is the geometric center point of the flange.

[0239] By using the geometric center point of the flange, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0240] In some embodiments of the present invention, the robot body may optionally include a robot wrist, wherein the feature point is the geometric center point of the robot wrist.

[0241] In this embodiment, the robot body includes a robot wrist, which is a component located between the robot arm and the gripper, used to support and adjust the gripper. The robot wrist can determine the posture of the object being gripped and typically employs a three-degree-of-freedom multi-joint mechanism consisting of rotary joints and oscillating joints. The feature point of the robot body is specifically the geometric center point of the robot wrist.

[0242] By using the geometric center point of the robot's wrist, the true pose of the robot body can be accurately expressed, thereby indicating whether the axis value of the current straight external axis is appropriate.

[0243] In some embodiments of the present invention, an axis value determination device is provided. Figure 4 A second structural block diagram of an axis value determination device according to some embodiments of the present invention is shown, such as... Figure 4 As shown, the shaft value determination device 400 includes: a memory 402 for storing programs or instructions; and a processor 404 for executing the programs or instructions to implement the steps of the shaft value determination method provided in any of the above embodiments. Therefore, it also includes all the beneficial effects of the shaft value determination method provided in any of the above embodiments, which will not be repeated here to avoid repetition.

[0244] In some embodiments of the present invention, a readable storage medium is provided on which a program or instructions are stored. When the program or instructions are executed by a processor, they implement the steps of the axis value determination method provided in any of the above embodiments, and therefore also include all the beneficial effects of the axis value determination method provided in any of the above embodiments. To avoid repetition, these will not be repeated here.

[0245] In some embodiments of the present invention, a computer program product is provided, which is stored in a storage medium. When the computer program product is executed by at least one processor, it implements the steps of the axis value determination method provided in any of the above embodiments, and therefore also includes all the beneficial effects of the axis value determination method provided in any of the above embodiments. To avoid repetition, these will not be repeated here.

[0246] In some embodiments of the present invention, a robot is provided, including an axis value determination device as provided in any of the above embodiments, and / or a readable storage medium as provided in any of the above embodiments; and / or a computer program product as provided in any of the above embodiments, thus also including the axis value determination device as provided in any of the above embodiments, and / or the readable storage medium as provided in any of the above embodiments; and / or all the beneficial effects of the computer program product as provided in any of the above embodiments will not be repeated here to avoid repetition.

[0247] In the description of this invention, the term "multiple" refers to two or more. Unless otherwise explicitly defined, the terms "upper," "lower," etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing the invention and for simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the invention. The terms "connection," "installation," "fixing," etc., should be interpreted broadly. For example, "connection" can be a fixed connection, a detachable connection, or an integral connection; it can be a direct connection or an indirect connection through an intermediate medium. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.

[0248] In the description of this invention, the terms "one embodiment," "some embodiments," "specific embodiment," etc., refer to a specific feature, structure, material, or characteristic described in connection with that embodiment or example, which is included in at least one embodiment or example of the invention. In this invention, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0249] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. An axis value determination method, performed by a robot, characterized by, The robot comprises a robot body and a guide rail, the robot body is capable of moving along the guide rail, the shaft value determination method comprises: determining a first coordinate value of a feature point of the robot body in a first coordinate system corresponding to the guide rail; determining a first coordinate value of a feature point of the robot body in a first coordinate system corresponding to the guide rail; determining a first shaft value according to the first coordinate value, the first shaft value being used to indicate a position of the robot body on the guide rail; detecting a pose of the robot body based on the first shaft value; determining a target shaft value according to a detection result of the pose detection and the first shaft value; the robot body comprises at least two joint shafts, the at least two joint shafts comprising a target joint shaft; the detecting a pose of the robot body based on the first shaft value comprises: controlling the robot body to move to a target position corresponding to the first shaft value according to the first shaft value; acquiring a second shaft value of the target joint shaft when a tool of the robot reaches a point indicated by the target point coordinate; the determining a target shaft value according to a detection result of the pose detection and the first shaft value comprises: performing motion collision detection on the robot based on a simulation model of the robot; in a case where both the detection result of the pose detection and the detection result of the motion collision are passed, determining the first shaft value as the target shaft value; after the performing motion collision detection on the robot based on the simulation model of the robot, the method further comprises: in a case where any one of the detection result of the pose detection and the detection result of the motion collision is failed, acquiring a first shaft value set and a second shaft value set, shaft values in the first shaft value set are all smaller than the first shaft value, and shaft values in the second shaft value set are all greater than the first shaft value; determining a fourth shaft value in the first shaft value set, an absolute value of a difference between the fourth shaft value and the first shaft value being smaller than absolute values of differences between other shaft values in the first shaft value set and the first shaft value; determining a fifth shaft value in the second shaft value set, an absolute value of a difference between the fifth shaft value and the first shaft value being smaller than absolute values of differences between other shaft values in the second shaft value set and the first shaft value; determining a sixth shaft value of the target joint shaft under the fourth shaft value and a seventh shaft value of the target joint shaft under the fifth shaft value; determining, as a target shaft value set, a shaft value set corresponding to one of the sixth shaft value and the seventh shaft value, which has a smaller absolute value of a difference from the second shaft value; 2. The axis value determination method according to claim 1, characterized by, determining the target shaft value in the target shaft value set. the determining a first coordinate value of a feature point of the robot body in a first coordinate system corresponding to the guide rail comprises: acquiring a target point coordinate of the robot and a tool coordinate of the robot in a second coordinate system, wherein the second coordinate system is a tool coordinate system or a world coordinate system of the robot; determine a second coordinate value of the feature point in the second coordinate system according to the target point coordinate, the tool coordinate and kinematic parameters of the robot; perform coordinate system conversion processing on the second coordinate value based on the correspondence between the first coordinate system and the second coordinate system, to obtain a first coordinate value of the feature point in the first coordinate system.

3. The axis value determination method of claim 1, wherein, The first coordinate system comprises a first coordinate axis, and an extension direction of the first coordinate axis is the same as an extension direction of the guide rail. The first coordinate value comprises: determine a first coordinate value interval of the guide rail in the first coordinate system; in a case where the first coordinate value is within the first coordinate value interval, determine the first coordinate value as the first axis value; in a case where the first coordinate value is outside the first coordinate value interval, determine a first preset axis value as the first axis value.

4. The axis determination method of claim 2, wherein The pose detection of the robot body based on the first axis value further comprises: perform pose detection of the robot body based on the second axis value and an axis value interval corresponding to the target joint axis.

5. The axis value determination method of claim 4, wherein, The pose detection of the robot body based on the second axis value and the axis value interval corresponding to the target joint axis comprises: in a case where the second axis value is within the axis value interval, determine a detection result of the pose detection as passing detection; in a case where the second axis value is outside the axis value interval, determine the detection result of the pose detection as failing detection.

6. The axis value determination method according to any one of claims 1 to 5, characterized by, The robot body comprises a flange, the flange is used for connecting a tool of the robot, and the feature point is a geometric center point of the flange.

7. The axis value determination method according to any one of claims 1 to 5, characterized by, The robot body comprises a robot wrist, and the feature point is a geometric center point of the robot wrist.

8. An axis value determination device, applied to a robot, characterized in that, The robot comprises a robot body and a guide rail, the robot body is capable of moving along the guide rail, and the axis value determination apparatus comprises: a determination module, configured to determine, in a first coordinate system corresponding to the guide rail, a first coordinate value of a feature point of the robot body in the first coordinate system; and determine a first axis value according to the first coordinate value, the first axis value being used for indicating a position of the robot body on the guide rail; a pose detection module, configured to perform pose detection of the robot body based on the first axis value; the determination module is further configured to determine a target axis value according to a detection result of the pose detection and the first axis value; The robot body comprises at least two joint axes, and the at least two joint axes comprise a target joint axis. The determination module is further configured to control the robot body to move along the guide rail to a target position corresponding to the first axis value according to the first axis value; the acquisition module is further configured to acquire a second axis value of the target joint axis when a tool of the robot reaches a point indicated by the target point coordinate; The axis value determination apparatus further comprises: a motion collision detection, configured to perform motion collision detection on the robot based on a simulation model of the robot; the determination module is further configured to determine the first axis value as the target axis value in a case where both the detection result of the pose detection and a detection result of the motion collision are passing detection. The acquisition module is further configured to acquire a first axis value set and a second axis value set in a case where any one of the detection result of the pose detection and the detection result of the motion collision fails to pass the detection, wherein each axis value in the first axis value set is less than the first axis value, and each axis value in the second axis value set is greater than the first axis value. The determination module is further configured to determine a fourth axis value in the first axis value set, wherein an absolute value of a difference between the fourth axis value and the first axis value is less than an absolute value of a difference between each axis value in the first axis value set and the first axis value; determine a fifth axis value in the second axis value set, wherein an absolute value of a difference between the fifth axis value and the first axis value is less than an absolute value of a difference between each axis value in the second axis value set and the first axis value; determine a sixth axis value of the target joint axis under the fourth axis value and a seventh axis value of the target joint axis under the fifth axis value; determine an axis value set corresponding to an axis value with a smaller absolute value of a difference between the second axis value from the sixth axis value and the seventh axis value; and determine the target axis value set from the axis value set.

9. An axis value determination apparatus characterized by comprising: The method comprises: a memory configured to store a program or an instruction; a processor configured to implement steps of the axis value determination method according to any one of claims 1 to 7 when executing the program or the instruction.

10. A readable storage medium, on which a program or instructions are stored, characterized in that, The program or the instruction is configured to implement steps of the axis value determination method according to any one of claims 1 to 7 when executed by the processor.

11. A computer program product stored in a storage medium, characterized in that, The computer program product is configured to implement steps of the axis value determination method according to any one of claims 1 to 7 when executed by at least one processor.

12. A robot, characterized in that The method comprises: the axis value determination apparatus according to claim 8 or 9; and / or the readable storage medium according to claim 10; and / or the computer program product according to claim 11.

Citation Information

Patent Citations

  • Robot control method

    CN103042527A

  • Robot singularity avoidance method and device, terminal and medium

    CN115284298A

  • Method of teaching robot with traveling axis off-line

    CN1316943A

  • Device for teaching teaching point to robot, robot system, and teaching method of robot

    JP2020192621A