3-D Scanning Robot Steve Alexander Jeff Bonham John Johansson Adam Mewha Faculty Advisor: Dr. C....

Preview:

Citation preview

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?

Recommended