0
Answered

Why the jump at each target in a path ?

VIZtech4 1 year ago in realvirtual.io Starter and Professional updated 1 year ago 5

Using professional version.

I followed the tutorial in this video,  "Tutorial - realvirtual.io - Inverse robot kinematic with Unity",  because I could see the robot jump back at each new target in a path.

Having finished the tutorial myself in Unity, I can see that the jump is real especially when the speed override is very slow.

Why does it jump and how can this be prevented. ? it is causing us a lot of grief.

Even in Edit mode when adding a new target to a path, the robot jumps back from the target at the start.

I would expect the target and TCP to both be in the same place and that would solve the problem, I find it very dissapointing that such a discrepancy exists in what is made out to be a professional product.

Thank you.


.

Answer

Answer
Answered

We have implemented a correction value for each target to address the inaccuracies in the inverse kinematics (ik) algorithm. In edit mode, the user must press the SetCorrection button (multiple times, if necessary) while the robot is positioned at the target. This action calculates the difference between the desired position and the actual tool center point (tcp) position, taking into account any inaccuracies in the algorithm. The correction value will then be applied to future movements along the defined paths. I am sending a patch in a private message for review; if it is deemed acceptable, it will be included in the next release.

Image 828


There also seems to be a position error in IK mode which increases as an axis moves away from the zero position.

Under review

Hi, I checked the issue. You are right - it is jumping slightly at each target.

It seems the the IK algorithm has some inaccuracy and we get a misalignment of up to 5mm at each target. This is the reason for the jump. We think that calculated tcppos by ik == wished tcppos.

As a solution I currently only see to implement a correctional vector at each target and to optionally safe the correctional vector as soon as you teach the point. We also need to start the next path from the latest wished tcp and not the real tcp based on the current tcp transform position. Because putting in the current real tcp will result in the jump due to the inaccuracy. The changes might take some time - I think I can send you a beta next Monday.

Best regards

Thomas

Thomas, thank you.

I would suggest the error can get to a lot more than 5mm on a bigger robot.

When we are using the robot in Axis mode there is a requirement to switch into World mode so I was then moving the target object to the real TCP and there should have been no jump, that is the requirement and expectation.


I look forward to the beta next Monday


Best regards

Doug.

Answer
Answered

We have implemented a correction value for each target to address the inaccuracies in the inverse kinematics (ik) algorithm. In edit mode, the user must press the SetCorrection button (multiple times, if necessary) while the robot is positioned at the target. This action calculates the difference between the desired position and the actual tool center point (tcp) position, taking into account any inaccuracies in the algorithm. The correction value will then be applied to future movements along the defined paths. I am sending a patch in a private message for review; if it is deemed acceptable, it will be included in the next release.

Image 828


Thank you, I have sent a private message.