Smart phone controlled

flosssnailsMobile - Wireless

Dec 10, 2013 (3 years and 10 months ago)

64 views

Smart phone controlled
mission platform

Group May12
-
22

Members: Tyler Johnson
-

Isaac Kuecker
-

Jacob Moellers



Tayler Todd
-

Paul Hovey

Team, Client, Advisor and Budget

-
Client: Lockheed Martin

-
Contact: Jessica Miller

-
Advisor: Daji Qiao

-
Budget: $2,000



Team Breakdown


-
Hardware: Isaac Kuecker and Tyler Johnson

-
Software: Tayler Todd and Jacob Moellers

-
Networking: Paul Hovey

Problem Statement

From the client, Lockheed Martin:

Utilize a commercially available smart phone (for example an
Android phone) to command and control a vehicle and

its
sensor. These capabilities are applicable to multiple scenarios
including military missions, police surveillance and search and
rescue activities. The prototype should be developed and
demonstrated using commercially available

products.

Project Goals


Priority 1

o
Control a vehicle using a smart phone

o
Have vehicle respond to navigation commands triggered
through a smartphone

o
Have vehicle avoid environment obstacles such as
buildings

o
Maintain continuous wireless connectivity of mobile
vehicle


Priority 2

o
Control a vehicle sensor using a smartphone

o
Have sensors respond to commands triggered through a
smartphone


Priority 3

o
Integrate with "Re
-
configurable Ad
-
hoc Network to Track
Mobile Vehicles" 2012 project


Design Constraints:


Design shall allow for integration with "Re
-
configurable Ad
-
hoc Network to Track Mobile Vehicles" 2012 project



Use inexpensive off
-
the
-
shelf products as much as possible
( for example, RC cars for "vehicle")



Testing
-

Open field on a clear day, test distance less than
the range of a single domestic WIFI router



Budget of $2,000

Functional Requirements

FR1



Transmit all data between RC car and Android Phone up
to a range of 70 unobstructed meters


FR2



Ability to determine location within 3 meter accuracy
while stopped or 5 meters while moving.


FR3



Ability to process 240p streaming video at 15 fps
minimum with 16 bit color (minimum color

requirements for an
android phone)


FR4



Use sonar sensors to detect obstacles larger than the
radius of the wheels within 2 meters from the RC

car.


FR5



Ability to autonomously drive within 3 meters of a given
coordinate that is reachable with the

current battery life

Functional Requirements

FR6



Control point of view of on
-
board camera with a lateral
range of +/
-

180 degrees from front of car

and vertical range of
+/
-

45 degrees from a plane parallel to the car


FR7



Camera controller should be able to rotate 180 degrees
in 1 second for both vertical and horizontal

rotation


FR8


Must be able to maintain full operation for 30 minutes


FR9



The RC car must be able to maintain a minimum speed
of 3.4 mph (standard march speed)


FR10



Climb a 1:6 incline assuming no loss of traction (max
for temporary wheelchair ramp)

Non Functional Requirements

NFR1



RC car can weigh no more than 15lbs


NFR2



The RC car shall run on electric motors


NFR3



The user control system must use Android


NFR4



Communication protocol is IEEE 802.11n standard


NFR5



Location will be determined by GPS coordinates

System Components

On Vehicle:


Pandaboard

o
Video stream (gstreamer)

o
Talk to phone (TCP)

o
Talk to Microcontroller


Microcontroller (Arduino)

o
Controls the vehicle's sensors and motors


Phone:



Android



Talk to Pandaboard (TCP)

Hardware on Car

Networking


Medium and protocols

o
Use the IEEE 802.11n specification for WIFI connection

o
Use a TCP connection for all control signals (CSV)

o
Use a UDP connection for video streaming (RTSP)

o
C code running on Pandaboard controls connections



Video Streaming

o
Use gstreamer (gst
-
rtsp
-
server) for the video streaming

o
Scale the video so that there is enough bandwidth for all
communication


Hardware

o
Android is acting as hotspot, Pandaboard is client


Phone



Samsung Galaxy Player

o
5" screen

o
1 GHz Hummingbird
Processor

o
Android 2.3

