james crosetto bs (computer science and computer engineering) jeremy ellison bs (computer science...
TRANSCRIPT
![Page 1: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/1.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/2.jpg)
project objectives
requirements/specifications
design issues/technology
what to expect
![Page 3: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/3.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/4.jpg)
at a glance
![Page 5: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/5.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/6.jpg)
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
![Page 7: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/7.jpg)
between rc car and user’s computer TCP/IP protocol suite
◦ connection oriented ◦ reliable
sockets◦ what are they?
establish connection
![Page 8: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/8.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/9.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/10.jpg)
originally
![Page 11: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/11.jpg)
with ip camera
RTSP/RTP
![Page 12: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/12.jpg)
commands sent from user’s computer to camera
camera relays signal to microprocessor
microprocessor sends translated signal to car
controlling car
![Page 13: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/13.jpg)
client/server
single connection
server on camera – C
client on user’s computer – Java
cmds from user to ip cam
![Page 14: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/14.jpg)
create socket
bind socket to port
listen for connections
accept connection
send/receive data from connection
to use sockets
![Page 15: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/15.jpg)
basic driving cmd sequence
![Page 16: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/16.jpg)
since directions from client will be rapid◦ don’t want to have to wait for acknowledgment
issue
![Page 17: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/17.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/18.jpg)
hardware signals
![Page 19: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/19.jpg)
3 Leads: ◦ Ground◦ Vcc
◦ Pulse width modulation
RC car servo
![Page 20: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/20.jpg)
speed and steering
![Page 21: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/21.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/22.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/23.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/24.jpg)
RTSP/RTP
![Page 25: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/25.jpg)
adding a microprocessor
rtsp/rtp
![Page 26: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/26.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/27.jpg)
Programming the microprocessor
![Page 28: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/28.jpg)
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: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/29.jpg)
processing
can communicate directly to RTSP server on camera
have an instance of a client
GUI
![Page 30: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/30.jpg)
driver view
![Page 31: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/31.jpg)
all together
![Page 32: James Crosetto BS (Computer Science and Computer Engineering) Jeremy Ellison BS (Computer Science and Computer Engineering) Seth Schwiethale BS (Computer](https://reader035.vdocuments.us/reader035/viewer/2022062803/56649f395503460f94c56075/html5/thumbnails/32.jpg)
project objectives
requirements/specifications
design issues/technology
conclusion