Six-axis parallel robot with compliant motion function and motion method thereof

CN123000728APending Publication Date: 2026-10-30DELTA ELECTRONICS INC(CN)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510566417.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-30
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

然而,这样的设置不但会提升系统的复杂度,也会增加产线成本

Benefits of technology

[0023]相较于相关技术,本揭示采用主动式的六轴并联机器人,可以在不需要设置额外的传感器的情况下实现顺应性运动,可在节省成本的同时实现更高弹性的操作。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123000728A_ABST
    Figure CN123000728A_ABST
Patent Text Reader

Abstract

A six-axis parallel robot with compliant motion function and a motion method thereof, the six-axis parallel robot includes a moving platform, a base platform, and six actuators arranged between the moving platform and the base platform through a plurality of joints. The moving platform has a target pose and a plurality of resistance forces. Each actuator has a linear motor and a driver, wherein each driver performs: calculating inverse kinematics according to the target pose to obtain the linear movement amount that each linear actuator needs to follow and generating a position command; calculating a Jacobian matrix, and calculating the force distribution of the six linear actuators based on the Jacobian matrix and the plurality of resistance forces and generating a force command; controlling the linear motor according to the position command and the force command to maintain the moving platform at the target pose; and, when an external force exceeding one of the plurality of resistance forces is accepted, controlling the linear motor to perform compliant motion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to a six-axis parallel robot, and more particularly to an active six-axis parallel robot capable of compliant motion and its motion method. Background Technology

[0002] In the assembly process of automated production lines, six-axis (or six degrees of freedom) parallel robots are often used to assist in assembly. These robots generally include active robots and passive devices.

[0003] Active robots, equipped with active motors, can provide active compensation and are therefore more commonly used than passive robots. However, due to their high rigidity (e.g., actuators using DC motors and ball screws), active robots cannot independently perform compliant motion when subjected to external forces. During contact-based processes (such as parts assembly), collisions or interferences are inevitable. If the robot cannot provide timely compliant feedback in the event of a collision or interference, the assembled part and the workpiece will collide directly, causing damage to the assembled part.

[0004] Generally, when using active robots for contact-based processes on a production line, additional sensors (such as force / torque sensors or cameras) are required for auxiliary control to achieve compliant movement indirectly. However, such a setup not only increases system complexity but also raises production line costs. Summary of the Invention

[0005] This application discloses a six-axis parallel robot with compliant motion function and its motion method, which can achieve compliant motion through the robot's own mechanism and algorithm without the need for additional sensors.

[0006] In one embodiment, the six-axis parallel robot of this application mainly includes:

[0007] A mobile platform having a first surface;

[0008] A base platform having a second surface;

[0009] Multiple first joint elements are respectively disposed on the first surface;

[0010] Multiple second joint elements are respectively disposed on the second surface;

[0011] Six linear actuators are respectively disposed between the moving platform and the base platform via the plurality of first joint elements and the plurality of second joint elements, and each linear actuator has a linear motor and a motor driver, wherein the moving platform has a target pose and a plurality of resistance forces relative to multiple directions, and each motor driver is configured to perform the following actions respectively:

[0012] Based on the target pose, an inverse kinematics calculation is performed to obtain the linear movement amount that each linear actuator needs to follow to maintain the mobile platform in the target pose, and a corresponding position command is generated.

[0013] Calculate a Jacobian matrix based on the target pose;

[0014] Based on the Jacobian matrix and the multiple resistance forces, a force distribution of the six linear actuators is calculated, and a corresponding force command is generated.

[0015] Based on the position command and the force command, the corresponding linear motor is controlled to maintain the moving platform in the target pose; and

[0016] When the mobile platform receives an external force that exceeds one of the plurality of resistance forces, the corresponding linear motor is controlled to perform compliant movement.

[0017] In one embodiment, the compliant motion method of this application is applicable to the aforementioned six-axis parallel robot and includes the following steps:

[0018] Each motor driver performs an inverse kinematics calculation based on the target pose to obtain the linear movement amount that each linear actuator needs to follow to maintain the mobile platform at the target pose, and generates a corresponding position command.

[0019] Each motor driver calculates a Jacobian matrix based on the target pose.

[0020] Each motor driver calculates a force distribution of the six linear actuators based on the Jacobian matrix and the multiple resistance forces, and generates a corresponding force command;

[0021] Each motor driver controls its corresponding linear motor according to the position command and the force command to maintain the moving platform in the target position; and

[0022] When the mobile platform receives an external force that exceeds one of the plurality of resisting forces, each of the motor drivers controls each of the linear actuators to perform compliant movement.

