TCP drifts in Z direction when E1 is jogged in WORLD, TOOL frame

  • Hi All,
    We have a M20iA/12L Robot mounted on a E1 linear axis. The Robot is mounted on a 45deg inclined platform which is then mounted on the Base of the External axis. Please see the image below.
    I have configured the External axis such that Mounting angle is 45deg, Jog direction is X+ etc. The External axis when jogged in JOINT moves properly but when it is moved in WORLD or TOOL frame the TCP is drifting in Z direction rather than staying in a fixed position.


    We have a similar setup with KUKA and we get to keep the TCP in a fixed position when moving the external axis in TOOL frame by configuring the Machine Transformation values.
    Is there any similar values in Fanuc which can give me this result ???? or am i configuring something wrong :hmmm:? Also is there a possibalitz to edit the Axis origin of the Robot?? Thanks a lot in advance. :merci:


    Robot: M20iA/12L
    Controller: R30iB Mate
    External Axis: Güdel TMO-2-E
    External axis motor: alphaiS 8/4000


    Things i have already tried:
    Added Mounting angle 45deg
    Configured External axis in various directions X+,X-,Y+,Y-,XY
    Tried modifying: $SCR_GRP[1].$OFST[7].$Z

  • Well...that makes sense I think. You've told your robot that his external axis is mounted at a 45-degree angle, which means that going on X, he's going up or down. Angle the axis at 45 degrees and the TCP will probably stay fixed in position.
    Shouldn't the robot be configured as mounted at 45 degree and the axis at 0?
    I've never mounted a robot like this so I may be wrong here.


  • Well...that makes sense I think. You've told your robot that his external axis is mounted at a 45-degree angle, which means that going on X, he's going up or down. Angle the axis at 45 degrees and the TCP will probably stay fixed in position.
    Shouldn't the robot be configured as mounted at 45 degree and the axis at 0?
    I've never mounted a robot like this so I may be wrong here.


    I know i have to put in an offset between the Robot and the External axis, but the question is where should i put this value of 45 deg. There is just one variable "Mounting angle", which i have already tried changing.
    Could you please explain how can i set just the Robot at 45deg and external axis as 0deg? Thanks

  • That is normal behavior. You set the mount angle to 45 degrees which is correct. The robot is tilted 45 degrees so the world frame is also tilted.


    Now create a user frame that is parallel to the floor (most likely your P angle will be -45 degrees).


    After that you will want to jog the robot using your user frame and forget that world mode exists.


    ***Note, that this will not solve the issue of the robot thinking that the rail still matches the world axis. I'm not quite sure if there is a solution to that. Maybe someone else can chime in.

    Edited once, last by HawkME ().


  • Your note is what is important here. Using a Uframe will adjust axis 1-6, but is useless for E1 jogging. The E1 axis would need to first be jogged to desired position, then the robot robot arm can be moved to teach a point. If axis 1-6 is jogged first, the robot will drift out of position, which is quite inconvenient.


    Notice the destination of the flange when E1 axis (+X 300mm) is jogged in attached. This is the result in any jog coordinate system (with the exception of joint)


  • I know i have to put in an offset between the Robot and the External axis, but the question is where should i put this value of 45 deg. There is just one variable "Mounting angle", which i have already tried changing.
    Could you please explain how can i set just the Robot at 45deg and external axis as 0deg? Thanks


    Unfortunately, no. I've never seen a robot mounted on an external axis that way.
    I'm really rusty on my external axis - haven't done one since my college master's project - BUT...couldn't you set the JOG as a Y+ instead of an X?
    Sounds to me like this could be solved as long as the jog direction of the axis is paralel to one of the robot WORLD axes...which would be Y by my understanding.


    I may be wrong or completely misunderstading the problem.

  • ClaudiuA The rail is pointing the same way as the robots world x axis, but rotated 45 degrees about the y axis.


    From what I can tell this is not a supported mounting configuration for the rail. All I see as available configurations is X, Y, Z, or an XY blend. What you have is an XZ blend which is not an option that I am aware of. If I were you I would ask the person who came up with the 45 degree mounting if they know the answer. Also you could ask Fanuc tech support.


    If you go with my suggestion to just use a corrected user frame it will work but will have some inconveniences and potential issues. As retobor said, you will always need to do a joint move with the rail to the correct rail location first then start teaching and moving the robot. It will be very difficult to program the rail and robot to move at the same time linearly, but should be OK for joint movements. It will have adverse affects on setting up any kind of zones (DCS, spacecheck, LPOS coordinates, etc). And TCP speed output would be inaccurate while moving the rail.


    Another option is to buy or make a flat mount so the robot is in a normal configuration on the rail. I don't see much advantage to this 45 degree mount besides being able to reach a little further off the end of the rail.

  • You might get luck if you will separate E1 to separate motion group and use this axis not as external. Bottleneck of this configuration, you wont be able to run nicely robot and external axis at same time. But robot coordinate system must be fine.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now