1 / 29

Team 12 - SUPER TANK

Team 12 - SUPER TANK. Software Narrative: Brawns AND Brains. Overview. Project Refresher Software Architecture Overview The High Level – LRVC Protocol The Low Level – Main Embedded System Summary. Project Refresher. Long Range Vehicle (Tank) Control over wireless network

ashton
Download Presentation

Team 12 - SUPER TANK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team 12 - SUPER TANK Software Narrative: Brawns AND Brains

  2. Overview • Project Refresher • Software Architecture Overview • The High Level – LRVC Protocol • The Low Level– Main Embedded System • Summary

  3. Project Refresher • 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. PSSCs • 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. Software Architecture LRV Lion Battery Main Embedded System (ASM) Bat Man. PCB LRV Micro Virtual Controller (Android Tablet/Phone) UART UART Receiver (ASM) UART Receiver (ASM) Android Virtual Controller App (Android) RTSP UART VLC Server (Script) Serial Server (Python) HKUST Server LRVC Server (Java) TCP/IP Stack Pandaboard TCP MPEG4v TCP USB Cam Virtual Controller Selection Website (Php) Web Browsing

  6. The High Level – LRVC Protocol Overview 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. The High Level – LRVC Protocol Properties • Android Compatible • Extendable • Robust UI Support • Video Streaming • Multiple Users • Secure

  8. The High Level – LRVC Protocol

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

  10. LRVC Protocol – Port Mappings

  11. LRVC Protocol - The Phases • 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 Protocol - Configuration LRV Lion Battery Main Embedded System (ASM) Bat Man. PCB LRV Micro Virtual Controller (Android Tablet/Phone) UART Receiver (ASM) UART Receiver (ASM) Android Virtual Controller App (Android) VLC Server (Script) Serial Server (Python) HKUST Server LRVC Server (Java) TCP/IP Stack Pandaboard USB Cam Virtual Controller Selection Website (Php) Web Browsing

  13. LRVC Protocol - Configuration • Web Repository of Apps for Download • Standard App, With Extension Scheme

  14. LRVC Protocol – Web Repository Web Browse To This Webpage LRV #1 LRV #1 Description Download LRV #2 LRV #2 Description Download

  15. LRVC Protocol – Extension Scheme Custom Objects Standard Objects Obj.class Obj1.class Obj.class Obj1.class Obj1.class Obj.class Obj.class FIRE

  16. Controller Objects CustomLRVCObject Interface getOpcode() giveResponse() Obj.class 0xA3 “Speed 8mph” public booleanwasActivated() Used internally to aggregate activated objects

  17. Controller Objects 0x06 0x0A 0x10 0x0C 0x01 Command Msg 0x07 0x11 FIRE NOTE: Opcodes are made up

  18. Controller Objects Video Stream 0x2F Status Msg (3ft, 2ft) “No Events” FIRE NOTE: Responses are made up

  19. The Big Picture 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 Protocol – Connection and Command • Comprehensive 22 Page Document. • 2 Collaborating Teams • Sequence Diagrams • Message Schemas

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

  22. Embedded System Constraints • 96K SRAM • Currently <1K Vars • ~ 1K Instructions • Not using Flash • Critical Spots • 128 B Trig Tables • 256-288B Send and Receive Buffers

  23. Interface To The LRVC Server

  24. Embedded System Send Status Messages Buffer OpCodesAsync. Receive Buffer (256) Command Flags Status Messages 8 Commands (8 Bytes) 8 Messages 1. Past Movements And Obstacles Bat. Algo Variables Command Process 3. Obstacle Detection Alg. Obstacle Avoid Alg. Battery Level Alg. 10 Hz Timer Interrupt Code 36 Byte Max Msg Size 2. Construct Response Functions Execution Functions Obstacle Avoid. Process 50 Hz Timer Interrupt Code Trig Tables Battery Management ObstDet IRs (10)

  25. Embedded System – Memory Mapping

  26. Embedded System – Memory Mapping

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

  28. Current Progress

  29. Questions?

More Related