43
NETWORK RC CAR© James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Embed Size (px)

Citation preview

Page 1: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

NETWORK RC CAR©

James Crosetto BS (Computer Science and Computer Engineering)Jeremy Ellison BS (Computer Engineering)Seth Schwiethale BS (Computer Science)

Page 2: 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

Seth Schwiethale Computer Science

Music Diversity Contributor

Jeremy Ellison Computer Engineering Anti-Coldplay

Page 3: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Advisor Bios

Tosh Kakar Group Advisor

Work Enforcer

Dr. Hauser Capstone Advisor

Page 4: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Presentation Outline

Objectives Goal Setting Innovate & Design

Requirements Necessary Equipment

Implementation Code Review

Future Development Where to go from here

Page 5: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Objectives

Goal Setting Project Overview Functional Objectives Learning Objectives

Innovative development Radio Frequency vs. Internet Internet vs. Network Computer vs. IP Camera

Goal Setting Innovative Development Design Development Research Products

Page 6: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Project Overview 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

Goal Setting Innovative Development Design Development Research Products

ObjectivesGoal Setting

Page 7: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Functional Objectives Establish connection between RC car and

driver’s computer Get real time visual feed Control RC car User friendly GUI

Goal Setting Innovative Development Design Development Research Products

ObjectivesGoal Setting

Page 8: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Learning Objectives Understand Wireless Communication

Efficient methods of sending and receiving data Embedded Systems

Microprocessors Assembly Language Linux / C

R/C car design and functionality Servos Pulse Width Modulation

Goal Setting Innovative Development Design Development Research Products

ObjectivesGoal Setting

Page 9: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Radio Frequency 350-400ft Line-of-sight Object interference

Internet Network Advanced Range Non-line-of-sight

Goal Setting Innovative Development Design Development Research Products

ObjectivesInnovative Development

Page 10: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Goal Setting Innovative Development Design Development Research Products

ObjectivesAnimated Design Progression

Page 11: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Requirements

Necessary Components Car Camera Microprocessor User’s PC

Page 12: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Goal Setting Innovative Development Design Development Research Products

RequirementsThe Car

Page 13: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

3 Leads: Ground Vcc

Pulse width modulation

Goal Setting Innovative Development Design Development Research Products

RequirementsThe Car

Page 14: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Goal Setting Innovative Development Design Development Research Products

RequirementsThe Car

Page 15: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

RequirementsThe Car

Page 16: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

RequirementsIP Camera

Page 17: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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 Design Development Research Products

RequirementsMicroprocessor

DragonFly12

Page 18: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Processing Can communicate

directly to RTSP server on camera

Have an instance of a client

Goal Setting Innovative Development Design Development Research Products

RequirementsFunctional GUI

SETH HAS

NEW UPDATED

SLIDE TO

PLACE HERE

Page 19: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Unexpected outcome of design…

Swarmed with applications to be our advisor:

Page 20: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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…

Page 21: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Implementation

Page 22: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

PARTYING?How to accomplish our goals?

Page 23: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

NO!!!

Page 24: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

STUDYING?

Page 25: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

YES!

Page 26: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Implementation

3 Major Lines of Communication PC Camera Camera Microprocessor Microprocessor Car

Page 27: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

1. PC to Camera

2. Camera

to

Microprocessor

3. Microprocessor to Car

PC Camera Camera Microprocessor Microprocessor Car

ImplementationAnimated Diagram

Page 28: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

ImplementationCode Review – Part I

Page 29: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

1. PC to Camera

2. Camera

to

Microprocessor

3. Microprocessor to Car

PC Camera Camera Microprocessor Microprocessor Car

ImplementationAnimated Diagram

Page 30: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Using a microprocessor Initial coding/design on Dragon12

development board (MC9S12DP256) has a bus speed of 24MHz has registers for a Pulse Width Modulator and an

Enhanced Capture Timer Transferred to DragonFly12 (on the car)

Bus speed 48MHz Fewer ports

PC Camera Camera Microprocessor Microprocessor Car

ImplementationCode Review – Part II

Page 31: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

Page 32: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Design: Camera to Microprocessor

Changed to four bit signal in the form XXXX Still takes on the order of 250 ms

to send signal Solved using hexdump, Google, and beagle

Speed Steering

Page 33: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

Page 34: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

Design: Camera to Microprocessor

Still needed

End of signal

Page 35: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

ImplementationCode Review – Part II

Page 36: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

PC Camera Camera Microprocessor Microprocessor Car

2N2222

0

0

Rc10k

V15Vdc

V1 = 0V2 = 3.3

V-out

0

V-in

ImplementationAmplifier

Page 37: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

1. PC to Camera

2. Camera

to

Microprocessor

3. Microprocessor to Car

PC Camera Camera Microprocessor Microprocessor Car

ImplementationAnimated Diagram

Page 38: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

ImplementationCode Review – Part III

Page 39: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

ImplementationCode Review – Part III

Page 40: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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 Create cross compiler with build root and uclibc Creating cross compiler using gcc

Broken Ubuntu installations Fixing Axis cross compiler

Tried creating our own cross compiler Used build root and

Triggering camera alarm fast enough Output activation took around 0.1 seconds using program on camera Solved using hexdump, Google, and Beagle

Putting code onto DragonFly12 Can’t download from CodeWarrior directly CodeWarrior s19 file has to be converted for the DragonFly12

Camera not cooperating

Page 41: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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?

Page 42: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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

Page 43: NETWORK RC CAR © James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Engineering) Seth Schwiethale BS (Computer Science)

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 Ourselves