RobotStudio event

Move robot on air slide

We have mounted our IRB5500 robot on a pneumatic 2m slide with 2 fixed end of stroke positions and simple output control.
Its set up as a mechanism in Robotstudio.

Our Problem is how to move the robot base frame with the robot as it slides.
Any ideas guys?

Comments

  • Are you talking about in RobotStudio?
  • Yes, in RS.
    In the spraybooth, the robot slides nicely and our work piece to be painted, the work object, stays static.

    In RS, I can see that if the robot was mounted on an ABB track, I could move the base frame with the robot as it traversed up and down.

    In RS, we have the robot mounted on a mechanism, but the base frame doesn't move with the arm as the mechanism moves.

    We have a temporary workaround in that the work mechanism moves the work piece, but it can be a little confusing
  • @lemster68 have you got any ideas on this?
  • Isn't there some parameter in the MOC which specifies if the base frame is moved by a mechanism?
    Lee Justice
  • Hi Guys, I'm revisiting this.
    Robot works great in paint booth in real life. If we program manually with the teach pendant, all good.

    Now we are trying to use Robotstudio and program offline.
    We had a temporary solution of moving the work object on the slide instead of the robot, but all the positions are in the same robot space, so they are hard to see.

    In RS, we have created a sliding mechanism and attached robot to the slide, which works.
    However in the MOC file > type Robot > Base Frame moved by ???

    I can't get my mechanism to appear in the drop down option box, all I have is Rob1
    I sense it needs to be some form of servo motor powered external axis with a "single" created???

    How can an air operated fixed stroke cylinder move the base axis?
    How can a mechanism become a single?
    If I try to create a new single under Configuration>Motion>Single,    it is greyed out and won't let me.

    Your expert knowledge is eagerly anticipated.....

    This is a youtube video of the cell in action 
  • Do you do any painting while the slide is moving the robot from one end to the other?
  • No. We paint only from the fixed end stroke positions. The travelling speed etc is completely unregulated and simply a means from 1 fixed position to another at the end of the stroke. There is a limit switch each end to ensure position reached.

    In order to simplify our problem, I referred to 1 cylinder. We actually have 3 of differing lengths to give us 5 robot fixed positions.  That's why our robotstudio station looks like a myriad of rainbows at the moment with all 5 position targets in the same space
  • Have you tried moving your robots coordinate system with pdispset instead of moving the workobject? 
    It basically moves everything. But maybe you want to achieve something where the targets physically is at the same location but the robot has moved?
    Systemintegrator - Web / C# / Rapid / Robotstudio

    If I helped, please press Vote Up  :smile:
  • lemster68
    lemster68 ✭✭✭
    If you have a single, robot controlled joint as a slide, the robot would need to be configured to have the external axis.  Since your real robot does not have it, or the option, I assume that is why the selection is greyed out.  I am also assuming that you built the system in RS from a backup.  You could maybe build another clone of your system with a virtual controller, adding an external axis option and configuration.
    Lee Justice
  • Going by comments above the real system does not have any modifications to the moc config file?
    Which would make sense because the system does not need to know it has physically moved as you are not dynamically painting on the move so the robtargets are fine with the standard configuration.

    The issue is with RobotStudio where you need to move the robot (as you do in the real world), but to be able to use the code in the real robot the baseframe should not be moved by xxx as then you would have an external axis value in the Robtarget (which would not work in your real system).

    I think the solution will be to do with the task frame in RobotStudio - I will refresh my memory on this and see if there is a way to do what you need.
  • JHID
    JHID
    edited May 10
    grahammy, there is a way to change the MOC like the others are describing by referencing a robot that's on a conveyor's motion configuration window or MOC file in Syspar.

    If your issue is just having overlapping points, visually, in Studio. You can add all the paths & points that belong to position A to a Tag "A_Points" & then hide the tag. This will hide all pathing at a  single click rather than hiding and unhiding repeatedly.
  • Thanks JHID, this is still a real pain for us

    "...there is a way to change the MOC like the others are describing by referencing a robot that's on a conveyor's motion configuration window or MOC file in Syspar."

    When you say "referencing a robot", what do you mean?
    Do you mean copy a 7th linear axis moc file into my moc file?
  • So we just need to "fudge" robotstudio somehow.
    Should I insert a slide and attach the robot to it and move the base frame.
    I can make the slide invisible

    In the proc I use to slide the air ram, I could insert a IndAMove, move the RS track by 1200mm which mirrors real life.
    Would that work?

    That leads me to setting up an external axis track in Robotstudio....
    I am struggling to set a drive unit, I can see lots of forum posts about this!
    Can I simply take a template from the media pool, copy its Moc and paste that into my MOC file?
  • If you download one of the rail for the paint robots and attach your robot to it (adjust the position as necessary) then use the create from layout (click lower half of the virtual controller button on the home tab). Add any options you have that are not included as you step through the dialogue boxes.
    This will automatically create a virtual controller with the correct configuration for the external axis.

    The down side of this is any robtarget created will have an external axis values (as highlighted below)
    Before you can transfer the program to your real robot you will need to change these to 9E+09 (you can use find and replace as you should only have the one external axis value - if you search for say [-80,9E+09, you will avoid picking up any other entries (say the x, y, z value of the robtarget) with the same value.


    I have tried moving the robot position (and slider carriage) via the event manager,  but  have not found a way to update the base frame of the robot automatically to reflect the new position.

    If you want to only want to program offline you could manually update the baseframe position and then continue programing all the positions at  that end of the slider.
  • JHID
    JHID
    edited May 25
    Grahammy said:
    So we just need to "fudge" robotstudio somehow.
    Should I insert a slide and attach the robot to it and move the base frame.
    I can make the slide invisible

    In the proc I use to slide the air ram, I could insert a IndAMove, move the RS track by 1200mm which mirrors real life.
    Would that work?

    That leads me to setting up an external axis track in Robotstudio....
    I am struggling to set a drive unit, I can see lots of forum posts about this!
    Can I simply take a template from the media pool, copy its Moc and paste that into my MOC file?
    You cant simply copy a MOC's text over, this may work, but it can do more harm then good. I would use something like beyond compare (text compare program) to see what was added to that MOC in order to make the 7th axis work.

    Also yes you could attach the robot to the slide, hide it, then bring in your air rail geometry and have a component (part robot would sit on) attach to robot base so that it'll move along with it in studio, but this wont solve any issues for you if you expect to know rail position or give rail position from robot. 

    if you are just sending a signal to your air rail to and from the robot to know it's position the former will work, but if you intend to track a target while moving , this will not work.

    EDIT1: I see you have two fixed positions, what i suggested will work for you, exclude last statement starting with "but..." in second paragraph

  • If you download one of the rail for the paint robots and attach your robot to it (adjust the position as necessary) then use the create from layout (click lower half of the virtual controller button on the home tab). Add any options you have that are not included as you step through the dialogue boxes.
    This will automatically create a virtual controller with the correct configuration for the external axis.

    The down side of this is any robtarget created will have an external axis values (as highlighted below)
    Before you can transfer the program to your real robot you will need to change these to 9E+09 (you can use find and replace as you should only have the one external axis value - if you search for say [-80,9E+09, you will avoid picking up any other entries (say the x, y, z value of the robtarget) with the same value.


    I have tried moving the robot position (and slider carriage) via the event manager,  but  have not found a way to update the base frame of the robot automatically to reflect the new position.

    If you want to only want to program offline you could manually update the baseframe position and then continue programing all the positions at  that end of the slider.
    Do you know if this works for older Robotware versions, preferably 5.16? I created a new station with a random robot with robotware 6.13 and random track, followed these instructions and it worked well.
     The only thing we noticed is that as well as the 9E+09 changing, the XYZ values were very high. E.g the track moves along the X axis, the figures were up to 5000 which is the length of travel. However once we convert this into a usable program for our real robot, X=5000 will be far out of reach so surely the program will not run? If the base frame is being moved by the track should these figures be so high?

    When trying to do the same with an earlier robotware version and using the paint models it doesn't work, the external axis values are not appearing in rapid and all targets are out of reach.