Shaft hole assembly method, apparatus, and medium
Patent Information
- Application Number
- CN202511730707.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-21
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2045-11-21
AI Technical Summary
但是,单轴入孔后,由于制造误差、工件/夹具变形及机器人定位不确定度,多轴工件中未入孔轴与多孔工件中对应孔仍存在显著的位置和姿态偏差
[0015]本申请提供了的轴孔装配方法,该方法通过在多轴工件的单轴入孔的情况下,控制机械臂带动多轴工件在以已入孔轴底部中心为球心,以设定距离为半径的球面上运动,直至多轴工件中的未入孔轴与对应孔对齐,可以避免在调整多轴入孔过程中对已入孔轴的损坏,并且,为多轴入孔规划了相应的运动轨迹,提高了多轴入孔的效率和精确度,实现了多轴快速入多孔。
Smart Images

Figure CN121340277B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of automatic control technology, and more specifically, to a shaft hole assembly method, equipment, and medium. Background Technology
[0002] When a robotic arm performs multi-axis workpiece-multi-hole workpiece assembly tasks, it typically involves inserting a single axis into the hole first, and then adjusting the overall posture of the multi-axis workpiece to achieve multi-axis insertion. However, after inserting a single axis, due to manufacturing errors, workpiece / fixture deformation, and robot positioning uncertainties, there are still significant positional and orientation deviations between the non-inserted axes in the multi-axis workpiece and their corresponding holes in the multi-hole workpiece. In this case, directly pressing the multi-axis workpiece towards the multi-hole workpiece can cause axis-hole interference, excessive contact force, or even workpiece damage. If the inserted axis is removed from its corresponding hole before adjusting the overall posture of the multi-hole workpiece, the adjustment becomes difficult, resulting in low axis-hole assembly efficiency. Summary of the Invention
[0003] One objective of this application is to provide a new technical solution for shaft-hole assembly.
[0004] According to a first aspect of this application, a shaft hole assembly method is provided, comprising: In a multi-axis workpiece, when a single axis is aligned with a corresponding hole in a multi-hole workpiece, the operation of determining the bottom center position of the inserted shaft in the multi-axis workpiece is performed; wherein, the inserted shaft is the shaft in the multi-axis workpiece that is aligned with a hole in the multi-hole workpiece; The robotic arm is controlled to move the multi-axis workpiece on a set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is less than or equal to a third preset force value; wherein, the set spherical surface is a spherical surface with the bottom center of the inserted shaft as the center and a set distance as the radius, and the set distance is the distance between the bottom center of the inserted shaft and the end of the robotic arm.
[0005] Optionally, controlling the robotic arm to move the multi-axis workpiece on a set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is less than or equal to a third preset force value includes: Based on the first rotation angle, the robotic arm is controlled to drive the multi-axis workpiece to move around the fourth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is greater than or equal to the first preset force value. When the actual contact force in the third direction is greater than or equal to the first preset force value, the robotic arm is controlled based on the second rotation angle to drive the multi-axis workpiece to move around the fifth direction on the set spherical surface until the actual contact force in the third direction between the robotic arm and the multi-axis workpiece is greater than or equal to the second preset force value. When the actual contact force in the third direction is greater than or equal to the second preset force value, the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece is calculated to obtain the deviation vector. Based on the deviation vector control, the robotic arm drives the multi-axis workpiece to move around the sixth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is less than or equal to the third preset force value. The sixth direction is the extension direction of the shaft that has been inserted into the hole, and the fourth and fifth directions are perpendicular in a plane that is perpendicular to the sixth direction.
[0006] Optionally, the first rotation angle is determined by the following steps: The second contact force of the contact surface between the robotic arm and the multi-axis workpiece is obtained in the first direction and the second contact resultant force in the second direction, and the third contact component force of the second contact force in the third direction. The third rotation angle is determined based on the second contact resultant force and the third contact component force; The first rotation angle is determined based on the third rotation angle and the preset angle deviation value; The second rotation angle is determined by the following steps: When the actual contact force in the third direction is greater than or equal to the first preset force value, the third contact force of the contact surface between the robotic arm and the multi-axis workpiece is obtained as the third contact resultant force in the first and second directions and the fourth contact component of the third contact force in the third direction. The fourth rotation angle is determined based on the third contact resultant force and the fourth contact component force. The second rotation angle is determined based on the fourth rotation angle and the preset angle deviation value.
[0007] Optionally, the calculation operation includes: Obtain a contact image containing the contact surface between the multi-axis workpiece and the multi-hole workpiece; Based on the contact image, the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece is detected.
[0008] Optionally, detecting the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece based on the contact image includes: Detect the pairs of arc lines in the contact image; For any of the said arc line pairs, the first centroid position corresponding to the first centroid of the first arc line is determined according to the first arc line in the arc line pair, and the second centroid position corresponding to the second arc line is determined according to the second arc line in the arc line pair. The deviation vector between the first centroid position and the second centroid position is calculated as the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece.
[0009] Optionally, controlling the robotic arm to move the multi-axis workpiece around a first direction on the set spherical surface based on the first rotation angle includes: Based on the first rotation angle and the first pose of the robotic arm end, determine the first arc trajectory of the robotic arm end on the set spherical surface; The robotic arm end effector is controlled to drive the multi-axis workpiece to move along the first circular arc trajectory.
[0010] Optionally, the operation of determining the center position of the bottom of the inserted shaft in the multi-axis workpiece includes: Obtain the first contact force at the contact surface between the robotic arm and the multi-axis workpiece; Based on the first contact force, determine the shaft that has been inserted into the hole in the multi-axis workpiece; Obtain the first position of the end effector of the robotic arm; Based on the first position, determine the center position of the bottom of the inserted shaft.
[0011] Optionally, the first contact force includes a first contact force component along a first direction and a second contact force component along a second direction, wherein the first direction and the second direction are perpendicular. Determining the inserted shaft in the multi-axis workpiece based on the first contact force includes: The contact azimuth angle between the multi-axis workpiece and the multi-hole workpiece is determined based on the first contact force component value and the second contact force component value. Based on the contact azimuth angle and the first correspondence, the shaft that has entered the hole in the multi-axis workpiece is determined; wherein, the first correspondence is a range of contact azimuth angles when different shafts of the multi-axis workpiece contact the multi-hole workpiece.
[0012] Optionally, determining the center position of the bottom of the inserted shaft based on the first position includes: The bottom center position of the multi-axis workpiece is determined based on the first position and the first relative position relationship; wherein, the first relative position relationship is the relative position relationship between the end of the robotic arm and the bottom center of the multi-axis workpiece; Based on the inserted shaft and the second correspondence, the second relative position relationship corresponding to the inserted shaft is determined; wherein, the second correspondence relationship is the relative position relationship between the bottom centers of different shafts of the multi-axis workpiece and the bottom center of the multi-axis workpiece. The bottom center position of the inserted shaft is determined based on the bottom center position of the multi-axis workpiece and the second relative position relationship.
[0013] According to a second aspect of this application, an electronic device is provided, the electronic device comprising a force sensor, a robotic arm, a memory, and a processor, the robotic arm being configured to move a shaft workpiece under the control of the processor, the force sensor being configured to acquire the actual contact force value of the contact surface between the robotic arm and the shaft workpiece, the memory being configured to store computer instructions, and the processor being configured to retrieve the computer instructions from the memory to execute the method as described in any one of the first aspects.
[0014] According to a third aspect of this application, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method according to any one of the first aspects.
[0015] This application provides a shaft-hole assembly method. In the case of a single shaft entering a hole in a multi-axis workpiece, the method controls a robotic arm to move the multi-axis workpiece on a sphere with the bottom center of the shaft already in the hole as the center and a set distance as the radius, until the shaft not in the hole in the multi-axis workpiece is aligned with the corresponding hole. This method can avoid damage to the shaft already in the hole during the adjustment of the multi-axis entry hole. Furthermore, it plans a corresponding motion trajectory for the multi-axis entry hole, improving the efficiency and accuracy of the multi-axis entry hole and realizing rapid multi-axis entry into multiple holes.
[0016] Other features and advantages of this application will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments of the present application and, together with their description, serve to explain the principles of the present application.
[0018] Figure 1 This is a schematic flowchart of a shaft hole assembly method provided in this application; Figure 2 This is an assembly diagram illustrating an example provided in this application of a triaxial workpiece in contact with a three-hole workpiece. Figure 3 This is a schematic diagram of the posture adjustment during the alignment process of a multi-axis workpiece and a multi-hole workpiece provided in this application; Figure 4 This is a schematic diagram of the azimuth angle range corresponding to the three axes of a three-axis workpiece, as provided in this application. Figure 5 This is a schematic diagram of a method for controlling a robotic arm to drive a multi-axis workpiece to rotate around a fourth direction, as provided in this application. Figure 6 This is a schematic diagram of a method for controlling a robotic arm to drive a multi-axis workpiece to rotate around a fifth direction, as provided in this application. Figure 7 This is a schematic diagram of a method for controlling a robotic arm to drive a multi-axis workpiece to rotate around a sixth direction, as provided in this application. Figure 8 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 1 ; Figure 9 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 2 . Detailed Implementation
[0019] Various exemplary embodiments of the present application will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present application.
[0020] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit the scope of this application and its application or use.
[0021] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0022] In all the examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0023] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0024] This application provides a shaft-hole assembly method. In the case of a single shaft entering a hole in a multi-axis workpiece, the method controls a robotic arm to move the multi-axis workpiece on a sphere with the bottom center of the shaft already in the hole as the center and the third relative position relationship as the radius, so that the shaft to be inserted in the multi-axis workpiece is aligned with the corresponding hole in the multi-hole workpiece. This method can assist the robotic arm in assembling the shaft and hole of the multi-axis workpiece and the multi-hole workpiece.
[0025] It should be noted that this application stipulates that the number of shafts in a multi-axis workpiece is the same as the number of holes in a multi-hole workpiece, and does not limit the number of shafts in a multi-axis workpiece or the number of holes in a multi-hole workpiece.
[0026] like Figure 1 As shown, the shaft hole assembly method provided in this application includes the following steps S1100 to S1200.
[0027] Step S1100: When a single axis in a multi-axis workpiece is aligned with a corresponding hole in a multi-hole workpiece, the operation of determining the bottom center position of the shaft that has entered the hole in the multi-axis workpiece is performed.
[0028] Wherein, the inserted shaft is the shaft in the multi-axis workpiece that is aligned with the hole in the multi-hole workpiece.
[0029] In this embodiment, traditional assembly methods can be used to control the assembly of multi-axis workpieces and multi-hole workpieces to achieve alignment between the single axis of the multi-axis workpiece and the corresponding hole of the multi-hole workpiece. No limitation is made here.
[0030] In multi-axis workpieces, alignment of corresponding holes in single-axis and multi-hole workpieces can be achieved by ensuring that the actual contact force component in the third direction, collected by a force sensor placed between the contact surfaces of the robotic arm and the multi-axis workpiece, is less than or equal to a fourth preset force value. Here, the actual contact force is the contact force in the tool coordinate system T, which can be, for example,... Figure 2 The coordinate system shown has its origin at the center of the flange at the end of the robotic arm. The Z-axis extends along the tool's extension direction, the X-axis is aligned with the long side of the flange locating pin / gripper, and the Y-axis is determined according to the right-hand rule. The X-axis extends in the first direction, the Y-axis extends in the second direction, and the Z-axis extends in the third direction. The contact component of the actual contact force in the third direction can be expressed as... It can be read directly from the force sensor.
[0031] The fourth preset force value is the contact component of the maximum actual contact force collected by the force sensor in the third direction when a single axis in a multi-axis workpiece is aligned with a single hole in a multi-hole workpiece. Theoretically, the fourth preset force value is 0. However, considering factors such as error, the fourth preset force value can be a force value close to 0, for example, 1 N.
[0032] For example, a robotic arm can be controlled to move a multi-axis workpiece, and the alignment of corresponding holes in a single-axis workpiece and a multi-hole workpiece can be determined by collecting the contact force component in a third direction from the actual contact force collected by a force sensor placed between the contact surface of the robotic arm and the multi-axis workpiece. If the contact force component in the third direction is less than or equal to a fourth preset force value, the alignment of corresponding holes in a single-axis workpiece and a multi-hole workpiece is determined.
[0033] In a multi-axis workpiece, when a single axis is aligned with a corresponding hole in a multi-hole workpiece, determine which axis in the multi-axis workpiece is the inserted axis and determine the position coordinates of the bottom center of the inserted axis in the world coordinate system.
[0034] In one embodiment of this application, the operation of determining the bottom center position of the shaft that has entered the hole in the multi-axis workpiece in step S1100 includes: steps S1100.1 to S1100.4.
[0035] Step S1100.1: Obtain the first contact force of the contact surface between the robotic arm and the multi-axis workpiece.
[0036] In this embodiment, the first contact force is the actual contact force currently collected by the force sensor when a single axis in a multi-axis workpiece is aligned with a corresponding hole in a multi-hole workpiece. The first contact force is a vector.
[0037] The first contact force can characterize the current force exerted by the porous workpiece on the multi-axis workpiece.
[0038] Step S1100.2: Based on the first contact force, determine the shaft that has been inserted into the hole in the multi-axis workpiece.
[0039] In one embodiment of this application, the first contact force includes a first contact force component along a first direction and a second contact force component along a second direction, wherein the first direction and the second direction are perpendicular to the plane of the multi-hole workpiece. In step S1100.2, the inserted shaft in the multi-axis workpiece is determined according to the first contact force, including steps S1100.21 and S1100.22.
[0040] Step S1100.21: Determine the contact azimuth angle between the multi-axis workpiece and the multi-hole workpiece based on the first contact force component value and the second contact force component value.
[0041] Wherein, the contact azimuth angle is the azimuth angle of the first contact force on the plane of the porous workpiece.
[0042] In this embodiment, the first contact force is the current force exerted by the porous workpiece on the multi-axis workpiece. By decomposing the first contact force along the first direction and the second direction, we can obtain a first contact component along the first direction and a second contact component along the second direction. The first contact component can be expressed as... The second contact force can be expressed as Both can be read directly from the force sensor. The first contact force component represents the component of the force exerted by the porous workpiece on the multi-axis workpiece in the first direction. The second contact force component represents the component of the force exerted by the porous workpiece on the multi-axis workpiece in the second direction. The value of the first contact force component can be expressed as... The second contact force component can be expressed as .
[0043] To determine the inserted shaft in a multi-axis workpiece, it is necessary to know the force exerted by the multi-axis workpiece on the multi-hole workpiece. Therefore, based on action and reaction forces, by adding a negative sign to the first contact component, we obtain the contact component of the current force exerted by the multi-axis workpiece on the multi-hole workpiece in the first direction, which is called the reaction first contact component. Adding a negative sign to the second contact force yields the contact force in the second direction of the current force exerted by the multi-axis workpiece on the multi-hole workpiece; this is called the reverse second contact force. .
[0044] Since the relative positions of each axis in a multi-axis workpiece are fixed and known, let's assume that the number of axes in the multi-axis workpiece is n. Then, based on the number of axes n, we assign an angle range of 360° / n to each axis to obtain the azimuth angle range corresponding to each axis in the multi-axis workpiece.
[0045] For example, such as Figure 4 As shown, the multi-axis workpiece is a three-axis workpiece. First, the azimuth angles of the three axes are measured in the xy plane of the tool coordinate system. Then, the three axes are translated into the drawing coordinate system. Next, the three axes are equally divided in the drawing coordinate system, i.e., each axis corresponds to 360° / 3 = 120°, resulting in three reference lines: 0°, 120°, and 240°. This divides the 0–360° circle into three equal parts, forming the azimuth angle ranges corresponding to different axes. The azimuth angle ranges corresponding to the three axes are as follows: , , Accordingly, the first axis corresponds to the first and second quadrants, the second axis to the third quadrant, and the third axis to the fourth quadrant. Similarly, the azimuth range of the four axes in a four-axis workpiece is... , , , The four axes correspond to the first quadrant, the second quadrant, the third quadrant, and the fourth quadrant, respectively.
[0046] In one example, when a multi-axis workpiece is a four-axis workpiece, there is one axis in each of the four quadrants. In this case, the axis already inserted in the hole in the four-axis workpiece can be directly determined based on the anti-first contact force and the anti-second contact force. That is, if For positive and If positive, then the shaft already inserted into the hole in the four-axis workpiece is... The axis. If negative and If positive, then the shaft already inserted into the hole in the four-axis workpiece is... The axis, if negative and If the value is negative, then the shaft already inserted into the hole in the four-axis workpiece is... The axis, if For positive and If the value is negative, then the shaft that has entered the hole in the four-axis workpiece is... The axis.
[0047] In another example, if at least two axes exist in at least one of the four quadrants, or if one axis corresponds to at least two quadrants, the shaft already in the hole cannot be directly determined based on the anti-first contact force and the anti-second contact force. In this case, the contact azimuth angle between the multi-axis workpiece and the multi-hole workpiece can be calculated according to the following formula (1). :
[0048] in, According to the anti-first contact component force Confirmed, if For positive and If it is positive, then The value is 0. If negative and If it is positive, then The value is 1, if negative and If it is negative, then The value is 2, if For positive and If it is negative, then The value is 3.
[0049] The contact azimuth angle between the multi-axis workpiece and the multi-hole workpiece can characterize the resultant force azimuth angle of the force exerted by the multi-axis workpiece on the multi-hole workpiece in the xy plane of the tool coordinate system.
[0050] Step S1100.22: Determine the inserted shaft in the multi-axis workpiece according to the contact azimuth angle and the first correspondence relationship; Wherein, the first correspondence is the range of contact azimuth angles when different axes of the multi-axis workpiece contact the multi-hole workpiece.
[0051] In this embodiment, since the distribution positions (i.e., the distribution azimuth range) of each axis in the multi-axis workpiece are different, the contact azimuth angles generated when different axes in the multi-axis workpiece come into contact with the multi-hole workpiece are also different.
[0052] For ease of calculation, the range of azimuth angles corresponding to different axes in a multi-axis workpiece is taken as the range of contact azimuth angles when different axes of the multi-axis workpiece come into contact with the multi-hole workpiece.
[0053] In other words, the azimuth ranges corresponding to the above three axes are as follows: , , This refers to the contact azimuth angle range corresponding to each of the three axes. The azimuth angle ranges corresponding to the four axes in a four-axis workpiece are as follows: , , , This refers to the range of contact azimuth angles corresponding to the four axes, which will not be elaborated here.
[0054] Continuing with the example above where a multi-axis workpiece is a three-axis workpiece, if when At that time, the shaft that has entered the hole is the shaft located in the first and second quadrants; when At that time, the shaft that has entered the hole is the shaft located in the third quadrant; when At that time, the shaft that has entered the hole is the shaft located in the fourth quadrant.
[0055] Step S1100.3: Obtain the first position of the end effector of the robotic arm.
[0056] In this embodiment, since the robotic arm end effector does not move before step S1100.3 after the single axis in the multi-axis workpiece is aligned with the corresponding hole in the multi-hole workpiece, the first position is the current position of the robotic arm end effector when the single axis in the multi-axis workpiece is aligned with the corresponding hole in the multi-hole workpiece. Specifically, it is the position coordinate of the robotic arm end effector in the base coordinate system. The base coordinate system is the coordinate of the robotic arm's installation position in the world coordinate system.
[0057] Step S1100.4: Determine the center position of the bottom of the inserted shaft based on the first position.
[0058] In this embodiment, the center position of the bottom of the inserted shaft can be specifically the position coordinates of the center of the bottom of the inserted shaft in the base coordinate system.
[0059] In one embodiment of this application, step S1100.4 determines the center position of the bottom of the inserted shaft according to the first position, including steps S1100.41 to S1100.43.
[0060] Step S1100.41: Determine the bottom center position of the multi-axis workpiece based on the first position and the first relative position relationship; Wherein, the first relative positional relationship is the relative positional relationship between the end of the robotic arm and the bottom center of the multi-axis workpiece.
[0061] In this embodiment, the first relative positional relationship can be the relative positional relationship between the end effector of the robotic arm and the bottom center of the multi-axis workpiece in the base coordinate system. The position of the bottom center of the multi-axis workpiece can be the position coordinates of the bottom center of the multi-axis workpiece in the base coordinate system. This first relative positional relationship can be obtained through the following steps: Given that the method by which the robotic arm grips the multi-axis workpiece is known, the distance between the end effector of the robotic arm and the bottom center of the multi-axis workpiece is a fixed value, denoted as M. Then, the relative positional relationship between the end effector of the robotic arm and the bottom center of the multi-axis workpiece in the tool coordinate system can be expressed as follows: Next, the rotation matrix (also known as the first rotation matrix) between the robotic arm's end effector and the base coordinate system is calculated. and Multiply them to obtain the first relative positional relationship.
[0062] Then, in the base coordinate system, the first position is transformed through the first relative position relationship to obtain the position coordinates of the bottom center of the multi-axis workpiece in the base coordinate system.
[0063] The bottom center position of a multi-axis workpiece can be represented by formula (2) below. Calculation method:
[0064] in, This is the current first position of the robotic arm's end effector.
[0065] Step S1100.42: Determine the second relative position relationship corresponding to the shaft that has been inserted into the hole based on the shaft that has been inserted into the hole and the second correspondence relationship; The second correspondence is a storage of the relative positional relationship between the bottom centers of different axes of the multi-axis workpiece and the bottom center of the multi-axis workpiece.
[0066] In this embodiment, the second correspondence can specifically refer to the relative positional relationship between the bottom centers of different axes of the multi-axis workpiece and the bottom center of the multi-axis workpiece in the base coordinate system. Thus, the second relative positional relationship corresponding to the inserted shaft is the relative positional relationship between the inserted shaft and the bottom center of the multi-axis workpiece in the base coordinate system.
[0067] Taking a three-axis workpiece as an example, the second correspondence is explained as follows: the three axes and the center position of the bottom of the three-axis workpiece (i.e., Figure 4The distances between the centers of the three axes are equal, each being N. Then, what is the phase relationship between the three axes and the workpiece bottom center in the tool coordinate system? It can be represented as: , , Then, the rotation matrix (also known as the second rotation matrix) from the bottom center of the multi-axis workpiece to the base coordinate system is used. The three relative positions Transform to the base coordinate system to obtain the positional transformation relationships between the three axes of the three-axis workpiece and the bottom center of the three-axis workpiece in the base coordinate system. Finally, based on the inserted shaft and this second correspondence, find the second relative positional relationship corresponding to the inserted shaft.
[0068] Step S1100.43: Determine the bottom center position of the inserted shaft based on the bottom center position of the multi-axis workpiece and the second relative position relationship.
[0069] In this embodiment, the center position of the bottom of the inserted shaft can be the position coordinate of the center of the bottom of the inserted shaft in the base coordinate system, denoted as: The center position of the bottom of the shaft already inserted into the hole can be calculated using the following formula (3):
[0070] in, The second rotation matrix, i.e., the rotation matrix from the bottom center of the multi-axis workpiece to the base coordinate system, is determined by the fixed connection of the multi-axis workpiece. With the first rotation matrix The same can be determined by the posture of the robotic arm's end effector.
[0071] Step S1200: Control the robotic arm to move the multi-axis workpiece on a set spherical surface until the shaft to be inserted in the multi-axis workpiece is aligned with the corresponding hole in the multi-hole workpiece.
[0072] The set spherical surface is a spherical surface with the bottom center of the inserted shaft as the center and a set distance as the radius, wherein the set distance is the distance between the bottom center of the inserted shaft and the end of the robotic arm.
[0073] In this embodiment, as Figure 3 As shown, after obtaining the position of the bottom center of the inserted shaft in the base coordinate system, a coordinate system is constructed with this position as the origin and the extension direction of the inserted shaft as the Z-axis, establishing mutually perpendicular X and Y axes on the bottom plane of the multi-axis workpiece. For ease of description, the process of executing step S1200 is referred to as attitude adjustment. Furthermore, this coordinate system represents the attitude of the inserted shaft during the attitude adjustment process. This represents the orientation of the shaft already inserted into the hole before attitude adjustment. Coordinate system. This shows the orientation of the shaft after attitude adjustment, which has already been inserted into the hole. Coordinate system. The coordinate system represents the pose of the end effector flange of the robotic arm before attitude adjustment. The coordinate system represents the pose of the end effector flange of the robotic arm after attitude adjustment. The orientation of the bottom center of the multi-axis workpiece. Coordinate system. Let be the tool coordinate system, with its origin at the center of the end flange of the robotic arm, and the z-axis along the flange's outgoing axis. The coordinate system is a multi-axis workpiece coordinate system, with its origin at the bottom center of the multi-axis workpiece and its z-axis along the extension direction of the axis. N is the distance between the bottom center of the inserted shaft and the bottom center of the multi-axis workpiece, M is the vertical distance between the bottom center of the multi-axis workpiece and the center of the end flange of the robotic arm, and L is the spatial straight line length between the bottom center of the inserted shaft and the center of the end flange of the robotic arm, i.e., the set distance. The three form a right triangle with N and M as the legs and L as the hypotenuse. During the attitude adjustment process, these three satisfy the following condition of formula (4):
[0074] This ensures that the multi-axis workpiece always treats the bottom center of the inserted shaft as an immovable hinge during posture adjustment, moving on a set spherical surface with a radius of a set distance L, thus avoiding pulling out or bending the inserted shaft.
[0075] Based on the above, by controlling the robotic arm to move the multi-axis workpiece on a sphere with the bottom center of the already inserted shaft as the center and a set distance as the radius when the single-axis insertion of the multi-axis workpiece is in the case of single-axis insertion, the non-inserted shaft in the multi-axis workpiece is aligned with the corresponding hole. This can avoid damage to the already inserted shaft during the adjustment of multi-axis insertion. Furthermore, a corresponding motion trajectory is planned for multi-axis insertion, which improves the efficiency and accuracy of multi-axis insertion and realizes rapid insertion of multiple holes by multiple axes.
[0076] In one embodiment of this application, the shaft hole assembly method provided in this application further includes the following step S1300 before the above step S1200.
[0077] Step S1300: Control the robotic arm to be in compliant impedance mode.
[0078] By using the above step S1300, the problem of excessive contact force between the axis of the multi-axis workpiece and the multi-hole workpiece when the robotic arm moves the multi-axis workpiece can be avoided, which could lead to damage to at least one of the robotic arm, the multi-axis workpiece, and the multi-hole workpiece.
[0079] In one embodiment of this application, controlling the robotic arm to drive the multi-axis workpiece to move on a set spherical surface includes: steps S2100 to S2400.
[0080] Step S2100: Based on the first rotation angle, control the robotic arm to drive the multi-axis workpiece to move around the fourth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is greater than or equal to the first preset force value.
[0081] In this embodiment, the first rotation angle can be determined based on the actual contact force collected by the current force sensor, or it can be a set small rotation angle; no limitation is made here.
[0082] The fourth direction is the X-axis direction of the already inserted hole axis coordinate system.
[0083] like Figure 5 As shown, it is a schematic diagram of a robotic arm driving a multi-axis workpiece to move around the X-axis of the already inserted hole axis coordinate system on a set spherical surface with radius L.
[0084] The first preset force value can be the critical force value at which the actual contact force measured by the force sensor begins to rise sharply in the third direction and the deviation between the multi-axis workpiece and the multi-hole workpiece begins to increase when the multi-axis workpiece rotates around the X-axis of its own coordinate system. If the actual contact force in the third direction is greater than or equal to the first preset force value, it indicates that the multi-hole workpiece and the multi-axis workpiece have begun to deviate. Continuing to rotate in the same direction will only increase the contact deformation between the two and will not improve the alignment accuracy. Therefore, the rotation around the X-axis of the already inserted hole axis should be stopped immediately.
[0085] The first preset force value can be, for example, 10N.
[0086] In one embodiment of this application, the first rotation angle in step S2100 is determined by the following steps: steps S2100.1 to S2100.3.
[0087] Step S2100.1: Obtain the second contact force of the contact surface between the robotic arm and the multi-axis workpiece in the first and second directions, the second contact resultant force in the first direction and the third contact component force of the second contact force in the third direction.
[0088] In this embodiment, the second contact force can be the contact force collected by the current force sensor, and the second contact force can be equal to the first contact force.
[0089] The second contact resultant force can be expressed as: The third contact force component is expressed as .
[0090] Step S2100.2: Determine the third rotation angle based on the second contact resultant force and the third contact component force value.
[0091] In this embodiment, the third rotation angle It can be calculated using the following formula (5):
[0092] Step S2100.3: Determine the first rotation angle based on the third rotation angle and the preset angle deviation value.
[0093] In this embodiment, the preset angle deviation amount can be used to... After appropriate magnification, the first rotation angle is obtained. This prevents issues arising from a given... If it is too small, the X-axis attitude adjustment around the already inserted hole axis coordinate system will be incomplete.
[0094] In one embodiment of this application, step S2100 controls the robotic arm to move the multi-axis workpiece around a fourth direction on the set spherical surface based on a first rotation angle, including steps S2100.4 and S2100.5.
[0095] Step S2100.4: Determine the first arc trajectory of the robotic arm on the set spherical surface based on the first rotation angle and the first pose of the end of the robotic arm.
[0096] In this embodiment, the first pose includes a first position and a first orientation. When planning the first circular arc trajectory, the first pose is first obtained, then the third pose (i.e., the pose after the robotic arm end effector rotates by the first rotation angle around the fourth direction) is determined based on the first rotation angle, and then the second pose (i.e., the pose after the robotic arm end effector rotates by the first rotation angle around the fourth direction by half of the first rotation angle) is determined based on half of the first rotation angle. The first circular arc trajectory is obtained based on the first pose, the second pose, and the third pose. The second pose includes a second position and a second orientation. The third pose includes a third position and a third orientation.
[0097] The third position can be calculated using the following formula (6):
[0098] in, It is the third position. The center position of the bottom of the shaft that has been inserted into the hole. As the first position, To be around the fourth direction, i.e., the coordinate system of the hole axis. The rotation matrix of the axis.
[0099] Similarly, the formula for calculating the second position is to take the first rotation angle... become Substituting into the above formula (6), we can calculate the result.
[0100] The first posture can be represented as Then the third pose can be represented as add The third posture can be represented as add .
[0101] Step S2100.5: Control the end of the robotic arm to drive the multi-axis workpiece to move along the first circular arc trajectory.
[0102] In this embodiment, the robotic arm end is controlled to drive the multi-axis workpiece to move along the first arc trajectory. The actual contact force in the third direction is judged in real time to see if it is greater than or equal to the first preset force value. If it is, the attitude adjustment around the X-axis of the inserted hole shaft is ended.
[0103] Step S2200: When the actual contact force in the third direction is greater than or equal to the first preset force value, the robotic arm is controlled based on the second rotation angle to drive the multi-axis workpiece to move around the fifth direction on the set spherical surface until the actual contact force in the third direction between the robotic arm and the multi-axis workpiece is greater than or equal to the second preset force value.
[0104] In this embodiment, the second rotation angle can be determined based on the actual contact force collected by the current force sensor, or it can be a set small rotation angle; no limitation is made here.
[0105] The fifth direction is the Y-axis direction of the already inserted hole axis coordinate system.
[0106] like Figure 6 As shown, it is a schematic diagram of a robotic arm driving a multi-axis workpiece to move around the Y-axis of the already inserted hole axis coordinate system on a set spherical surface with radius L.
[0107] The second preset force value can be the critical force value at which the actual contact force measured by the force sensor begins to rise sharply in the third direction and the deviation between the multi-axis workpiece and the multi-hole workpiece begins to increase when the multi-axis workpiece rotates around the Y-axis of its own coordinate system. If the actual contact force in the third direction is greater than or equal to the first preset force value, it indicates that the multi-hole workpiece and the multi-axis workpiece have begun to deviate. Continuing to rotate in the same direction will only increase the contact deformation between the two and will not improve the alignment accuracy. Therefore, the rotation around the Y-axis of the already inserted hole axis should be stopped immediately.
[0108] The second preset force value can be, for example, 10N.
[0109] In one embodiment of this application, the third rotation angle in step S2200 is determined by the following steps: steps S2200.1 to S2200.3.
[0110] Step S2200.1: When the actual contact force in the third direction is greater than or equal to the first preset force value, obtain the third contact force of the contact surface between the robotic arm and the multi-axis workpiece in the first and second directions, and the fourth contact force of the third contact force in the third direction.
[0111] In this embodiment, the third contact force can be the current contact force collected by the force sensor when the contact component of the actual contact force in the third direction is greater than or equal to the first preset force value.
[0112] Step S2200.2: Determine the fourth rotation angle based on the third contact resultant force and the fourth contact component force.
[0113] In this embodiment, the fourth rotation angle The calculation method is the same as that for the third rotation angle in step S2100.2, and will not be repeated here.
[0114] Step S2200.3: Determine the second rotation angle based on the fourth rotation angle and the preset angle deviation value.
[0115] In this embodiment, the preset angle deviation amount can be used to... After appropriate magnification, the second rotation angle is obtained. This prevents issues arising from a given... If it is too small, the Y-axis attitude adjustment around the already inserted hole axis coordinate system will be incomplete.
[0116] In one embodiment of this application, step S2200 controls the robotic arm to move the multi-axis workpiece around the fifth direction on the set spherical surface based on the second rotation angle, including steps S2200.4 and S2200.5.
[0117] Step S2200.4: Determine the second arc trajectory of the robotic arm end on the set spherical surface based on the second rotation angle and the third pose of the robotic arm end.
[0118] In this embodiment, when planning the second circular arc trajectory, the third pose is first obtained, then the fifth pose is determined based on the second rotation angle (i.e., the pose of the robotic arm end effector after rotating by the second rotation angle around the fifth direction based on the third pose), and then the fourth pose is determined based on half of the second rotation angle (i.e., the pose of the robotic arm end effector after rotating by half of the second rotation angle around the fifth direction based on the third pose). The second circular arc trajectory is obtained based on the third, fourth, and fifth poses. The third pose includes the third position and the third orientation. The fourth pose includes the fourth position and the fourth orientation. The fifth pose includes the fifth position and the fifth orientation.
[0119] The fifth position can be calculated using the following formula (7):
[0120] in, It is the third position. The center position of the bottom of the shaft that has been inserted into the hole. It is the fifth position. For the fifth direction, i.e., the coordinate system of the hole axis. The rotation matrix of the axis.
[0121] Similarly, the formula for calculating the fourth position is to take the second rotation angle. become Substitute into the above formula (7) to calculate.
[0122] The third posture can be represented as Then the fifth posture can be represented as add The fourth posture can be represented as add .
[0123] Step S2200.5: Control the end of the robotic arm to drive the multi-axis workpiece to move along the second circular arc trajectory.
[0124] In this embodiment, the robotic arm end is controlled to drive the multi-axis workpiece to move along the second arc trajectory. The actual contact force in the third direction is judged in real time to determine whether the contact force component is greater than or equal to the second preset force value. If so, the attitude adjustment around the Y-axis of the inserted hole shaft is ended.
[0125] Step S2300: When the actual contact force in the third direction is greater than or equal to the second preset force value, the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece is calculated to obtain the deviation vector.
[0126] In one embodiment of this application, the calculation operation in step S2300 includes: Step S2300.1: Obtain a contact image containing the contact surface between the multi-axis workpiece and the multi-hole workpiece.
[0127] Step S2300.2: Based on the contact image, detect the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece.
[0128] In this embodiment, a camera is used to acquire a contact image containing the contact surface of a multi-axis workpiece and a multi-hole workpiece. Image analysis is then performed on the contact image to determine the deviation between the central axis of the multi-axis component and the corresponding hole in the multi-hole component after the multi-axis workpiece and the multi-hole workpiece come into contact.
[0129] In one embodiment of this application, deep learning can be used to perform image analysis on the contact image, thereby obtaining the deviation vector between the central axis of the multi-axis element and the corresponding hole in the multi-hole element after the multi-axis workpiece and the multi-hole workpiece come into contact.
[0130] In one embodiment of this application, step S2300.2, which detects the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece based on the contact image, includes steps S2300.21 to S2300.22.
[0131] Step S2300.21: Detect the arc line pairs in the contact image.
[0132] When a multi-axis workpiece and a multi-hole workpiece are not perfectly aligned, the shaft in the multi-axis component and the corresponding hole in the multi-hole component do not completely overlap. Since the edges of the shaft in the multi-axis workpiece and the edges of the holes in the multi-hole workpiece are both arc-shaped, the aforementioned misaligned portions form a pair of crescent-shaped arc lines. This pair of arc lines includes the arc line corresponding to the shaft edge and the arc line corresponding to the hole edge. It is understood that this pair of arc lines reflects the deviation between the shaft in the multi-axis workpiece and the corresponding hole in the multi-hole workpiece. Therefore, after obtaining the contact image, the pair of arc lines in the contact image is detected.
[0133] In one embodiment of this application, arc pairs in a contact image can be detected using deep learning.
[0134] Step S2300.22: For any of the said arc line pairs, determine the first centroid position corresponding to the first centroid of the first arc line in the arc line pair, determine the second centroid position corresponding to the second arc line in the arc line pair, and calculate the deviation vector between the first centroid position and the second centroid position as the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece.
[0135] It is understandable that after obtaining the arc pair, the arc with the smaller curvature in the arc pair corresponds to the arc edge of the hole. The arc with the larger curvature in the arc pair corresponds to the arc edge of the shaft. Based on this, the arc corresponding to the hole edge in the arc pair is designated as the first arc, and the arc corresponding to the shaft edge in the arc pair is designated as the second arc. Alternatively, the arc corresponding to the hole edge in the arc pair is designated as the second arc, and the arc corresponding to the shaft edge in the arc pair is designated as the first arc.
[0136] For any pair of arcs, calculate the position of the first centroid of the first arc and denote it as the first centroid position. Simultaneously calculate the position of the second centroid of the second arc and denote it as the second centroid position. The deviation vector between the first and second centroid positions is denoted as the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece.
[0137] Based on the above, the deviation vector between the central shaft of a multi-axis workpiece and the corresponding hole in a multi-hole workpiece can be calculated.
[0138] Step S2400: Based on the deviation vector, control the robotic arm to drive the multi-axis workpiece to move around the sixth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is less than or equal to the third preset force value.
[0139] In this embodiment, the sixth direction is the Z-axis direction of the already inserted hole axis coordinate system.
[0140] like Figure 7 As shown, it is a schematic diagram of a robotic arm driving a multi-axis workpiece to move around the Z-axis of the already inserted hole axis coordinate system on a set spherical surface with radius L.
[0141] By controlling the direction of the deviation vector, the robotic arm drives the multi-axis workpiece to rotate clockwise or counterclockwise within a set rotation angle range until the actual contact force of the force sensor in the third direction is less than or equal to the third preset force value.
[0142] The rotation angle range is set to be greater than 0 and less than or equal to 360° / n. No specific limit is imposed here. Where n is the number of axes in a multi-axis workpiece.
[0143] For example, a multi-axis workpiece is a three-axis workpiece. If the three-axis workpiece is currently located to the left of the three-hole workpiece, the robotic arm needs to rotate the multi-axis workpiece counterclockwise within a 0°-60° angle range around the Z-axis of the already inserted hole axis coordinate system until the component of the actual contact force from the force sensor in the third direction is less than or equal to a third preset force value. Conversely, if the three-axis workpiece is currently located to the right of the three-hole workpiece, the robotic arm needs to rotate the multi-axis workpiece clockwise within a 0°-60° angle range around the Z-axis of the already inserted hole axis coordinate system until the component of the actual contact force from the force sensor in the third direction is less than or equal to a third preset force value.
[0144] It should be noted that the deviation vector calculated here is only used as a basis for determining the direction of rotation, and is not used as a basis for calculating the specific rotation angle around the sixth direction.
[0145] The third preset force value is the contact component of the maximum actual contact force collected by the force sensor in the third direction when the shaft in a multi-axis workpiece and the hole in a multi-hole workpiece are perfectly aligned. Theoretically, the third preset force value is 0. However, considering factors such as error, the third preset force value can be a force value close to 0, for example, 1 N.
[0146] This application also provides an electronic device 800, such as... Figure 8 As shown, the electronic device 800 includes a force sensor 820, a robotic arm 810, a memory 830, and a processor 840. The robotic arm 810 is used to drive a multi-axis workpiece to move under the control of the processor 840. The force sensor 850 is used to collect the contact force component of the actual contact force between the robotic arm 810 and the multi-axis workpiece in a third direction. The memory 830 is used to store computer instructions. The processor 840 is used to call the computer instructions from the memory 830 to execute the method as described in any of the above method embodiments.
[0147] In one embodiment of this application, such as Figure 9 As shown, the electronic device 800 also includes a camera 850, which is used to acquire contact images of the contact surfaces of the multi-axis workpiece and the multi-hole workpiece.
[0148] This application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method according to any one of the above-described method embodiments.
[0149] This application may be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of this application.
[0150] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0151] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0152] The computer program instructions used to perform the operations of this application may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuits, such as programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), are personalized by utilizing the status information of the computer-readable program instructions. These electronic circuits can execute the computer-readable program instructions to implement various aspects of this application.
[0153] Various aspects of this application are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0154] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0155] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0156] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions. It will be well known to those skilled in the art that implementation in hardware, implementation in software, and implementation using a combination of software and hardware are equivalent.
[0157] The various embodiments of this application have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein. The scope of this application is defined by the appended claims.
Claims
1. A method for assembling a shaft hole, characterized in that, include: In a multi-axis workpiece, when a single axis is aligned with a corresponding hole in a multi-hole workpiece, the operation of determining the bottom center position of the shaft already inserted into the hole in the multi-axis workpiece is performed; where the shaft already inserted into the hole is the shaft in the multi-axis workpiece that is aligned with a hole in the multi-hole workpiece. Based on the first rotation angle, the robotic arm drives the multi-axis workpiece to move around the fourth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is greater than or equal to the first preset force value; the first rotation angle is determined based on the deviation value between the third rotation angle and the preset angle, and the third rotation angle is determined based on the second contact force of the contact surface between the robotic arm and the multi-axis workpiece in the first direction and the second contact resultant force in the second direction and the third contact force of the second contact force in the third direction. When the actual contact force in the third direction is greater than or equal to the first preset force value, the robotic arm is controlled based on the second rotation angle to drive the multi-axis workpiece to move around the fifth direction on the set spherical surface until the actual contact force in the third direction between the robotic arm and the multi-axis workpiece is greater than or equal to the second preset force value. The second rotation angle is determined based on the deviation between the fourth rotation angle and the preset angle. The fourth rotation angle is determined based on the resultant force of the third contact force in the first and second directions and the fourth contact force in the third direction of the third contact force between the robotic arm and the multi-axis workpiece. When the actual contact force in the third direction is greater than or equal to the second preset force value, the deviation vector between the central shaft of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece is calculated to obtain the deviation vector. Based on the deviation vector control, the robotic arm drives the multi-axis workpiece to move around the sixth direction on the set spherical surface until the actual contact force of the contact surface between the robotic arm and the multi-axis workpiece in the third direction is less than or equal to the third preset force value. The spherical surface is defined as a sphere with the bottom center of the inserted shaft as its center and a set distance as its radius. The set distance is the distance between the bottom center of the inserted shaft and the end of the robotic arm. The first direction, the second direction, and the third direction are the extension directions of the X-axis, Y-axis, and Z-axis of the tool coordinate system, respectively. The tool coordinate system is a coordinate system established with the center of the flange at the end of the robotic arm as its origin. The sixth direction is the extension direction of the inserted shaft. The fourth direction and the fifth direction are perpendicular to each other in a plane perpendicular to the sixth direction.
2. The method according to claim 1, characterized in that, The first rotation angle is determined by the following steps: The second contact force of the contact surface between the robotic arm and the multi-axis workpiece is obtained in the first direction and the second contact resultant force in the second direction, and the third contact component force of the second contact force in the third direction. The third rotation angle is determined based on the second contact resultant force and the third contact component force; The first rotation angle is determined based on the third rotation angle and the preset angle deviation value; The second rotation angle is determined by the following steps: When the actual contact force in the third direction is greater than or equal to the first preset force value, the third contact force of the contact surface between the robotic arm and the multi-axis workpiece is obtained as the third contact resultant force in the first and second directions and the fourth contact component of the third contact force in the third direction. The fourth rotation angle is determined based on the third contact resultant force and the fourth contact component force. The second rotation angle is determined based on the fourth rotation angle and the preset angle deviation value.
3. The method according to claim 1, characterized in that, The calculation operations include: Obtain a contact image containing the contact surface between the multi-axis workpiece and the multi-hole workpiece; Based on the contact image, the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece is detected.
4. The method according to claim 3, characterized in that, The step of detecting the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece based on the contact image includes: Detect the pairs of arc lines in the contact image; For any of the said arc line pairs, the first centroid position corresponding to the first centroid of the first arc line is determined according to the first arc line in the arc line pair, and the second centroid position corresponding to the second arc line is determined according to the second arc line in the arc line pair. The deviation vector between the first centroid position and the second centroid position is calculated as the deviation vector between the central axis of the multi-axis workpiece and the corresponding hole in the multi-hole workpiece.
5. The method according to claim 1, characterized in that, The method of controlling the robotic arm based on the first rotation angle to drive the multi-axis workpiece to move around the fourth direction on a set spherical surface includes: Based on the first rotation angle and the first pose of the robotic arm end, determine the first arc trajectory of the robotic arm end on the set spherical surface; The robotic arm end effector is controlled to drive the multi-axis workpiece to move along the first circular arc trajectory.
6. The method according to claim 1, characterized in that, The operation of determining the center position of the bottom of the shaft already inserted in the hole in a multi-axis workpiece includes: Obtain the first contact force at the contact surface between the robotic arm and the multi-axis workpiece; Based on the first contact force, determine the shaft that has been inserted into the hole in the multi-axis workpiece; Obtain the first position of the end effector of the robotic arm; Based on the first position, determine the center position of the bottom of the inserted shaft.
7. The method according to claim 6, characterized in that, The first contact force includes a first contact force component along a first direction and a second contact force component along a second direction, wherein the first direction and the second direction are perpendicular. Determining the inserted shaft in the multi-axis workpiece based on the first contact force includes: The contact azimuth angle between the multi-axis workpiece and the multi-hole workpiece is determined based on the first contact force component value and the second contact force component value. Based on the contact azimuth angle and the first correspondence, the shaft that has entered the hole in the multi-axis workpiece is determined; wherein, the first correspondence is a range of contact azimuth angles when different shafts of the multi-axis workpiece contact the multi-hole workpiece.
8. The method according to claim 6, characterized in that, Determining the center position of the bottom of the inserted shaft based on the first position includes: The bottom center position of the multi-axis workpiece is determined based on the first position and the first relative position relationship; wherein, the first relative position relationship is the relative position relationship between the end of the robotic arm and the bottom center of the multi-axis workpiece; Based on the inserted shaft and the second correspondence, the second relative position relationship corresponding to the inserted shaft is determined; wherein, the second correspondence relationship is the relative position relationship between the bottom centers of different shafts of the multi-axis workpiece and the bottom center of the multi-axis workpiece. The bottom center position of the inserted shaft is determined based on the bottom center position of the multi-axis workpiece and the second relative position relationship.
9. An electronic device, characterized in that, The electronic device includes a force sensor, a robotic arm, a memory, and a processor. The robotic arm is used to move the shaft workpiece under the control of the processor. The force sensor is used to collect the actual contact force value of the contact surface between the robotic arm and the shaft workpiece. The memory is used to store computer instructions. The processor is used to call the computer instructions from the memory to execute the method as described in any one of claims 1-8.
10. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the method according to any one of claims 1-8.
Citation Information
Patent Citations
Shaft hole assembling method and equipment and medium
CN121374600A