3-d scanning robot steve alexander jeff bonham john johansson adam mewha faculty advisor: dr. c....
TRANSCRIPT
3-D Scanning Robot3-D Scanning RobotSteve AlexanderSteve Alexander
Jeff BonhamJeff BonhamJohn JohanssonJohn Johansson
Adam MewhaAdam MewhaFaculty Advisor: Dr. C. MacnabFaculty Advisor: Dr. C. Macnab
Overview of PresentationOverview of Presentation
Project GoalProject Goal Background of 3D ScanningBackground of 3D Scanning Structural and Mechanical DesignStructural and Mechanical Design Software DesignSoftware Design
ControlControl CommunicationCommunication VisualizationVisualization
ResultsResults
Project GoalProject Goal
Create an autonomous robot which will Create an autonomous robot which will scan an object and create a 3-D scan an object and create a 3-D representation of that object on a representation of that object on a computercomputer
Background of 3-D ScanningBackground of 3-D Scanning
Basic IdeaBasic Idea Create a 3-D representation of an object Create a 3-D representation of an object
which can be viewed on a computerwhich can be viewed on a computer
Background of 3D ScanningBackground of 3D Scanning
Existing Scanning Existing Scanning MethodsMethods
LaserLaser PhotogrammetryPhotogrammetry Direct ContactDirect Contact Sound WavesSound Waves
BackgroundBackground MechanicsMechanics
Decided to go with a three-joint arm using Decided to go with a three-joint arm using a direct-contact methoda direct-contact method
Using Lego for the designUsing Lego for the design AdvantagesAdvantages
Low CostLow Cost C Programming InterfaceC Programming Interface Wide Variety of Parts Leading to Easier Wide Variety of Parts Leading to Easier
Structural Design And RedesignStructural Design And Redesign
BackgroundBackground MechanicsMechanics
DisadvantagesDisadvantages Limited Number of Input And Output Limited Number of Input And Output
ConnectionsConnections Limited Processing PowerLimited Processing Power Gear Backlash And Structural Flexibility Gear Backlash And Structural Flexibility Result: Poor AccuracyResult: Poor Accuracy
Background MechanicsBackground Mechanics Sample gears and gear reductionSample gears and gear reduction
Diagrams from D. Baum, "Definitive Guide to Lego Mindstorms",2nd ed.
Mechanics of the Current DesignMechanics of the Current Design
Successfully implemented stated goal of Successfully implemented stated goal of designing a robot arm with 3 Degrees of designing a robot arm with 3 Degrees of Freedom on a linear tracking baseFreedom on a linear tracking base
Kinematics/Mechanics of the Kinematics/Mechanics of the Current DesignCurrent Design
Side view representation of the finished arm.
Equation to convert the above angles and lengths into Cartesian coordinates
Mechanics of the Current Mechanics of the Current DesignDesign
January 2003 identified three main areas January 2003 identified three main areas which required significant changes to be which required significant changes to be able to have a functional unitable to have a functional unit Complete redesign of Wrist/End-EffectorComplete redesign of Wrist/End-Effector Redesign/manufacture of axel supportRedesign/manufacture of axel support Complete redesign of drive systemComplete redesign of drive system
Wrist / End-EffectorWrist / End-Effector
Problems Identified End wheel too large Length not easily adjusted Not enough reduction on rotation sensor
Wrist / End-EffectorWrist / End-Effector
1 and 2 easily fixed1 and 2 easily fixed Smallest available gear used as most distal point Smallest available gear used as most distal point
(finger) (finger) Axel used as attachment of distal point to main armAxel used as attachment of distal point to main arm
Wrist / End-EffectorWrist / End-Effector
Third design change more difficult. Tried to implement above design (8.3X reduction). Excessive torque at rotation sensor, wrist joint unable to move freely.
Wrist / End-EffectorWrist / End-Effector
Settled on this final design giving a Settled on this final design giving a reduction of 5reduction of 5
Drive SystemDrive System
Original Single wheel drive December 2003
Original Base December 2003
Drive SystemDrive System
Final design for drive system
New centrally mounted guide for base (left) and robot (right)
AxelsAxels
In order to support weight of Chassis In order to support weight of Chassis employed #10 threaded rod as axels. employed #10 threaded rod as axels. Attached wheels via threaded inserts Attached wheels via threaded inserts and lock nuts.and lock nuts.
Final Mechanical DesignFinal Mechanical Design
Control SoftwareControl Software
Control Software ProgressionControl Software Progression Version 1.1Version 1.1
Turned the motors on and off, varied the Turned the motors on and off, varied the speedspeed
Version 1.2Version 1.2 Rotary encoders used as an input to control Rotary encoders used as an input to control
the stop position of each motorthe stop position of each motor
Control SoftwareControl Software
Control Software ProgressionControl Software Progression Version 1.3Version 1.3
A Proportional controller was implemented. A Proportional controller was implemented. This enabled us to have the motor speed slow This enabled us to have the motor speed slow as the target position was approached. as the target position was approached.
Control SoftwareControl Software
Additions in Version 1.5 to Version 2.3Additions in Version 1.5 to Version 2.3 Incorporated feedback loop control for the Incorporated feedback loop control for the
Elbow joint which tracks the position of the Elbow joint which tracks the position of the shouldershoulder
Single direction communication added Single direction communication added between RCX and PCbetween RCX and PC
Multiplexing functionality using external Multiplexing functionality using external multiplexing boardmultiplexing board
Control SoftwareControl Software
Additions in Version 1.5 to Version 2.3Additions in Version 1.5 to Version 2.3 Added functions for recording data during Added functions for recording data during
a scan passa scan pass Extensive calibration was carried out to Extensive calibration was carried out to
optimize all portions of a scanoptimize all portions of a scan
Control SoftwareControl Software
Calibrate
Reset Arm To Scan Start Position
Move Base to Next Scan Region
Turn on Shoulder Motor
Calculate Elbow Position
If Scan Finished
Transmit Data to PC
Communication SoftwareCommunication Software
Need to transmit scan data from robot to Need to transmit scan data from robot to PC for processingPC for processing
LegOS Networking Protocol (LNP) too LegOS Networking Protocol (LNP) too complexcomplex
Use IR program by Pavel PetrovicUse IR program by Pavel Petrovic Based on small subset of LNPBased on small subset of LNP Simple unidirectional communicationSimple unidirectional communication Basic CRCBasic CRC
Communication SoftwareCommunication Software
First VersionFirst Version Batch file to call IR multiple timesBatch file to call IR multiple times
Very unreliableVery unreliable Manually timedManually timed No flexibilityNo flexibility
Communication SoftwareCommunication Software
Second VersionSecond Version IRG (IR Good) ProgramIRG (IR Good) Program
Total solutionTotal solution Fully automatedFully automated High complexityHigh complexity Many issuesMany issues Abandoned Abandoned
Communication SoftwareCommunication Software
Third VersionThird Version IRR (IR Redone)IRR (IR Redone)
C equivalent of first versionC equivalent of first version Calls IR four times with a delayCalls IR four times with a delay Worked perfectlyWorked perfectly Only works for one scanOnly works for one scan
Communication SoftwareCommunication Software
Listen for Start of ScanLoop
Receive Travel
Receive Wrist
Receive Elbow
Receive Shoulder
Delay
Delay
Delay
Delay
Start
Communication SoftwareCommunication Software
Need a program to listen for the start of a Need a program to listen for the start of a scanscan
Developed Listen ProgramDeveloped Listen Program Continuously read serial portContinuously read serial port Listen for a 4-byte start-of-scan messageListen for a 4-byte start-of-scan message Message is simply “SCAN”Message is simply “SCAN” Return to IRR when doneReturn to IRR when done
Communication SoftwareCommunication SoftwareOpen Com PortStart Loop
Check For Data
Read New DataDelay
Search For Message
Quit
New Data
Found
No
Yes
No
Yes
Communication SoftwareCommunication Software
Final version (IRR + Listen)Final version (IRR + Listen) Fully automated scanFully automated scan Errors in transmission are unrecoverableErrors in transmission are unrecoverable Must discard an entire passMust discard an entire pass
Visualization SoftwareVisualization Software
Matlab softwareMatlab software Load in all scan filesLoad in all scan files Compute the position of the arm based on Compute the position of the arm based on
rotation sensorsrotation sensors Polyfit data to smooth resultsPolyfit data to smooth results Layer scan passesLayer scan passes Use Matlab “mesh” commandUse Matlab “mesh” command
Visualization SoftwareVisualization Software
Raw and fitted data for shoulder, elbow, and wristRaw and fitted data for shoulder, elbow, and wrist
ResultsResults
ResultsResults
Scanning worksScanning works Accuracy is poorAccuracy is poor
Largely due to Lego limitationsLargely due to Lego limitations Polyfitting smoothes result but wrecks sharp Polyfitting smoothes result but wrecks sharp
edgesedges Can be improved with better constructionCan be improved with better construction
No 4No 4thth-dimensional data-dimensional data Time and resource constraintsTime and resource constraints
Questions?Questions?