I am unfamiliar with DPM, and interested to know if it can be used for my application.
The goal is to have the robot rotate around a known center of rotation (the ultimate goal is to provide support for a metal sheet product that is being bent). Currently we're using RTCP movements for this, and specify the angular velocity. In the future however, we would like to be able to adjust the rotation speed 'live' by having the robot monitor the desired rotation angle (using real-time communication over EtherCAT). The line-tracking option would be very interesting, only when it comes to rotational motion, it only supports circular rotations, whereas in our application we may have to combine a rotation around an RTCP with a translation.
To get the target position, we take an LPOS in our RTCP frame, and then rotate the RTCP frame by the desired angle (and translate the origin if needed). If we move to the stored position with an RTCP movement, we achieve our supportive bending. In order to make the movement responsive to a live angle, I was thinking about the following method in a TP program:
1) store current position in RTCP-frame: PR[1]=LPOS
2) RUN background KAREL program that will rotate the RTCP-frame based on a live angle (the angle will still be constant 0 at this point) and translate the frame's origin as well
3) start our production process that will start updating the desired rotation angle at step 2; thus updating the position setpoint of PR[1]
4) start a motion command that will keep the robot position at PR[1] as its setpoint
5) once the movement is completed (or aborted), stop the motion command (skip condition probably) and background program (karel program will have to finish once a flag is set for example)
The live updating of a setpoint that is happening in step 3 (after step 4 is started) is something that I am unsure of how to achieve. The DPM software option sounds like it could provide the functionality I am looking for but I'm not sure. Any other ideas are of course also welcomed.