package application; import static com.kuka.roboticsAPI.motionModel.BasicMotions.linRel; import static com.kuka.roboticsAPI.motionModel.BasicMotions.ptp; import java.awt.List; import java.io.File; import java.net.SocketException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Arrays; import prc_classes.PRC_XMLOUT; import prc_core.PRC_CORE; import prc_core.PRC_UDP; import com.kuka.generated.ioAccess.MediaFlangeIOGroup; import com.kuka.roboticsAPI.applicationModel.RoboticsAPIApplication; import com.kuka.roboticsAPI.controllerModel.Controller; import com.kuka.roboticsAPI.deviceModel.LBR; import com.kuka.roboticsAPI.deviceModel.MobilePlatform; import com.kuka.roboticsAPI.geometricModel.ObjectFrame; import com.kuka.roboticsAPI.geometricModel.SpatialObject; import com.kuka.roboticsAPI.ioModel.AbstractIO; import com.kuka.roboticsAPI.ioModel.AbstractIOGroup; import com.kuka.roboticsAPI.motionModel.CIRC; import com.kuka.roboticsAPI.motionModel.IMotion; import com.kuka.roboticsAPI.motionModel.PTP; import com.kuka.roboticsAPI.uiModel.ApplicationDialogType; /** * Implementation of a robot application. *
* The application provides a {@link RoboticsAPITask#initialize()} and a * {@link RoboticsAPITask#run()} method, which will be called successively in * the application lifecycle. The application will terminate automatically after * the {@link RoboticsAPITask#run()} method has finished or after stopping the * task. The {@link RoboticsAPITask#dispose()} method will be called, even if an * exception is thrown during initialization or run. *
* It is imperative to call super.dispose()
when overriding the
* {@link RoboticsAPITask#dispose()} method.
*
* @see UseRoboticsAPIContext
* @see #initialize()
* @see #run()
* @see #dispose()
*/
public class PRC_RunUDP extends RoboticsAPIApplication {
private Controller kuka_Sunrise_Cabinet_1;
private LBR lbr_iiwa;
private PRC_UDP prc_udp;
@Override
public void initialize() {
kuka_Sunrise_Cabinet_1 = (Controller) getContext().getControllers().toArray()[0];
lbr_iiwa = (LBR) kuka_Sunrise_Cabinet_1.getDevices().toArray()[0];
// miiwa = (MobilePlatform) kuka_Sunrise_Cabinet_1.getDevice("KMP_omniMove_400_1");
prc_udp = new PRC_UDP();
}
@Override
public void run() {
LBR robot = lbr_iiwa; //SET ROBOT
String toolname = "qc_rs_01"; //SET TOOL NAME
String tcpname = "TCP_Camera"; //SET TCP NAME
ObjectFrame baseFrame = getApplicationData().getFrame("/qr_base"); //OPTIONAL: SET BASE COORDINATE SYSTEM
boolean enablellogging = true; //OPTIONAL: ENABLE CONSOLE LOGGING
// Use the default MediaFlangeIO Group
MediaFlangeIOGroup iogrp = new MediaFlangeIOGroup(kuka_Sunrise_Cabinet_1); // = new BeckhoffIOIOGroup(kuka_Sunrise_Cabinet_1); //OPTIONAL: SET IO GROUP
try {
prc_udp.CORE_UDP(robot, kuka_Sunrise_Cabinet_1, getApplicationData().createFromTemplate(toolname), tcpname, baseFrame, enablellogging, getLogger(), getApplicationData(), iogrp, "172.31.1.149", 49152);
} catch (SocketException e) {
// TODO Automatisch generierter Erfassungsblock
e.printStackTrace();
} catch (UnknownHostException e) {
// TODO Automatisch generierter Erfassungsblock
e.printStackTrace();
}finally{
prc_udp.dispose();
}
}
@Override
public void dispose() {
getLogger().warn("Something went wrong. Killing Threads and comms.");
prc_udp.dispose();
super.dispose();
}
/**
* Auto-generated method stub. Do not modify the contents of this method.
*/
public static void main(String[] args) {
PRC_RunUDP app = new PRC_RunUDP();
app.runApplication();
}
}