PPT - Computer Engineering

advertisement
Nick Harezga
Jeremy Thornton
Matthew Wozniak










Overview
Objectives
Requirements
Design
Implementation
User Interface
Interfaces & Communication
Arduino
Robot
Algorithms
◦




Vision
Risks
Multidisciplinary Aspects
Testing
Costs
The primary goal of the project is to allow a user to control a robot
using their “gaze” (which in this case is specified using a laser
pointer).
To do this we need a few components
 A robot which can move freely about a room
 A system to determine the location of a user’s “gaze”
 A method of locating the robot relative to the user’s gaze
 A way for the user to control when the robot moves

Creation of a system capable of detecting a
robot’s location relative to a target destination
◦ Also able to transform this information into discrete
instructions



Construction of a robot capable of wirelessly
receiving and executing movement instructions
Intuitive user controls with next to no learning
curve
The robot should be able to operate in a variety
of indoor environments within a field large
enough to be considered useful

Accuracy

Longevity
◦ The robot should be able to move to within a “tennis ball area” of the
laser target location
◦ An hour of regular use
◦ Up to the maximum longevity of the Asus EeePC battery on standby
(approx 9 hours)

Area of Operation

Reliability

Simplicity

Portable
◦ Operate from up to 8 feet in front of the camera (large portion of a
standard room size)
◦ System functions properly under various lighting conditions ranging
from full daylight to artificial lighting at nighttime
◦ 2 button user remote
◦ Simple calibration and setup procedures
The project consists of 5 primary components:
 Computer
 Robot (mounted with a calibration point)
 Scene Camera
 Wireless Module
 User Control Module





Computer: Asus EeePC 1000HE
Vision algorithms: OpenCV in Python
Robot control: Arduino Pro Mini 3.3V 8MHz
Communication: Xbee 1mW Wireless Modules
User Input: FT245RL USB to FIFO Module

Control
◦ Laser targeting device (red laser pointer)
◦ Wired 2-button remote
 Connected via USB to the PC
 Status LEDs to report current activity

Diagnostics
◦ Robot status LEDs (error, command in progress,
etc.)

PC  Robot
◦ Handled via Xbee transparent mode
 Wireless serial link
 Tested and confirmed functional
between PC and Arduino
 Human perceivable latency in loopback
test program is negligible
◦ PC serial communication via PySerial
library (Python)

PC  User Remote
◦ FT245LR USB to FIFO

Serial communication (TX0 and RX1)
External Interrupts

PWM signals to Ardumoto motor shield

◦ Wheel encoders on pins 2 and 3
◦ Pins 5 and 6 via analogWrite() function
 Sets a duty cycle from 0 to 100% based on the value in
[0,255]
 Voltage supplied to motors varies directly with the duty cycle
 Alternatively, digital writes can be used to simply turn
motors on and off if speed control becomes unnecessary
◦ Direction bit on pins 4 and 7 – logic HIGH or LOW

Status LEDs

4 digital pins remain available
◦ Pins 8 and 9 – logic HIGH or LOW

Constructed using Legos
◦ Lego motor spec @9V


Weight
No load
Stalled
Load
Max RPM
42g
3.5mA
0.36A
0.12A
360
Motors will be driven by the Arduino through
the Ardumoto motor shield
Reflective wheel encoders used for turning
and distance tracking

Main loop:
◦ Read inputs from user control
◦ Capture locations of robot and laser target via scene
camera
 Un-distort image
 Determine location of laser target
 Determine location and orientation of robot
◦ Calculate path of movement for the robot
◦ Robot movement:
 Update velocity vector
 Recalculate position
 Optionally recapture positions using scene camera for
adjustments
◦ Each stage has error correction and diagnostic output for
debugging purposes

Camera is extremely important
◦ We are using the Logitech Pro 900
◦ 1600x1200 max resolution

Un-distortion
◦ OpenCV has built in functions for
detecting and removing camera and
perspective distortion

Robot orientation and location
◦ Easily distinguishable and unique shape
on the top of the robot (“calibration
point”)

Laser target detection
◦ Convert image to HSV and filter

Robot accuracy
◦ Largely reliant on algorithms and wheel encoder
resolution


Detection of robot orientation and position
Longevity requirements
◦ 3.7V Li-Ion 2000mAh
 Arduino – Idle: 6mA (measured), Active: 12mA
 Xbee – 55mA (measured)
 Ardumoto – 36mA (rated Icc max)
◦ 7.2V NiMH 3000mAh
 Motors – 0.12A each under load

Computer Science
◦ Interpreting results of computer vision algorithms into
both diagnostic information and discrete instructions

Imaging Science
◦ Image normalization, interpretation and point detection

Computer Engineering
◦ Command encoding and communication as well as
microcontroller software

Electrical Engineering
◦ Motor control, button debouncing, battery concerns and
circuitry

Mechanical Engineering
◦ Robot weight and design

Subsystem/Component Testing
◦ Scene camera
◦ Detection algorithm
◦ Communication
 Wireless
 Arduino to Xbee
 PC to Xbee
◦ Arduino
 Command interpreting
 Pin output
 Do other pieces of hardware work with the output?

Subsystem/Component Testing
◦ Robot
 Battery life
 Movement
 Straight line and turning


Gradual Integration
System Testing
◦ Does everything work together?
Block
Computer
Wireless Module
Wireless Module
Wireless Module
User Control
User Control
Scene Camera
Laser Target
Robot
Robot
Robot
Robot
Robot
Robot
Robot
Component
Computer
Xbee Wireless Module
Xbee Adapter
Xbee USB Adapter
FTDI Serial to USB
Buttons
Webcam
Laser Pointer
Microcontroller
Wheel encoders
DC Motors
Motor Shield
Xbee Wireless Module
Battery
Structure
Basic system total cost
CE dept contribution
Total cost to us
Product
Price
Less Owned parts
Asus EEE PC
$291.99
$0.00
Xbee 1mW chip
$22.95
$22.95
Xbee Explorer
$9.95
$9.95
Xbee Explorer USB
$24.95
$24.95
FT245RL to USB board
$17.95
$17.95
33mm Push Button
$1.90
$1.90
Logitech Pro 9000
$59.99
$0.00
LP13 Laser light pen
$5.70
$0.00
Arduino Pro Mini
$18.95
$0.00
Wheel Encoder
$1.90
$1.90
Lego DC motors
$29.90
$0.00
Ardumoto
$24.95
$24.95
Xbee 1mW chip
$22.95
$22.95
Poly Li-Ion 2000mAh
$16.95
$16.95
N/A
$20.00
$0.00
$570.98
$144.45
$43.80
$100.65
Questions?
Download