Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Narrative: Brawns AND Brains T EAM 12 - SUPER TANK.

Similar presentations


Presentation on theme: "Software Narrative: Brawns AND Brains T EAM 12 - SUPER TANK."— Presentation transcript:

1 Software Narrative: Brawns AND Brains T EAM 12 - SUPER TANK

2 O VERVIEW  Project Refresher  Software Architecture Overview  The High Level – LRVC Protocol  The Low Level – Main Embedded System  Summary

3 P ROJECT R EFRESHER  Long Range Vehicle (Tank) Control over wireless network  Operate from anywhere in the world (Website/Android App)  Collaboration with HKUST  Shared Server  Customizable for new vehicle features

4 PSSC S  An ability to send/receive/decode commands from a controller wirelessly  An ability to control direction/firing capability of a vehicle  An ability to autonomously avoid obstacles encountered by the tank  An ability to provide sensor feedback to a wireless controller  An ability to monitor a battery and prevent unexpected signal loss by alerting operator

5 S OFTWARE A RCHITECTURE HKUST Server LRV Virtual Controller (Android Tablet/Phone) Pandaboard Micro VLC Server (Script ) Serial Server (Python) Android Virtual Controller App (Android) TCP/IP Stack UART Receiver (ASM) Main Embedded System (ASM) LRV LRVC Server (Java) RTSP TCP UART Receiver (ASM) USB Cam Bat Man. PCB MPEG4v Lion Battery UART TCP Virtual Controller Selection Website (Php) Web Browsing

6 T HE H IGH L EVEL – LRVC P ROTOCOL O VERVIEW The LRVC Protocol provides a framework for communications between a Virtual Controller and an LRV. The LRVC Protocol has been designed to be flexible enough to accommodate a diverse set of functionalities in an LRV yet structured enough to yield a fair amount of code re-use between LRV implementations.

7 T HE H IGH L EVEL – LRVC P ROTOCOL P ROPERTIES  Android Compatible  Extendable  Robust UI Support  Video Streaming  Multiple Users  Secure

8 T HE H IGH L EVEL – LRVC P ROTOCOL

9 HKUST Server LRV Virtual Controller (Android Tablet/Phone) Pandaboard Micro VLC Server (Script ) Serial Server (Python) Android Virtual Controller App (Android) TCP/IP Stack UART Receiver (ASM) Main Embedded System (ASM) LRV LRVC Server (Java) UART Receiver (ASM) USB Cam Bat Man. PCB Lion Battery Virtual Controller Selection Website (Php) THE LRVC Protocol

10 LRVC P ROTOCOL – P ORT M APPINGS

11 LRVC P ROTOCOL - T HE P HASES  Connection Phase - This phase is responsible for the security and resource allocation of the LRVC Server along with providing services for the Virtual Controller to provide a User with a selection screen of LRV options.  Configuration Phase - This phase is responsible for the configuration of a Virtual Controller. It populates the Virtual Controller with a standard interface of Standard Objects and a unique set of custom objects called Non-Standard Objects. These objects all have a known interface.  Control Phase - This phase is responsible for synchronously distributing opcodes (aka commands) to an LRV at the rate of 10Hz. Additionally, it wraps and transports the LRV’s feedback as Status Messages back to the Virtual Controller at a rate of 10Hz. Lastly, it facilitates a video feed from the LRV back to the Virtual Controller at a target rate of 20Hz.

12 LRVC P ROTOCOL - C ONFIGURATION HKUST Server LRV Virtual Controller (Android Tablet/Phone) Pandaboard Micro VLC Server (Script ) Serial Server (Python) Android Virtual Controller App (Android) TCP/IP Stack UART Receiver (ASM) Main Embedded System (ASM) LRV LRVC Server (Java) UART Receiver (ASM) USB Cam Bat Man. PCB Lion Battery Virtual Controller Selection Website (Php) Web Browsing

13 LRVC P ROTOCOL - C ONFIGURATION 1. Web Repository of Apps for Download 2. Standard App, With Extension Scheme

14 LRVC P ROTOCOL – W EB R EPOSITORY Web Browse To This Webpage LRV #1 LRV #1 Description Download LRV #2 LRV #2 Description Download

15 LRVC P ROTOCOL – E XTENSION S CHEME FIRE Obj1.class Obj.class Standard ObjectsCustom Objects Obj.class

16 C ONTROLLER O BJECTS Obj.class CustomLRVCObject Interface getOpcode() public boolean wasActivated() Used internally to aggregate activated objects giveResponse() “Speed 8mph” 0xA3

17 C ONTROLLER O BJECTS FIRE 0x11 0x07 0x060x0A0x100x0C0x01 NOTE: Opcodes are made up Command Msg

18 C ONTROLLER O BJECTS FIRE NOTE: Responses are made up Status Msg (3ft, 2ft) “No Events” 0x2F Video Stream

19 T HE B IG P ICTURE The basic idea is that the protocol allows extension and custom implementation through creating custom GUI objects (Java objects that contain a known “CustomLRVCObjects” interface), serializing them through the standard Java library, and interfacing them through the controllers GUI. Thus, the custom implementation is achieved not by modifying the LRVC Protocol but by adjusting the bindings of these GUI components.

20 LRVC P ROTOCOL – C ONNECTION AND C OMMAND Comprehensive 22 Page Document. 2 Collaborating Teams Sequence Diagrams Message Schemas

21 T HE L OW L EVEL – E MBEDDED S YSTEM HKUST Server LRV Virtual Controller (Android Tablet/Phone) Pandaboard Micro VLC Server (Script ) Serial Server (Python) Android Virtual Controller App (Android) TCP/IP Stack UART Receiver (ASM) Main Embedded System (ASM) LRV LRVC Server (Java) UART Receiver (ASM) USB Cam Bat Man. PCB Lion Battery Virtual Controller Selection Website (Php) Internal Communications

22 E MBEDDED S YSTEM C ONSTRAINTS  96K SRAM  Currently <1K Vars  ~ 1K Instructions  Not using Flash  Critical Spots  128 B Trig Tables  256-288B Send and Receive Buffers

23 I NTERFACE T O T HE LRVC S ERVER

24 E MBEDDED S YSTEM Buffer OpCodes Async. Send Status Messages 10 Hz Timer Interrupt Code Command FlagsStatus Messages 8 Messages 36 Byte Max Msg Size 8 Commands (8 Bytes) Execution Functions Construct Response Functions Obst Det IRs (10) Battery Management Trig Tables Obstacle Detection Alg. Bat. Algo Variables Battery Level Alg. Receive Buffer (256) 1. 2. 3. 50 Hz Timer Interrupt Code Command Process Obstacle Avoid. Process Obstacle Avoid Alg. Past Movements And Obstacles

25 E MBEDDED S YSTEM – M EMORY M APPING

26

27 Power Supply Power Supply Power Supply Power Supply External Oscillation JTAG (ULinkMe) Left Drive Motor Right Drive Motor Turret Drive Motor Fire Ledge Det. Obstacle Det. Panda Comm (UART) Reset Bat Management Comm (UART)

28 C URRENT P ROGRESS TaskProgressTeam Owner UART Com90%Purdue Obstacle Detection5%Purdue Battery Management25%Purdue Motor Drivers100%Purdue Video Streaming10%Purdue LRVC Protocol100%Purdue/HKUST LRVC Server25%HKUST Virtual Controller25%Purdue Integration0%Purdue

29 Q UESTIONS ?


Download ppt "Software Narrative: Brawns AND Brains T EAM 12 - SUPER TANK."

Similar presentations


Ads by Google