KUKA Robot Speed, Settings & Calibration

Started by clari, January 31, 2025, 09:38:39 AM

Previous topic - Next topic

clari

Hello,

I am currently using the KUKA OrangeApps Lego Robot and am testing out some pick and place movements. I have added a custom 3D printed gripper as the end effector, and what I am planning is to have A6 to turn to tighten around the bambu skewers, have the robot move to the required planes as set without A6 moving, loosen the grip of the gripper to release the skewer by activating A6 only, then move back to its original position.

I am trying to increase the speed which the robot can move when it is poking the bambu skewers into a Styrofoam base, however, when I tried feeding the PTP command with 100% speed, its movement is the same as when the command is fed with 30% or 50%. I have also tried adjusting the settings at the KUKA prc command, where I increased the PTP speed and acceleration to 100%, however, the robot's speed remained the same.

I would like to check:
1. If there are any other ways I can increase the robot's speed.

2. If it is possible to block one axis of the robot from moving while the robot is travelling tis path.

3. When calibrating the tool head with XYZ 4-point calibration and the base with 3-point, what is the proper way of doing it? I have tried to calibrate it according to videos, but the values seem a little strange, and my simulation seems to run a little off after I key in the calibrated values. These were the videos that I have referenced for bot tool head and base:
Tool head: https://www.facebook.com/KUKAGlobal/videos/how-to-setup-a-custom-tool-with-xyz-4-point-method-for-kuka-tutorial/538797073270925/
Base: https://www.youtube.com/watch?v=w7AKeu4Sy-Y

4. After calibrating the base, if I were to add a geometry to act as my base in the rhino file just as a reference and guide on where the skewers will go, how should I set up the base in the rhino file to how I need it in real time?

I have attached an image of the end effector and the grasshopper file. Any advice and help are much appreciated. Thank you!

Johannes @ Robots in Architecture

Hello,

We have got an OrangeApps Lego robot as well and like it a lot, but you need to remember that it is not a "real" KUKA robot. So issues with speed etc. are mostly due to that. What they do is that they get the position where the simulated robot is and send it to the Lego robot to move there. So you won't get exactly the same movement as with a real KUKA robot.

That is assuming you are running the robot in T2 or AUT, because T1 speeds are by default limited.
You cannot block an axis easily. If you need more control over the toolpath, add additional positions to make sure that your robot is where you want it to be.
Regarding calibration, that is the standard way, but if you 3D printed your tool you can just take the measurements from the digital model. A good way to check the tool calibration is to move the robot in ABC - if it's properly calibrated, the tip will remain in place and rotate exactly around the TCP. Base calibration is very straightforward anyways.
In KUKA|prc you can add cell geometry (Custom Cell component), which will keep its relative position to the robot.
What do you mean by setting a base in real-time?

Best,
Johannes

clari

Hi Johannes,

Thank you for your quick reply!
Thank you for you explanation regarding the difference between the Lego and real KUKA robot, and how the Lego robot operates. Since I won't be able to increase the speed of the robot, are there any ways I can check the speed that the robot is moving at? Since for PTP movement, the speed is only expressed in a percentage.

For the tool head 4-point calibration, I was wondering for the reference point, is there a specific position that I need to place it e.g., same level as the highest point of my base, or will any position work? Do I also need a specific object to act as the reference point? Because when I was trying to calibrate the tool head, I just used a pointy object that is similar to what the video I have linked previously shown, and placed it to a position right in front of the robot that the robot can reach.

Regarding setting the base, my apologies for not phrasing it properly, what I meant was I had wanted my set up to be as what is shown in Image 01, so I have been trying to set up my Rhino and Grasshopper files according to how it looks like (shown in Image 02). However, after doing the base calibration and keying in the values, the robot tilts forward (shown in Image 03), which I understand that it is affected by the Base A, B and C in the KUKA prc component, however, that was what I was quite confused by. Will I need to tilt the robot forward when I am using the robot in real life, or can I just leave it as that and set my file normally? Will I need to tilt my base in the Rhino file as well so that it aligns with the robot? If my base already has a specific size, may I just key in the size of my base into the base management settings?

Thank you!

Johannes @ Robots in Architecture

Hello,

Via Display/Variables you should be able to query the speed via $VEL_ACT

For the 4 point calibration, you can pick any point in space.

Regarding the base, the robot in KUKA|prc is moved backward, so that the Rhino origin is always the base. So the further away the origin of your base is from the robot, the more the robot is moved back from the Rhino origin. I guess you simply calibrated a tilted base. Take a look at the ABC values - a base roughly parallel to the floor will have mostly rotation in A but few in B and C.

Best,
Johannes

clari

Hi Johannes,

Thank you for your inputs, I have managed to somewhat figure the above out with your help.

I will also like to enquire about the robot's reach and rotation. I was testing if the robot is able to place the skewers in an angle as we will eventually be creating a piece of work where the skewers all rotate to the attractor points which creates a pattern. While I was testing, I realised that the tool path warns that there are collisions and unreachable positions when the angle of rotation exceeds a certain amount even though it is still within the robot's reach and rotation, which in this case is only 10 degrees (shown in Image 01 and 02). Therefore I was wondering what might be the issue here and how I can solve it.

I also realised that some of the axis unnecessarily turns when it does not need to (shown in Image 03 and Video 01). Will placing more points help? Or is there a way where I am able to restrict the axis movement for some part?


Thank you!

Johannes @ Robots in Architecture

So the A4 rotation is defined by the so-called STATUS value that defines the posture. If you don't provide a PTP movement before, KUKA|prc will add one. Look into the Settings window, Initial Posture, and change it. The most common values are 010 and 110. Please refer to the KUKA documentation for a good explanation of the STATUS value.

Regarding the reachability, I cannot say anything from the image. You might be going through a singularity and winding up your A4, for example.

Best,
Johannes