Follow the profile of a metal part

  • Hello, I would like to know if it is possible to follow the profile of a metal part with a tool.
    I defined my trajectory with several points, which I would join in movements "LIN" or "CIRC", as in the first figure.



    I would like to know if it is possible to use the sensitivity of the robot to add an additional force that would allow the tool to follow the profile of the part perfectly (the red arrow on the second figure)


    I tried to use impedance control mode with those parameters (Which correspond to the orientations of my tool):



    And this trajectory:


    But when I add the "setMode" the robot no longer follows the trajectory (3rd figure). I have tried to remove the setblending, but it didn't solve my probleme


    Is there a parameter that I use badly? Or is there another way to do this?

  • I can't speak to the iiWA specifically, but in general KUKA terms, I can think of three ways to do this:


    1. Change the motion path to rotate the TCP such that (for example) the X+ axis of the TCP is always facing directly towards the surface that the tool is in contact with, and program the robot to maintain a constant force along the X+ TCP axis. This would require rotating the TCP through 360 deg over the course of the motion path, however, which may be impractical.


    2. "TTS". The TTS tool frame, in "normal" KUKA robots, is basically defined on-the-fly by the motion vector of the TCP. So as the TCP's motion vector changes, the TTS toolframe rotates to maintain a constant orientation relative to the motion vector, even if the TCP's own orientation is fixed (or changes in other ways). This is often used for operations like turning a curved workpiece against a grinding/polishing tool.


    3. Program the motion path "large" the the hole, and limit the total force the robot is allowed to apply. Basically, the robot would always be trying to reach locations outside the circumference of the hole, but get "pushed back/aside" by contact with the edge of the hole. This could get a bit tricky, depending on how the iiWA handles point approximation, but might be a workable option.

  • You set an additional of 5N. Because you did not set a stiffness to a specific value, the default value is taken, which is 2000N/m.
    This means, that you can get a diviation of (5N/(2000N/m)) = 0.0025m or 2.5mm. This is not very much.


    You can increase the additional force and decrease the stifftness to achieve a higher diviation.
    Additionally you can set a maximal control force. But I am not sure if this functions works as I hope it does.

    Code
    imp.setMaxControlForce(10, 10, 10, 10, 10, 10, false);


    If this is not working as we hope it shall work, you can try the

    Code
    CartesianSineImpedanceControlMode


    set an additional force of 50N, a stiffness of 500N/m ==> max. diviation of 100mm
    And if you want to, you can limit the force to 10N,


    Code
    CartesianSineImpedanceControlMode sine = new CartesianSineImpedanceControlMode();
    sine.parametrize(CartDOF.Z).setBias(50).setStiffness(500).setForceLimit(10);


    experiment with the values and have fun.

  • To avoid caring about the direction of the tool orientation and the additional control force.
    I suggest that you teach your frames outside your metal container. And when the motion's target frame is outside the container shape, you should use impedance mode.
    By defining target frame outside the shape together with impedance mode, you can ensure the tool is applied to the shape surface.

  • Hello,
    Thank you for your answers.
    I tried the different possibilities. In the end, what worked best was to take larger points. However, the robot stops twice during the trajectory and I can not understand why.
    So my tests on this part are finished. Thank you for your help.

  • Hi ,

    I activate iiwa lbr robot collision detection and using 15Nm . but i can make push and pull operation because of the collision detection exceed problem. do you have any solution for that. how can I deactivate for some position and activate it again. or need external torque or Force? help please

Advertising from our partners