javaKUKA play KUKA in Java

Minimal Surfaces
Interact
Rotary table
Kinematics
XYZABC
Minimal Surfaces
Minimal Surfaces

This post shows an algebraic approach to robotic fabrication. The desirable tangent vector of the tool, expressed in a closed-form, directly specifies the robot codes (KRL) for hot-wire cut. This is a radical demonstration of how javaKUKA manages toolpath planning without 3D representation of the workpiece or using industrial CAM software.  The product (workpiece) is […]

Interact
Interact

Connecting a camera to a KUKA robot enables the robot to observe the environment and react responsively. The low-level information captured by the camera, namely the pixels, is transformed into a certain meaningful signal that constantly informs the robot’s motion. This post briefly introduces the connection and the communication between the vision system and KUKA. 1. […]

Rotary table
Rotary table

1. External axes What’s the point in installing a rotary table when the robot already has six axes? While the robot arm is indeed agile, adding an external axis could make planning the tool path simpler. Once the external axes are correctly installed, KRL can directly drive the external axes. For example: {X 27.3, Y […]

Kinematics
Kinematics

This post explains position and orientation of the manipulator linkages in static situations. Kinematics, or the translations between joint angles (A1-A6) and tool positions (XYZABC), is KUKA’s backbone. This entry is of more theoretical than practical interest, as KUKA already facilitated us directly planning the tool’s motion rather than being concerned with the joint angels. 1. Transformation […]

XYZABC
XYZABC

1. Hello, ABC! Euler angles A, B, and C are essential in KUKA KRL language. This introduction explains and compares three models of orientation: fixed angles, Euler angles (ABC), and the 3-point method. A typical KRL file starts with $TOOL=TOOL_DATA[1] $BASE=BASE_DATA[1] PTP XHOME PTP {X 280, Y 0, Z -10, A 30, B 90, C 0} … […]

First Program
First Program

JavaKUKA is an open-source project for creating KRL (KUKA Robot Language) codes in Java. The first program drives the robot to cut polystyrene foam. Step 1: create the tool path in java: float[][] spline = new float[num_pts][]; for (int i = 0; i < num_pts; i++) {     float theta = (float) (i * 7 * Math.PI) […]