NETWORK RC CAR

advertisement
NETWORK RC CAR
©
James Crosetto BS (Computer Science and Computer Engineering)
Jeremy Ellison BS (Computer Engineering)
Seth Schwiethale BS (Computer Science)
Member Bio’s
 James Crosetto
 Computer Science and Computer Engineering
 Little Caesar’s Pizza Guru

 Jeremy Ellison
 Computer Engineering
 Anti-Coldplay
 Seth Schwiethale
 Computer Science
Music Diversity Contributor
Advisor Bios
 Dr. Hauser
 Capstone Advisor
 Tosh Kakar
 Group Advisor

Work Enforcer
Presentation Outline
 Objectives


Goal Setting
Innovate & Design
 Requirements

Necessary Equipment
 Implementation

Code Review
 Future Development

Where to go from here
Objectives
 Goal Setting



Project Overview
Functional Objectives
Learning Objectives
 Innovative development



Goal Setting
Radio Frequency vs. Internet
Internet vs. Network
Computer vs. IP Camera
Innovative Development
Design Development
Research Products
Objectives
Goal Setting
 Project Overview




Goal Setting
Expanding the range of a remote control car
Control car over network, similar to a printer
Be able to have first person view of car’s
location
Build something cool
Innovative Development
Design Development
Research Products
Objectives
Goal Setting
 Functional Objectives




Goal Setting
Establish connection between RC car and
driver’s computer
Get real time visual feed
Control RC car
User friendly GUI
Innovative Development
Design Development
Research Products
Objectives
Goal Setting
 Learning Objectives

Understand Wireless Communication


Embedded Systems




Microprocessors
Assembly Language
Linux / C
R/C car design and functionality


Goal Setting
Efficient methods of sending and receiving data
Servos
Pulse Width Modulation
Innovative Development
Design Development
Research Products
Objectives
Innovative Development
 Radio Frequency



350-400ft
Line-of-sight
Object interference
 Internet Network


Goal Setting
Advanced Range
Non-line-of-sight
Innovative Development
Design Development
Research Products
Objectives
Animated Design Progression
Goal Setting
Innovative Development
Design Development
Research Products
Requirements
 Necessary Components




Car
Camera
Microprocessor
User’s PC
Requirements
The Car
Goal Setting
Innovative Development
Design Development
Research Products
Requirements
The Car
 3 Leads:



Goal Setting
Ground
Vcc
Pulse width modulation
Innovative Development
Design Development
Research Products
Requirements
The Car
Goal Setting
Innovative Development
Design Development
Research Products
Requirements
The Car
 Square Pulse wave of
1.0-2.0ms repeats
every ~20ms
 Width of pulse
determines the
position of the servo
with 1.5ms as the
normal center
 The amplitude of the
pulse is from the
reference level to the
Vcc
 Vcc = 4.6-6.0V
Goal Setting
Innovative Development
Design Development
Research Products
Requirements
IP Camera
 Power: 5.1 V DC, max
3.5 W
 Alarm output (motion,
audio, external)
 Open API for software
integration
 CPU, video processing
and compression;
 Ram: 32MB
 Flash: 8MB
Goal Setting
Innovative Development
Design Development
Research Products
Requirements
Microprocessor
 Receives and
translates signals
from the
transistor output
of the IP camera
 Sends translated
signals to
steering box and
speed control
 Programmed with
C and Assembly
Goal Setting
Innovative Development
DragonFly12
Design Development
Research Products
Requirements
Functional GUI
 Processing
 Can communicate
directly to RTSP
server on camera
 Have an instance
of a client
Goal Setting
Innovative Development
Design Development
Research Products
Unexpected outcome of design…
 Swarmed with applications to be our advisor:
Project Costs:
 Camera

One time Purchase: $275
 Little Caesars

Hot-N-Ready: $600 annual cost
 Traveling Costs


