KUKA and Jenga
ProjectThe objective of this project is to enable the KUKA robot arm to clamp and place blocks to construct a JENGA Tower. Specifically, the controller retrieves the coordinates of each block from the Cognex Camera and transmits them to the KUKA robot. A critical phase in this process is Coordinate Transformation, where all block coordinates are converted from virtual (pixel-based) coordinates to real-world coordinates before data transmission. Once the KUKA robot receives the world coordinates, it executes a predefined sequence of movements to assemble the JENGA Tower.
Project Tool Details
- Hardware: Cognex Camera, KUKA KR 6 R900 Sixx
- Software: In-Signt Explorer Cognex software, KUKA WorkVisual 8.3
- Tools: FreeCAD, 3D printer
- Programming Languages: KUKA KRL
Working Environment Schematic
The brief schematic of the Kuka robot working environment
Structure
The diagram illustrating the interaction between the Cognex camera and the KUKA robot
Action Sequence
-
Block Detection via Cognex Camera: The Cognex camera captures an image of the workspace containing the scattered blocks.
-
Image Processing: The camera processes the image to identify the position and orientation of each block in pixel coordinates.
-
Coordinate Transformation: Using a transformation equation, the pixel coordinates of the blocks are converted into world coordinates (X, Y, Z) relative to the KUKA robot’s reference frame.
-
Data Transmission: The world coordinates of the blocks are transmitted to the KUKA robot through a KuKa robot’s internal communication protocol.
-
KUKA Robot Programming: The robot controller receives the block coordinates and uses them in a pre-defined picking sequence programmed in KUKA Robot Language (KRL).
-
Gripper Alignment and Calibration: The calibration model ensures that the gripper aligns accurately to pick up each block, compensating for any errors in the block orientation.
-
Pick-and-Place Operation: The KUKA robot executes the pick-and-place operation, using the provided world coordinates to grip the block and place it in the desired location (e.g., for building a Jenga Tower).