Big Dog’s Kryptonite controlling a RC car over a network

32
Big Dog’s Kryptonite controlling a RC car over a network James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer Science)

description

Big Dog’s Kryptonite controlling a RC car over a network. James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer Science). what to expect. project objectives requirements/specifications - PowerPoint PPT Presentation

Transcript of Big Dog’s Kryptonite controlling a RC car over a network

Page 1: Big Dog’s Kryptonite controlling a RC car over a network

Big Dog’s Kryptonite

controlling a RC car over a network

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

Seth Schwiethale BS (Computer Science)

Page 2: Big Dog’s Kryptonite controlling a RC car over a network

project objectives

requirements/specifications

design issues/technology

what to expect

Page 3: Big Dog’s Kryptonite controlling a RC car over a network

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

project overview

Page 4: Big Dog’s Kryptonite controlling a RC car over a network

at a glance

Page 5: Big Dog’s Kryptonite controlling a RC car over a network

establish connection between rc car and driver’s computer

get real time visual feed

control rc car

user friendly GUI

backtracking (retracing to reacquire lost signal)

functional objectives

Page 6: Big Dog’s Kryptonite controlling a RC car over a network

learning objectives1. Understand Wireless Communication

- Detecting availability of network- Efficient methods of sending and receiving data

2. Embedded Systems- Microprocessors- Assembly Language- C

3. R/C car design and functionality- What’s the controlling units- How do they work

Page 7: Big Dog’s Kryptonite controlling a RC car over a network

between rc car and user’s computer TCP/IP protocol suite

◦ connection oriented ◦ reliable

sockets◦ what are they?

establish connection

Page 8: Big Dog’s Kryptonite controlling a RC car over a network

IP camera◦ video stream ◦ wireless interface◦ linux kernel

Axis® RTSP◦ control protocol for media server◦ “play” and “pause” type of commands ◦ control of media stream properties (bit rate, res,

etc…)

real time video feed

Page 9: Big Dog’s Kryptonite controlling a RC car over a network

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: 32 MB◦ Flash: 8 MB

IP Camera

Page 10: Big Dog’s Kryptonite controlling a RC car over a network

originally

Page 11: Big Dog’s Kryptonite controlling a RC car over a network

with ip camera

RTSP/RTP

Page 12: Big Dog’s Kryptonite controlling a RC car over a network

commands sent from user’s computer to camera

camera relays signal to microprocessor

microprocessor sends translated signal to car

controlling car

Page 13: Big Dog’s Kryptonite controlling a RC car over a network

client/server

single connection

server on camera – C

client on user’s computer – Java

cmds from user to ip cam

Page 14: Big Dog’s Kryptonite controlling a RC car over a network

create socket

bind socket to port

listen for connections

accept connection

send/receive data from connection

to use sockets

Page 15: Big Dog’s Kryptonite controlling a RC car over a network

basic driving cmd sequence

Page 16: Big Dog’s Kryptonite controlling a RC car over a network

since directions from client will be rapid◦ don’t want to have to wait for acknowledgment

issue

Page 17: Big Dog’s Kryptonite controlling a RC car over a network

since directions from client will be rapid◦ don’t want to have to wait for acknowledgment

use non-blocking sockets◦ allow communication between applications

without blocking the processes using the sockets

◦ for example: java uses Selector and keys

issue

Page 18: Big Dog’s Kryptonite controlling a RC car over a network

hardware signals

Page 19: Big Dog’s Kryptonite controlling a RC car over a network

3 Leads: ◦ Ground◦ Vcc◦ Pulse width modulation

RC car servo

Page 20: Big Dog’s Kryptonite controlling a RC car over a network

speed and steering

Page 21: Big Dog’s Kryptonite controlling a RC car over a network

RC car servo Pulse Width Modulation 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

Page 22: Big Dog’s Kryptonite controlling a RC car over a network

IP Camera – I/O 4-pin I/O terminal

◦ 1 transistor output Max load of 100mA Max voltage of 24V DC

◦ 1 digital input Can be activated or left floating

◦ Auxiliary power and GND Max 5V DC, 2.5W Connector for main power Power to auxiliary equip, Max 50mA

Page 23: Big Dog’s Kryptonite controlling a RC car over a network

The output of the camera can be activated every 1/100th of a second

Car steering box and speed control require differences of less than 1ms

Problem

Page 24: Big Dog’s Kryptonite controlling a RC car over a network

RTSP/RTP

Page 25: Big Dog’s Kryptonite controlling a RC car over a network

adding a microprocessor

rtsp/rtp

Page 26: Big Dog’s Kryptonite controlling a RC car over a network

Receives and translates signals from the transistor output of the IP camera◦ Camera signals are 100-185ms for steering and

200-285ms for speed control Sends translated signals to steering box and

speed control Programmed with C and Assembly Written, debugged, tested using

CodeWarrior and a Dragon12 development board

microprocessor

Page 27: Big Dog’s Kryptonite controlling a RC car over a network

Programming the microprocessor

Page 28: Big Dog’s Kryptonite controlling a RC car over a network

Backtracking Every time the IP camera receives a

command, it stores the command in memory

If a connection is lost, the camera sends signals to the car to make it backtrack

If a connection is reestablished, backtracking stops

Page 29: Big Dog’s Kryptonite controlling a RC car over a network

processing

can communicate directly to RTSP server on camera

have an instance of a client

GUI

Page 30: Big Dog’s Kryptonite controlling a RC car over a network

driver view

Page 31: Big Dog’s Kryptonite controlling a RC car over a network

all together

Page 32: Big Dog’s Kryptonite controlling a RC car over a network

project objectives

requirements/specifications

design issues/technology

conclusion