TCP acceleration limitation for joint interpolated motions

The method calculates and adjusts robot motion using S-curve techniques to enforce user-defined acceleration limits, addressing the issue of container drops by ensuring the tool tip point acceleration does not exceed defined limits, thereby maintaining grip integrity and productivity.

JP2025141929APending Publication Date: 2025-09-29FANUC ROBOTICS NORTH AMERICA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025040181
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-14
Filing Date
2025-03-13
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

Industrial robots using joint interpolation motion lack the ability to ensure that the acceleration of the tool tip point does not exceed user-defined limits, leading to potential container drops due to excessive forces, which are detrimental to productivity and operation flow.

Method used

A method and system that calculate robot motion to enforce user-defined acceleration limits by using the S-curve technique, recalculating joint motions to ensure the translational acceleration of the tool tip point does not exceed the defined limit, employing forward kinematics and mechanical constraints to adjust the motion profile.

Benefits of technology

Ensures that the translational acceleration of the tool tip point remains within user-defined limits, preventing container drops and maintaining grip integrity during robotic operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025141929000001_ABST
    Figure 2025141929000001_ABST
Patent Text Reader

Abstract

To provide a method for computing robot motion where the tool tip point translational acceleration does not exceed a defined limit.SOLUTION: Robot motion for an upcoming segment of a trajectory is computed using a known "S-curve" technique, where joint motions are calculated which move the robot from a start pose to an end pose in the shortest time given maximum joint velocity, acceleration and jerk values. Significant points on the S-curve are identified which correspond with maximum translational acceleration of the tool center point. Tool center point Cartesian motion is then calculated from the joint motions using forward kinematics. The maximum translational acceleration of the tool center point is determined and compared to the defined acceleration limit. If the maximum acceleration of the tool center point exceeds the acceleration limit, the joint motions for the trajectory segment are re-calculated using a scale factor which reduces the joint and tool center point accelerations.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates generally to the field of industrial robot motion control, and more particularly to a method for calculating articulated interpolated robot motion from a start position to a destination position, in which the motion of a tool tip point on a robot arm does not exceed user-defined acceleration limits in Cartesian space. [Background technology]

[0002] The use of industrial robots to perform a wide range of manufacturing, assembly, and material transfer tasks is well known. Many of these movements and tasks are performed by articulated robots, such as five- or six-axis robots with servo motors at each rotary joint. Control of such robots is provided in real time, where a motion program is broken down into small motion increments and the robot controller performs real-time feedback control calculations to calculate input commands for the joint motors that move a tool tip point at the end of the robot's arm along a prescribed trajectory.

[0003] One common robotic task type involves moving a container or workpiece from a home location to a destination location. One particular application of this type is where a robot is equipped with a vacuum gripper tool and picks up containers (e.g., boxes) one at a time and moves each container to a defined location. This type of robotic motion is commonly used for depalletizing or palletizing (i.e., moving boxes from a pallet to a conveyor or vice versa).

[0004] In the types of operations described above, there is a possibility that the container may break away from the vacuum gripper while being moved by the robot. Dropping a container is highly detrimental to the productivity of the container transfer operation. For one, the dropped container and its contents may be damaged upon impact. Also, a dropped container may require manual handling, which involves stopping the robot, having an operator pick up the dropped container, inspecting the container, and manually placing it at its intended destination. Other adverse consequences of a dropped container may occur as well, such as disruption to the flow and sequence of containers on a conveyor operating in conjunction with the robot. For all these reasons, dropped containers are highly undesirable.

[0005] One reason that a robot with a vacuum gripper tool may drop a container is that the acceleration of the container by the robot generates forces that exceed the capabilities of the vacuum gripper. One solution to this problem would be to simply slow down the overall robot motion in a way that does not cause high velocities and high accelerations on the container. However, for productivity reasons, it is advantageous to operate the robot as fast as possible without exceeding the force-generating capabilities of the vacuum gripper tool.

