# LEGO Delta Robot Scanning & Drawing

1,954

24

3

## Introduction: LEGO Delta Robot Scanning & Drawing

Using LEGO NXT to built a Delta Robot.

Combined scanning and drawing.

### Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

## Step 1: Kinemtic Analysis

Please open the PDF to see details.

## Step 2: Mechanism

LEGO NXT *1
LEGO Motor *3
LEGO Light sensor *1
LEGO mindstorms *1 box
White board *1 ( Because white board has less friction.)
White board marker *1
Shelf *1
Belt *n (Fixed the Shelf and Robot together.)

If you have more gear, you can use them to build a gearbox.
It's better for the motor to have large reduction ratio.

Change the arm length to meet your need.

It's better to use the ball socket at the junction.
I don't have it, so I change it to 2 revolution joints.

## Step 3: MATLAB Simulation

Using MATLAB to simulate the action.

Calculate the trajectory of the robot before operating the robot.
It can avoid the improper operating such as exceed the work space.

## Step 4: LabVIEW Code - Main

1. Click the "Initialize" bottom.
It can let the robot always starts from the same place.
Give 3 motors powers make them running to the top of the shelf.
Calculate the difference between previous and present value of the motor degree.
If the difference is 0, the initialization is complete.
2. Click the "Scan" bottom.
Give NXT a L(cm)*L(cm) array that has d columns and d rows.
Let the light sensor scanning from left to right, and from top to bottom.
If the values that light sensor determined is black (in the picture it is <45, but it will be different.), it will be access to the array as X0, Y0, Z0.
And it will exit the scanning process.

3. Change light sensor to white board marker.

4. Click the "Draw" bottom.
The drawing will start at the position that Step 2 access (X0, Y0, Z0).
The matlab script is trajectory that you insert.

## Step 5: LabVIEW Code - Delta Inverse

It's the inverse kinematic calculating.

Inputs are the trajectory points's coordinate x, y, and z.

Outputs are the angle and power for three motors, and the "loops" shows the loops's number.

## Step 6: LabVIEW Code - 3 Motor Sync

Using PID control.

Input 3 motors's port, power, angle.

If the difference of motor's angle read from NXT and the angle that Delta Inverse gave is less than 5 degree, the motor will stop rotating.

If 3 motors are stopped, the process is complete.

## Step 7: Demo

Participated in the
Design For Kids Challenge

83 14K
231 13K
220 19K

## 3 Discussions

Awesome robot. You should enter this into the Arduino contest. It is open to anything with a microcontroller.