Design of an intuitive and responsive remote control interface for robots The Universal Robot Controller Master Thesis Presentation by La Spada Luca The 03 February 2016 ------------------------------------------------------------- Ijspeert Auke Jan - Master Project supervisor Crespi Alessandro - Assistant Estier Thomas - External expert 1
Outline Introduction Architecture Results Conclusion 2
Outline Introduction 3
Introduction Motivation • Remote-controllers • Non-autonomous robots and fully autonomous robots • Lack of evolutions • Ascertainment • Almost each robot has its dedicated remote-controller • Majority of people possess a mobile device (smartphone, tablet, etc.) • One remote-controller to rule them all • Custom GUIs for each robot • Access to sensors data 4
Introduction Goal • Developing a versatile remote-controller application • Run on various mobile devices • Compatible with various robots • Represent the same information differently • Providing a framework to design GUIs • Targeting B2B • Reusability of components • Several layouts for the same robot • Intuitive & Responsive 5
Introduction Proof of concept Absolem by Bluebotics AmphiBot III ROVéo Mini by BioRob by Rovenso 6
Outline Architecture 7
Introduction Architecture Choices • Android • Reduce the complexity by supporting one OS • 80% of the market share worldwide • Hybrid Apps Native Apps Hybrid Apps Single platform affinity • External: Native App Cross-platform affinity Platform SDK • Internal: Web App Web technologies Access to all native APIs Runs locally Access to device capabilities Access to native APIs • Web technologies (JavaScript, HTML5, CSS) Mobile Web Apps • Multi-platform Cross-platform affinity • Flexibility Web technologies • Intuitive & Responsive Runs on web server Platform affinity 8
Introduction Architecture Communications Protocol AmphiBot III TCP/IP Response Android Application (URC) TCP/IP Request ISM radio bands 866-868 MHz Amphibot 9
Introduction Architecture Communications Protocol ROVéo Mini SSH RoveoMini Telnet Arduino Yún Android Application (URC) 10
Introduction Architecture Communications Protocol Absolem Websocket Android Application (URC) Absolem using library roslibjs 11
Introduction Architecture External Universal Android Application Robot Repository WebView Websocket Website Robots Xhr Response Javascript Interface Bridges (TCP/IP, SSH) Xhr = XMLHttpRequest 12
Introduction Architecture Internal Website Storage IndexedDB Universal Robot Repository Drivers Interfaces Xhr Request Manager Page Package Manager Widgets (2) Xhr Response (and Interfaces Manager) Drivers (4) GUI Page Settings Page Widget 1 Widget ... Widget N Interface (a) (a) (a) (b) Websocket Driver Menu Page Robots Xhr Request Xhr Response Javascript Interface Bridges (TCP/IP, SSH) 13
Introduction Architecture Internal Universal Robot Repository Interfaces Xhr Request r Page Package Manager Widgets (2) Xhr Response Drivers (4) GUI Page Widget 1 Widget ... Widget N Interface (a) (a) (a) (b) Websocket Driver Robots Xhr Request Xhr Response Javascript Interface Bridges (TCP/IP, SSH) 14
Introduction Architecture Internal Menu 15
Introduction Architecture Internal Driver Manager 16
Introduction Architecture Internal Settings 17
Introduction Architecture Internal GUI 18
Outline Results 19
Introduction Architecture Results AmphiBot III 20
Introduction Architecture Results ROVéo Mini 21
Introduction Architecture Results Absolem (1) 22
Introduction Architecture Results Absolem (2) • Laser range finder 23
Introduction Architecture Results Absolem (3) • Mobile device motion sensor 24
Introduction Architecture Results URC in action 25
Outline Conclusion 26
Introduction Architecture Benchmark Conclusion Now • Control a wide variety of robots • Reusability widgets • Use existing JavaScript component • Several interfaces for a robot • Debug • Consumer • Adaptability & Accessibility • Easily portable to other support (iOS, Windows Phone, PC) 27
Introduction Architecture Benchmark Conclusion Improvement • Create an UDP bridge • Improve settings webpage • Universal Robot Repository is a proof of concept 28
Recommend
More recommend