[0006] When a robotic task involves moving a tool tip from one position to another along an arbitrary path, the fastest and most efficient mode of robot motion is known as joint interpolation motion. When a robot operates using joint interpolation motion, the robot's joints are subject to mechanical constraints such as maximum rotational speed and acceleration, but the motion of the tool tip along the path is solely a result of the joint motion, and the acceleration of the tool tip is unpredictable. Therefore, using current robot programming techniques, it is not known whether the acceleration of the tool tip will be large enough to cause the container to fall.

[0007] In light of the above, there is a need for a method to apply user-defined tool tip acceleration limits to robots operating in joint interpolation modes of motion. Summary of the Invention

[0008] This disclosure discloses a method and system for calculating robot motion such that the translational acceleration of a tool tip point on a robot arm does not exceed a user-defined acceleration limit in Cartesian space. For robots operating in a joint interpolation motion mode, a limit on the maximum translational acceleration of the tool tip point is defined for the robot controller. Using the known "S-curve" technique, the robot motion for the next segment of the trajectory is calculated, and the joint motions that will move the robot from the start pose to the end pose in the shortest possible time are calculated, given mechanical constraints including maximum joint velocity, acceleration, and jerk values. A significant point on the S-curve corresponding to the maximum translational acceleration of the tool tip point is identified. The Cartesian motion of the tool tip point is then calculated from the joint motions using forward kinematics. The calculated translational acceleration of the tool tip point at the significant point is determined and compared to the user-defined acceleration limit. If the calculated acceleration of the tool tip point exceeds the user-defined acceleration limit, the joint motions for that trajectory segment are recalculated using a scale factor that reduces the joint and tool tip point accelerations.

[0009] Additional features of the presently disclosed systems and methods will become apparent from consideration of the following description and appended claims, taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]

[0010] [Figure 1] FIG. 1 is an illustration of an industrial robot equipped with a vacuum gripper tool with a container attached to the vacuum gripper and being moved by the robot as an example of an application that can benefit from the techniques of the present disclosure. [Figure 2] FIG. 2 is an illustration of the outer arm of the industrial robot of FIG. 1 with a vacuum gripper showing the placement of the vacuum cups used to grip the container. [Figure 3]FIG. 3 is an illustration of a vacuum gripper moving through Cartesian space along a joint-interpolated motion trajectory, also showing the forces acting on the vacuum gripper cup as a result of the acceleration of the tool tip point. [Figure 4] FIG. 4 includes graphs of robot joint velocity and acceleration versus time illustrating the main concepts involved in calculating S-curve motion profiles in joint interpolation motion mode. [Figure 5] FIG. 5 includes graphs of the joint velocities and accelerations of the robot of FIG. 4 along with corresponding graphs of the tool tip point velocity and acceleration used for comparison with acceleration limits according to one embodiment of the present disclosure. [Figure 6] FIG. 6 is an exemplary block diagram of a technique for applying tool tip acceleration limits for articulated interpolated robotic motion according to one embodiment of the present disclosure. [Figure 7] FIG. 7 is a flow diagram of a method for enforcing tool tip acceleration limits for articulated interpolated robot motion according to one embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0011] The following discussion of embodiments of the present disclosure directed to tool tip acceleration limiting for articulated interpolating robotic movements is merely exemplary in nature and is not intended to limit in any way the disclosed devices and techniques or their application or uses.

[0012] Industrial robots are used for a variety of manufacturing, assembly, and material transfer tasks. In one type of application, robots are used to move workpieces or containers from one location to another. One specific example of robotic container movement is known as depalletizing, in which boxes are removed one at a time from a stack on a pallet and each box is moved to a destination location, such as a conveyor. The reverse operation, picking up boxes from a conveyor and placing each box in a specific location on a pallet, is also commonly used.

[0013] 1 illustrates an industrial robot 100 equipped with a vacuum gripper 120, with a container 130 attached to the vacuum gripper 120 and moved by the robot 100, as an example of an application that can benefit from the techniques of the present disclosure. The robot 100 includes an articulated robot arm with multiple links 110, where the links 110 are coupled together at rotary joints driven by servo motors, as known to those skilled in the art. The vacuum gripper 120 is a tool used by the robot 100, where the vacuum gripper 120 is coupled to an outer arm link or wrist joint of the robot 100. The vacuum gripper 120 is a tool typically used when the container 130 is a box, as illustrated in FIG. 1 .

