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

Preview:

Citation preview

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)

project objectives

requirements/specifications

design issues/technology

what to expect

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

at a glance

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

learning objectives

1. 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

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

◦ connection oriented ◦ reliable

sockets◦ what are they?

establish connection

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

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

originally

with ip camera

RTSP/RTP

commands sent from user’s computer to camera

camera relays signal to microprocessor

microprocessor sends translated signal to car

controlling car

client/server

single connection

server on camera – C

client on user’s computer – Java

cmds from user to ip cam

create socket

bind socket to port

listen for connections

accept connection

send/receive data from connection

to use sockets

basic driving cmd sequence

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

issue

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

hardware signals

3 Leads: ◦ Ground◦ Vcc

◦ Pulse width modulation

RC car servo

speed and steering

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

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

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

RTSP/RTP

adding a microprocessor

rtsp/rtp

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

Programming the microprocessor

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

processing

can communicate directly to RTSP server on camera

have an instance of a client

GUI

driver view

all together

project objectives

requirements/specifications

design issues/technology

conclusion

Recommended