[0023] Compared to related technologies, this invention discloses an active six-axis parallel robot that can achieve compliant motion without the need for additional sensors, enabling more flexible operation while saving costs. Attached Figure Description

[0024] Figure 1 This is an embodiment of the six-axis parallel robot of this application;

[0025] Figure 2 This is an embodiment of a block diagram of the linear actuator of this application;

[0026] Figure 3 This is an embodiment of the motion flowchart of this application;

[0027] Figure 4 This is an embodiment illustrating the inverse kinematics calculation of this application;

[0028] Figure 5 This is an example of a schematic diagram of the force distribution in this application.

[0029] Explanation of icon numbers

[0030] 1: Six-axis parallel robot

[0031] 2: Mobile Platform

[0032] 21: First Surface

[0033] 3: Base Platform

[0034] 31: Second Surface

[0035] 41: First joint element

[0036] 42: Second joint element

[0037] 5: Linear actuator

[0038] 51: Motor driver

[0039] 52: Linear Motor

[0040] L1: Linear shift

[0041] S31~S43: Movement Steps

[0042] B1~B6: Coordinate positions of the first joint in the base platform coordinate system; T1~T6: Coordinate positions of the second joint in the base platform coordinate system; ra: First distance.

[0043] rb: Second distance

[0044] α: First included angle

[0045] β: Second included angle Target pose of the center point of the mobile platform

[0046] f1~f6: Linear thrust vectors of the linear actuator Detailed Implementation

[0047] This application discloses a six-axis parallel robot with compliant motion capability (hereinafter referred to as a six-axis parallel robot). The six-axis parallel robot of this application is an active robot. By modifying the actuator in the six-axis parallel robot to a linear actuator using a linear motor, the rigidity of the actuator is reduced. Based on the inherent reverse-drive characteristic of the linear motor, the linear actuator can provide translational and / or rotational compensation when subjected to external forces, thus enabling compliant motion. This avoids the problem of part damage caused by the six-axis parallel robot's inability to perform compliant motion when performing part assembly tasks and encountering collisions or interference.

[0048] Furthermore, this application, through algorithm execution, can actively detect the displacement and force magnitude of each linear actuator when it is pushed by external force during compliant motion in a six-axis parallel robot. Thus, compliant motion functionality can be achieved without the need for additional sensors.

[0049] Six-axis generally refers to a robot that achieves operations in six degrees of freedom (DoF) through the coordinated movement of six drive elements (six linear actuators 5 in this application). Therefore, the six-axis parallel robot of this application can also be called a six-DOF parallel robot. For ease of understanding, the following description will consistently use the term "six-axis parallel robot," but it is not limited to this.

[0050] Please see Figure 1 This is an embodiment of the six-axis parallel robot of this application. Figure 1 A schematic diagram illustrating the structure of the six-axis parallel robot 1 of this application is shown. Figure 1 As shown, the six-axis parallel robot 1 of this application mainly includes a mobile platform 2, a base platform 3, a plurality of first joint elements 41, a plurality of second joint elements 42, and six linear actuators 5. The mobile platform 2 is disposed relative to the base platform 3, wherein the mobile platform 2 has a first surface 21 in the direction toward the base platform 3, and the base platform 3 has a second surface 31 in the direction toward the mobile platform 2. The number of the plurality of first joint elements 41 is six, and they are respectively disposed on the first surface 21 of the mobile platform 2. The number of the plurality of second joint elements 42 is six, and they are respectively disposed on the second surface 31 of the base platform 3.

[0051] The linear actuators 5 are elongated. One end of each of the six linear actuators 5 is connected to a first joint element 41, and the other end is connected to a second joint element 42. Thus, the six linear actuators 5 are respectively positioned between the moving platform 2 and the base platform 3 via the six first joint elements 41 and the six second joint elements 42.

[0052] In one embodiment, the base platform 3 is positioned in a relatively stable location (e.g., fixed to the ground or other supporting structure), and the mobile platform 2 is a movable component on the six-axis parallel robot 1, for example, used to mount an end effector. When using the six-axis parallel robot 1 for contact-based assembly processes, the mobile platform 2 may be subjected to external forces. One technical feature of this application is that the six-axis parallel robot 1 does not require additional sensors; instead, it only needs six linear actuators 5 and internal algorithms to analyze external forces and control the linear actuators 5 to perform compliant movements (described in detail later).

