Welcome, Guest. Please login or register.
Did you miss your activation email?
February 09, 2012, 03:40:58 AM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  ABB Robot Forum (Moderators: Werner Hampel, Sven Weyer, Jim Tyrer, Napierian)
| | |-+  Safely bring back the robot to home position
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Safely bring back the robot to home position  (Read 872 times)
Robotic5
Newbie
*
Offline Offline

Posts: 27


« on: March 09, 2010, 04:42:12 PM »

Is it possible when you are executing a program en this stops (by whatever) to the robot safely back to the homeposition?
It's an ABB IRB6400
Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


Uruguay Campeon de America 2011 !!!!!!!!!!


« Reply #1 on: March 09, 2010, 05:11:47 PM »

The question is good for any robot.

Depending on the application it could be very simple or very hard, but, of course it's possible.


Myself, I hate to do that. There are many many conditions to be satisfied to send a robot Home from wherever it is, but like I said before, on some applications is very easy.

One thing  that,s very important and that for me is rule NUMBER ONE.

You can send the robot back home  or maintenance or purge, etc  AS LONG AS THE YOU KEEP THE ROBOT IN AUTO MODE. Once you go on teach, youo should not trust where the robot is positioning
Logged

somar
Robotic5
Newbie
*
Offline Offline

Posts: 27


« Reply #2 on: March 09, 2010, 07:20:54 PM »

I understand but my problem is how?
Because in our situation the robot is moving between multiple objects.
And when i simply send the robot to homeposition, then he hits things in it's way.
Logged
Fabian Munoz
Global Moderator
*****
Offline Offline

Gender: Male
Posts: 862


Uruguay Campeon de America 2011 !!!!!!!!!!


« Reply #3 on: March 09, 2010, 07:55:11 PM »

I dont remember  from the top of my head how to interrupt/abort/stop a job on ABB.

Tyhe general procedures to retrieve the robot will be:

After every point you have a routine to go home
Example, every letter is a point

Home

a
move Home if necessary

b
move a,Home if necessary

c
move b, a,Home if necessary

and on.


You can achieve this writing different routines where you have all the backsteps or just directly the back steps if a condition happens

Obviously, this gets complicacted when you are manipulating, etc. because the conditions in and out are different.  Yuo could have a part on the gripper for example and  there's no room to move backwards with the part.

If my answer doesnt give an idea write again. Be very specific
« Last Edit: March 09, 2010, 11:08:16 PM by somar » Logged

somar
tony gast
Hero Member
*****
Offline Offline

Gender: Male
Posts: 700


Can I barrow a cup of robots?


« Reply #4 on: March 09, 2010, 08:52:08 PM »

I work with many different robot types and am not an ABB expert....that being said.....
TRAPs I think is what you write to abort to another module.....and as somar states.....writing the return to home may be simple or difficult depending on how you got to the location you want to go home from.....
I have written programs that look at the joint positions and figured where the tool was in XYZ to go up and over obstacles(or using cubes to do the same thing). and I have written programs that record paths as the robot moves forward(into variables) to allow the robot to back out from any positions.....
Logged

Oh, well
Android
Newbie
*
Offline Offline

Gender: Male
Posts: 15


Android


« Reply #5 on: March 11, 2010, 11:08:17 AM »

Yes. Its possible in IRC5.

But you need to have options like store path and etc in Motion Advanced Instruction list in Flex pendant.

So dat you can store the path.. using storepath instruction.
You can move the robot backward using stepbackwardpath instruction.
In starting of the program use clearpath instruction.

If you have the above options, Its 4 hr job to complete this job.. If not you need to buy dem from ABB..

Good Luck..
Logged

By
Android
spaceacealpha
Newbie
*
Offline Offline

Posts: 39



« Reply #6 on: March 12, 2010, 12:46:49 AM »

On your IRB6400, If you have a 'clear' ceiling.

    TempPos:=CRobT();
    TempHgt:=CPos();
    IF TempHgt.z<750 THEN
      TempPos:=Offs(TempPos,0,0,750);
      MoveJ TempPos,Slow,z100,Gripper;
    ENDIF
    MoveJ Home_Pos,Slow,z200,Gripper;


(750 being the tallest object you need to dodge)
You can get fancy with this too, you can track your x and y positions and give special move commands. 

I've also on Fanuc's KAREL called up the actual position, compared joint 1,2 and 3 to all positions joints values for 1,2 and 3, give a score based on how close the joint is and the highest scoring position wins and the robot moves to this and then follows typical paths to home.  I don't have that code with me though and its less predictable than the above code.
Logged
MotorCitySTI
Newbie
*
Offline Offline

Gender: Male
Posts: 39



« Reply #7 on: March 16, 2010, 03:48:43 AM »

On your IRB6400, If you have a 'clear' ceiling.

    TempPos:=CRobT();
    TempHgt:=CPos();
    IF TempHgt.z<750 THEN
      TempPos:=Offs(TempPos,0,0,750);
      MoveJ TempPos,Slow,z100,Gripper;
    ENDIF
    MoveJ Home_Pos,Slow,z200,Gripper;


(750 being the tallest object you need to dodge)
You can get fancy with this too, you can track your x and y positions and give special move commands. 

I've also on Fanuc's KAREL called up the actual position, compared joint 1,2 and 3 to all positions joints values for 1,2 and 3, give a score based on how close the joint is and the highest scoring position wins and the robot moves to this and then follows typical paths to home.  I don't have that code with me though and its less predictable than the above code.

This " TempPos:=Offs(TempPos,0,0,750);" code will cause the robot the robot to go up an additionial 750 mm from where it is currently located.

I suggest

!Data
Const num nSafeHomeHeight:=750;
PERS robtarget pCurrentPos:=[[-765.706,75.8629,1100],[0.827152,-0.000301007,-0.561776,-0.0151286],[0,-1,0,4],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];



   !
   ! Get Home
   !
   pCurrentPos:=CRobT(\Tool:=tCurrentTool\WObj:=wobj0);
   !
   IF pCurrentPos.trans.z>=nSafeHomeHeight THEN
      !
      ! Robot is above nSafeHomeHeight Position going Home
      !
      TPErase;
      TPWrite " ";
      TPWrite " Robot above "\Num:=nSafeHomeHeight;
      TPWrite " Returning to Home position";
      !
      WaitTime 1;
      !
      MovetoHome;
      !
  ELSE
      !
      pCurrentPos.trans.z:=nSafeHomeHeight;
      MoveL pCurrentPos,v200,fine,toolGrip;     
      !
   ENDIF

There are a million ways to do this, depending on what options you have.

Jeremy
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!