Title: 3-D Scanning Robot
13-D Scanning Robot
- Steve Alexander
- Jeff Bonham
- John Johansson
- Adam Mewha
- Faculty Advisor Dr. C. Macnab
2Overview of Presentation
- Project Goal
- Background of 3D Scanning
- Structural and Mechanical Design
- Software Design
- Control
- Communication
- Visualization
- Results
3Project Goal
- Create an autonomous robot which will scan an
object and create a 3-D representation of that
object on a computer
4Background of 3-D Scanning
- Basic Idea
- Create a 3-D representation of an object which
can be viewed on a computer
5Background of 3D Scanning
- Existing Scanning Methods
- Laser
- Photogrammetry
- Direct Contact
- Sound Waves
6Background 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
7Background Mechanics
- Disadvantages
- Limited Number of Input And Output Connections
- Limited Processing Power
- Gear Backlash And Structural Flexibility
- Result Poor Accuracy
8Background Mechanics
- Sample gears and gear reduction
Diagrams from D. Baum, "Definitive Guide to Lego
Mindstorms",2nd ed.
9Mechanics of the Current Design
- Successfully implemented stated goal of designing
a robot arm with 3 Degrees of Freedom on a linear
tracking base
10Kinematics/Mechanics of the Current Design
Side view representation of the finished arm.
Equation to convert the above angles and lengths
into Cartesian coordinates
11Mechanics 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
12Wrist / End-Effector
- Problems Identified
- End wheel too large
- Length not easily adjusted
- Not enough reduction on rotation sensor
13Wrist / 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
14Wrist / 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.
15Wrist / End-Effector
- Settled on this final design giving a reduction
of 5
16Drive System
Original Base December 2003
Original Single wheel drive December 2003
17Drive System
New centrally mounted guide for base (left) and
robot (right)
Final design for drive system
18Axels
- In order to support weight of Chassis employed
10 threaded rod as axels. Attached wheels via
threaded inserts and lock nuts.
19Final Mechanical Design
20Control 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
21Control 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.Â
22Control 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
23Control 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
24Control Software
Calibrate
Move Base to Next Scan Region
Reset Arm To Scan Start Position
Turn on Shoulder Motor
Calculate Elbow Position
If Scan Finished
Transmit Data to PC
25Communication 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
26Communication Software
- First Version
- Batch file to call IR multiple times
- Very unreliable
- Manually timed
- No flexibility
27Communication Software
- Second Version
- IRG (IR Good) Program
- Total solution
- Fully automated
- High complexity
- Many issues
- Abandoned
28Communication 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
29Communication Software
Listen for Start of Scan
Loop
Start
Receive Travel
Delay
Receive Wrist
Delay
Receive Elbow
Delay
Receive Shoulder
Delay
30Communication 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
31Communication Software
Open Com Port
Start
Loop
Check For Data
New Data
No
Delay
Yes
Read New Data
No
Search For Message
Found
Yes
Quit
32Communication Software
- Final version (IRR Listen)
- Fully automated scan
- Errors in transmission are unrecoverable
- Must discard an entire pass
33Visualization 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
34Visualization Software
- Raw and fitted data for shoulder, elbow, and wrist
35Results
36Results
- Scanning works
- Accuracy is poor
- Largely due to Lego limitations
- Polyfitting smoothes result but wrecks sharp
edges - Can be improved with better construction
- No 4th-dimensional data
- Time and resource constraints
37Questions?