[0053] Please also refer to Figure 2 This is a block diagram embodiment of the linear actuator of this application. Figure 2 As shown, each linear actuator 5 in this application has a motor driver 51 and a linear motor 52. The motor driver 51 is connected to the linear motor 52 to control the rotation of the linear motor 52 via control commands. The linear motor 52 is connected to a first joint element 41 and a second joint element 42 at both ends of the linear actuator 5. When the linear motor 52 operates, it can drive the first joint element 41 and / or the second joint element 42 to rotate, so that the moving platform 2 is maintained in the desired target posture. The motor driver 51 can also be connected to the first joint element 41 and the second joint element 42. When the moving platform 2 receives an external force, the motor driver 51 can analyze the external force based on the angle changes of the first joint element 41 and the second joint element 42 and the displacement changes of the linear motor 52.

[0054] In this application, the six-axis parallel robot 1 maintains the mobile platform 2 in a preset target pose after startup. When the mobile platform 2 is maintained in the target pose, all six linear actuators 5 operate at preset linear movement amounts L1. In one embodiment, these linear movement amounts L1 are calculated based on the desired target pose. On the other hand, the six-axis parallel robot 1 can be programmed by the user to set multiple resistance forces relative to multiple directions (e.g., movement directions along the X, Y, or Z axes, or rotation directions along the X, Y, or Z axes). One technical feature of this application is that when the mobile platform 2 receives an external force but the force does not exceed any resistance force, each motor driver 51 continuously controls each linear motor 52 to operate at the linear movement amount L1, so that the mobile platform 2 maintains the target pose; when the mobile platform 2 receives an external force and the force exceeds any resistance force, each motor driver 51 controls each linear motor 52 to yield to achieve compliant movement.

[0055] In one embodiment, the six-axis parallel robot 1 performs the analysis and calculation of the external force as described in the following paragraphs using the respective motor drivers 51 in each linear actuator 5. In another embodiment, the six-axis parallel robot 1 performs the analysis and calculation of the external force as described in the following paragraphs using one or more controllers (not shown), and generates instructions to control each motor driver 51 after the analysis is completed. For ease of understanding, the following description will use the example of each motor driver 51 executing an algorithm to analyze the external force, but it is not limited to this.

[0056] Please refer to the following as well. Figure 3 This is an embodiment of the motion flowchart of this application. First, the six-axis parallel robot 1 receives external operations through a human-machine interface (not shown) to set the target pose of the mobile platform 2 (step S31). Furthermore, the six-axis parallel robot can also simultaneously set multiple resistance forces of the mobile platform 2 relative to multiple directions through the external operations (step S32). In one embodiment, the resistance forces include three-axis forces and three-axis torques in a Caliber coordinate system. The three axes include the X-axis, Y-axis, and Z-axis.

[0057] Next, each motor driver 51 performs inverse kinematics calculations based on the target pose of the mobile platform 2 to obtain the linear movement L1 required by each linear actuator 5 to maintain the mobile platform 2 in the target pose (step S33). In one embodiment, the six-axis parallel robot obtains the linear movement L1 of each linear actuator 5 by calculating inverse kinematics after the user sets the target pose of the mobile platform 2, and stores it in the corresponding motor driver 51. In another embodiment, the user can directly set the linear movement L1 of each linear actuator 5 and store it in the corresponding motor driver 51.

[0058] The target pose set in step S31 is a pose in the Caliber coordinate system. In order to control each linear motor 52, the six-axis parallel robot 1 first converts the target pose into the linear translation amount L1. Then, each motor driver 51 generates a corresponding position command based on the linear translation amount L1 (step S34). When each motor driver 51 controls the corresponding linear motor 52 to rotate according to its own position command, the six linear actuators 5 can maintain the moving platform 2 in the target pose.

[0059] On the other hand, the multiple resistance forces set in step S32 are forces in a Cartesian coordinate system. In order to control each linear motor 52, the six-axis parallel robot 1 must convert the resistance forces into force commands. In one embodiment, each motor driver 51 calculates the Jacobian matrix based on the target pose (step S35), and then calculates the force distribution of the six linear actuators 5 based on the Jacobian matrix and the multiple resistance forces (step S36). Based on this force distribution, it generates force commands corresponding to each linear actuator 5 (step S37), thereby obtaining the force threshold of each linear motor 52.

[0060] Specifically, the Jacobian matrix describes the relationship between the robot's joint space and the Cartesian coordinate space of the end effector of the mobile platform 2. Therefore, the force distribution of each linear actuator 5 can be calculated from the pose and resistance force of the mobile platform 2. This force distribution is stored in each motor driver 51. The calculation of the Jacobian matrix will be further described in the following paragraphs.

[0061] Following steps S34 and S37, the six-axis parallel robot 1 obtains corresponding position and force commands (as well as the force thresholds for each linear actuator 5) for each of the six linear actuators 5. At this time, each motor driver 51 controls the corresponding linear motor 52 to rotate according to the position and force commands, so that the moving platform 2 remains in the preset target pose (step S38). Furthermore, each motor driver 51 continuously performs servo regression control during the operation of the six-axis parallel robot 1 (step S39).