Seminar in Hawaii - $800/member
Still pending department approval…
Implementation
PARTYING?
How to accomplish
our goals?
NO!!!
STUDYING?
YES!
Implementation
 3 Major Lines of Communication



PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Animated Diagram
1. PC to Camera
2. Camera
to
Microprocessor
3. Microprocessor to Car
PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Code Review – Part I
 This slide and those following will discuss the code
from the pc to the camera

Code Screen shots
GUI Screen shots

Discuss Issues

PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Animated Diagram
1. PC to Camera
2. Camera
to
Microprocessor
3. Microprocessor to Car
PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Code Review – Part II
 Using a microprocessor

Initial coding/design on Dragon12
development board (MC9S12DP256)



Transferred to DragonFly12 (on the car)


PC  Camera
has a bus speed of 24MHz
has registers for a Pulse Width Modulator and an
Enhanced Capture Timer
Bus speed 48MHz
Fewer ports
Camera  Microprocessor
Microprocessor  Car
Design: Camera to Microprocessor
 Camera’s alarm output can be activated
about every 10 ms
 Initially 10-120 ms speed and 130-240 ms
steering in increments of 10 ms (alternating)

Problems encountered:



Camera couldn’t be activated this fast when using
the camera’s program for activating the output
Slowed to around 0.1 second when streaming
video
Very inconsistent signal
Design: Camera to Microprocessor
 Changed to four bit signal in the form XXXX

Still takes on the order of 250 ms
to send signal
Speed
Steering
 Solved using hexdump, Google, and beagle
Design: Camera to Microprocessor
 Solution:



Using ioctl system call, output can be
activated in less than 1 ms
Number of signals sent (0-14) determine
speed and direction of car
Longer signal sent to mark end of signal
sequence
Design: Camera to Microprocessor
Still needed
End of signal
Implementation
Code Review – Part II
Implementation
Amplifier
V1
5Vdc
Rc
10k
0
V-out
V-in
2N2222
V1 = 0
V2 = 3.3
0
PC  Camera
0
Camera  Microprocessor
Microprocessor  Car
Implementation
Animated Diagram
1. PC to Camera
2. Camera
to
Microprocessor
3. Microprocessor to Car
PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Code Review – Part III
 Talk about microprocessor code
 Dragon12

Screen Shot of Code
 EmbeddedGNU

Screen Shot of Program
 DragonFly12

Screen Shot of Revised Code
 Issues – Issues – Issues
PC  Camera
Camera  Microprocessor
Microprocessor  Car
Implementation
Code Review – Part III
Problems we encountered….


Getting camera feed displayed on GUI
Axis not being any help whatsoever


Many emails, one helpful reply
Setting up a cross compiler for the camera

Tried six distributions of Ubuntu



Broken Ubuntu installations
Fixing Axis cross compiler

Tried creating our own cross compiler




Output activation took around 0.1 seconds using program on camera
Solved using hexdump, Google, and Beagle
Putting code onto DragonFly12



Used build root and
Triggering camera alarm fast enough


Create cross compiler with build root and uclibc
Creating cross compiler using gcc
Can’t download from CodeWarrior directly
CodeWarrior s19 file has to be converted for the DragonFly12
Camera not cooperating
Future Development
 What could we do if we had more time?



Put everything on a separate car with reverse
(maybe need to explain why we’re using this
car with no reverse in the first place)
With above ability, apply backtracking idea?
(application of a stack storing commands of
steering and compliments of speed)
Wireless strength monitor?
Sales and Marketing
 You can place order for yours TODAY!



$700…. Next year capstone students?
Cash and Visa
No Checks w/o valid drivers license
Special Thanks
 George Hauser

Ph.D., University of Rochester
 Tosh Kakar

Ph.D., Washington State University
 Wayne Chu
 Frank Wornle
 Make-a-wish foundation
 Little Caesars
 Delivery guys who deliver straight to Morken
212a
Download