Date post: | 18-Jan-2016 |
Category: |
Documents |
Upload: | angel-bailey |
View: | 218 times |
Download: | 0 times |
Image Tracing Laser System
Jason DuarteAzmat LatifStephen SundellTim Weidner
Overview
Introduction Objectives and Specifications Design Approach
Model Development Friction Identification Model Validation Design Flow Image Analysis Inverse Kinematics Trajectory Generation Controller
Video Assessment Possible Future Enhancements
Problem Statement:
Position Laser Pointer to trace various figures
Similar Designs:Spray Painting
Laser Cutting
Team 5 2004: Signature Writing System
Introduction
Objectives
Visually identify an image using a webcam Extract shapes using LabView Vision
Module Generate a trajectory to trace shape at
desired speed Design a controller to follow the trajectory
Updated System and Specs Camera and laser mount orientation changed to keep
laser on the tilt axis Image size changed to 2’x1.5’ because of camera
viewing angle restrictions Tracing speed of 12 in/sec
Pan-Tilt SystemTilt Body
Model Development
Lagrange-Euler Model
Simplified Model
Position (rad)Velocity (rad/s)Acc (rad/s 2)
Torque
1
panposthetadot satthetaddot sat
fv1
Viscous
Sign
u/Jeff
MInverse
1s
Integrator1
1s
Integrator
-K-
Gain2
fc1
Coulomb
1
voltagepan
Friction Identification
Steady state velocities measured and plotted vs. torque Forward/reverse frictions averaged to one value
Positive Negative
Viscous (N*m*s/rad)
0.0003 0.0004
Coulomb (N*m)
0.0638 -0.0410
Tilt Axis Friction Identification
y = 0.0019x + 0.0584
y = 0.0017x - 0.0569
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04
0.06
0.08
0.1
-15 -10 -5 0 5 10 15
Steady State Load Angular Velocity (rad/sec)
Ap
plie
d T
orq
ue
(N
-m)
Pan Axis Friction Parameters
Positive Negative
Viscous (N*m*s/rad)
0.0007 0.0006
Coulomb (N*m)
0.0584 -0.0569
Tilt Axis Friction Parameters
Model Validation
Simulation Results Decouple links Set voltages at .05V
increments Observe velocities Compare to
experimental results
Model Validation Cont…
Experimental results Identical to simulation Tilt axis has more
readings due to viscous friction
PID Control
(always running)
Follow Trajectory
Repeat RT Host
Initialize CameraOrient Camera
Set Zero LocationCalibrate Camera
Snap Picture
Inverse Kinematics
Trajectory Generation
Shut Down Camera
Release References
PC Host
Program Block Diagram
Laser Control
Laser (Beam of Light Technologies)4.5V, 50mA, 650nm
Digital Port (NI 9401)5V, 2mA output
Relay (R40-11D2-5)5V activation2A max current throughput
Image Processing (Calibration)
Get grid with WebCam Use grab to continually take images Find center of image then stop Image consists of dots evenly spaced
Calibrate image for pix/in. Use calibration vi (2in. between dots) Image now stores pixel to world transform
Send calibrated image as reference Image calibration is used with other images (tracing)
Image Processing (Tracing) Get an image from WebCam
Use grab function for continual viewing Need a clear image with no breaks or random points
Use threshold to filter unwanted data Inverts colors in image Useful data in white
Search image for data points Find starting point Traverse around image Find white path with black next to it
Store data points in array Send data to real-world transform Output data to array for Inverse Kinematics
Inverse Kinematics
What is Inverse Kinematics?Map from world space to joint space.
Why do we need it?We work in joint space.Most tasks are specified in world space.
How do we get it?Forward Kinematics:Map from joint space to world space
Forward Kinematics
xR =
22
22
cossin0
sincos0
001
yR =
cos0sin
010
sin0cos
1
11
1
0
0
n
xR yR n t =
21
2
21
sincos
sin
cossin
t=
dy
x
Inverse Kinematics
)(2tan1 d
xa
)
cos(2tan 1
2 d
ya
D ista n ce = 3 ft
n
t
Trajectory Generation
Why do we need it?
Specify path and speed.
How did we get it?
NI-Motion Assistant
Position Points Obtained Position Profile
Position Points Obtained Position Profile
Controller
PID Controller Continually running on RT Host
No external manipulationSystem stable at all times
Global Variables used for input/outputChange settings without stopping controllerSeparate vi to change Globals
Can be started/stopped without affecting controller
Video
Assessment
Physical system met requirements PID controller proved to be sufficient Reliable image processing algorithm Successful trajectory generation software
Possible Future Enhancements
Vision feedback Velocity feedback Smoother tracing at all speeds Tracing more complex images
Questions?