[0062] Specifically, when the mobile platform 2 receives an external force, the six-axis parallel robot 1 determines whether the external force exceeds any resistance level through each motor driver 51 (step S40). For example, whether the external force exceeds the force threshold of any linear actuator 5. When the mobile platform 2 does not receive an external force or the external force does not exceed any resistance level, the six-axis parallel robot 1 will keep the mobile platform 2 in the target pose. However, when the mobile platform 2 receives an external force and the external force exceeds any resistance level, each motor driver 51 will drive the corresponding linear motor 52 in the reverse direction to achieve compliant movement (step S41). More specifically, when the external force exceeds the force threshold of any linear actuator 5, the motor driver 51 of this linear actuator 5 will drive the linear motor 52 of this linear actuator 5 in the reverse direction, thereby achieving compliant movement.

[0063] During the process of the mobile platform 2 receiving external force, each motor driver 51 continuously monitors the change in the linear movement L1 of each linear motor 52; when the external force disappears or changes to not exceeding any resistance force, each motor driver 51 immediately controls the corresponding linear motor 52 to rotate based on the position command and force command, so that the mobile platform 2 returns to the target posture. In this way, the servo return control can be realized.

[0064] As described above, when an external force exceeds any resistance level, each motor driver 51 reverses the direction of the corresponding linear motor 52 to achieve compliant motion. However, each linear actuator 5 (i.e., linear motor 52) has its own mechanical limits and cannot yield indefinitely. Therefore, in some embodiments, each motor driver 51 continuously monitors the change in the linear movement of each linear motor 52 during compliant motion and determines whether the external force exceeds the mechanical limits (step S42). If the current compliant motion has not reached or exceeded the mechanical limits, each motor driver 51 controls the corresponding linear actuator 5 to continue compliant motion (i.e., return to step S39). If it is determined that the current compliant motion has exceeded or is about to exceed the mechanical limits, each motor driver 51 issues a warning signal to stop moving (step S43), thereby preventing damage to the six-axis parallel robot 1 due to compliant motion. It is worth mentioning that the system or each motor driver 51 can also send commands to other devices in the system (such as a robotic arm used in conjunction with a six-axis parallel robot 1) to stop the movement or stop the operation of other devices, thereby preventing other possible collision risks.

[0065] Specifically, during servo regression control (i.e., steps S39 to S43), each motor driver 51 continuously monitors the change in the linear movement of its corresponding linear motor 52 and uses this change to determine whether the external force currently received by the moving platform 2 exceeds the force threshold of each linear actuator 5. When it is determined that the external force exceeds the force threshold of any linear actuator 5, each motor driver 51 controls its corresponding linear motor 52 to retract to perform compliant movement. Simultaneously, each motor driver 51 continuously monitors whether the change in the linear movement of its corresponding linear motor 52 exceeds a preset mechanism threshold. This mechanism threshold corresponds to the mechanism limit of the linear motor 52.

[0066] Before the change exceeds the mechanism threshold, each motor driver 51 allows the corresponding linear motor 52 to continue yielding to maintain compliant motion. However, when the change in the linear movement of any linear motor 52 exceeds the mechanism threshold, each motor driver 51 immediately sends a warning signal to stop movement to prevent damage to the linear actuator 5. In one embodiment, the warning signal can be directly used by each motor driver 51 to control each linear motor 52 to stop operating. In another embodiment, the warning signal can be sent to the system controller or the production line controller (not shown) to control the six-axis parallel robot 1 to stop moving, or to control the source of the external force (not shown) to stop moving.

[0067] Through the above steps, the six-axis parallel robot 1 of this application can determine whether to perform compliant motion when the moving platform 2 receives external force, and after performing compliant motion, it can continuously monitor the displacement change of each linear actuator 5, thereby avoiding damage to the six-axis parallel robot 1 caused by the compliant motion exceeding the limit of the mechanism.

[0068] Please continue reading Figure 4 This is an embodiment of the inverse kinematics calculation schematic diagram of this application. As mentioned above, since the target pose of the mobile platform 2 set by the user is a pose in the Caliber coordinate system, it is necessary to first convert this target pose into a position command that can directly control each linear motor 52. To achieve this, this application uses inverse kinematics for the conversion.

