Robot returning to path after jogging - can it be avoided?

  • Hello


    Let's say that I am running a program on the robot in manual mode. I then stop the execution of the program, and start jogging the robot instead. If I start the execution of the robot program again after jogging, then the robot will move back to the point where it left its path, before the program starts running again. Is there a way to avoid this? I know that ABB robots will ask you whether the robot should return to its path before continuing in the program. Is it possible to have a similar behaviour on a Kuka robot? Maybe the behaviour can be controlled via a system variable?


    The solution should not involve the use of "line_select" or interrupts, because then it is not better than the solution that I already have...


    Thanks in advance!


    /RoboticsMan

  • Hello. You will have to write your own routine using Submit interpreter. You can use system signals $ON_PATH(robot is on programmed path) and $NEAR_POSRET(robot is near programmed in tolerance of 200mm) and according to that signals you can reset, cancel, run the main program(at the begging of the program you should at least check if robot is in home before executing the moves) if somebody jogged the robot out of programed path.You can even watch if somebody pressed the jogging keys or used the 6D mouse on KCP and use that info to also reset, cancel, or run the main program or you can rewrite the same behaviour like you have on ABB using signals and functions written above.

    Edited once, last by DannyDJ ().

  • Hello!


    Thanks for the answer! I'm not sure that it will solve my problem, though. I can see that my explanation was not so clear. I don't want to cancel and restart the robot program.


    Lets say that I have a program with four via-points: P1, P2, P3, P4. Then I want to be able to halt the robot program anywhere along the path - jog the robot away from the path, and then continue running the program. I want the robot to continue the program without moving back to the point where it left the programmed path.


    In reality the program does not only consist of 4 via points, it is a lot more complicated.


    Part of the program is a functionality that lets the user measure coordinates with the robot. The coordinates are then transferred to a PC.
    For this to work, the user has to enable the measurement-functionality on the PC. The PC will then tell the robot to go into measurement-mode. The robot program has to run until it in measurement-mode. Once the robot program is in measurement mode, the user can then jog the robot to a point that he wants to measure. At this point he can press lineselect on a specific line (lin pos_act). This will prevent the robot from moving back to the previous position once the robot program continues running.
    This works well - but if the user by mistake starts to jog the robot before the robot program is in measurement mode, then the robot will move back to the previous position before it continues. This is a common mistake (even for me, and I wrote the program!), and it is super-annoying. Sometimes it is possible to line-select the program line at the current position of the program pointer, and in this way prevent that the robot moves back. Sometimes "line-selecting" breaks the communication (Ethernet.KRL) between the PC and the robot. In this case the robot program has to be restarted completely, so that is also not a good solution. Any solution that involves interrupts is also likely to be problematic, because that might also break the communication between the robot and the PC.


    Maybe it is possible to fool the robot into thinking that it has not actually left its path?


    /RoboticsMan

  • @ Danny


    i know that one can use CWRITE in SPS to stop, cancel and select program but how is this related to original post that?
    to me your reply suggest that you have working method to:
    1. pause current program
    2. manually jog robot away from path
    3. resume existing program without returning to old path and manually selecting other line in program.


    am i missing something?


    Robotman


    Why in the world would you do something like that? BCO is there for a reason. Robot either runs planed (and TESTED) program path or it is jogged manually at reduced velocity.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Hello panic_mode


    In my reply to DannyDJ you can see why I want to do it. I agree that it normally always makes more sense to move back to the path before the program is resumed - but not in this particular case! We have implemented the same program for ABB robots, and the ABB asks you whether you want to return to the path, or just continue from the current position. That is great in this case.
    Now that I think about it - I don't think that the robot moves back to the path after jogging, when I run my program on a VKRC controller. But VKRC controllers are wierd in so many ways, so I guess that does not really help me with my problem on a regular KRC controller.


    /RoboticsMan

  • @ panic_mode


    I was just trying to show that there are many system variables which can be helpful to RoboticsMan, i didn't know he is using VKRC.
    Also from the first post there was question if KUKA have some kind of variable to switch on or off to achieve the same behaviour like on ABB where this is (if i read correctly the first post) already integrated in ABB software. On KUKA KRC, not VKRC (i don't know VKRC) this is not implemeted from default.


    So i apologize if my post offended somebody. I was just trying to help and tell that it's up to programmer to achieve the same behaviour from ABB on KUKA KRC robot.

  • DannyDJ:


    The problem I have, is on KRC. I have tested the same code on VKRC. In some ways the behaviour of the VKRC is better in this particular case, but that will not help me with my problem on regular KRC...
    And thanks for your first answer! Even though I cannot use it directly, it might still be useful in other situations.


    @panic_mode:


    Dropping the jog speed to 0% when not in measurement mode? Hmm... thats not the solution I was hoping for, but that does not make it a bad idea! I might just do that. I talked to a colleague about it, and he liked the idea.


    /RoboticsMan

  • Danny.

    I can give you an example of where you want the robot to NOT go back.

    I have a robot cell. This cell will be moved from our site, to the customers site.

    Once there, someone will have to recalibrate the bases.

    The way i do this, is i have a laser sensor on the robot, that must hit some marks.

    Then i calculate the offsets, and everything just works.

    The guy that has to align the marks with the laser, is the mechanical supervisor.

    I can teach him, how to jog the robot a little, but not how to do this, the real way.

    Instead i create an install wizard, that moves the robot to just about the correct position. Then asks the supervisor to adjust the position. Then i do an Thispos=$pos_act, moves to the next position and so on.


    Since i sometimes have a year, from when were done with the robot, till the robot is on site, this also helps me.

  • Great, thank you for sharing your example to me, but i wasn't who was searching for the example, i think the RoboticsMan was... btw the post is almost 6 years old 🙂...

Advertising from our partners