RobotStudio event

MToolTCPCalib - 4 Axis robot?

Good day,

I have used the ABB RAPID function MToolTCPCalib in the past to teach the TCP offset of a calibration pin tool with a 6 axis robot. 
However attempting to repeat the same with a virtual IRB 660 4 axis robot I keep getting the error below, regardless of actual passed joint targets:

40801: Calculation error
Description
Task: MAINTASK
Cannot calculate the tool frame. 
Program Ref. /Teach/rCalculateAndDisplayTCP/MToolTCPCalib/87


Causes
It is not possible to calculate the tool frame with the selected approach points.
Actions
Select new approach points as accurate as possible. 

Does anyone know if it is actually possible to use MToolTCPCalib  to get the x,y,z TCP offset of a tool with a 4 axis robot?
 
Thanks in advance, 



Comments

  • Are you sure you are assigning the points as jointtargets and not robtargets? 
  • JacquesTheAutomater
    edited October 2020
    Hi xerim,

    Thanks for the feedback, yes indeed MToolTCPCalibis being passed 4 joint targets:

    MToolTCPCalib jp1,jp2,jp3,jp4,tCalPin,nMaxErr,nMeanErr;
    where jp1 - jp4 are joint targets:
    TASK VAR jointtarget jp1:=[[157.47,-16.2178,36.1094,0,0,85.735],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    
    TASK VAR jointtarget jp2:=[[146.052,4.97363,38.7396,0,0,-206.682],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    
    TASK VAR jointtarget jp3:=[[152.539,-25.0653,32.5315,0,0,-299.196],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    
    TASK VAR jointtarget jp4:=[[132.324,-34.0644,27.6696,0,0,-27.4108],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

  • According to the technical reference manual, there are a list of conditions that must be fulfilled before using the instruction MToolTCPCalib. See below


  • innebandy
    innebandy ✭✭
    edited October 2020
    The orientation of 4 targets should be different each other as the picture attached. Otherwise, you will get the error because the calculation result is infinite. And of course this is the limitation of 4 axis robot.
  • Thanks innebandy, so it seems that a difference in orientation via rotation around world z axis alone is not enough, and MToolTCPCalib therefore does not work on 4 axis robots.


  • You’ve got a point there.