[0069] like Figure 4 As shown, firstly, the structure of the six-axis parallel robot 1 needs to be defined. This definition includes the target pose of the mobile platform 2 based on the coordinate system of the base platform 3 (i.e., the target pose input in step S31 above), the first distance r between the center point of the mobile platform 2 and each of the first joint elements 41. a The second distance r between the center point of the base platform 3 and each of the second joint elements 42 b The first included angle α represents half the included angle between two relatively close first joint elements 41 on the mobile platform 2, and the second included angle β represents half the included angle between two relatively close second joint elements 42 on the base platform 3. In this application, the controller or each motor driver 51 inputs the above information into the inverse kinematics formula for calculation.

[0070] Next, based on inverse kinematics, the controller or each motor driver 51 determines the distance r according to the second distance. b The second coordinate positions B1 to B6 of each second joint element 42 in the base platform coordinate system are calculated using the second included angle β, and the calculation formula is as follows:

[0071] B1 = [r] b cos(β),r b sin(β), 0];

[0072] B2 = [r b cos(-β),r b sin(-β), 0];

[0073]

[0074] Next, the controller or each motor driver 51 further determines the distance r based on the first distance. aThe first coordinate positions T1 to T6 of each first joint element 41 in the base platform coordinate system are calculated using the first included angle α. It should be noted that the calculated first coordinate positions T1 to T6 have not undergone coordinate transformation and therefore do not represent the actual positions of each first joint element 41. The formulas for calculating the first coordinate positions T1 to T6 are as follows:

[0075]

[0076] Next, the controller or each motor driver 51 further performs coordinate transformation matrix multiplication on the first coordinate positions T1 to T6 of each first joint element 41 sequentially, based on the target pose of the mobile platform 2 with the base platform coordinate system as a reference. Then, the transformed coordinate positions of each first joint element 41 are compared with the corresponding second joint element 42 using the Euclidean distance to obtain the linear movement L1 of each corresponding linear actuator 5. The specific formula is described below:

[0077] for i = 0 to 5 do:

[0078]

[0079] Among them, H 4x4 For the target pose [XYZABC] T The homogeneous transformation matrix, T[i] represents the first coordinate position of each first joint element 41 in the base platform coordinate system, l leg Let L1 be the linear displacement of each linear actuator 5. It is the set of linear displacements L1 of the six linear actuators 5.

[0080] Through the aforementioned inverse kinematics calculations, the controller or each motor driver 51 can convert the target pose of the user-set mobile platform 2 into a linear movement L1 for each linear actuator 5. Therefore, the controller or each motor driver 51 can generate position commands to control each linear motor 52 based on the linear movement L1.

[0081] On the other hand, in addition to generating the linear movement L1 based on the target pose, the controller or each motor driver 51 also needs to generate the Jacobian matrix based on the target pose (as described in step S35 above).

[0082] In this application, the Jacobian matrix is ​​defined as [XYZABC]. T As a 6x6 matrix arranged as first-order partial derivatives. Assuming J is a Jacobian matrix, then we can define... in The linear velocity Cassette coordinate system represents the mobile platform 2 (end effector); This represents the linear velocity of each linear actuator 5. In the Jacobian matrix, X, Y, and Z represent the positions of the endpoints of the mobile platform 2 in the Calibre coordinate system, including X along the X-axis, Y along the Y-axis, and Z along the Z-axis; A, B, and C represent the orientation of the endpoints of the mobile platform 2, for example, A, B, and C represent roll, pitch, and yaw in Euler angles, respectively. T represents transpose.

[0083] First, the controller or each motor driver 51 inputs the target pose of the mobile platform 2, and inputs a preset small gain change (Increment). small This tiny gain change can be, for example, 0.1, 0.2, etc., and is not limited. Next, the controller or each motor driver 51 establishes a pose array [XYZABC]. T And designate any value in the pose array as the tiny gain change.

[0084] For example, the controller or each motor driver 51 establishes a pose array, such as [0 00 0 0 0]. T Furthermore, a preset small gain change (e.g., 0.1) is assigned to the value of any matrix element (e.g., the first element) in this pose array to obtain [0.1 0 0 0 0 0]. T The pose array. Where 0.1 is the matrix element of the i-th term (i = 1 to 6). The value.

