Method for tool center point acceleration limitation and industrial robot system
By calculating the S-curve motion profile in the interpolated motion of the robot joints and limiting the acceleration of the tool center point, the problem of the vacuum gripper falling off when moving the package was solved, achieving efficient and safe package movement.
Patent Information
- Application Number
- CN202510583565.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-14
- Filing Date
- 2025-05-07
- Publication Date
- 2025-09-16
AI Technical Summary
In the existing technology, when industrial robots use vacuum grippers to move packages, they are unable to effectively limit the acceleration of the tool center point, causing the package to fall off, affecting production efficiency and safety.
By calculating an S-curve motion profile from the interpolated motion of the robot joints, limiting the acceleration of the tool center point, and adjusting the joint motion using a scaling factor to ensure that the acceleration is within user-defined limits, the vacuum gripper is able to stably grasp the package.
It effectively prevents packages from falling off, improves production efficiency and safety, and ensures that the robot can move packages efficiently within acceleration limits.
Smart Images

Figure CN120645201A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates generally to the field of industrial robot motion control, and more particularly to a method for computing joint-interpolated robot motion from a starting orientation to a destination, wherein the motion of a tool center point on a robot arm does not exceed user-defined acceleration limits in Cartesian space. Background Art
[0002] Industrial robots are well-known for their use in performing a wide range of manufacturing, assembly, and material movement operations. Many of these operations and tasks are performed by articulated robots, such as five- or six-axis robots with servo motors at each rotary joint. Such robots require real-time control, where motion programs are broken down into small increments, and the robot controller performs real-time feedback control calculations to compute the joint motor input commands that move the tool center point at the end of the robot arm along a prescribed trajectory.
[0003] One common type of robotic task is material movement, which involves moving packages or workpieces from an initial location to a destination. A specific application of this type involves a robot equipped with a vacuum gripper tool, which picks up one package (e.g., box) at a time and moves each package to a specified location. This type of robotic operation is often used for depalletizing or palletizing (i.e., moving boxes from a pallet to a conveyor or vice versa).
[0004] In operations of this type, there's a chance that a package could fall out of the vacuum gripper while being moved by the robot. Falling packages can be very detrimental to the productivity of the package-moving operation. First, the dropped package and its contents can be damaged upon impact. Furthermore, dropped packages must be handled manually—which involves stopping the robot, having an operator pick up the dropped package, inspect it, and manually place it at its intended destination. Other negative consequences of a dropped package can also be experienced—such as disrupting the flow and sequencing of packages on the conveyor belts operating in conjunction with the robot. For all of these reasons, dropped packages are highly undesirable.
[0005] One reason a robot with a vacuum gripper tool might drop a package is that the robot's acceleration of the package creates forces that exceed the vacuum gripper's capabilities. One solution to this problem is to simply slow down the entire robot's motion so that the package doesn't experience high velocities and accelerations. However, for productivity reasons, it's beneficial to operate the robot as fast as possible without exceeding the vacuum gripper tool's force-generating capabilities.
[0006] When a robotic task involves moving the tool center point from one location to another along an arbitrary path, the fastest and most efficient robot operation mode is called joint interpolation kinematics. When a robot operates using joint interpolation kinematics, the robot joints are subject to mechanical constraints, such as maximum rotational speed and acceleration, but the tool center point's motion along the path is solely a result of the joint motion, and the tool center point acceleration is unpredictable. Therefore, using current robotic programming techniques, it is unknown whether the tool center point acceleration will be large enough to cause a package to fall.
[0007] In view of the above, a method is needed to apply user-defined tool center point acceleration limits to a robot operating in joint interpolation motion mode. Summary of the Invention
[0008] The present disclosure describes a method and system for calculating robot motion in which the translational acceleration of a tool center point on a robot arm does not exceed a user-defined acceleration limit in Cartesian space. For a robot operating in a joint interpolation motion mode, a maximum translational acceleration limit for the tool center point is defined for the robot controller. The robot motion for an upcoming trajectory segment is calculated using a known "S-curve" technique, wherein joint motions are calculated that, given mechanical constraints (including maximum joint velocities, accelerations, and jerk values), enable the robot to move from a starting pose to an ending pose in the shortest possible time. Significant points on the S-curve corresponding to the maximum translational acceleration of the tool center point are identified. The tool center point Cartesian motion is then calculated from the joint motions using forward kinematics. The calculated translational acceleration of the tool center point at the significant points is determined and compared to the user-defined acceleration limit. If the calculated tool center point acceleration exceeds the user-defined acceleration limit, the joint motion for the trajectory segment is recalculated using a scaling factor that reduces the joint and tool center point accelerations.
[0009] Additional features of the presently disclosed systems and methods will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 is a schematic diagram of an industrial robot equipped with a vacuum gripper tool, wherein a package is attached to the vacuum gripper and moved by the robot as an example of an application that can benefit from the disclosed technology;
[0011] Figure 2 yes Figure 1 Schematic diagram of the external arm of an industrial robot with a vacuum gripper, showing the arrangement of vacuum cups for grasping a package;
[0012] Figure 3is a schematic diagram of the vacuum gripper moving in Cartesian space along the joint interpolated motion trajectory, and also shows the force acting on the cup of the vacuum gripper due to the acceleration of the tool center point;
[0013] Figure 4 Includes graphs of robot joint velocities and accelerations versus time, illustrating the key concepts involved in calculating S-curve motion profiles in joint interpolation motion mode;
[0014] Figure 5 According to an embodiment of the present disclosure, comprising Figure 4 a graph of robot joint velocities and accelerations and a graph of the corresponding tool center point velocities and accelerations for comparison with acceleration limits;
[0015] Figure 6 is a block diagram illustrating a technique for applying tool center point acceleration constraints to joint interpolated robotic motions according to an embodiment of the present disclosure; and
[0016] Figure 7 is a flow chart of a method for applying tool center point acceleration constraints to joint interpolated robot motions according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0017] The following discussion of the disclosed embodiments of tool center point acceleration limitation for joint interpolation robot motion is merely exemplary and is in no way intended to limit the disclosed apparatus and techniques or their applications or uses.
[0018] Industrial robots are used in a variety of manufacturing, assembly, and material movement operations. In one type of application, robots are used to move workpieces or packages from one location to another. A specific example of robotic package movement is called depalletizing—boxes are removed one at a time from a stack on a pallet and moved to their destination, such as a conveyor belt. The reverse operation—picking up boxes from a conveyor belt and placing each box at a specific location on a pallet—is also commonly used.
[0019] Figure 1 1 is a schematic diagram of an industrial robot 100 equipped with a vacuum gripper 120, wherein a package 130 is attached to the vacuum gripper 120 and moved by the robot 100 as an example of an application that can benefit from the technology of the present disclosure. The robot 100 includes an articulated robot arm having a plurality of links 110 connected together at rotary joints driven by servo motors, as is well known to those skilled in the art. The vacuum gripper 120 is a tool used by the robot 100, wherein the vacuum gripper 120 is connected to an external arm link or wrist joint of the robot 100. When the package 130 is a box, such as Figure 1As shown, a vacuum gripper 120 is a commonly used tool.
[0020] The robot 100 communicates with the controller 140 in a manner known in the art - wherein the controller 140 provides joint motion instructions to the robot 100 to cause the robot 100 to move the vacuum gripper 120 to a target position to grab the package 130, followed by motion instructions to cause the robot 100 to move the gripper 120 to a destination position to place and release the package 130.
[0021] Figure 2 yes Figure 1 Schematic diagram of the outer arm 110 of an industrial robot 100 with a vacuum gripper 120 showing the arrangement of vacuum cups 122 for grasping a package 130. When the gripper 120 reaches the target location and the cups 122 press against the package 130, a vacuum is created in the vacuum tube 124 and the cups 122 then grasp the package 130 with vacuum or suction. When the gripper 120 reaches the target location, the vacuum is removed and the cups 122 release the package 130. The gripper 120 is shown with eight vacuum cups 122 (two rows and four columns of a grid, with some vacuum cups in the middle). Figure 2 Other holder designs—having more or fewer than eight cups 122—are also known and may be used in the same pattern as needed to suit a particular application.
[0022] although Figure 1 and Figure 2 Shown are known robot and gripper configurations and common applications. Existing robot control technology lacks the ability to limit the acceleration of the vacuum gripper 120 as it moves along its trajectory. If the acceleration of the gripper 120 is too high, the gripper 120 may lose its grip on the package 130, causing it to drop—a highly undesirable problem. The technology of this disclosure has been developed to address and resolve this problem.
[0023] Figure 3is a schematic diagram of a vacuum gripper moving in Cartesian space along a joint interpolation motion trajectory, and also illustrates the forces acting on the cup of the vacuum gripper due to the acceleration of the tool center point. Multiple positions and orientations of the vacuum gripper 120 along the trajectory 300 are illustrated. The trajectory is calculated to move the gripper 120 from a first point P1 (302) to a second point P2 (304) using joint interpolation motion. As previously discussed, joint interpolation motion calculates synchronized simultaneous joint motions that, given the robot mechanical constraints (i.e., maximum values for joint rotational velocity, acceleration, and jerk), move the tool center point from P1 to P2 in the shortest possible time. As the gripper 120 moves along the trajectory 300, the orientation of the gripper 120 changes because the joint interpolation motion technique simply calculates synchronized rotations of all robot joints (e.g., the six joints of a six-axis robot) to achieve the target orientation P2, and there are no constraints on the gripper / tool orientation in the trajectory in the joint interpolation motion.
[0024] The overall tool center point motion from P1 to P2, defined by trajectory 300, can be divided into multiple segments, as indicated by the arrows along the length of trajectory 300. A close-up of gripper 120 in one segment of trajectory 300 is shown in inset 310. The X and Y axes of the tool center coordinate frame are shown, with the origin of the tool center point being the tool center point. The translational acceleration of the tool center point at its current position along trajectory 300 is indicated by arrow 320. The reaction force of package 130 on cup 122 on gripper 120 is indicated by arrow 330. This reaction force can be simply calculated using F=ma, where F is the reaction force, m is the mass of package 130, and a is the acceleration of the tool center point.
[0025] As previously discussed, if the reaction force caused by the acceleration of the tool center point at any point in trajectory 300 exceeds the gripping capacity of gripper 120, package 130 may fall from gripper 120, which is a highly undesirable situation. Therefore, according to the disclosed technique, for each upcoming trajectory segment, the maximum translational acceleration of the tool center point is calculated, and if the calculated maximum acceleration exceeds the specified acceleration limit, the trajectory segment is recalculated using a scaling factor to reduce the maximum acceleration. This technique is described in detail below.
[0026] Figure 4 Graphs of robot joint velocity and acceleration versus time illustrate key concepts involved in calculating S-curve motion profiles in joint interpolation motion mode. Graph 410 plots the rotational velocity of a particular joint in the robot versus time, and graph 420 plots the rotational acceleration of the same joint versus time.
[0027] Starting at time t=0 at the beginning of the trajectory segment, the joint acceleration increases at the maximum allowed jerk (the robot mechanical constraint) until the joint acceleration reaches the maximum allowed acceleration constraint. The maximum allowed acceleration is indicated by line 430 on the acceleration graph 420. The time required for the joint to reach maximum acceleration is called T2 and is shown by the vertical dashed line indicated at 440. The joint then continues to accelerate at maximum acceleration until it approaches the maximum allowed velocity, at which point the acceleration decreases at the maximum jerk to reach zero acceleration, just as the joint reaches maximum velocity. The maximum allowed velocity is indicated by line 450 on the velocity graph 410. The time required for the joint to reach the end of maximum acceleration is called T1 and is shown by the vertical dashed line indicated at 460. The joint then continues at maximum velocity for a certain amount of time (determined as discussed below) before deceleration begins.
[0028] It can be observed from the acceleration graph 420 that the S-curve motion profile of the trajectory segment contains seven phases; these include three acceleration phases (maximum jerk until T2, maximum acceleration until T1, and maximum negative jerk until zero acceleration is reached), a constant velocity phase in the middle, and three deceleration phases that are symmetrically opposite to the acceleration phases.
[0029] For any given robot architecture, the maximum allowed joint velocity, acceleration, and jerk values are mechanical constraints of the robot known to the robot controller. Therefore, the default values for T1 and T2 are also known to the controller, as they can be calculated from the mechanical constraints. However, the amount of distance a joint has to travel during a trajectory segment also affects the calculation of the S-curve motion. Define time T0, indicated by the vertical line indicated by 470, as the distance a joint has to travel during a trajectory segment divided by the maximum joint velocity. That is, T0 = dist / V max .
[0030] Depending on the relationship between T0, T1 and T2, there are six different scenarios or situations to consider for the calculation of the S-curve motion profile. Figure 4 Shows a scenario or situation where time T0 is greater than the sum of T1 and T2. In this case, there is enough time and joint travel distance to allow the joint acceleration to reach A max , and the joint velocity is stable at V max Before continuing in A max state, then in V max In other cases, the joint acceleration and deceleration never reach V max and / or A max. Depending on the applicable case, this can be determined from the relationship between T0, T1 and T2, and there are known recursive equation formulas that can be used to calculate the duration of all seven phases, as well as the resulting joint orientation, velocity, acceleration and jerk for all phases of the trajectory segment. A complete discussion of the six different cases of S-curve motion profiles and the corresponding calculation of the seven phases of jerk-limited motion can be found in the technical paper entitled "Algorithms for Planning S-curve Motion Profiles" written by Kim D. Nguyen et al. and published in the International Journal of Advanced Robotic Systems (2008), which is incorporated herein by reference.
[0031] For each trajectory segment, as described above, for each joint J in the robot i , calculates an S-curve motion profile, where i=1,…, degrees of freedom (DOF) (e.g., i=6 for a six-axis robot). The motion of the joints is synchronized so that all joints reach the desired orientation at the end of the trajectory segment at the same time.
[0032] The S-curve motion profile calculation described above provides the joint interpolation motion solution, given the robot mechanical constraints (V max 、A max and J max ), this solution moves the tool center point from the starting position to the destination position in the shortest possible time. However, the translational acceleration of the tool center point can only be determined after performing the S-curve motion profile calculation, as discussed below.
[0033] According to an embodiment of the present disclosure, Figure 5 include Figure 4 Block 510 contains a graph of robot joint velocities and accelerations and a graph of the corresponding tool center point velocities and accelerations for comparison with the acceleration limits. Figure 4 4 and 5. The joint velocity graph 410 and joint acceleration graph 420 are shown in FIG. 4. As the S-curve motion profiles for the trajectory segments are calculated for all robot joints, the motion of the tool center point can be calculated, as shown in block 520. The conversion from joint motion to tool center point motion in Cartesian space is highly nonlinear, but can be calculated in a straightforward manner using forward kinematics given the robot geometry, as is well known to those skilled in the art.
[0034] Based on the robot joint motion profile and the robot geometry, the motion of the tool center point defines a velocity vector in Cartesian space (i.e., the X / Y / Z components of the velocity in a fixed coordinate frame). For each trajectory segment, the magnitude or magnitude of the tool center point velocity vector is plotted against time on graph 530. It can be observed that the maximum tool center point velocity occurs during the maximum joint velocity phase of the S-curve joint motion profile, which makes intuitive sense.
[0035] The time derivative of the velocity vector magnitude is plotted against time on graph 540 . The time derivative of velocity is acceleration; therefore, for a trajectory segment, graph 540 plots the tool center point acceleration against time. The joint acceleration graph 420 on the left can be described as piecewise linear and monotonic. That is, each joint motion phase has a linear acceleration profile, and each phase exhibits only an increase or decrease (or no change) in acceleration. However, the tool center point acceleration graph 540 on the right is quite nonlinear, yet each phase is still monotonic. This observation is true for most robot motions and allows for easy identification of significant points of maximum acceleration on the tool center point acceleration graph 540 . A significant point of maximum acceleration occurs at time T1. The tool center point acceleration value calculated at this point can be compared to the specified acceleration limit, indicated by line 550 . Another acceleration extreme—maximum negative acceleration—occurs later in the trajectory and can also be compared to the acceleration limit. These evaluations are discussed further below.
[0036] Figure 6 is a block diagram illustrating a technique for applying tool center point acceleration limits to joint interpolated robot motions in accordance with an embodiment of the present disclosure. In step 1 in block 610, an S-curve motion profile is calculated in joint space, as previously discussed. The input information required to calculate the S-curve motion profile includes the initial and final orientations of the motion, and the robot mechanical constraints, as previously discussed. The initial and final orientations can be of a complete trajectory or of a trajectory segment. Since the robot operates in a joint interpolated motion mode, the initial and final orientations are preferably in joint space (e.g., for a six-axis robot, vector q0 defines all six initial joint orientations, and vector q f Define all six final joint orientations). Of course, the joint orientations can be calculated from the initial and final orientations of the tool center point using inverse kinematics.
[0037] Robot mechanical constraints, as discussed previously, include V max 、A max and J maxBased on the known robot mechanical constraints, the default values of T1 and T2 can be calculated as discussed previously and are therefore known by the robot controller. In addition, based on the trajectory segment (from q0 to q f ) and the maximum joint velocity V max , the value of T0 of the S-curve motion profile can be calculated.
[0038] At block 610, calculation of the S-curve motion profile is performed as previously discussed, wherein the relationship between the values of T0, T1, and T2 is evaluated and used to determine which of six cases of jerk-limited motion is applied, and then a system of equations is recursively calculated to provide a complete solution to the seven-phase S-curve motion profile. The S-curve motion profile solution includes the duration of each of the seven phases, as well as the displacement, velocity, acceleration, and jerk profile for each phase.
[0039] In step 2 of box 620, a significant point on the S-curve motion profile is identified, where the significant point indicates the point of expected maximum tool center point Cartesian acceleration. As previously discussed, for most types of robot motion, the end of the second stage of the seven-stage motion profile is a significant point. This is identified as point 612 on the acceleration chart of box 610. Significant point 612 occurs at time T1, which is the end of the constant acceleration stage of the robot joint motion, when the positive acceleration of the tool center point is typically maximum. Additionally, for most types of robot motion, the end of the fifth stage of the seven-stage motion profile is another significant point. This is identified as point 614 on the acceleration chart of box 610. Significant point 614 occurs at the end of the maximum negative jerk stage, which results in the maximum negative acceleration of the robot joint motion, when the deceleration (negative acceleration) of the tool center point is typically maximum.
[0040] In step 3 of box 630, the tool center point acceleration with respect to time is calculated from the S-curve joint motion profile, and the maximum absolute value of the tool center point acceleration (A) at the significant point is calculated. max-tc Using the time values of the significant points determined in step 2 of block 620, the tool center point acceleration can be simply calculated at these two time values and marked as the maximum absolute value of the tool center point acceleration (A max-tc ), as indicated by points 632 and 634 in box 630. Alternatively, other techniques may be used to identify the maximum absolute value of the tool center point acceleration, such as analyzing tool center point acceleration data with respect to time for the entire trajectory to identify maximum and minimum values. In box 630, line 636 illustrates the defined tool center point acceleration limit (A limit ). A limitThe value of can be user defined or can be automatically defined by an algorithm that takes the robot's job parameter data (e.g., the weight or mass of the package to be moved and the amount of vacuum force the vacuum gripper can generate), solves for a using the equation F = ma, and sets A limit =a, as discussed previously) to calculate the acceleration limit.
[0041] In step 4 of block 640, the maximum absolute value of the tool center point acceleration (A max-tc ) is greater than the defined tool center point acceleration limit (A limit If yes, then calculate the scaling factor λ as λ = A max-tc / A limit , and calculates a new T1 value (replacing the previously used default T1 value) as T1 = λT1.
[0042] With the new T1 value, the algorithm depicted by block diagram 600 returns to step 1 to recalculate the S-curve motion profile in joint space and again calculates the maximum tool center point acceleration (A) using steps 2 and 3. max-tc ). When A max-tc No more than A limit When , the algorithm terminates and the S-curve joint motion profile is used to control the robot to perform the wrapping movement according to the calculated trajectory or segment.
[0043] It can be noted that the value of λ is greater than 1 (because when calculating λ, A max-tc >A limit ), which means that the new T1 value will be greater than the previous T1 value. In this algorithm, the reason why T1 is scaled to a larger value is that it will reduce the acceleration of the robot. Figure 4 Discussion of the S-curve joint motion profile calculations - It was found that the maximum joint acceleration is inversely proportional to T1. This is true for all six cases of the relationship between T0, T1, and T2. Therefore, a larger T1 value will result in a smaller maximum joint acceleration. Although a smaller maximum joint acceleration does not guarantee a proportionally smaller tool center point acceleration, there is an overall positive correlation; that is, increasing T1 will hopefully reduce A. max-tc The algorithm depicted by block diagram 600 is repeated until A max-tc ≤A limit In analyzing various robotic package handling applications, it was found that passing the algorithm twice was generally sufficient to achieve the desired maximum tool center point acceleration less than the specified tool center point acceleration limit.
[0044] The algorithm depicted in block diagram 600 is preferably implemented in a motion planner module of a robotic controller architecture. That is, Figure 6The tool center point acceleration limit calculation is performed in conjunction with the joint motion planning calculation procedure - after the basic parameters of the task (such as the start and end points) are determined, and before the controller sends motion implementation instructions to the robot's joints.
[0045] Figure 7 7 is a flow chart of a method for applying tool center acceleration constraints to joint interpolated robot motion according to an embodiment of the present disclosure. In block 702, input parameters of a trajectory or trajectory segment and robot constraint parameters are provided. The input parameters include the starting and ending orientations of the trajectory (q0 and q f ; or the tool center point coordinates in the workspace coordinate frame, which can be converted to q0 and q f ), and robot mechanical constraints, including V max 、A max and J max The default values for T1 and T2 are known from the robot mechanical constraints and are based on the distance to be traveled (from q0 to q f ) and maximum joint velocity V max , the value of T0 can be calculated. Tool center point acceleration limit A limit (eg, in meters per second squared) is also provided in block 702.
[0046] At block 704, an S-curve joint motion profile is calculated as previously discussed. This includes determining which of the six scenarios to apply the motion profile to based on the relationship between the T0, T1, and T2 values, and calculating the S-curve motion profile using the applicable set of equations and boundary conditions. At block 706, significant points on the joint acceleration profile are identified, including identifying a significant point at the end of the second phase of the seven-phase motion profile described above, and identifying a significant point at the end of the fifth phase.
[0047] At block 708, the tool center point Cartesian motion in workspace or "world" coordinates is calculated from the joint motion profile using forward kinematics calculations based on the known robot geometry. This includes calculating the tool center point velocity vector through Cartesian space based on the joint motion, calculating the magnitude of the velocity vector over the duration of the trajectory, and calculating the tool center point acceleration as the rate of change of the velocity magnitude over time. At block 710, the maximum absolute value of the tool center point acceleration at the significant point is determined, as previously explained. At decision diamond 712, the maximum absolute value of the tool center point acceleration (A) is determined. max-tc ) is greater than the tool center point acceleration limit (A limit If not, the process ends at terminal 714 and the calculated S-curve joint motion profile is then used to control the robot motion for the trajectory or trajectory segment.
[0048] If, at decision diamond 712, the maximum absolute value of the tool center point acceleration (A max-tc ) is greater than the tool center point acceleration limit (A limit ), calculate the proportional factor λ as λ=A max-tc / A limit , and calculates a new T1 value of T1 = λT1. Using the new T1 value, the process returns to block 704 to recalculate the S-curve joint motion profile. This cycle continues until A max-tc Less than or equal to A limit This criterion is typically met after approximately two iterations. When the criterion is met, the calculated S-curve joint motion profile will produce a tool center point acceleration that does not exceed the specified tool center point acceleration limit, thereby ensuring that the vacuum gripper will maintain its grip on the package it is moving.
[0049] Throughout the preceding discussion, various computers and controllers have been described and referenced. It should be understood that the software applications and modules of these computers and controllers are implemented on one or more electronic computing devices having a processor and a memory module. In particular, this includes one or more processors within the robot controller 140 discussed above. Specifically, the processor within the controller 140 is configured to perform the calculations for the tool center point acceleration limits described above.
[0050] While many exemplary aspects and embodiments of the method and system for tool center point acceleration limiting for joint interpolated robotic motion have been discussed above, those skilled in the art will recognize modifications, permutations, additions, and sub-combinations thereof. It is therefore intended that the following appended claims and claims hereafter introduced be interpreted to include all such modifications, permutations, additions, and sub-combinations as fall within the true spirit and scope thereof.
Claims
1. A method for limiting the acceleration of a multi-axis robot tool center point, the method comprising: calculating, by a computing device, a robot joint motion profile for a trajectory, including calculating joint motions of all joints of the multi-axis robot over a duration of the trajectory; calculating a tool center point velocity and acceleration in Cartesian space for the duration of the trajectory based on the robot joint motion profile and the robot geometry; determining a maximum absolute value of the tool center point acceleration in the trajectory; as well as When the maximum absolute value of the tool center point acceleration exceeds a predefined tool center point acceleration limit, a scaling factor is calculated, and the robot joint motion profile of the trajectory is recalculated using a time constant increased by the scaling factor.
2. The method according to claim 1, wherein Calculating the robot joint motion profile for the trajectory includes calculating joint motions that move the robot from a starting orientation to an ending orientation along the trajectory.
3. The method according to claim 2, wherein: Calculating the robot joint motion profile for the trajectory includes calculating an S-curve joint motion profile, wherein the S-curve joint motion profile includes seven motion phases within the duration of the trajectory, and the seven motion phases are calculated using inputs including robot mechanical constraints and the starting orientation and the ending orientation.
4. The method according to claim 3, wherein: The robot mechanical constraints include a maximum velocity of a robot joint, a maximum acceleration of a robot joint, and a maximum jerk of a robot joint.
5. The method according to claim 1, wherein Calculating the tool center point velocity in Cartesian space includes calculating the tool center point velocity over the duration of the trajectory using forward kinematics based on the robot joint motion profile and robot geometry.
6. The method according to claim 5, wherein: Calculating the tool center point acceleration in Cartesian space includes calculating a rate of change of the tool center point velocity magnitude with time over the duration of the trajectory.
7. The method according to claim 1, wherein Determining the maximum absolute value of the tool center point acceleration includes evaluating the tool center point acceleration at two significant points in time identified from the robot joint motion profile.
8. The method according to claim 7, wherein: The first said significant point is at a time corresponding to the end of the maximum positive joint acceleration phase of the robot joint motion profile, and the second said significant point is at a time corresponding to the beginning of the maximum negative joint acceleration phase of the robot joint motion profile.
9. A method for limiting the acceleration of a multi-axis robot tool center point, the method comprising: Provide input parameters, including robot joint mechanical constraints, trajectory start and end positions, and tool center point acceleration limits; calculating, by a robotic controller, a robot S-curve joint motion profile for the trajectory using the input parameters, including calculating joint motions of all joints of the multi-axis robot over a duration of the trajectory; calculating a tool center point velocity and acceleration in Cartesian space for the duration of the trajectory based on the S-curve joint motion profile and robot geometry; determining a maximum absolute value of the tool center point acceleration in the trajectory; as well as When the maximum absolute value of the tool center point acceleration exceeds the tool center point acceleration limit, a scaling factor is calculated as the ratio of the maximum absolute value of the tool center point acceleration to the tool center point acceleration limit, and the S-curve joint motion profile of the trajectory is recalculated using a time constant increased by the scaling factor, wherein the time constant is the time to reach the end of the maximum positive joint acceleration phase of the S-curve joint motion profile.
10. An industrial robot system with tool center point acceleration limitation, the system comprising: Multi-axis robots; as well as a controller in communication with the robot, the controller having a processor and a memory, The controller is configured with a tool center point acceleration limiting algorithm, and the steps performed by the algorithm include: calculating a robot joint motion profile for a trajectory, comprising calculating joint motions of all joints of the multi-axis robot over a duration of the trajectory; calculating a tool center point velocity and acceleration in Cartesian space for the duration of the trajectory based on the robot joint motion profile and the robot geometry; determining a maximum absolute value of the tool center point acceleration in the trajectory; calculating a scaling factor when the maximum absolute value of the tool center point acceleration exceeds a predefined tool center point acceleration limit, and recalculating the robot joint motion profile of the trajectory using a time constant increased by the scaling factor; and The multi-axis robot is controlled to move the tool center point along the trajectory.