1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
Everywhere
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Members
  3. razzo

Posts by razzo

  • Kuka iiwa change base frame

    • razzo
    • July 12, 2019 at 10:32 PM

    Frame.setAlphaRad ?!
    Frame.setBetaRad ?!
    Frame.setGammaRad ?!

  • Kuka LBR iiwa Voltage of intermediate circuit too low

    • razzo
    • May 16, 2019 at 8:07 PM

    It is the FUSE!!!
    Probably you do not know where this fuse is located. As far as I remeber it is a 80V 4A fuse

  • Problem with Sunrise and workvisual

    • razzo
    • March 28, 2019 at 9:01 PM

    Easiest way to figure out which WorkVisual version is required is to read the 'ReleaseNotes_SunriseOS_en.txt' in the directory 'readme'
    This is for Sunrise V1.13

    Quote


    KUKA Sunrise.OS V1.13 (04/01/2017)
    ----------------------------------

    New Functionality:
    ==================
    - Central Application Wizard for creation of new applications
    - smartPAD: Functionality "Application reset and deselect" moved into menu
    - Support of Field-bus for Connectivity FRI (Fast Robot Interface)

    Fixed Bugs:
    ===========
    - Improvements of robustness in network communication

    IMPORTANT NOTES:
    ================
    - for upgrading of existing application/projects/robot controllers to "KUKA Sunrise.OS V1.13",
    the upgrade of the Windows image to "Win7 V3.6" is mandatory
    - for upgrading of existing WoV-projects, please refer to the ReadMe in the WorkVisual folder.

    System Requirements:
    ====================
    1. Win7 V3.6
    2. Work Visual 4.0.17_build70

    Display More
  • HRC setup/demo?

    • razzo
    • March 28, 2019 at 8:58 PM

    try reading chapter 15.19 and following
    stop condition in Z-direction (world) if the force is bigger than 30 N.

    Code
    ForceCondition cond = ForceCondition.createNormalForceCondition(
    lbr.getFlange(), CoordinateAxis.Z, 30);
    lbr.move(ptp(targetFrame).breakWhen(cond));

    HRC is way more! It is not only that the robot stops when it gets into contact with a person and to limit the speed. It is also that the tool must not be harmful, the complete cell must be ready for HRC, not just the robot.

  • HRC setup/demo?

    • razzo
    • March 27, 2019 at 9:35 PM

    But the function which you discribes has nothing to do with HRC.
    This is just a normal breakCondition.

  • TCP velocity

    • razzo
    • March 27, 2019 at 9:33 PM

    The easiest way to limit the velocity of a motion is with the 'Enhanced Velocity Controller'. This is an extra option package which is provided by KUKA.
    There you can configure the desired velocity within in the safety configuration. If you need several velocity limits you can put them into different ESM and change between those.
    I have no idea how much you have to pay for this option package, but it makes this really easy and safe.

  • Kuka Sunrise 1.5 "id must not be null error"

    • razzo
    • March 26, 2019 at 6:35 PM

    Try to install your new project first before you try to synchronize it.

  • Confusion in using handGuiding()

    • razzo
    • March 22, 2019 at 11:38 PM

    For HandGuiding you do not need the HRC option package afaik.
    AMF configuration is not that easy to understand what to do and especially why to do it, but indeed it is for the safety for the guy who is cooperating with the robot.
    But try:

    Code
    robot.move(new HandGuidingMotion());


    HRC is an additional option package but I cannot answer the question where to get it from, because I got all option packages by default :smiling_face:

  • Bus-configuration for MF Touch error

    • razzo
    • March 22, 2019 at 11:32 PM

    Did you configure the correct 'Media Flange'?
    take a look at your 'Station Setup' -> Configuration -> There should be a field 'Media Flange' and there you have to select 'MF Touch electric'.
    After you saved that you should have a IO-configuration in your Package Explorer. A folder 'Generated IO-configuration' or something like that and some additional files in your source-folder 'xxIOGroup.java' and 'xxIOGroup-impl.java' or something like that. If you do not have those files, create a new project and select the correct Media Flange and then you should have the correct IO- configuration.
    The other possibility is that you just have connected one cabel to your robot and the bus-cable is missing and you just installed the one to supply the drives.

  • Safety configuration collision

    • razzo
    • March 16, 2019 at 9:51 AM

    If you do not see 'Collision Dection' than you do not have the option package 'Human Robot Collaboration' (HRC). The option package has to be installed of course (open 'Station Setup' -> select 'Software' tab -> select 'HRC' option package to be installed -> save 'Station Setup' -> take a look at the new option in your 'Safety Configuration').

  • automatically Redundancy usage

    • razzo
    • December 20, 2018 at 7:59 PM

    I do not have a robot at home and no time to test it at work, but probably this could help.
    If the calculatedFrame cannot be reached with the current E1, catch the CommandInvalidExecption which should be thrown if a Frame of JointPosition cannot be reached, afaik. If the exception is caught, change E1 and try to approach this position again. Repeat as often until you reached the desired position.
    I have no clue if this is working ... give it a try.

    Code
    ...
    while (true) {
    	try {
    		JointPosition jp = robot.getInverseKinematicFromFrameAndRedundancy(calculatedFrame);
    		robot.move(ptp(jp));
    		break;
    	} catch (CommandInvalidException e) {
    		LBRE1Redundancy red = (LBRE1Redundancy) calculatedFrame.getRedundancyInformation().get(robot.getName());
    		red.setE1(getOtherE1(red));
    		calculatedFrame.setRedundancyInformation(robot, red);
    	}
    }
    ...
    
    
    ...
    private double getOtherE1(final LBRE1Redundancy red) {
    	final double limit = 1.9;
    	double value = red.getE1() + 0.1;
    	if (value > limit) {
    		value = -limit;
    	}
    	return value;
    }
    ...
    Display More
  • About connecting RoboDK

    • razzo
    • December 12, 2018 at 6:21 PM

    Maybe it is support if you install in correctly, but did you install it correctly on the sunrise controller?!

  • IIWA hand guide and safety configuration problem

    • razzo
    • December 12, 2018 at 6:17 PM
    Quote from NullReference


    You need to set "enable hand guiding in automatic mode" to true in the station setup.


    This is not true.
    Actually you have to set it to false to use Hand Guiding in an application. This should also be mentioned in the manual.

    And as you (Confused_user) already did correctly is that you use ESMs to make it safe.
    I am not that deep into it that I can see if you configured it correctly. But did you set the Hand Guiding Enabling Switch to true in your safety configuration?

    Images

    • SafetyHGES.JPG
      • 115.53 kB
      • 1,339 × 781
      • 161

    Files

    SafetyHGES.JPG_thumb 10.37 kB – 377 Downloads
  • KUKA iiwa Device State Error

    • razzo
    • November 23, 2018 at 5:45 PM
    Quote from kiiwa

    here's a photo in attach. But, be sure to change the burned one with the same type of fuse. Usually, KUKA ships a couple of fuses along with the new robot.

    Those are not the fuses you have to change, afaik.
    I do not have a controller at home and I always forget to take a picture at work :thinking_face:

  • About connecting RoboDK

    • razzo
    • November 22, 2018 at 6:29 PM

    No, it is no KRC4!
    It is a KUKA 'Sunrise Cabinet' robot controller. This is what you usually can see in the 'Station Setup' in the 'Topology' view (look at attachement).

    Images

    • stationSetupTopology.jpg
      • 21.83 kB
      • 447 × 166
      • 20

    Files

    stationSetupTopology.jpg_thumb 9.03 kB – 44 Downloads
  • How to Monitor Position Sensor (A1 ~ A7) State

    • razzo
    • November 19, 2018 at 8:24 PM

    I am not sure what you really want to do or what you want to know.
    But probably chapter 15.22 of the 'Operating and Programming Instructions for System Integrators' manual can help you or give you an idea what to do. Maybe you are looking for something else like 'Break conditions for motion commands' or 'Path-related switching actions (Trigger)'. Take a look at chapter 15 in general.

    You also can try to tell us more specific what you really want to do. A complete scenerio.

  • Kuka LBR iiwa Safety Password

    • razzo
    • November 17, 2018 at 9:31 AM

    Reinstalling the base WindowsBaseImage could work I guess. But this means deleting everything. And you need the special 'Kill-Stick' which is provided by KUKA. You need the correct WindowsBaseImage which fits to your SWB.
    I do not know if there is any other possibility to restore the default password. I have never tried it.

  • Newbies looking for expert opinion

    • razzo
    • November 16, 2018 at 4:07 PM

    The ExecutionException says that you want to move to a position which is X=100 and everything else 0. This will not work, because the robot cannot move to this position. The robot is not that flexiable :frowning_face:
    Does this Frame you want to move to have redundancy information?! If not, the robot cannot move to this position. And if the frame has redundancy information and they are wrong, the robot cannot move to this position ...
    For further information read previous posts ...

  • Newbies looking for expert opinion

    • razzo
    • November 15, 2018 at 6:24 PM

    I guess you have problems with the redundancy of the robot position. This is a really ugly problem with the LBR iiwa which cannot be solved so easily. We cannot see in which line the problem actually occurs.
    This redundancy problem is no LBR iiwa specific problem, but here it is more difficult because of the 7 joints and the special joint configuration.
    The manual provides some information about this in chapter 14.10 'Redundancy information'.

    So you can drive to your 'homePosition'?
    But not to the next position 'toPrePosition = ptp(point1.setZ(50))'?
    ==> The problem could be that you initialize the 'playGround' in you field declation with an Frame which is at this time empty or 'null'.

    Code
    Frame canvas = new Frame();
    Frame playGround = new Frame(canvas);


    ==> Initialize 'playGround' in your initialize(), below:

    Code
    this.canvas = getApplicationData().getFrame("/canvas"); // .copy() is not neccessary or even worth, it leads to an error.

    This could probably help you. For now.

  • Newbies looking for expert opinion

    • razzo
    • November 13, 2018 at 8:30 PM

    You are obviously not very experienced in computer programming especially object based programming.
    To give you an idea how comfortable this kind of programming can be I try to show you how to draw square quite easiely (if everything is working - I cannot try it at home :bawling:).

    Your robot programm could look like this:

    Code
    package application;
    
    
    import javax.inject.Inject;
    import javax.inject.Named;
    
    
    import com.kuka.roboticsAPI.applicationModel.RoboticsAPIApplication;
    import static com.kuka.roboticsAPI.motionModel.BasicMotions.*;
    import com.kuka.roboticsAPI.deviceModel.LBR;
    import com.kuka.roboticsAPI.geometricModel.Frame;
    import com.kuka.roboticsAPI.geometricModel.ObjectFrame;
    import com.kuka.roboticsAPI.geometricModel.Tool;
    
    
    public class RobotApplication extends RoboticsAPIApplication {
    	@Inject
    	@Named("MyToolTemplate")
    	private Tool myTool;
    
    
    	@Inject
    	private LBR robot;
    
    	private ObjectFrame squareOrigin = getApplicationData().getFrame("MyFrame");
    
    
    	@Override
    	public void initialize() {
    		myTool.attachTo(robot.getFlange());
    	}
    
    
    	@Override
    	public void run() {
    		Square mySquare = new Square(squareOrigin, 20, 30);
    		mySquare.draw(robot);
    	}
    }
    Display More

    But therefor you have to write another class which contains some information and actions. This could look e.g. like this:

    Code
    package application;
    
    
    import static com.kuka.roboticsAPI.motionModel.BasicMotions.lin;
    import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp;
    
    
    import com.kuka.roboticsAPI.deviceModel.Robot;
    import com.kuka.roboticsAPI.geometricModel.Frame;
    import com.kuka.roboticsAPI.geometricModel.ObjectFrame;
    
    
    public class Square {
    	private Frame origin;
    	private Frame upperLeftCorner;
    	private Frame lowerLeftCorner;
    	private Frame upperRightCorner;
    	private Frame lowerRightCorner;
    	private double length = 0;
    	private double height = 0;
    
    
    	public Square(final ObjectFrame origin) {
    		initFrames(origin);
    	}
    
    
    	private void initFrames(final ObjectFrame squareOrigin) {
    		this.origin = new Frame(squareOrigin);
    		upperLeftCorner = new Frame(squareOrigin);
    		lowerLeftCorner = new Frame(squareOrigin);
    		upperRightCorner = new Frame(squareOrigin);
    		lowerRightCorner = new Frame(squareOrigin);
    	}
    
    
    	public Square(final ObjectFrame squareOrigin, final double length, final double height) {
    		initFrames(squareOrigin);
    		setLength(length);
    		setHeight(height);
    	}
    
    
    	public void setLength(final double length) {
    		this.length = length;
    		upperLeftCorner.setX(upperLeftCorner.getX() - length / 2);
    		lowerLeftCorner.setX(lowerLeftCorner.getX() - length / 2);
    		upperRightCorner.setX(upperRightCorner.getX() + length / 2);
    		lowerRightCorner.setX(lowerRightCorner.getX() + length / 2);
    	}
    
    
    	public void setHeight(final double height) {
    		this.height = height;
    		upperLeftCorner.setY(upperLeftCorner.getY() - height / 2);
    		lowerLeftCorner.setY(lowerLeftCorner.getY() - height / 2);
    		lowerLeftCorner.setY(lowerLeftCorner.getY() + height / 2);
    		lowerRightCorner.setY(lowerRightCorner.getY() + height / 2);
    	}
    
    
    	public void setOrigin(final Frame origin) {
    		upperLeftCorner = origin;
    	}
    
    
    	public void draw(final Robot robot) {
    		robot.move(ptp(getApprochFrame(upperLeftCorner, 50)));
    
    
    		robot.move(lin(upperLeftCorner));
    		robot.move(lin(lowerLeftCorner));
    		robot.move(lin(upperRightCorner));
    		robot.move(lin(lowerRightCorner));
    		robot.move(lin(upperLeftCorner));
    
    
    		robot.move(lin(getApprochFrame(upperLeftCorner, 50)));
    	}
    
    
    	private Frame getApprochFrame(final Frame frame, final int distance) {
    		return frame.copyWithRedundancy().setZ(frame.getZ() + distance);
    	}
    
    
    	public Frame getOrigin() {
    		return origin;
    	}
    
    
    	public double getLength() {
    		return length;
    	}
    
    
    	public double getHeight() {
    		return height;
    	}
    }
    Display More

    Another advice for good Java programming, try to avoid somethink like this:

    Code
    if (square == 1)
    {
    	corner1 = square1.copy();
    }
    else if (square == 2)
    {
    	corner1 = square2.copy();
    }
    	else if (square == 3)
    {
    	corner1 = square3.copy();
    }
    	else if (square == 4)
    ....
    Display More

    use instead:

    Code
    switch (square) {
    case 1:
    	corner1 = square1.copy();
    	break;
    case 2:
    	corner1 = square2.copy();
    	break;
    case 3:
    	corner1 = square3.copy();
    	break;
    case 4:
    	corner1 = square4.copy();
    	break;
    default:
    	getLogger().error("This square is not supported: " + square);
    	break;
    }
    Display More

    I hope, this is not too much code :icon_smile:

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download