[0085] Next, the controller or each motor driver 51 calculates the linear displacement of each linear actuator 5 before the change in the target pose (i.e., using inverse kinematics) through inverse kinematics. ), and after adding a small gain change to the current pose to generate the changed pose, the changed linear movement of each linear actuator 5 under the changed pose is calculated (i.e., Next, the controller or each motor driver 51 calculates the difference between the linear movement before and after the change (i.e., in (This is the change difference). Finally, using this change difference and the values ​​of the matrix elements of the pose array after adding the small gain change, the final value of the corresponding matrix element in the Jacobian matrix is ​​calculated. Taking the above Jacobian matrix J as an example, for:

[0086] J 1(1X6) The values ​​of the matrix elements of the pose matrix are the result of adding a small gain change.

[0087] Finally, the controller or each motor driver 51 repeats the above action six times until the final values ​​of the six matrix elements in the Jacobian matrix are obtained. Specifically, each time the controller or each motor driver 51 performs the above action, it obtains a 1x6 matrix element (i.e., J). 1(1X6) After repeating the above actions six times, six sets of 1x6 matrix elements are obtained. Stacking these six sets of matrix elements yields a complete 6x6 Jacobian matrix. By using the Jacobian matrix, this application can convert the resistance forces of the mobile platform 2 in each direction into the force distribution of each linear actuator 5, thereby generating force commands to control each linear motor 52 and obtaining the force threshold of each linear actuator 5.

[0088] Please also refer to Figure 5 This is an embodiment of the force distribution diagram of this application. Figure 5 This is used to explain in detail how the present application calculates the force distribution of each linear actuator 5 based on the resistance force of the mobile platform 2 and the Jacobian matrix.

[0089] First, the controller or each motor driver 51 obtains the values ​​of multiple parameters required for calculation, including but not limited to the equivalent total mass m of the moving platform 2 and the equivalent centroid vector of the moving platform. The X-axis component F of the equivalent external force acting on the mobile platform 2 m,x Y-axis component F m,y and Z-axis direction component F m,z The equivalent moment vector T acting on mobile platform 2 m And a vector matrix F composed of the equivalent external force and the equivalent moment vector. Specifically, the above parameters can be obtained by the controller or each motor driver 51 based on calculation after the initial setting is completed.

[0090] Next, the controller or each motor driver 51 obtains the current attitude (i.e., target pose) of the mobile platform 2 and the linear movement L1 of each linear actuator 5, and calculates the Jacobian matrix. The calculation method of this Jacobian matrix is ​​the same as described above and will not be repeated here. Alternatively, the controller or each motor driver 51 can directly use the Jacobian matrix calculated above, without having to calculate another Jacobian matrix.

[0091] Next, the controller or each motor driver 51 calculates the linear thrust vector required by each linear actuator 5 to maintain the moving platform 2 in the target pose according to the following first formula:

[0092]

[0093] Where f is the linear thrust vector of each linear actuator 5, J T Let F be the Jacobian matrix, and F be the vector matrix. Let be the iso-intersecting centroid vector of mobile platform 2, and m be the equivalent total mass of mobile platform 2. Let be the gravity vector. More specifically, the first formula can be further expanded into the second formula shown below:

[0094]

[0095] Where f1 to f6 are the linear thrust vectors of each linear actuator 5, J 1(1x6) ~J 6(1x6) F represents the numerical values ​​of each element in the Jacobian matrix. X F Y F Z For the equivalent external force on mobile platform 2, T X T Y T Z The equivalent moment vector is applied to mobile platform 2.

[0096] like Figure 5 As shown, the symbols f1 to f6 represent the linear thrust vectors of the six linear actuators 5. These six linear thrust vectors f1 to f6 can be used to represent the force distribution of each linear actuator 5 when the moving platform 2 receives an external force (i.e., mg). By calculating the force distribution of each linear actuator 5, the controller or each motor driver 51 can generate force commands applicable to each linear motor 52. Furthermore, based on the linear thrust vectors of these six linear actuators 5, the controller or each motor driver 51 can also set the force threshold for each linear actuator 5. In this way, when the moving platform 2 receives an external force, and the force on any linear actuator 5 exceeds its own force threshold, the motor driver 51 can be triggered to start executing compliant motion.

[0097] The technical solution disclosed herein enables a six-axis parallel robot to achieve compliant motion without the need for additional sensors, thus achieving more flexible operation while saving costs.

Claims

1. A six-axis parallel robot with compliant motion function, comprising: The mobile platform has a first surface; The base platform has a second surface; Multiple first joint elements are respectively disposed on the first surface; Multiple second joint elements are respectively disposed on the second surface; Six linear actuators are respectively disposed between the moving platform and the base platform via the plurality of first joint elements and the plurality of second joint elements, and each of the linear actuators has a linear motor and a motor driver, wherein the moving platform has a target pose and a plurality of resistance forces relative to multiple directions, and each of the motor drivers is configured to perform the following actions respectively: Action a) Perform inverse kinematics calculations based on the target pose to obtain the linear movement amount required by each linear actuator to maintain the mobile platform following the target pose, and generate corresponding position commands; Action b) Calculate the Jacobian matrix based on the target pose; Action c) Calculate the force distribution of the six linear actuators based on the Jacobian matrix and the multiple resistance forces, and generate corresponding force commands; Action d) Control the corresponding linear motor according to the position command and the force command to maintain the mobile platform in the target pose; and Action e) When the mobile platform receives an external force that exceeds one of the plurality of resistance forces, the corresponding linear motor is controlled to perform compliant movement.

