Download
ece477 project minotaur software narrative n.
Skip this Video
Loading SlideShow in 5 Seconds..
ECE477 Project Minotaur Software Narrative PowerPoint Presentation
Download Presentation
ECE477 Project Minotaur Software Narrative

ECE477 Project Minotaur Software Narrative

75 Vues Download Presentation
Télécharger la présentation

ECE477 Project Minotaur Software Narrative

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. ECE477 Project MinotaurSoftware Narrative Jon Roose

  2. Project Overview • Home Security Robot • Interaction through a Webserver • Robot driven manually through house and spots intruders • Relays video to web interface using kinnect

  3. Hardware Hierarchy

  4. Software Hierarchy

  5. Benefits of Model • Reliance upon open source projects • Ease of access, available to HTML5 browsers • Emphasis on x86 architecture • Modularity • Scalability

  6. Software Hierarchy - Web Interface

  7. Software Hierarchy - Web Interface • Apache Web Server • Serves interface to user’s web browser • HTML5 and JavaScript WebSockets • Opens efficient communication with C&C Server • Real time commands, removes HTTP reliance • RDP Video Stream • Implemented and configured through FFServer • Connects via an embedded video object

  8. Software Hierarchy - C&C Server

  9. Software Hierarchy - C&C Gateway • C&C Server (Written in Python) • Mediator for command and control signals • Communicates on internal LAN with robot • Simple websocket interface with User’s browser • Leverages TCP/IP LAN interface to communicate with robot via WiFi • FFServer (Open source application) • Accepts video from Atom board and serves to user, manages RDP video stream

  10. Software Hierarchy - Atom Board

  11. Software Hierarchy – Atom Board • Intelligent Drive System (C++) • Navigates room and avoids obstacles • Accepts commands on a TCP/IP socket from C&C • Interprets sensor data from Kinect and PIC24 • Converts video into YUV encoding for FFMpeg • FFMpeg (Open source application) • Accepts data via stdin from the Intelligent Drive system and packages it in an MPEG video format

  12. IDS Software Architecture • Thread 1 - 30 FPS event loop • Transcodes and Outputs video to FFMpeg • Polls Kinect Video and Depth Sensor • Polls network socket for C&C Commands • Thread 2 - Queue driven event loop • Implements room mapping and human detection • Timers add standard events to queue • Flexible queue design allows adjusting task frequency • Communicates with PIC24 over RS232

  13. Software Hierarchy - Microcontroller

  14. Software Hierarchy - MicroController • Low Level Peripheral Controller (C) • Implements fail-safe obstacle avoidance • Accepts commands via 5 byte protocol over RS232 • Controls motors and polls IR sensors • Flag driven event loop • Libfreenect & OpenNI (Open source) • Library for communicating with Kinect • Retrieves depth sensor and video data • Recognizes human form

  15. Debugging • Hardware/MicroController • Standard Reset pushbutton and debug LED • RJ11 allows for in-circuit debugging via ICD3 • Headers for port pins broken out • Printing strings over SCI • Atom Board • SSH directly into board • Sending metrics and debugging data to C&C • Sending bitmaps of room map