Handguiding on LBR iiwa 7 with X11

  • Hi Everyone,


    I am working on a KUKA LBR iiwa 7 and am trying to configure it to enable HandGuiding by using a custom HandGuiding Device that utilizes the X11 port. I am attempting to make a safe device using the CIB_SR.4 connection but do not know how to configure this in WorkVisual. I am currently using ports 7 and 8 as an output and input for CIB_SR.4 which are attached to a 2 state button. If you know how to help me with this problem, please let me know!


    Thanks in advance!

    College student currently in undergraduate program in Biomedical Engineering and Computer Science working internship with a KUKA LBR iiwa R800 7kg Robot.  I'm still learning the basics, but I hope to master the techniques necessary to operate and understand this robot during my time in University!

    Edited once, last by alexanderdsmith ().

  • Okay, here is how I got HandGuiding to work on my LBR iiwa without a Media Flange Touch:


    First, I configured 2 ESM states in the safety configuration. In ESM 1 I configured Hand guiding device enabling state with a Stop 1 reaction. In the configuration, I set only the first enabling switch to true and used the Input CIB_SR.4 (you can use others if you wish). In ESM 2 it doesn't matter what you configure as long as there is something there (I am using Cartesian velocity monitoring at 1000mm/s and Collision detection at 20Nm).


    Second, I created a switch to use as a Hand guiding enabling device. This can be done in any way you wish, as long as you have a complete circuit between pins 7 and 8, and pins 16 and 17 on an X11 adapter. You can look at page 47 in the Kuka Sunrise Cabinet Documentation if you wish to wire a different input such as CIB_SR.5, etc.


    Third, I created a program in which I am able to hand guide the robot. The robot must be in AUT mode for this to work, and if you do not have the ability to get to AUT, please express your concern and I will make a tutorial on that. The program starts by setting the robot to the second ESM state, then performing a movement command to make the robot easily accessible for hand guiding movement. The robot is then set to the first ESM state then the command robot.move(HandGuiding()); follows to allow the robot to move in a hand guiding motion.


    In order to operate the robot in hand guiding, the switch that is used must be activated. After the switch is activated, the robot will freely move in a hand guided motion (be sure to familiarize yourself with how hand guided motion works during this as well). Once the switch is deactivated, hand guided motion will stop, and the robot will continue the application.


    I hope this helps, if you have any other questions please let me know.


    ___________________________


    (This is from someone who has no KUKA training, and is doing research in a college lab. I did this project to determine whether I could do hand guided motion for future experiments. This tutorial will only help you understand how hand guiding works.)

    College student currently in undergraduate program in Biomedical Engineering and Computer Science working internship with a KUKA LBR iiwa R800 7kg Robot.  I'm still learning the basics, but I hope to master the techniques necessary to operate and understand this robot during my time in University!

  • Hi,


    I followed your guiding. But, I got the safety status: "invalid bus-configuration for MF Touch".
    Do you have any clue what I did wrong.
    I wonder what Media Flange did you choose in StationSetup. Do you think the type of MF chosen in StationSetup matters? I usually choose "Medien-Flansch elektrisch" for my KUKA (it does not actually have MF)
    :help:


    Thanks,
    Vinh

  • Hi Vinh,


    You've almost got it. I believe you need to further customize your safety configuration, as the hand guiding device is preconfigured to MF Touch, which is an install option that you can add to a pneumatic flange that would have come preinstalled with your robot. I also have the Medien Flansch Elektrisch, and have been able to configure safety correctly. The way around this configuration is you will need to go into your safety configuration and select hand guiding device in your configured ESM state. In the AMF, there should be a parameter list in the third box under the ESM rows, and you need to change the settings of that instance so that Enabling switch 1 used is set to TRUE, all other enabling and panic switches are set to false, and Enabling switch 1 input signal should be set to the input you configured on your X11 ports (For example, I used the CIB_SR.4 input). Once this is done, it should work.


    Note that this tutorial that I made was for Sunrise Workbench V1.5.1.8, but if you are on a different version, the safety configuration for hand guiding may be different. I recently upgraded to V1.9.2, and the upgrade significantly changed the way hand guidance is controlled on the robot. If you are above V1.8, Sunrise Workbench will have different ways of monitoring safety for hand guided control. Please let me know what version of Workbench you are on if you are still having trouble.


    Hope it helped!
    -Alex



    The attachment shows where you will need to look to find the parameters that you can change the inputs on. The only used switch should be Enabling switch 1 and the input signal should be CIB_SR.# (in my case it is CIB_SR.4). The row with the Input is highlighted in the picture. The screenshot was taken in Workbench V1.9.2, so the safety configuration may look a bit different, but the concept should be relatively the same.

  • Hi all,
    Sorry for bumping up this thread.
    I have been trying to make the handguiding work. I think my problem is that I am missing a handguiding enabling device. How can I make one without buying a real one? Can I just bridge some connections? Could you please explain which and how to do that?


    You mentioned having to be in AUT mode. However, I cannot get into AUT as I do not have any external safety mechanisms. Is there a way around this issue?


    Thanks a lot


    Edit: I forgot to mention I have a IIWA LBR 7 with an electric MF and workbench version 1.11.

    Edited once, last by napol1 ().

  • Quote

    I have been trying to make the handguiding work. I think my problem is that I am missing a handguiding enabling device. How can I make one without buying a real one? Can I just bridge some connections? Could you please explain which and how to do that?


    You can make your own. Use the X11 interface like in the image attached


  • Thanks.
    Is each pair of cables connected? Either permenantly or with a simple switch.


    The other side of this X11 connector contain pins. Each cable end has a pin. The other end of the cable should have a button, that when you click on, would shunt each pair ( Browns together and purples together) at the same time.
    To use it for handGuiding I never never PSM's, I mapped it as an Enabling button on WorkVisual.

  • The image you uploaded is the connector on the Cabinet or the other side?
    It is a bit blurry so I can't read the pins number. Is it 18/19 and 28/29?


    Ok, so you haven't defined any new ESM? Like they say in the documentation and alexanderdsmith wrote ?


  • The image you uploaded is the connector on the Cabinet or the other side?


    The side appearing on the photo should be hidden by a sheath cable, and its end connected to a button (that closes the two circuits at the same time) . The other side of the connector should be connected to the X11 interface on the Sunrise Cabinet Controller. I have photos in better quality but the are in my camera's SD card. I'll upload them when I get them.


    Quote

    Is it 18/19 and 28/29?


    Yes.


    Quote

    Ok, so you haven't defined any new ESM? Like they say in the documentation and alexanderdsmith wrote ?


    I think it was used in early versions of Handguiding, even though ESM's can be defined in a variety of scenarios not only HG.
    I've never had the need to do so, because I use the Enabling button
    I usually use handguiding in AUTO mode ( When I need it in an

  • I have tried this. For now without a button but only short circuiting the purple to purple and brown to brown with a pair of cables. in AUT mode.


    However, every time I try connecting the inputs in X11, I get a warning and an error. The warning is "error in safety device CIB_SR 5" (Which is I guess a good start since I am looking for enabling device input in CIB_SR.5). The error is "error in safety device occurred. Safety control paused". Do you have any ideas what might be wrong?



    P.S. Currently I cannot add i/o to workvisual (As I said in my other thread) I have tried following the documentation and adding an ESM with "Hand guiding device inactive" with inout at CIB_SR.5.

    Edited once, last by napol1 ().

  • Hey there Napol1,


    You are getting a safety error because you are not shorting the wires at the exact same time. In order to short the wires at the same time, a button will work best (on my rig, I sometimes still get this safety error pausing because my button does not have well soldered connections, or my button rig gets dropped). The way the X11 connections work require that all connections are shorted simultaneously, so I would highly recommend connecting your cables to a button. I will be in my lab shortly, and can show you an image of the wiring I have on a 2-state button. Also, please be aware that you will not need to configure any hand guiding devices in WorkVisual. Hand guiding is meant to be configured in the Safety Configuration only using the safe input (SIB_SR.5, for example). You are very close, your connections are simply not being shorted at the same time.


    Hope it helps!
    -Alexander

    College student currently in undergraduate program in Biomedical Engineering and Computer Science working internship with a KUKA LBR iiwa R800 7kg Robot.  I'm still learning the basics, but I hope to master the techniques necessary to operate and understand this robot during my time in University!

    Edited once, last by alexanderdsmith ().

  • Let me bump as well inside your thread. :winking_face:


    Is there any difference between handguiding mode and impedance(stiffness, damping) set to 0?


    Best,
    Michael


  • Is there any difference between handguiding mode and impedance(stiffness, damping) set to 0?



    Hi Mike,
    It's similar in some aspects, but not the same as HG. Sure, you can can move the robot by hand while it's mellow as a dead fish. But, this causes some problems.
    According to my experience with both of these modes:
    - impedance control mode doesn't handle force compensation as handGuiding (In case if your iiwa has a tool weighing 10kg it would take a holy hit, especially axes 2 and 4. Heck, even if there's no tool attached, it would fold on itself.
    - The robot's axes quickly go beyond their limits, forcing you to unmaster/master them each time, and it's frustrating.

    So, I wouldn't recommend this, at all. Because, these two modes differ in their philosophical core:
    - Handguiding --> Change the robot's position constantly by hand guiding it.
    - Impedance mode --> Force the robot to go to its previous position, when external torques are applied upon it.

    If KUKA's engineering team took the hassle to implement these two modes, I Think they have good reasons.

  • From the description, Handguiding sounds most similar to the LWR's "Gravity Compensation Mode." Since I've yet to use an iiWA, I don't know if it has that same mode, or if HG is just a new name for GCM. But as long as the payload data was (very precisely) correct, GCM would cause the LWR to be "limp" to any external forces except those cause by gravity.

  • Hi there,


    Yes, there is (and please do not use impedance mode set to 0, bad things will happen). Hand guided motion "follows" the way you guide it. The motion is very controllable and it is monitored by the torque sensors with the expectation to receive an external force. This means that the robot can hold itself up while in hand guiding mode. On top of this, hand guided motion requires the use of an enabling device (you can make one or use the optional flange Media Touch, which has enabling devices for hand guiding built in. However, with impedance mode, the robot cannot hold itself up on its own. Instead it is acting as a spring with spring constant zero, which essentially means the robot has no "sponginess" to its motion and will simply fall down under its own weight. Its axes will not move independently to each other, as they do in hand guiding, and the robot will be very hard to control. If you set impedance mode to 0 on all axes in a program, it is very likely that you will damage your robot and/or hurt yourself and others in your lab. Impedance mode can be very dangerous under the wrong circumstances!


    Hope it helps! If you have other questions, ask away!
    -Alex

    College student currently in undergraduate program in Biomedical Engineering and Computer Science working internship with a KUKA LBR iiwa R800 7kg Robot.  I'm still learning the basics, but I hope to master the techniques necessary to operate and understand this robot during my time in University!

  • Hi guys,
    I finally had some time to work on this. I made a button that shunts the pairs of cables together (See the attached picture). However, when I connect the cables, I get an error message even before plugging the 4th cable. Now that I think about it I realize that the pairs are connected to each other (Blue to green) all the time. I guess that's not ok?
    Do I need a 2-channel button?



    Edit: added the image :smiling_face:

  • So your are mixing channel A and channel B of X11 signals?
    That's a no go. You do need two channel button.


    A and B channels are 24V but different pulse modulation.
    KRC detects if you mix them up.
    Safety violation. Break the whole idea of two channels.

Advertising from our partners