Well i had read the whole manual......
there is no hint about KRF, thats why im asking my Question in this Fourm !
Posts by trkfsch
-
-
Hello,
im using KUKA_Sunrise_Cabinet OS V1.9 , lbr_iiwa_14_R820 .I attached a Camera weight up to 3 kg to my robot head , i got immediatly an COLLISION DETECTION and a new mode called KRF mode appaered. My Safety Configration have the value of 15NM for collision detection.
My Question is i need now to calculate the Load Data ( mass ) for the camera but the robot doesnt respond to any movment so what should i do her in order to remove this Collision?
and what is the KRF mode ?Thank you all for any answer
BR -
THANKS alot alexanderdsmith that was certainly helpfull,
Actually my plan was sending an xml file contains the axis values of some movment through client /Server socket , so the robot load the values from this file to move.
The transfer works by converting the data of the file into bytes , send it to the controller , then convert it back and save it in the hard drive of the controller as an xml file also , thats why i needed the name of it .
the code below describe the client and server class for transfering a file to the Controller (The Server) :
Client :Java
Display Morepackage ClientServer; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import com.kuka.roboticsAPI.applicationModel.RoboticsAPIApplication; import static com.kuka.roboticsAPI.motionModel.BasicMotions.*; import com.kuka.roboticsAPI.controllerModel.Controller; import com.kuka.roboticsAPI.deviceModel.LBR; public class FileClient extends RoboticsAPIApplication { private Controller kuka_Sunrise_Cabinet_1; private LBR lbr_iiwa_14_R820_1; public void initialize() { kuka_Sunrise_Cabinet_1 = getController("KUKA_Sunrise_Cabinet_1"); lbr_iiwa_14_R820_1 = (LBR) getDevice(kuka_Sunrise_Cabinet_1, "LBR_iiwa_14_R820_1"); } public void run() { } public void main(String[] args) { Socket sock = null; InputStream in = null; OutputStream out = null; try { sock = new Socket("172.31.1.147", 30008); File file = new File("C:/Users/Acer/Desktop/neues.xml"); long length = file.length(); byte[] bytes = new byte[16 * 1024]; in = new FileInputStream(file); out = sock.getOutputStream(); int count; while ((count = in.read(bytes)) > 0) { out.write(bytes, 0, count); } out.close(); in.close(); sock.close(); } catch (UnknownHostException e) { getLogger().error("Could not find Ip address 172.31.1.147 !"); System.exit(1); } catch (IOException e) { getLogger().error("Could not find any IO Stream !"); System.exit(1); } FileClient app = new FileClient(); app.runApplication(); } }
Server :
Java
Display Morepackage ClientServer; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; import com.kuka.roboticsAPI.applicationModel.RoboticsAPIApplication; import com.kuka.roboticsAPI.controllerModel.Controller; import com.kuka.roboticsAPI.deviceModel.LBR; public class FileServer extends RoboticsAPIApplication { private Controller kuka_Sunrise_Cabinet_1; private LBR lbr_iiwa_14_R820_1; public void initialize() { kuka_Sunrise_Cabinet_1 = getController("KUKA_Sunrise_Cabinet_1"); lbr_iiwa_14_R820_1 = (LBR) getDevice(kuka_Sunrise_Cabinet_1, "LBR_iiwa_14_R820_1"); } public void run() { } public static void main(String[] args) { ServerSocket ssock = null; InputStream in = null; OutputStream out = null; Socket sock = null; try { ssock = new ServerSocket(30008); } catch (IOException e) { System.out.println("Can't setup Controller on this port number. "); } try { sock = ssock.accept(); } catch (IOException ex) { System.out.println(" connection not Established !"); } try { in = sock.getInputStream(); } catch (IOException ex) { System.out.println("Can't get socket input stream "); } try { out = new FileOutputStream(" [i][b]MISSED PATH OF THE CONTROLLER[/b][/i] "); } catch (FileNotFoundException e) { System.out.println("New File not found "); } byte[] bytes = new byte[16 * 1024]; int count; try { while ((count = in.read(bytes)) > 0) { out.write(bytes, 0, count); } out.close(); in.close(); sock.close(); ssock.close(); } catch (IOException e) { // TODO Automatisch generierter Erfassungsblock e.printStackTrace(); } FileServer app = new FileServer(); app.runApplication(); } }
May i ask you , how did you know the password , because maybe i have a different version with different password ?
- what type of DVI____ DVI-I or DVI-A or another ?
Thanks again for your help. -
Hi everyone,
Im using / / kuka_Sunrise_Cabinet / lbr_iiwa_14_R820 / KUKA Sunrise.OS V1.9/ /.
I want to ask how can i see the harddrive name of the controller , because i want to send a file to it . Is it
through my network panel or there is another way .Thanks in advance
-
Hello again kiiwa ,
you can create a server program on the robot that reads a file sent to it from another Java Client program run on your computer.
I already created a server and a client program on my computer. but somthing not clear to me yet :
- when i put the server program on the robot and the client program on my computer , how could i run both of them so i can achive the tranfer proceess. i mean that ican run the server program first on my robot by pressing the run button of kuka IPAD .but how then i will run the client on the sunrise workbench there is no run button or something only synchronising to robot then running._ in my client and server code should i used the RoboticsAPI methods ( ini () and run () and the runapplication () in main ) or just as normal java program .
please if you could help me ill be greatfull , thanks un advance .
-
Thanks kiiwa for your help , could you please tell me more how could i do that , putting the file in the robot drive .
-
THANKS for your help,
- what is supposed to initialize them?
- it supposed to get thier values from this code in the main method :
a1 = Double.parseDouble(fframe.getElementsByTagName("A1")
.item(0).getTextContent());
a2 = Double.parseDouble(fframe.getElementsByTagName("A2")
.item(0).getTextContent());
a3 = Double.parseDouble(fframe.getElementsByTagName("A3")
.item(0).getTextContent());
a4 = Double.parseDouble(fframe.getElementsByTagName("A4")
.item(0).getTextContent());
a5 = Double.parseDouble(fframe.getElementsByTagName("A5")
.item(0).getTextContent());
a6 = Double.parseDouble(fframe.getElementsByTagName("A6")
.item(0).getTextContent());
a7 = Double.parseDouble(fframe.getElementsByTagName("A7")
.item(0).getTextContent());but as you said the program does not see their values so he use the default values 0.0 . if you help me to do a reference to main method so process it before moving the arm , ill be thankful .
-
36 views not even one replay, please guys help
-
Hi everyone,
Im using // kuka_Sunrise_Cabinet / lbr_iiwa_14_R820 / KUKA Sunrise.OS V1.9//.
In the Code programmed down i tried to read the axis value of a frame from a XMl file (Java Dom Parser) so the robot move to some point. but when i synchronized and press run i got this error message :
Java.Nullpointerexception at Xml.run(XML.java:35)
line 35 is : lbr_iiwa_14_R820_1.move(ptp(a1, a2, a3, a4, a5, a6, a7));There is somthing wrong with initilizing of variables a1, a2,a3,.... the program doesnot see the values of these variable so they consider them equal to null.
if some one could help me to know whats the wrong with the cod i will be so greatfull. Thanks in advance.Code :
Java
Display Moreimport com.kuka.roboticsAPI.applicationModel.RoboticsAPIApplication; import static com.kuka.roboticsAPI.motionModel.BasicMotions.*; import com.kuka.roboticsAPI.controllerModel.Controller; import com.kuka.roboticsAPI.deviceModel.LBR; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; import org.xml.sax.SAXException; import java.io.File; import java.io.IOException; public class XML extends RoboticsAPIApplication { private Controller kuka_Sunrise_Cabinet_1; private LBR lbr_iiwa_14_R820_1; private static String x; private static Double a1, a2, a3, a4, a5, a6, a7; public void initilize() { kuka_Sunrise_Cabinet_1 = getController("KUKA_Sunrise_Cabinet_1"); lbr_iiwa_14_R820_1 = (LBR) getDevice(kuka_Sunrise_Cabinet_1, "LBR_iiwa_14_R820_1"); } public void run() { getLogger().info("Frame name : " + x); lbr_iiwa_14_R820_1.move(ptp(a1, a2, a3, a4, a5, a6, a7)); } public void main(String[] args) { try { // get instance of the class and use it to parse new file xmlfile File xmlfile = new File("C:/Users/Acer/Desktop/neues.xml"); DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder db = factory.newDocumentBuilder(); Document doc = db.parse(xmlfile); // Normalize doc.getDocumentElement().normalize(); // get the frame Element NodeList nlist = doc.getElementsByTagName("frame"); // cycle through the Elements for (int i = 0; i < nlist.getLength(); i++) { Node nnode = nlist.item(i); if (nnode.getNodeType() == Node.ELEMENT_NODE) { Element fframe = (Element) nnode; // get name and axis values from Frame x = fframe.getAttribute("name"); a1 = Double.parseDouble(fframe.getElementsByTagName("A1") .item(0).getTextContent()); a2 = Double.parseDouble(fframe.getElementsByTagName("A2") .item(0).getTextContent()); a3 = Double.parseDouble(fframe.getElementsByTagName("A3") .item(0).getTextContent()); a4 = Double.parseDouble(fframe.getElementsByTagName("A4") .item(0).getTextContent()); a5 = Double.parseDouble(fframe.getElementsByTagName("A5") .item(0).getTextContent()); a6 = Double.parseDouble(fframe.getElementsByTagName("A6") .item(0).getTextContent()); a7 = Double.parseDouble(fframe.getElementsByTagName("A7") .item(0).getTextContent()); } } } catch (ParserConfigurationException e) { // TODO Automatisch generierter Erfassungsblock e.printStackTrace(); } catch (SAXException e) { // TODO Automatisch generierter Erfassungsblock e.printStackTrace(); } catch (IOException e) { // TODO Automatisch generierter Erfassungsblock e.printStackTrace(); } XML app = new XML(); app.runApplication(); } }
neues.xml file :
-
alexanderdsmith THANKS ALOT MAN
-
lbr_iiwa_14_R820 / KUKA Sunrise.OS V 1.9.0.5 (01.12.2015) / kuka_Sunrise_Cabinet
-
https://www.robot-forum.com/robotforum/kuk…rum/loading-fr/
This topic i had a mistake in subject and i corrected it after 5 seconds . we put effort in describing our problem . thats why we put our questions
and wait for an answer in this Fourm from those who want to help us , if u had opend the link rather than
just read the subject u could have another opinion . -
Hello,
i am trying to make an XML file contains the cartesian values of many frames to make it easier
so i load it and read from it rather than add every frame manually , any body have some hints how can i accomplish that
like which java librairies should i used, which classes ... etcthanks in advance
BR
Tony -
Thanks everybody for your reply
-
Thanks kr16_2 for your replay.
I teached the tip of the pen so is it the tcp .
but how can i move now the robot according to the new tcp not to the flange reference system . thanks again . -
lbr_iiwa_14_R820 / KUKA_Sunrise_Cabinet / KUKA Sunrise.OS V1.8 (01.08.2015)
thanks in advance -
No one please :::
-
hi everyone ,
i want to attach a pen to a gripper which it attached to the flange as i read there is two ways:
- one of them by using the orgin fram for attachment like : pen.attachTo(gripper.getframe(tcp1));
my Question here what tcp1 means , is it the orginal tcp of the gripper and if it is how we calculate it ?or its the tcp of the flange.
second question how can i calculate the tcp of the pen after i attach it ? ::
_ last Q if i dont have a gripper can i attach the pen diresctly to the flange ?thaks in advance .
Tony
-
sorry again for being late . WOW man thank u very very much , thats more than i asked .thanks for evey thing again .
Best Regatds -
sorry for being late .thanks alot KIIWA your replay clarify many things to me . i used a cartesian values . my question is how can i know the limits for my WORKING SPACE please . and could u tell me more about the difference between cartesian and axis values or about singularity . thanks in advance