2. The six-axis parallel robot of claim 1, wherein each of the motor drivers is further configured to perform the following actions respectively: Accepting external operations to set the target pose of the mobile platform; and Accept the external operation to set the mobile platform relative to the plurality of resistance forces in multiple directions, wherein the plurality of resistance forces include triaxial forces and triaxial torques in the Caliber coordinate system.

3. The six-axis parallel robot of claim 1, wherein each of the motor drivers is further configured to perform the following actions to achieve action e): Action e1) Continuously monitors the change in the linear movement of the corresponding linear motor; Action e2) Determine whether the received external force exceeds one of the plurality of resisting forces; Action e3) When it is determined that the external force exceeds one of the plurality of resistance forces, the corresponding linear motor is controlled to yield in order to perform compliant movement; Action e4) Determine whether the change in the linear movement of the linear motor exceeds a threshold; and Action e5) sends a warning signal to stop moving when the change in the linear movement of the linear motor exceeds the threshold.

4. The six-axis parallel robot of claim 1, wherein each of the motor drivers is further configured to perform the following actions to achieve action a): Input the target pose of the mobile platform with the base platform coordinate system as a reference, the first distance between the center point of the mobile platform and each of the first joint elements, the second distance between the center point of the base platform and each of the second joint elements, the first included angle representing half the included angle between two relatively close first joint elements on the mobile platform, and the second included angle representing half the included angle between two relatively close second joint elements on the base platform. Calculate the second coordinate position of each of the second joint elements in the coordinate system of the base platform based on the second distance and the second included angle; Calculate the first coordinate position of each of the first joint elements in the coordinate system of the base platform based on the first distance and the first included angle; and Based on the target pose of the mobile platform with the base platform coordinate system as a reference, coordinate transformation matrix multiplication is performed sequentially on the first coordinate positions of each first joint element, and Euclidean distance is taken with each corresponding second joint element to obtain the linear movement amount of each corresponding linear actuator.

5. The six-axis parallel robot of claim 1, wherein each of the motor drivers is further configured to perform the following actions to achieve action b): Action b1) Input the current target pose of the mobile platform and input a preset small gain change amount; Action b2) Establish the pose array [XYZ AB C] T Where X, Y, and Z are the positions of the endpoints of the corresponding mobile platform on the X-axis, Y-axis, and Z-axis, respectively, A, B, and C are the Euler angles of the endpoints, and T is the transpose; Action b3) Add the small gain change to the value of any matrix element in the pose array; Action b4) Calculate the linear motion of the linear actuator before the change in the current target pose using the inverse kinematics, and calculate the linear motion of the linear actuator after the change in the pose after the change, after adding the small gain change. Action b5) Calculate the change difference based on the linear shift amount before the change and the linear shift amount after the change, and use the change difference and the values ​​of the item matrix elements obtained in action b3) to calculate the final values ​​of the item matrix elements of the Jacobian matrix. and Action b6) Repeat actions b3) to b5) six times until the final values ​​of the six matrix elements of the Jacobian matrix are obtained, thus completing the Jacobian matrix.

6. The six-axis parallel robot of claim 5, wherein each of the motor drivers is further configured to perform the following actions to achieve action c): Obtain the equivalent total mass of the mobile platform, the equivalent centroid vector of the mobile platform, the X-axis component, Y-axis component and Z-axis component of the equivalent external force acting on the mobile platform, the equivalent moment vector acting on the mobile platform, and a vector matrix composed of the equivalent external force and the equivalent moment vector. Obtain the target pose and the corresponding linear displacement of the linear actuator to calculate the Jacobian matrix; and The linear actuator is calculated according to the first formula to maintain the linear thrust vector that the moving platform needs to follow in the target pose. Where f is the linear thrust vector of each of the linear actuators, J T Let F be the Jacobian matrix, and F be the vector matrix. Let m be the equivalent centroid vector, and m be the equivalent total mass. This is the gravity vector.

