RobotStudio event

Short time Acceleration switching

Hi
I am working on ABB IRB 140.
For my application I need to accelerate the robot with 9500 mm/sec^2 for 0.1 sec and then with 12000 mm/sec^2 for next 0.1 sec and then decelerate it with 19500 mm/sec^2 for next 0.1 sec.
Initial velocity = 0 mm/sec
Final velocity after 0.3 seconds = approx 0 mm/sec
(Note: Acceleration values that I have mentioned are not exact but close to actual values)

Can I switch between these accelerations in that short time frame?
Which commands should I use in RAPID?

Thanks
Nikhil

Comments

  • Moved to RobotWare forum.

    Henrik Berlin
    ABB



  • You can use the RAPID instructions PathAccLim and WorldAccLim to limit the acceleration. See example below
     
     
    image
     
     
    here is the code I used
     
    [CODE]MODULE Module1
        CONST robtarget Target_10:=[[0,0,0],[1,0,0,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
        CONST robtarget Target_20:=[[0,47.5,0],[1,0,0,0],[-1,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
        CONST robtarget Target_30:=[[0,202.5,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
        CONST robtarget Target_40:=[[0,320,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
        CONST robtarget Target_50:=[[0,325,0],[1,0,0,0],[0,-1,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];
     
        PROC main()
            MoveLPath;
        ENDPROC
       
    PROC MoveLPath()
     MoveJ Target_10,v1000,fine,tool0WObj:=Workobject_1;
     WaitTime 1;
     WorldAccLimOn:=9.5;
     MoveL Target_20,vmax,z5,tool0WObj:=Workobject_1;
     WorldAccLimOn:=12;
     MoveL Target_30,vmax,z40,tool0WObj:=Workobject_1;
     WorldAccLimOn:=19.5;
     MoveJ Target_40,vmax,z0,tool0WObj:=Workobject_1;
     MoveJ Target_50,vmax,fine,tool0WObj:=Workobject_1;
    ENDPROC
    ENDMODULE
    [/CODE]
     
    You can analyze the actual acceleration and speed in the Signal Analyzer of RobotStudio. Note that the IRC5 robot controller is optimized to follow the path accurately and if you want to maintain a certain acceleration and speed you need to compromise on the path accuracy, hence the zone data I used in my RAPID program (see zone data in the RAPID program). I adjusted the zones to make the robot maintain the speed. If you want more accurate path following, the robot will slow down before reaching the each programmed point.
     
     

    Henrik Berlin
    ABB
  • @Henrik Berlin
    Thanks a lot for your reply..

    I tried to run your code, but I got some problems..
    I have few questions,

    1) What are the coordinated and orientation of Workobject_1?
    I set Workobject_1 as
    User Frame Position = ( 500, -150, 800 )
    and User Frame Orientation = (0, 90, 0)
    And Object frame same as User Frame..

    But I get completely different results..
    The velocity plot if not same as that of yours. Max velocity = 1343.52 mm/sec
    Is it because of different Workobject?
    2) I am always getting min and max linear acceleration in world = 0.0
    Why is it so?
    Am I making any mistake in setting the simulation/signals?

    3) In your graph maximum acceleration shown is 30,223. I saw in product manual that the max. linear acceleration for IRB 140 is 20,000. So Robot studio does not have any checks to see if vel./ acc reaches max possible?

    Sorry for such a long email.
    Thanks for your help.

    Regards
    Nikhil
     


  • Hi Henrik
    I didn't know about the signal analyzer. I often need to know the speed and acceleration on the path and it is very helpfull for us. Thank you.

    Best regards

    Marcel




  • 1) Sorry, I forgot that the workobjects and tooldata are placed in the module CalibData.mod by default. Anyway, here is its definition:
    [CODE]TASK PERS wobjdata Workobject_1:=[FALSE,TRUE,"",[[506.291643817,-100.000001136,679.50001583],[0.500000007,0.000000005,0.8660254,0.000000005]],[[0,0,0],[1,0,0,0]]];[/CODE]
     
    I have attached the station too.
     
    2) The signal configuration is a little shaky and is sometimes lost. Save and reload your station to recover the setup.
     
    3) The signals displays what comes from the internal motion system of the controller, RS does not filter the signal. The real controller will have the same behaviour. The true acceleration of the real robot will be influenced by the power electronics and the mechanical arm, but in essence the signal is the same. In my example the payload is zero and the path is idealized. The max acc value of the product manual is probably a bit more conservative to reflect practical situations.
    Henrik Berlin
    ABB
  • Additional information, you should you the T-model (IRB 140T). There is no template for it yet, which means you need to create the system in System Builder.

    Henrik Berlin
    ABB