Little code. Big robot. One egg-cellent adventure.
Checklist = patterns found in your code, not a grade. Run it to test what happens.
Choose a step above. Each button demonstrates one instruction.
Game commands gripper.close() / open() stand in for gripper I/O. The kitchen is a simplified game; it does not model real grasping, collisions or cooking.
Frames are in mm and degrees (A about Z, B about Y, C about X), measured from the robot base, or from the parent frame when one is set. The example values are made up; teach your own on the Jog tab so they match the lab.
Like the smartPAD: jog to a pose, pick a frame, press Touch-up. To make X100, touch up StartPos, then jog X + by 100 mm and touch up X100.
This stands in for the tool template in Sunrise Workbench. In code, inject it with @Inject @Named("Gripper") private Tool gripper; and attach it in initialize(). The tool only appears on the arm once your program attaches it.
The simulator reads a practice subset of the KUKA Sunrise API and runs it on a 3D model with the iiwa 7 R800's dimensions and joint limits. It is a learning aid: speeds, paths near singularities and error wording will not match the real controller exactly, so always test on the real robot in T1 at low speed.
@Inject private LBR robot;, @Inject @Named("Gripper") private Tool gripper;, createFromTemplate("Gripper")initialize() runs first, then run()ptpHome(), ptp(a1…a7), ptp(new JointPosition(…)), ptp(frame), lin(frame), circ(aux, end), linRel(x, y, z).setJointVelocityRel, .setJointAccelerationRel, .setCartVelocity, .setBlendingCartrobot.move, moveAsync, tool.move, tool.getFrame("/TCP").move, attachTo(robot.getFlange())new MotionBatch(…), getApplicationData().getFrame("/Name"), child paths like "/FixedPartTCP/A1P1"for/while/if, Math.toRadians, getLogger().info(…), ThreadUtil.milliSleep(ms)MotionBatch, Tool, ObjectFrame, @Named, motion functionslinRel offsets are applied along the moving frame's own axes. Check with your lecturer which frame the real controller uses.