3-D Scanning Robot Steve Alexander Jeff Bonham John Johansson Adam Mewha Faculty Advisor: Dr. C. Macnab
Overview of Presentation Project Goal Background of 3D Scanning Structural and Mechanical Design Software Design Control Communication Visualization Results
Project Goal Create an autonomous robot which will scan an object and create a 3-D representation of that object on a computer
Background of 3-D Scanning Basic Idea Create a 3-D representation of an object which can be viewed on a computer
Background of 3D Scanning Existing Scanning Methods Laser Photogrammetry Direct Contact Sound Waves
Background Mechanics Decided to go with a three-joint arm using a direct-contact method Using Lego for the design Advantages Low Cost C Programming Interface Wide Variety of Parts Leading to Easier Structural Design And Redesign
Background Mechanics Disadvantages Limited Number of Input And Output Connections Limited Processing Power Gear Backlash And Structural Flexibility Result: Poor Accuracy
Background Mechanics Sample gears and gear reduction Diagrams from D. Baum, "Definitive Guide to Lego Mindstorms",2nd ed.
Mechanics of the Current Design Successfully implemented stated goal of designing a robot arm with 3 Degrees of Freedom on a linear tracking base
Kinematics/Mechanics of the Current Design Side view representation of the finished arm. Equation to convert the above angles and lengths into Cartesian coordinates
Mechanics of the Current Design January 2003 identified three main areas which required significant changes to be able to have a functional unit Complete redesign of Wrist/End-Effector Redesign/manufacture of axel support Complete redesign of drive system
Wrist / End-Effector Problems Identified End wheel too large Length not easily adjusted Not enough reduction on rotation sensor
Wrist / End-Effector 1 and 2 easily fixed Smallest available gear used as most distal point (finger) Axel used as attachment of distal point to main arm
Wrist / 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-Effector Settled on this final design giving a reduction of 5
Drive System Original Single wheel drive December 2003 Original Base December 2003
Drive System Final design for drive system New centrally mounted guide for base (left) and robot (right)
Axels In order to support weight of Chassis employed #10 threaded rod as axels. Attached wheels via threaded inserts and lock nuts.
Final Mechanical Design
Control Software Control Software Progression Version 1.1 Turned the motors on and off, varied the speed Version 1.2 Rotary encoders used as an input to control the stop position of each motor
Control Software Control Software Progression Version 1.3 A Proportional controller was implemented. This enabled us to have the motor speed slow as the target position was approached. A Proportional controller was implemented. This enabled us to have the motor speed slow as the target position was approached.
Control Software Additions in Version 1.5 to Version 2.3 Incorporated feedback loop control for the Elbow joint which tracks the position of the shoulder Single direction communication added between RCX and PC Multiplexing functionality using external multiplexing board
Control Software Additions in Version 1.5 to Version 2.3 Added functions for recording data during a scan pass Extensive calibration was carried out to optimize all portions of a scan
Control 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 Software Need to transmit scan data from robot to PC for processing LegOS Networking Protocol (LNP) too complex Use IR program by Pavel Petrovic Based on small subset of LNP Simple unidirectional communication Basic CRC
Communication Software First Version Batch file to call IR multiple times Very unreliable Manually timed No flexibility
Communication Software Second Version IRG (IR Good) Program Total solution Fully automated High complexity Many issues Abandoned
Communication Software Third Version IRR (IR Redone) C equivalent of first version Calls IR four times with a delay Worked perfectly Only works for one scan
Communication Software Listen for Start of Scan Loop Receive Travel Receive Wrist Receive Elbow Receive Shoulder Delay Start
Communication Software Need a program to listen for the start of a scan Developed Listen Program Continuously read serial port Listen for a 4-byte start-of-scan message Message is simply “SCAN” Return to IRR when done
Communication Software Open Com Port StartLoop Check For Data Read New Data Delay Search For Message Quit New Data Found No Yes No Yes
Communication Software Final version (IRR + Listen) Fully automated scan Errors in transmission are unrecoverable Must discard an entire pass
Visualization Software Matlab software Load in all scan files Compute the position of the arm based on rotation sensors Polyfit data to smooth results Layer scan passes Use Matlab “mesh” command
Visualization Software Raw and fitted data for shoulder, elbow, and wrist
Results
Results Scanning works Accuracy is poor Largely due to Lego limitations Polyfitting smoothes result but wrecks sharp edges Can be improved with better construction No 4 th -dimensional data Time and resource constraints
Questions?