RobotStudio event

Robotstudio/baseframe help needed - £2000 reward

We need some RS help. I appreciate that many people selflessly give a lot of time helping people on this forum, but its generally a couple of minutes for each post. I appreciate and acknowledge that my problem may need much more time to solve, and I am willing to pay for that, whether to your company, your personal account, your child's college fund, or any where else you wish.
Moderators - I trust I'm not impinging on any forum rules here, I'm effectively simply looking for some freelance work.

Our issue is simply moving the base frame in RobotStudio.

The controller is IRC5. The robot is IRB5500, but that is not relevant really.

In our paint spray room, we have made our own slide that the robot is mounted on, so the actual robot can move back and forth along the wall  in the spray booth.

This slide is pneumatic. It is a standard fixed stroke air cylinder. There is no intermediate position of any kind. A robot output turns an air valve on and the robot slides out to the end of the cylinder stroke, turn the output off and cylinder and robot slides back. Very simple and straight forward.

Our problem is in RobotStudio.

We have drawn out the slide and created a mechanism and attached the robot to it. No problem. We can then jog our mechanism and the robot moves on the mechanism correctly…… but the base frame does not move.

We need the base frame to move with the mechanism, as it does in real life.

We can see that the base frame can be moved in RS if it is attached to an external axis, but that axis seems to have to be an integral robot controlled servo 7th axis. You cannot move the base frame on a mechanism.

So, in RobotStudio, how can we move the robot on our air slide mechanism and have the base frame move with it?

I have slightly simplified the slide to make it easier to understand. In reality, we have 3 air cylinders which give us 5 fixed positions and a total travel distance of 4.8m.

We manufacture long and thin pallets and ladders up to 6m long.

Currently in RS, our work around is that we move our work piece on the slide, leaving the robot and its base frame static, but its not ideal.

I'm hoping, if you are a robotstudio guru, that you will see whether its possible or not, in principle, pretty quickly. If you can solve our problem in an hour, good on you, easy money. If it takes a Sunday of your weekend in a dark room to "get your head around it", its still good money and I will still be grateful

 Thank you. Its perhaps a strange approach, but we are hitting a brick wall now

Graham

