Hello everybody,
I am a robot programmer, most of the time ABB, and new to this forum and I do not have very specific experience with KUKA except Pick & Place tasks.
In the topic "Handling of partially defined poses (E6POS)" by toro, SkyeFire wrote this:
QuoteIn the case of POS, FRAME, E6POS, AXIS, and E6AXIS variable types, any structure elements left undefined are treated as ignorable. That is, a PTP {X 100} will move the robot only in the X dimension of the active Base, and keep all other positional elements identical with wherever the robot was when the motion began (with the possible exception of S&T, which may change if the motion crosses one of the S&T boundaries).
Variables cannot be used inside the {} braces of a STRUC variable. As such, it is necessary to create a variable, fill in the elements you desire to control, and then use the motion command with that variable.
E1's relationship with motions depends on the robot configuration. If, for example, E1 is a linear rail and the robot is mounted atop it, E1 could be kinematically inegrated, or not. If not, then the XYZABC positions will be defined relative to the active Base, and the Base will be defined relative to $WORLD, and $WORLD will move with $ROBROOT -- the bottom center of the robot's floor-mounting plate. The robot will not be "aware" that it is being carried around by the E1 axis.
If, OTOH, E1 is kinematically integrated, then (usually) $WORLD will be detached from $ROBROOT, and "mounted" to the zero position of the E1 rail. As such, E1's position will become part of the overall XYZABC position, and the relationship between E1 and the rest of the robot will become part of the reach calculation. In effect, the robot will be "aware" that it is riding on a linear rail, and the geometric relationship between the robot's mounting plate and the rail.For example: A robot with a maximum reach of 3m will not be able to move to an XYZ point more than 3m away from $ROBROOT, even if the robot is mounted on a linear rail... unless that rail is kinematically integrated. If it is, and (for example) the rail is parallel to the Y axis of $ROBROOT, then the robot would know that it's reach has expanded beyond 3m, but only along the Y axis -- seen from above, the robot's reach would go from a circle to an elongated oval, with the elongation defined by the length of the rail.
I would like to know if anybody knows a bit more about the path planning of mathematically integrated linear axis. With ABB robots it is not possible to include the linear axis in the interpolation of XYZABC. You always have to give a value for the external axis otherwise the robot will not move and throw an error that states a not reachable position. I do not have a linear axis here to test it with KUKA but we have to set a system in a few weeks at the workshop of our customer.
Thanks for your help in advance.