[0014] The robot 100 is in communication with a controller 140 in a manner known in the art, where the controller 140 provides articulation commands to the robot 100 that cause the robot 100 to move the vacuum gripper 120 to a target position where the container 130 is to be grasped, and then provides motion commands that cause the robot 100 to move the gripper 120 to a destination position where the container 130 is to be placed and released.

[0015] FIG. 2 is an illustration of the outer arm link 110 of the industrial robot 100 of FIG. 1 with a vacuum gripper 120, showing the arrangement of the vacuum cups 122 used to grip the container 130. When the gripper 120 reaches its target location and presses the cups 122 against the container 130, a vacuum is drawn within the vacuum tube 124, at which point the cups 122 grip the container 130 by vacuum or suction. Once the gripper 120 reaches its destination, the vacuum is removed and the cups 122 release the container 130. The gripper 120 is shown with eight vacuum cups 122 (arranged in a 2x4 grid, some of which are not visible in FIG. 2). Other gripper designs having more or less than eight cups 122 are similarly known and can be used in the same manner as needed to suit a particular application.

[0016] 1 and 2 illustrate known robot and gripper configurations and typical applications, existing robot control technology lacks the ability to limit the acceleration of the vacuum gripper 120 as it moves through its trajectory. If the acceleration of the gripper 120 is too high, the gripper 120 may not be able to maintain its grip on the container 130, resulting in the container being dropped, which is highly undesirable. The technology of the present disclosure has been developed to address and solve this problem.

[0017] FIG. 3 illustrates an illustration of a vacuum gripper moving through Cartesian space along a joint-interpolated trajectory, showing the forces acting on the vacuum gripper cup as a result of tool tip acceleration. The vacuum gripper 120 is shown at multiple positions and orientations along the trajectory 300. The trajectory is calculated to move the gripper 120 from a first point P1 (302) to a second point P2 (304) using joint-interpolated motion. As discussed above, joint-interpolated motion calculates synchronized, simultaneous joint motions that move the tool tip from P1 to P2 in the shortest possible time, given the robot's mechanical constraints (i.e., maximum joint rotational speed, acceleration, and jerk). Because the joint-interpolated motion technique simply calculates the synchronized rotations of all the robot's joints (e.g., six joints for a six-axis robot) to reach the target position P2, the pose of the gripper 120 changes as it moves along the trajectory 300, and there are no constraints on the intermediate gripper / tool ​​poses in joint-interpolated motion.

[0018] The overall tool tip 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 view of the gripper 120 from one of the segments of trajectory 300 is shown in inset 310. The X and Y axes of the tool tip coordinate system are indicated, with the origin of the tool tip coordinate system being the tool tip point. The translational acceleration of the tool tip point at its current position along trajectory 300 is indicated by arrow 320. The corresponding reaction force of the container 130 on the cup 122 of the gripper 120 is indicated by arrow 330. The reaction force can be simply calculated using F=ma, where F is the reaction force, m is the mass of the container 130, and a is the acceleration of the tool tip point.

[0019] As discussed above, if the acceleration of the tool tip point at any point in the trajectory 300 causes a reaction force that exceeds the gripping capability of the gripper 120, the container 130 will likely break away from the gripper 120, which is a highly undesirable situation. Therefore, according to the technique of the present disclosure, for each upcoming segment of the trajectory, the maximum translational acceleration of the tool tip point is calculated, and if the calculated maximum acceleration exceeds a specified acceleration limit, the trajectory segment is recalculated using a scale factor to reduce the maximum acceleration. This technique is described in more detail below.

[0020] 4 includes graphs of robot joint velocity and acceleration versus time, illustrating key concepts related to calculating S-curve motion profiles in joint interpolation motion mode. Graph 410 plots rotational velocity versus time for a particular joint in the robot, and graph 420 plots rotational acceleration versus time for the same joint.