Comments

  • I’m not looking to collect but sounds like a fun scenario to test. Do you have a pack’n’go station to share with your mechanism? 
    Systemintegrator - Web / C# / Rapid / Robotstudio

    If I helped, please press Vote Up  :smile:
  • Hallo, I do not have full version of RS, so I cannot help you with a solution in your simulation.

    But it is a fact, if you do not have any kind of mechanism in the real world that moves your robot(for instance as "base frame moved by"), the controller does not know anything about the movement!
    So what RSO shows, it is correct - base frame stays fixed.
    (Thus, if you manage to manipulate this in RS, simulation will be different from real world)

    The only way I know to make the controller aware of that movement is a track-axis or linear-mechanism which is based on a "drive/motor". No motor, no coordinate!
    We had to use a small, mechanically not conneced ABB-servo as dummy in a similar case, just to tell the controller that the robot is moving.

    Question to ABB: I would be interested in a solution, where this "motor" can be something else than a servo.

  • You could use pDispSet to ”move” the robot virtually from rapid.
    Systemintegrator - Web / C# / Rapid / Robotstudio

    If I helped, please press Vote Up  :smile:
  • AuxiliumD
    AuxiliumD
    edited March 2023
    matti said:
    Hallo, I do not have full version of RS, so I cannot help you with a solution in your simulation.

    But it is a fact, if you do not have any kind of mechanism in the real world that moves your robot(for instance as "base frame moved by"), the controller does not know anything about the movement!
    So what RSO shows, it is correct - base frame stays fixed.
    (Thus, if you manage to manipulate this in RS, simulation will be different from real world)

    The only way I know to make the controller aware of that movement is a track-axis or linear-mechanism which is based on a "drive/motor". No motor, no coordinate!
    We had to use a small, mechanically not conneced ABB-servo as dummy in a similar case, just to tell the controller that the robot is moving.

    Question to ABB: I would be interested in a solution, where this "motor" can be something else than a servo.


    I guess what OP is trying to achieve is to be able to have the setup in robotstudio to be able to program it properly. The baseframe stays fixed to the robot as you say, but then he can't use the rest of his CAD in RS. He does have a fixed pneumatic movement, so the base frame is moved in real life, it is just that the robot does not know anything about it.

    I will look into this issue if it is still a problem for you. Having the rest of the cell as a mechanism was a clever fix, what is it with that fix that you think is not good enough?

    Do you mean that you need to use a motor in order to be able to use the external axis? 
  • AuxiliumD
    AuxiliumD
    edited March 2023
    I have now looked further into the issue, and I think I have found a solution. Due to you having this issue I assume that you want to program offline? If so, would you be okay with having one project-file for the programming, and then transfering the RAPID-program to the controller?

    You would program your robot normally offline, but I have written a special function that changes the base frame in simulation, but still execute the program normally in real life without any motors.

    I have a video that I can show you.
    Post edited by AuxiliumD on
  • We make many custom products which need a new paint program each time, so the idea is program offline in RS and the upload the program to the real controller when production is ready.

    Correct, we don't want to use any motors as there aren't any motors used in real life cell.

    AuxiliumD, manipulating the base frame in RS is exactly what we ideally need.... I'm excited!!!
  • AuxiliumD
    AuxiliumD
    edited March 2023
    Then my solution should work for you! I'm not sure how many workobjects you use, or how you calibrate them, so as a starter I have only gone for the wobj0, however making it work for any workobject is easy.

    I have made a video that I show you an example of this, so I know we are on the same page in terms of functionallity. Maybe next step would be to set up a meeting so I can make sure that I get all the features that you need. Then we could also get some NDA:s signed so I can get it properly incorported into your workflow. Where are you based?

    https://youtu.be/WoRKjBM-EGE

    I probably show enough in the video for you to figure out my solution, so it would be up to your conscience if you would like to reward me or not ;) 
  • Hallo,
    what I mean is, that you have to use an external axis (which requires a motor) to let the controller know about the move of the robots base in real life relatively to world during a program is running.
    You can also change the base definition in MOC, but you have to reboot after every change.
  • AuxiliumD
    AuxiliumD
    edited March 2023
    matti said:
    Hallo,
    what I mean is, that you have to use an external axis (which requires a motor) to let the controller know about the move of the robots base in real life relatively to world during a program is running.
    You can also change the base definition in MOC, but you have to reboot after every change.

    That is if you want to use arbitrary points, and let the cotroller feed back to the motor. If you have fixed positions and are not doing any robot movements between them that has to be syncronized, then you do not need a motor like in Grahmmys case. The robot will happily run no matter where you move your robot, as long as you don't involve a 7th axis motor.

    As you can see in the video above I did not use a motor and the robot accepted the code and ran.
  • Hallo,
    I watched your video. Your points have an external value for x/M7 for moving the base and your points are in world coordinates.
    What happens if you send them to the controller which does not have an external motor for x?


  • matti said:
    Hallo,
    I watched your video. Your points have an external value for x/M7 for moving the base and your points are in world coordinates.
    What happens if you send them to the controller which does not have an external motor for x?


    That is what's neat about the functions I've written. They take care of that, and as you can see at 6:55 in the video, they are sent to a controller that does not have an external motor for x, and it works.
  • OK, I understand. You quite likely take out the value for M7 and recalculate internal x-value.
    But finally you will end up with a fixed base frame in real world where the controller is not aware about the movement of the robots base.
    (if you upload a changed program from the real world you have to add M7 and change internal x again?)

  • That looks perfect.
    We are UK based, but I'm away this week in Romanian mountains with very little signal.
    We use a PaintL command and have some terrific VR paint programming addin from Sweden . I just need to check that and see which command actually triggers the gun, its probably the set brush. 

    It's looking good though, thank you
  • Grahammy said:
    That looks perfect.
    We are UK based, but I'm away this week in Romanian mountains with very little signal.
    We use a PaintL command and have some terrific VR paint programming addin from Sweden . I just need to check that and see which command actually triggers the gun, its probably the set brush. 

    It's looking good though, thank you

    Alright, there should be no issues to incorporate this with your PaintL.
    Have a good week in the Romanian mountains.
  • Your video , at 7.40 what the robot sees, is exactly right. 
    In RS all the moves are in the single base frame position and the screen is just a mass of lines eveywhere, and not matching the cad model
  • I'm very pleased to say that AuxiliumD's solution works perfectly. Very impressed.
    Thank you also for the help in implementing it in RobWare 5
    Case closed  :)

    Thank you everyone for the input as well. I've said this before, but the depth of knowledge available on this forum is phenomenal, thank you.