7. A method for compliant motion of a six-axis parallel robot, applied to a mobile platform, a base platform, a plurality of first joint elements respectively disposed on a first surface of the mobile platform, a plurality of second joint elements respectively disposed on a second surface of the base platform, and six linear actuators disposed between the mobile platform and the base platform via the plurality of first joint elements and the plurality of second joint elements, wherein the mobile platform has a target pose and a plurality of resistance forces relative to a plurality of directions, each of the linear actuators has a linear motor and a motor driver, and the compliant motion method includes the following steps: Step a) Each motor driver performs inverse kinematics calculations based on the target pose to obtain the linear movement amount required by each linear actuator to maintain the mobile platform following the target pose, and generates a corresponding position command; Step b) The Jacobian matrix is ​​calculated by each of the motor drivers based on the target pose; Step c) Each motor driver calculates the force distribution of the six linear actuators based on the Jacobian matrix and the plurality of resistance forces, and generates corresponding force commands; Step d) Each of the motor drivers controls the corresponding linear motor according to the position command and the force command to maintain the mobile platform in the target pose; and Step e) When the mobile platform receives an external force and the external force exceeds one of the plurality of resistance forces, each of the motor drivers controls each of the linear actuators to perform compliant movement.

8. The compliant movement method according to claim 7, further comprising, before step a),: Step a01) Each of the motor drivers receives an external operation to set the target pose of the mobile platform; and Step a02) The external operation is received by each of the motor drivers to set the multiple resistance forces of the mobile platform relative to multiple directions, wherein the multiple resistance forces include triaxial forces and triaxial torques in the cassette coordinate system.

9. The compliant motion method according to claim 7, wherein step e) comprises: Step e1) Continuously monitor the change in the linear movement of the corresponding linear motor; Step e2) Determine whether the received external force exceeds one of the plurality of resisting forces; Step e3) When it is determined that the external force exceeds one of the plurality of resistance forces, the corresponding linear motor is controlled to yield in order to perform compliant movement; Step e4) Determine whether the change in the linear movement of the linear motor exceeds a threshold; and Step e5) When the change in the linear movement of the linear motor exceeds the threshold, a warning signal is sent to stop the movement.

10. The compliant motion method according to claim 7, wherein step a) comprises: Step a1) Input the target pose of the mobile platform with the base platform coordinate system as a reference, the first distance between the center point of the mobile platform and each of the first joint elements, the second distance between the center point of the base platform and each of the second joint elements, the first included angle representing half the included angle between two relatively close first joint elements on the mobile platform, and the second included angle representing half the included angle between two relatively close second joint elements on the base platform. Step a2) Calculate the second coordinate position of each of the second joint elements in the coordinate system of the base platform based on the second distance and the second included angle; Step a3) Calculate the first coordinate position of each of the first joint elements in the coordinate system of the base platform based on the first distance and the first included angle; and Step a4) Based on the target pose of the mobile platform with the base platform coordinate system as the reference, perform coordinate transformation matrix multiplication on the first coordinate position of each first joint element in sequence, and take Euclidean distance with each corresponding second joint element to obtain the linear movement amount of each corresponding linear actuator.

11. The compliant motion method according to claim 7, wherein step b) comprises: Step b1) Input the current target pose of the mobile platform and input a preset small gain change amount; Step b2) Establish the pose array [XYZ AB C] T Where X, Y, and Z are the positions of the endpoints of the corresponding mobile platform on the X-axis, Y-axis, and Z-axis, respectively, A, B, and C are the Euler angles of the endpoints, and T is the transpose; Step b3) Add the small gain change to the value of any matrix element in the pose array; Step b4) Calculate the linear motion of the linear actuator before the change in the current target pose using the inverse kinematics, and calculate the linear motion of the linear actuator after the change in the pose after the change, after adding the small gain change. Step b5) Calculate the change difference based on the linear shift before the change and the linear shift after the change, and use the change difference and the values ​​of the term matrix elements obtained in step b3) to calculate the final values ​​of the term matrix elements of the Jacobian matrix. and Step b6) Repeat steps b3) to b5) six times until the final values ​​of the six matrix elements of the Jacobian matrix are obtained, thus completing the Jacobian matrix.

12. The compliant movement method according to claim 11, wherein step c) comprises: Step c1) Obtain the equivalent total mass of the mobile platform, the equivalent centroid vector of the mobile platform, the X-axis component, Y-axis component and Z-axis component of the equivalent external force on the mobile platform, the equivalent moment vector on the mobile platform, and the vector matrix composed of the equivalent external force and the equivalent moment vector. Step c2) Obtain the target pose and the corresponding linear movement of the linear actuator to calculate the Jacobian matrix; and Step c3) Calculate the linear thrust vector that the linear actuator needs to follow to maintain the moving platform at the target pose, according to the first formula: Where f is the linear thrust vector of each of the linear actuators, J T Let F be the Jacobian matrix, and F be the vector matrix. Let m be the equivalent centroid vector, and m be the equivalent total mass. This is the gravity vector.