Cartesian trajectories for the KUKA robots (KRC/KRL).
KUKA System Software KUKA System Software 8.3 Operating and Programming Instructions for End Users KUKA Roboter GmbH Issued: Version: KSS 8.3 END V1 en (PDF). Now check out the Advanced Tutorials for more details regarding each of the above steps and in-depth information about the used commands if you like, or move on to the various How-to Guides. 2.2Advanced Tutorials The advanced tutorial slides give a more in-depth introduction to grl and its use including in-depth information.
Teach pendant | “KCP” (KUKA Control Panel) or smartPAD |
Programming / simulation software | OrangeEdit editor / KUKA simulator Sim Pro |
Software | KUKA System Software (KSS) |
User interface | KUKA smartHMI (smart Human-Machine Interface) |
Programming language | KRL (KUKA Robot Language) |
Relevant hardware | KR C2 / KR C3 / KR C4 and probably others |
- Further reading
Trajectory composition¶
Cartesian trajectories can be composed in three ways (see manual_slides p. 23-32).:
- Linear Cartesian motions
LIN
- Circular motions
CIRC
- Joint space interpolation
PTP
joint space movement to a given goal, which can be specified in joint space or in Cartesian space.
controller calculates the necessary angle differences for each axis
Preferred motion if a high TCP speed is wanted and the interpolation between both waypoints doesn’t have to follow a predefined path.
- Additional
SLIN
- The Spline Linear motion uses splines between linear motions
SCIRC
- The Spline Circular motion uses splines between circular motions
SPTP
- The Spline Point to Point motion is similar to PTP but it allows continuous spline motions.
Waypoint representation¶
(see kuka_system_software and manual_slides)
Kuka Robot Maintenance Manual
- Angles of rotation of the robot coordinate systems
- S and T specify a robot’s position unambiguously if more than one axis position is possible forthe same point in space (because of kinematic singularities). This is often written in integerform, thus the values above.
- S (status): 3-bit binary value describing the robot’s configuration with predefined criteria
- T (turn): direction of a turn.6-bit binary value, containing flip bits for each axis (0 when axis >= 0 deg, 1 when axis < 0deg)
Angle | rotation axis |
---|---|
A | Z |
B | Y |
C | X |
Trajectory parameterization and execution¶
(see manual_advanced)
Specification of velocity¶
Speed of TCP can be set within a move instructions in % by the ‘vel’ argument.
For Continuous path motions ([LIN], [CIRC]) the velocity is constant from start to end.
Realtive Joint Velocity can be set by: setJointVelocityRel(0.3)
KUKA operation mode influence velocity
Mode description velocity T1 Manual Reduced Velocity max of 250mm/s T2 Manual High Velocity as programmed AUT Automatic as programmed EXT Automatic external as programmed CPR Safe Operation max of 250mm/s
specification of acceleration¶
Relative Joint Acceleration can be set by: setJointAccelerationRel(0.5)
Blending¶
(source Angerer and Vistein)
Kuka Krc2 Manual
Blending is enabled by the advance run mechanism enabling planning the next motion while executing a motion.
To activate blending a motion needs to be marked as blendable by adding a keyword to the motion instruction. C PTP`for PTP motions and `C_DIS, C_VEL or C_ORI for motions in operation space.
Blending between all motion types is supported. It is even possible to blend a PTP (joint space) into a LIN (Cartesian space) and vice versa.
Blending can be done by defining a blend radius
- as a relative value: IMotion.setBlendingRel(0.2)
- in millimeters: IMotion.setBlendingCart(20)
Parallel IO operations¶
No information found so far
Online (real-time) trajectory modifications¶
Robot Sensor Interface (RSI) (see RobotSensorInterface)
- supported since KRC-4 controller
- influence the position of the robot by external sensors.
- robot position can be influenced by external sensors through overlaying a programmed motion with external control, like position correction from a sensor-based system
- default 4 ms cycle time for accepting set point, hence external controller requires hard real-time
- usually correction data is provided in relative values and applied directly to the running program. However, as absolute values are possible, the robot can be controlled externally while a KRL program only providing a fixed start position runs in the background.
- communication between KUKA and external controller via UDP/IP on a dedicated network segment
- RSI context is a library with RSI objects for configuration of the signal flow
- RSI monitor offers online a visualization of the RSI signals.