o
WiFi 802.11 n

o
Multi
-
touch


o
$210

User Interface

Features implemented:


Joysticks


Combination of map and
camera feed


Use both orientaitions


Large buttons


Features not implemented:


Picture capture


Autonomous


Rich functionality and
aesthetics



Key issues:


Need for a custom map
widget

Designed

Implemented

Test Requirements


Control vehicle with smartphone up to 70m on a WIFI
connection (FR1)

o
Successfully drove the car 90m from a stationary operator


Car is able to determine its location via GPS with an
accuracy of 3m for standstill and 5m while moving (FR2)

o
Success however GPS accuracy was not met. Actual
location could vary up to 50 yards


Meet the streaming requirements (FR3)

o
Success. Latency was an issue although this wasn't in the
requirements


Use sonar sensors to detect obstacles larger than the radius
of the wheels within 2 meters from the RC

car (FR4)

o
Success

Test Requirements


Autonomously drive to a give location (FR5)

o
Not implemented


Control point of view of on
-
board camera with a lateral range
of +/
-

180 degrees from front of car

and vertical range of +/
-

45 degrees from a plane parallel to the car (FR6)

o
Partially met. Hardware limits change the vertical range
from parallel to the ground to straight vertical


Camera controller should be able to rotate 180 degrees in 1
second for both vertical and horizontal

rotation (FR7)

o
Success


Meet the 30 minute battery life at full operation (FR8)

o
Success

Test Requirements


Maintain the minimum speed requirement (FR9)

o
Testing actually led to buying new hardware because car
was too fast


Climb a 1:6 incline assuming no loss of traction (FR10)


o
Success


RC car can weight no more than 15lbs (NFR1)

o
Success


The RC car shall run on electric motors (NFR2)

Success


The user control system must use Android (NFR3)

Success


Communication protocol is IEEE 802.11n standard (NFR4)

Success


Location will be determined by GPS coordinates (NFR5)

o
Success

Issues

Hardware


Arduino

o
Originally planned to use Arduino Uno


Only one serial UART. Need a serial UART for USB
communication to Pandaboard and a serial UART for
GPS communication


Using a software serial UART library, PWM signal
generation failed causing sporadic servo control

o
Switched to Arduino Mega


Contains 4 serial UART connections


More pins than needed


PCB throttle line trace rubs against the USB's ground shield,
so it should be moved to a new location in a new revision

Issues

Hardware



Do not apply reverse voltage on your voltage regulator


Do not short Li
-
Po batteries together



The battery mounts require a large amount of disassembly
to swap the batteries, a more friendly system could be
developed


Impossible to use the digital compass due to EMF
interference from the electric motor

Issues

Software



Panda Board

o
Used to have a race condition in TCP code (fork() issue)

o
Cross
-
compiling minimal Linux distribution

o
Slow boot time


Android

o

Video streaming lag

Milestone Timeline

Project Plan Finished


Design Document Finished

Parts and supplies ordered (no phone/batteries)

Sensor Communication (Servos, Compass)


GUI skeleton created

Establishing Communication between systems

Manual Control of RC car's sensors/motors

Phone and batteries ordered

Object detection via sonar

Hardware mounts and battery harness

Custom PCB ready

Completed integration, started testing

Testing and verification finished

11/2/2011

12/5/2011

12/1/2011

12/9/2011

12/16/2011

1/20/2012

1/30/2012

2/14/2012

3/5/2012

3/15/2012

4/6/2012

4/6/2012

4/25/2012

Expenditures

RC Car


$422


Embedded PC


$226


Android Device


$219


Servos, Sensors


$272


Miscellaneous


$75


Total


$1215.35


Future Implementations


Custom streaming solution

o
Eliminate buffering


Better hardware mount


Improved Custom PCB

o
Arduino and all sensors could be mounted onto
Pandaboard's expansion header to access one of the two
extra USB's

o
Allows for smaller hardware mount as well


Integrate with ad
-
hoc network

o
Autonomous driving


Sensored ESC and motor

o
Will provide for smoother acceleration


Use 7.4V batteries instead of 11.1V

o
Will lower maximum speed for more controlability

Questions