Recommendations for understanding MOTION GROUPS

  • Hi guys


    Just as in the title, I'm a little confused with the terminology Fanuc uses regarding motion groups and wondered if anyone can direct me to any specific manual that has a good generic breakdown/explanation and options.

    (I don't need any manuals, just some pointers to where this information may be available for me to find).


    The reason I ask, I have been posed with a scenario where a 7th axis is to be used to drive a shuttle on a linear rail, the linear rail is to be attached to JT6 and a tool mounted to the shuttle, so that the height of the tool can be adjusted.


    What the scenario also includes, is for this 7th axis to be independently controlled (asynchronously to JT1-JT6) so that if you were carrying out a linear move along a flat surface (ie a sealing gun and laying down a bead) and a height sensor (mounted ahead of the tool in line with the intended path), and the flat surface height starts to vary, the Fanuc can then adjust the height (via the 7th axis) whilst maintaining the linear path.


    Is this possible do you think?


    My spin on this is to not have any external axis at all, and just adjust TCP height with the varying height sensor value.


    Any comments and suggestions as always would be greatly appreciated......:top:

  • I think the handling tool operations manual goes over them. The arc tool manual might be a better bet, as that tool deals with a lot of multi robot cells with trunions and the like.


    The thousand foot view is that you make a group for one or more axis that may need to be controlled independently. The two groups can be coordinated together, but placing the axis in seperate groups allows you to have the option of independent motion when needed.


    Two robots that need to coordinate for a specific portion of the process, but can do seperate operations otherwise? Two groups. The situation you described? Two groups. Robot on a rail? Can be two groups, but way easier to control if you just define the rail axis as an extended axis. Gripper with integrated servo for positioning? Probably two groups, but could be extended axis.


    For your situation though, it would be far cheaper, and way less complicated, to just to buy the dynamic path modification option.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Thanks Nation for the information and pointers, that helps....


    The scenario is only 1 robot, with EOAT mounted to a linear rail, which is mounted to JT6.

    The external axis will control the height of the tool during the process whilst JT1-JT6 is moving along the path.


    My confusion is coming in whereby whilst a synchronised motion (JT1-JT6) is under execution, an asynchronous motion is being applied to a separate axis which is purely being controlled via a start/stop io and height sensor.


    So in this case, is it simply:

    Group 1 = JT1-JT6

    Group 2 = JT7


    From a Lehman's code perspective, is the below that simply implemented to achieve?


    L PR[2] 10mm/sec FINE ; Start position

    ;

    RUN ; independent motion task which is internally looping and reading height sensor

    ;

    L PR[3] 10mm/sec FINE ; Finish position


    For your situation though, it would be far cheaper, and way less complicated, to just to buy the dynamic path modification option.

    Yes, indeed this is my view point too.

  • My confusion is coming in whereby whilst a synchronised motion (JT1-JT6) is under execution, an asynchronous motion is being applied to a separate axis which is purely being controlled via a start/stop io and height sensor.

    I've seen variations on this used for seam-tracking laser-welding heads, where correction speed of the head needed to be faster than the overall robot could handle, due to inertia. So the robot just had to maintain a linear path within ~20mm of the seam, and the tracking head did high-speed "jerky" corrections to follow the seam within that 20mm window.


    The really simple way to do this would be to simply have your head spring-mounted, and have a roller wheel mounted right next to your tip, riding the surface. So as the surface varied, the wheel would push the head up and down to match, while the robot just sailed linearly along. This is a standard setup on lower-cost laser heads, where the only critical item is maintaining exact focal distance.


    So whether you need this independent linear axis mounted between J6 and the EOAT probably depends on whether the robot could handle all the corrections using the Dynamic Path option, or if a simple spring-loaded head could handle it.

  • I've seen variations on this used for seam-tracking laser-welding heads, where correction speed of the head needed to be faster than the overall robot could handle, due to inertia. So the robot just had to maintain a linear path within ~20mm of the seam, and the tracking head did high-speed "jerky" corrections to follow the seam within that 20mm window.

    That's really valuable information indeed and something for me to make a note of, many thanks for that, that could leave me some hair in place if it occurs in this particular scenario.

    The really simple way to do this would be to simply have your head spring-mounted, and have a roller wheel mounted right next to your tip, riding the surface. So as the surface varied, the wheel would push the head up and down to match, while the robot just sailed linearly along. This is a standard setup on lower-cost laser heads, where the only critical item is maintaining exact focal distance.

    The simplest solutions are often read with an expression of..............:icon_eek:, but then when you think about it deeper, you can chuck technology in the bin.

Advertising from our partners