Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (2024)

Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (4)

Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (5)

Sponsored Ads

Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (11)

  • jinesh8888
  • February 4, 2023 at 2:11 PM
  • Thread is Unresolved
    • February 4, 2023 at 2:11 PM

      Hello everyone...

      Thank you in advance for any help...

      Im using KUKA krc4 KSS 8.6.9

      I have different program conditions...

      Suppose I'm at one position reached...and someone by mistaken given different program no...My robot can physically go but it's collision happens..

      So i want to do interlock for that and Generate error and send the signal to PLC that program no. Invalid or movement not possible ....

      Pls help me im new in kuka programming...

      • February 4, 2023 at 4:48 PM

        Do not let program end in a random point. Each program need to return robot to suitable safe position such as home.

        • February 4, 2023 at 8:23 PM

          Thank you for your precautions...

          But Here There is only one program but Customer want Small small parts of this program...so he can put PLC in manual mode and can go to each and every position by pressing the HMI screen...and then come back to the Safe position such as home..by pressing home button..

          Also i need to give them access if any of them position can accessible then they can move from eachother...

          I want to take precautions and make sure that there is no collision happens..if operator doing something wrong on HMI Screen...

          • February 4, 2023 at 11:37 PM

            then write home recovery program that brings robot safely to home position from any possible position. this is basically bunch of IF-THEN-ELSE conditions and step by step motions until you reach home.

            then make sure that this program is called first - before running your actual production program(s).

            of course home recovery program should check if robot is at home. if that is the case, just end recovery and let the next program run as usual. but if robot is not at home, check everything that may be significant. for example if robot is holding something etc. recovery motions should be slow since this is unusual situation and cycle time is not an issue. also if there is a mistake in a program and collision does occur, it is much better that it happens at low speed. in many cases it is a good idea to move up or retract in tool direction. if the robot is holding something one need to determine how to proceed correctly. if the part is supported (held by CNC chuck etc.) one may simply open robot gripper and continue from there. but if part is unsupported, releasing gripper would cause part to fall and that is in most cases a big no-no. when that is the case, it may be better to move with part and drop it off someplace safe, before returning home. since each cell is unique, so is each recovery program. Things can be easier to recover from situation like this if some kind of trail left by previous programs (which tool and base was used, etc.). A good idea is to also let home recovery program leave trail of data or messages to help identify and fix any bugs.

            Code

            DEF HOME_RECOVERY() BAS(#INITMOV,0) BAS(#VEL_PTP,10) BAS(#VEL_CP,0.2) PTP $AXIS_ACT MsgNotify("Home Recovery BCO done") $H_POS=xHOME IF $IN_HOME THEN MsgNotify("Robot is at home") RETURN ENDIF MsgNotify("Not home yet, moving slowly from here...") ;.... BAS(#TOOL,...) BAS(#BASE,...) ;... LIN_REL {X -200} #TOOL ; retract in tool direction  ;(assuming we know the correct tool, and the tool axis is X) IF $POS_ACT.Z<1300 THEN PTP {Z 1500} ENDIF ;... PTP xHOME ; reach home MsgNotify("All done. Home position reached...")END

            Display More

            • February 5, 2023 at 12:45 PM

              Thank you for your response...

              I already Completed recovery program using interrupt and also it's works fine...but only one issue here that...my customer wants recovery home button on HMI and robot is moving only if HMI button is continuing pressed...if operator leave HMI button then it should be stopped....

              Another issue is that...As soon as home position is reached...they don't give external command to my robot...So home position is reached but my interrupt program not completed yet...it's never came at resume instructions....so in some case some malfunctions are there....

              Any ideas what to add if my robot is reached at home position then i will cancel my interrupt routine and send back to main program..

              • February 5, 2023 at 1:04 PM

                the main point of automating home recovery is to retract robot blindly - without operator presence. but if the requirement is that operator holds button on the teach pendant, what seem to be the problem exactly? if you refuse to run recovery unless user changes to T1 mode, they will get exactly what they asked. CELL.SRC does the same thing.

                • February 5, 2023 at 1:09 PM

                  Quote from jinesh8888

                  I already Completed recovery program using interrupt and also it's works fine...but only one issue here that...my customer wants recovery home button on HMI and robot is moving only if HMI button is continuing pressed...if operator leave HMI button then it should be stopped....

                  Why not letting customer do it in T1 then. There is the safe deadman switch for exactly this use case.

                  Quote from jinesh8888

                  Another issue is that...As soon as home position is reached...they don't give external command to my robot...So home position is reached but my interrupt program not completed yet...it's never came at resume instructions....so in some case some malfunctions are there....

                  And how is your interrupt setup and how exactly it is defined? You are sure you are doing the interrupt correctly?

                  Fubini

                  • February 5, 2023 at 1:31 PM

                    Here my recovery routine...inattachment

                    • February 5, 2023 at 1:36 PM

                      my cell program....

                      Everything is working but i have a little bit doubt...in interrupt....

                      Sometimes...is there a sometime recovery is done through HMI and operator leaves the robot in between...So interrupt is not working at that time...So I'm confused...at that time...is there any limits to the interrupt....if interrupt program is going on...and in between someone leaves for 1 to 2 hour..after that it is resume from where i will be stopped aur program will directly go to main program..

                      • February 5, 2023 at 2:00 PM

                        that is not how interrupts work.

                        • February 5, 2023 at 2:27 PM

                          am I wrong in anything...Should i call this home recovery routine by program calling method....basically i want to cancel the robot current program and come back to home directly from that...and home it can go to direct any other program...

                          Is there any way that i want to cancel my current running program..by external output and send back to program pointer back at point to wait next program no. ??

                          • February 5, 2023 at 2:33 PM

                            and also if my interrupt program is going on then sometimes it's showing on Teach pendant sometimes...not....

                            My program pointer is waiting for next program...but interrupt program is going on....so any malfunctions happens at that time....

                            • February 5, 2023 at 2:34 PM

                              Thread

                              INTERRUPT PROGRAM

                              Hi,

                              Can you check if my INTERRUPT 10 is well declared in main program also if subroutine is ok?

                              Thank you.

                              DEF NONAME1()

                              GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )

                              INTERRUPT ON 3

                              INTERRUPT DECL 10 WHEN $IN[6]==TRUE DO STOP_MOVE()

                              INTERRUPT ON 10

                              $APO.CDIS = 0.5000

                              BAS (#INITMOV,0)

                              BAS (#VEL_PTP,20)

                              BAS (#ACC_PTP,20)

                              $BASE=BASE_DATA[1]

                              ;$BASE={X 2000, Y 0, Z 1200, A 90, B 0, C 0}

                              $TOOL=TOOL_DATA[1]

                              ;$TOOL={X 503.173, Y 1.337, Z 101.069, A 0, B 90, C 0}

                              $OUT[1]=TRUE

                              $OUT[3]=TRUE

                              $advance=3

                              Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (12)

                              robot-cnc

                              January 30, 2023 at 1:37 PM

                              How interrupts should be used and what fallpits there are are discussed often here. The above discussion should help and is just a few days old.

                              Fubini

                              • February 5, 2023 at 2:52 PM

                                well this is one:

                                Quote from jinesh8888

                                I already Completed recovery program using interrupt and also it's works fine...

                                there is no way that code you shared is "working fine..."

                                there are several problems.

                                1. one should really avoid doing much inside ISR. ideally ISR should be completed as quickly as possible.

                                2. you are using ILF motions inside ISR. last time i checked that was a bad idea.

                                3. when using RESUME, everything that is to be aborted must be in a subprogram (correct one). your code as written is bound to get RESUME executed while instruction pointer is inside P00 and that is going to give you problems

                                4. you do not take ARP into account so your program is going to crash and you will have no idea how to troubleshoot and fix the issue.

                                5. even if this did not violate interrupt, it still does nothing to get user switch to T1

                                6. even if all of mentioned was fine, your CELL.SRC cannot compile, it is missing an END

                                7. you are not ensuring that interrupt can be detected. if $IN[51] is true when CELL is started, it would not trigger anything.

                                8. case 5 in recovery is never reached

                                9. the speed reduction using $OV_PRO has no effect, it is used after robot already reaches HOME

                                etc.

                                there may be more but i am tired and this should be plenty

                                • February 5, 2023 at 2:53 PM

                                  Thanks for your response....

                                  I just want to ask my program is working...whenever there are any interrupt are there..it's going to at that program.

                                  I need to sure that my robot not completed interrupt routine....it's stopped at Case 5 home condition because of plc not giving him external command as soon as it's reached at home position....

                                  After that plc gives another program no...which works ..but next time whenever interrupt will happened then what my interrupt program is resume from case 5 to complete it or it will move starting onwards..

                                  Also pls let me know is there any offline software for kuka to check all this consequences...offline simulator....to check all this thing...because i can't check in original system ..it's too risky .....

                                  Thnks in advance for help...

                                  • February 5, 2023 at 3:00 PM

                                    Quote from jinesh8888

                                    Also pls let me know is there any offline software for kuka to check all this consequences...offline simulator....to check all this thing...because i can't check in original system ..it's too risky .....

                                    checkout office lite. Can be bought from kuka.

                                    Fubini

                                    • February 5, 2023 at 3:06 PM

                                      Hello @ panic mode....Thank you for your response...

                                      I hope you tired but just help me few things

                                      1) what is ARP ?

                                      2) i just forget to put END in cell.crc ....it's my mistake....

                                      Is there i only put brake and resume command in ARP try to complete my interrupt program as soon as possible....then program pointer will reset back to P00 and wait for next program number then is it fine..

                                      • February 5, 2023 at 5:16 PM

                                        ARP IS Advance Run Pointer.

                                        You should use the interrupt only to stop the robot maybe set a identifier that interrupt was triggered and than let normal program flow do the retraction moves to home in a seperate subprogram and not inside the interrupt.

                                        Fubini

                                        • February 5, 2023 at 5:59 PM

                                          Thank you for your reply...

                                          DEF GO_HOME ()

                                          BRAKE

                                          Wait Time 0

                                          Interrupt off 4

                                          Wait time 0.5

                                          interrupt on 4

                                          Wait Time 0.5

                                          RESUME

                                          END

                                          By this code interrupt will go back to P00 from any point of current program....

                                          I will try this possibility tomorrow....

                                          Also you guys have a kuka officelite any crack version then pls share with me..

                                          This is my first project with kuka robot...we usually work with ABB....they have Excellent offline robotstudio...without any cost....

                                          Thanks in advance...

                                          • February 5, 2023 at 6:44 PM

                                            Do not ask for software piracy here. This will get you banned! Only because ABB is offering different pricing model this is no reason to get illegal stuff here. Just because Linux is for free does not justify stealing Windows.

                                            Fubini

                                          Advertising from our partners

                                          Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (14)

                                          Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (15)

                                          Bringing robot safely to home position - Robotforum - Support and discussion community for industrial robots and cobots (2024)
                                          Top Articles
                                          Latest Posts
                                          Article information

                                          Author: Pres. Lawanda Wiegand

                                          Last Updated:

                                          Views: 6561

                                          Rating: 4 / 5 (51 voted)

                                          Reviews: 90% of readers found this page helpful

                                          Author information

                                          Name: Pres. Lawanda Wiegand

                                          Birthday: 1993-01-10

                                          Address: Suite 391 6963 Ullrich Shore, Bellefort, WI 01350-7893

                                          Phone: +6806610432415

                                          Job: Dynamic Manufacturing Assistant

                                          Hobby: amateur radio, Taekwondo, Wood carving, Parkour, Skateboarding, Running, Rafting

                                          Introduction: My name is Pres. Lawanda Wiegand, I am a inquisitive, helpful, glamorous, cheerful, open, clever, innocent person who loves writing and wants to share my knowledge and understanding with you.