[0021] Starting at time t=0 at the beginning of the trajectory segment, the joint acceleration increases at the maximum allowable jerk (the robot's mechanical constraint) until the joint acceleration reaches the maximum allowable acceleration constraint. The maximum allowable acceleration is shown on acceleration graph 420 by line 430. The time it takes the joint to reach maximum acceleration is known as T2 and is shown by the vertical dashed line labeled 440. At this point, the joint continues to accelerate at maximum acceleration until it approaches maximum allowable velocity, at which point the acceleration slope drops back down again at maximum jerk and reaches zero acceleration as the joint just reaches maximum velocity. The maximum allowable velocity is shown on velocity graph 410 by line 450. The time it takes the joint to reach the end of maximum acceleration is known as T1 and is shown by the vertical dashed line labeled 460. The joint then continues to travel at maximum velocity for a period of time (determined as discussed below) until deceleration begins.

[0022] From the acceleration graph 420, it can be observed that the S-curve motion profile for one trajectory segment includes seven stages: three acceleration stages (maximum jerk up to T2, maximum acceleration up to T1, and maximum negative jerk until zero acceleration is reached), one constant velocity stage in the middle, and three deceleration stages symmetrically opposite the acceleration stages.

[0023] The maximum allowable joint velocity, acceleration, and jerk values ​​are the mechanical constraints of the robot, and are known to the robot controller for any given robot configuration. Therefore, the default values ​​of T1 and T2 are also known to the controller, since they can be calculated from the mechanical constraints. However, the amount of distance that the joints must travel during the trajectory segment also affects the calculation of the S-curve motion. The time T0, represented by the vertical line shown at 470, is defined as the distance that the joints must travel during the trajectory segment divided by the maximum joint velocity, i.e., T0=dist / V max is.

[0024] Depending on the relationship between T0, T1, and T2, there are six different scenarios or cases to consider for the calculation of the S-curve motion profile. Figure 4 shows one scenario or case where time T0 is greater than the sum of T1 and T2. In this case, the joint acceleration is A max Reached A max to continue, then V max At this point, the joint velocity levels off, and V max There is enough time and joint travel distance for deceleration to begin after some time at V. In other cases, the joint max and / or A max The robot accelerates and decelerates without ever reaching T0. Depending on which case is applicable, as determined from the relationship between T1, T2, and T2, a recursion equation formulation is known that can be used to calculate the duration of all seven phases, along with the resulting joint positions, velocities, accelerations, and jerk for every phase 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 jerkbound motion can be found in the technical paper by Kim D. Nguyen et al., entitled "On Algorithms for Planning S-curve Motion Profiles," International Journal of Advanced Robotic Systems (2008), which is incorporated herein by reference.

[0025] For each trajectory section, the S-curve motion profile is i are calculated as described above, where i=1,...,DOF (e.g., i=6 for a 6-axis robot). The joint motions are synchronized such that all joints reach their desired positions simultaneously at the end of the trajectory section.

[0026] The calculation of the S-curve motion profile described above is based on the mechanical constraints of the robot (V max , A max and J. max) to provide a joint interpolation motion solution that moves the tool tip point from the start position to the destination position in the shortest possible time. However, the translational acceleration of the tool tip point can only be determined after the S-curve motion profile has been calculated, as discussed below.

[0027] FIG. 5 includes graphs of the robot joint velocities and accelerations of FIG. 4 along with corresponding graphs of tool tip point velocity and acceleration used for comparison to acceleration limits, according to one embodiment of the present disclosure. Box 510 includes joint velocity graph 410 and joint acceleration graph 420 from FIG. 4. Using the S-curve motion profile for the trajectory section calculated for all robot joints, the tool tip point motion may be calculated, and the results are shown in box 520. The transformation from joint motion in Cartesian space to tool tip point motion is highly nonlinear, but can be readily calculated using forward kinematics for a given robot geometry, as known to those skilled in the art.

[0028] Based on the robot joint motion profile and robot geometry, the tool tip point motion defines a velocity vector (i.e., X / Y / Z velocity components in a fixed coordinate system) through Cartesian space. The magnitude or norm of the tool tip point velocity vector is plotted versus time for one trajectory segment on graph 530. It can be observed, which makes intuitive sense, that the maximum tool tip point velocity occurs during the maximum joint velocity phase of the S-curve joint motion profile.

[0029] The time derivative of the velocity vector magnitude is plotted with respect to time on graph 540. The time derivative of velocity is acceleration, and therefore graph 540 plots the tool tip point acceleration versus time for this trajectory segment. The joint acceleration graph 420 (left side) may be depicted as piecewise linear and monotonic. That is, each stage of joint motion has a linear acceleration profile, with each stage exhibiting only an increase or decrease (or no change) in acceleration. However, the tool tip point acceleration graph 540 (right side), while highly nonlinear, is still monotonic at each stage. This observation, which is true for most robot motions, allows significant maximum acceleration points to be readily identified on the tool tip point acceleration graph 540. One of these significant maximum acceleration points occurs at time T1. The calculated tool tip point acceleration at this point may be compared to a specified acceleration limit, indicated by line 550. Another extreme acceleration, i.e., a maximum negative acceleration, occurs further down the trajectory and can similarly be compared to the acceleration limit. These assessments are discussed further below.

[0030] FIG. 6 is an exemplary block diagram 600 of a technique for applying tool tip acceleration limits for joint-interpolated robot motion, according to one embodiment of the present disclosure. In step 1 within 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 positions of the motion, along with the robot's mechanical constraints, as previously discussed. The initial and final positions may be for a complete trajectory or for a trajectory segment. Since the robot is operating in a joint-interpolated motion mode, the initial and final positions are preferably within joint space (e.g., for a six-axis robot, a vector q0 defining all six initial joint positions, and a vector q1 defining all six final joint positions). f ) The joint positions may of course be calculated from the initial and final tool tip position using inverse kinematics.

[0031] As discussed earlier, the mechanical constraints of the robot include V max , A max , and J. max Based on known robot mechanical constraints, default values ​​for T1 and T2 may be calculated as discussed above and are therefore known to the robot controller. Furthermore, the trajectory section (q0 to q f Distance to be traveled during the max Based on this, a value of T0 may be calculated for the S-curve motion profile being calculated.

[0032] The calculation of the S-curve motion profile in block 610 is performed as previously discussed, where the relationship between the values ​​of T0, T1, and T2 is evaluated and used to determine which of the six jerk-bound motion cases applies, and then a set of equations is recursively calculated to provide a complete solution for the seven-stage S-curve motion profile. The S-curve motion profile solution includes the duration for each of the seven stages, along with the displacement, velocity, acceleration, and jerk profiles for each stage.

[0033] In step 2 of block 620, significant points on the S-curve motion profile are identified, where the significant points represent points of maximum expected Cartesian acceleration of the tool tip point. As discussed above, for most types of robot motion, the end of phase 2 of the seven-phase motion profile is one significant point. This is identified as point 612 on the acceleration graph in box 610. Significant point 612 occurs at time T1, which is the end of the constant acceleration phase of the robot's joint motion, at which time the positive acceleration of the tool tip point is typically greatest. Furthermore, for most types of robot motion, the end of phase 5 of the seven-phase motion profile is another significant point. This is identified as point 614 on the acceleration graph in box 610. Significant point 614 occurs at the end of the maximum negative jerk that leads to the maximum negative acceleration of the robot's joint motion, at which time the deceleration (negative acceleration) of the tool tip point is typically greatest.

[0034] In step 3 in block 630, the tool tip point acceleration versus time is calculated from the S-curve joint motion profile, and the maximum absolute value of the tool tip point acceleration (A max-tc ) is calculated. Using the time values ​​of the significant points determined in step 2 in block 620, the acceleration of the tool tip point can be simply calculated at these two time values ​​and labeled as the points of maximum absolute value of tool tip point acceleration, as shown by points 632 and 634 in block 630. Alternatively, other techniques can be used to identify the maximum absolute value of tool tip point acceleration, such as analyzing the relationship between tool tip point acceleration and time data for the entire trajectory to identify maximum and minimum values. The defined tool tip point acceleration limit (A limit ) is indicated by line 636 within block 630. A limit The value of may be user-defined or may be determined from robot task parameter data (e.g., using the equation F=ma and solving for a as discussed above, A limit = a) may be automatically defined by an algorithm that calculates the acceleration limit from the weight or mass of the container to be moved and the amount of vacuum force that can be increased by the vacuum gripper.

[0035] In step 4 in block 640, the maximum absolute value of the acceleration of the tool tip point (A max-tc ) is the defined tool tip acceleration limit (A limit ) is determined. If it is, then λ=A max-tc / A limit and a new value for T1 (to replace the previously used default value for T1) is calculated as T1=λT1.

[0036] With the new value of T1, the algorithm depicted by block diagram 600 returns to step 1 to recalculate the S-curve motion profile in joint space and, using steps 2 and 3, calculate the maximum acceleration (A max-tc ) is calculated again. A max-tc A limit If not, the algorithm terminates and an S-curve joint motion profile is used to control the robot to move the container according to the calculated trajectory or interval.

[0037] The value of λ is calculated as A max-tc >A limit It is noted that T1 is greater than 1 (because T0 = T1), which means that the new value of T1 will be greater than the previous value of T1. The reason T1 is scaled up to a larger value in this algorithm is because the acceleration of the robot will be reduced. Referring again to Figure 4 and the discussion of the S-curve joint motion profile calculation, it can be seen 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. Thus, a larger value of T1 results in a smaller maximum joint acceleration. Although a smaller maximum joint acceleration does not guarantee that the maximum acceleration at the tool tip will also be proportionally smaller, there is generally a positive correlation here. That is, an increase in T1 increases A max-tc The algorithm depicted by block diagram 600 has the desired effect of reducing A max-tc ≦A limit In analyzing a variety of different robotic container movement applications, it was discovered that two passes through the algorithm were generally sufficient to achieve the desired result of maximum tool tip acceleration being less than the specified tool tip acceleration limit.

[0038] The algorithm depicted by block diagram 600 is preferably implemented in the motion planning module of the robot controller architecture, i.e., the tool tip point acceleration limit calculation of Figure 6 is performed in conjunction with the joint motion planning calculation routine after the basic parameters of a task (e.g., start and end points) have been determined and before any move execution commands are sent by the controller to the robot joints.

[0039] 7 is a flowchart 700 of a method for applying tool tip acceleration limits for articulated interpolated robot motion, according to one embodiment of the present disclosure. In box 702, input parameters for a trajectory or trajectory segment are provided along with robot constraint parameters. The input parameters include V max , A max , and J. max The trajectory start and end positions (q0 and q1 in the joint space) are calculated along with the mechanical constraints of the robot, including f , or q0 and q f The coordinates of the tool tip point in the workspace coordinate system, which can be transformed into the coordinates of the tool tip point in the workspace coordinate system, are included. The default values ​​of T1 and T2 are known from the mechanical constraints of the robot, and the distance to be traveled (q0 to q f ) and maximum joint velocity V max The value of T0 can be calculated based on the acceleration limit A of the tool tip. limit (e.g., in meters per square second) is also provided in box 702.

[0040] At box 704, an S-curve joint motion profile is calculated as previously discussed, including determining whether any of six cases of the motion profile apply based on the relationship between the values ​​of T0, T1, and T2, and calculating the S-curve motion profile using the applicable equation set and boundary conditions. At box 706, significant points on the joint acceleration profile are identified, including identifying one significant point at the end of the second phase and one significant point at the end of the fifth phase of the seven-phase motion profile described above.

[0041] In box 708, the Cartesian motion of the tool tip point in workspace or "world" coordinates is calculated from the joint motion profile using forward kinematics calculations based on known robot geometry. This includes calculating the velocity vector of the tool tip point through Cartesian space based on the joint motions, calculating the magnitude of the velocity vector over the duration of the trajectory, and calculating the acceleration of the tool tip point as the time rate of change of the velocity magnitude. In box 710, the maximum absolute value of the acceleration of the tool tip point at the significant points is determined, as previously described. In decision diamond 712, the maximum absolute value of the acceleration of the tool tip point (A max-tc ) is the tool tip acceleration limit (A limit ) If not, the process ends at terminal 714, at which point the calculated S-curve joint motion profile is used to control the robot motion about the trajectory or trajectory segment.

[0042] In decision diamond 712, the acceleration of the tool tip point (A max-tc ) is the maximum absolute value of the acceleration limit (A limit ), λ=A max-tc / A limit A scale factor λ is calculated as T1 = λT1, and a new value for T1 is calculated as T1 = λT1. Using this new value for T1, the process returns to box 704 to recalculate the S-curve joint motion profile. This loop continues with max-tc A limit This criterion is typically met after approximately two iterations until: If the criterion is met, the calculated S-curve articulation profile produces a tool tip point acceleration that does not exceed the specified tool tip point acceleration limit, thus ensuring that the vacuum gripper maintains its grip on the container being moved.

[0043] Various computers and controllers have been described and suggested throughout the preceding discussion. It should be understood that the software applications and modules of these computers and controllers execute on one or more electronic computing devices having processors and memory modules. 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 tool tip point acceleration limit calculations described above.

[0044] While many exemplary aspects and embodiments of methods and systems for tool tip point acceleration limiting for articulated interpolating robotic operations have been discussed above, those skilled in the art will recognize modifications, permutations, additions, and sub-combinations thereof. Accordingly, it is intended that the following appended claims and any claims hereafter introduced be interpreted to include all such modifications, permutations, additions, and sub-combinations as fall within their true spirit and scope.

Claims

1. 1. A method for tool tip acceleration limiting in a multi-axis robot, comprising: calculating, by a computer device, a robot joint motion profile for a trajectory, the calculation including calculating joint motions for all joints in the multi-axis robot for the duration of the trajectory; calculating a velocity and acceleration of a tool tip point in Cartesian space for the duration of the trajectory based on the robot joint motion profile and robot geometry; determining a maximum absolute value of acceleration of the tool tip point during the trajectory; if the maximum absolute value of tool tip point acceleration exceeds a predefined tool tip point acceleration limit, calculating a scale factor and recalculating the robot joint motion profile for the trajectory using a time constant increased by the scale factor.

2. The method of claim 1 , wherein calculating a joint motion profile of the robot for the trajectory comprises calculating joint motions to move the robot through the trajectory from a start position to an end position.

3. 3. The method of claim 2, wherein calculating a joint motion profile of the robot for the trajectory comprises calculating an S-curve joint motion profile, the S-curve joint motion profile comprising seven motion phases spanning the duration of the trajectory, the seven motion phases being calculated using inputs including robot mechanical constraints and start and end positions.

4. The method of claim 3 , wherein the robot mechanical constraints include a robot joint maximum velocity, a robot joint maximum acceleration, and a robot joint maximum jerk.

5. 2. The method of claim 1 , wherein calculating a velocity of a tool tip point in Cartesian space comprises using forward kinematics to calculate a velocity of a tool tip point for the duration of the trajectory based on a joint motion profile of the robot and a robot geometry.

6. The method of claim 5 , wherein calculating the acceleration of the tool tip point in Cartesian space comprises calculating a time rate of change of a magnitude of a velocity of the tool tip point for the duration of the trajectory.

7. 2. The method of claim 1, wherein determining a maximum absolute value of tool tip point acceleration comprises evaluating the tool tip point acceleration at two significant points in time identified from the robot joint motion profile.

8. 8. The method of claim 7, wherein a first one of the significant points is a point at a time corresponding to an end of a maximum positive joint acceleration phase of a joint motion profile of the robot, and a second one of the significant points is a point at a time corresponding to a start of a maximum negative joint acceleration phase of a joint motion profile of the robot.

9. 2. The method of claim 1, wherein the scale factor is a ratio of the maximum absolute value of tool tip point acceleration to a tool tip point acceleration limit, and the time constant is a time to reach an end of a maximum positive joint acceleration phase of the robot joint motion profile.

10. 2. The method of claim 1, wherein the predefined tool tip point acceleration limit is defined by a user in programming instructions or the predefined tool tip point acceleration limit is calculated by the computer device based on the mass of a container to be moved by a vacuum gripper mounted on the robot and the gripping force exerted on the container by the vacuum gripper.

11. The method of claim 1 , wherein the computing device is a robot controller, and further comprising controlling the multi-axis robot with the controller to move a tool center point through the trajectory.

12. 1. A method for tool tip acceleration limiting in a multi-axis robot, comprising: providing input parameters including mechanical constraints of the robot joints, start and end positions for the trajectory, and acceleration limits for the tool tip point; calculating, by a robot controller, a robot S-curve joint motion profile for the trajectory using the input parameters, the joint motions for all joints in the multi-axis robot for the duration of the trajectory; calculating a velocity and acceleration of a tool tip point 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 acceleration of the tool tip point during said trajectory; if the maximum absolute value of tool tip point acceleration exceeds a tool tip point acceleration limit, calculating a scale factor as a ratio of the maximum absolute value of tool tip point acceleration to the tool tip point acceleration limit, and recalculating the S-curve joint motion profile for the trajectory using a time constant increased by the scale factor, wherein the time constant is a time to reach an end of a maximum positive joint acceleration phase of the S-curve joint motion profile.

13. 13. The method of claim 12, wherein the S-curve joint motion profile includes seven motion stages over the duration of the trajectory, and the robot mechanical constraints include a robot joint maximum velocity, a robot joint maximum acceleration, and a robot joint maximum jerk.

14. 13. The method of claim 12, wherein calculating a velocity of a tool tip point in Cartesian space comprises using forward kinematics to calculate a velocity of a tool tip point for the duration of the trajectory based on the S-curve joint motion profile and robot geometry, and wherein calculating an acceleration of a tool tip point in Cartesian space comprises calculating a time rate of change of a magnitude of the velocity of the tool tip point for the duration of the trajectory.

15. 1. An industrial robot system having a tool tip acceleration limit, comprising: Multi-axis robots and a controller in communication with the robot, the controller including a processor and a memory; The controller is configured with a tool center point acceleration limiting algorithm, the tool center point acceleration limiting algorithm comprising: calculating a robot joint motion profile for a trajectory, the calculation including calculating joint motions for all joints in the multi-axis robot for the duration of the trajectory; calculating a velocity and acceleration of a tool tip point in Cartesian space for the duration of the trajectory based on the robot joint motion profile and robot geometry; determining a maximum absolute value of acceleration of the tool tip point during the trajectory; calculating a scale factor if the maximum absolute value of tool tip acceleration exceeds a predefined tool tip acceleration limit, and recalculating the robot joint motion profile for the trajectory using a time constant increased by the scale factor; controlling the multi-axis robot to move a tool tip point through the trajectory.

16. 16. The system of claim 15, wherein calculating the robot joint motion profile for the trajectory comprises calculating an S-curve joint motion profile that moves the robot through the trajectory from a start position to an end position, the S-curve joint motion profile comprising seven motion phases spanning the duration of the trajectory, the seven motion phases being calculated using inputs including robot mechanical constraints and start and end positions, and the robot mechanical constraints comprising robot joint maximum velocity, robot joint maximum acceleration, and robot joint maximum jerk.

17. 16. The system of claim 15, wherein calculating a velocity of a tool tip point in Cartesian space comprises using forward kinematics to calculate a velocity of a tool tip point for the duration of the trajectory based on a joint motion profile of the robot and a robot geometry, and wherein calculating an acceleration of a tool tip point in Cartesian space comprises calculating a time rate of change of a magnitude of the velocity of the tool tip point for the duration of the trajectory.

18. 16. The system of claim 15, wherein determining a maximum absolute value of tool tip point acceleration comprises evaluating the acceleration of the tool tip point at two significant points in time identified from the robot joint motion profile, a first of the significant points being a point in time corresponding to an end of a maximum positive joint acceleration phase of the robot joint motion profile, and a second of the significant points being a point in time corresponding to a start of a maximum negative joint acceleration phase of the robot joint motion profile.

19. 16. The system of claim 15, wherein the scale factor is a ratio of the maximum absolute value of tool tip point acceleration to a tool tip point acceleration limit, and the time constant is a time to reach an end of a maximum positive joint acceleration phase of the robot joint motion profile.

20. 16. The system of claim 15, wherein the predefined tool tip point acceleration limit is defined by a user in programming instructions or the predefined tool tip point acceleration limit is calculated by the controller based on a mass of a container to be moved by a vacuum gripper mounted to the robot and a gripping force applied to the container by the vacuum gripper.