Anqi Xu, Gabriel Charette, Junaed Sattar, Gregory Dudek McGill University, Canada Thursday, May 6 th, 2010.

Slides:



Advertisements
Similar presentations
Composing Software Defined Networks
Advertisements

Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
CS0004: Introduction to Programming Introduction to Programming.
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
Computers Are Your Future
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
COP4020 Programming Languages
Your Interactive Guide to the Digital World Discovering Computers 2012.
Testing Tools. Categories of testing tools Black box testing, or functional testing Testing performed via GUI. The tool helps in emulating end-user actions.
JPL Robotics Technology Program Rover Navigation for Very Rough Terrain - 1 Overview (GUI Part) 1.pRRT Viewer Initialization Execute Vortex_Runner (Vortex_Visualizer)
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
Computer Hardware and Software Chapter 1. Overview Brief History of Computers Hardware of a Computer Binary and Hexadecimal Numbers Compiling vs. Interpreting.
Patient Location via Received Signal Strength (RSS) Analysis Dan Albano, Chris Comeau, Jeramie Ianelli, Sean Palastro Project Advisor Taib Znati Tuesday.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Visual Linker Final presentation.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Computer Graphics Lecture 28 Fasih ur Rehman. Last Class GUI Attributes – Windows, icons, menus, pointing devices, graphics Advantages Design Process.
End HomeWelcome! The Software Development Process.
1 Description and Benefits of JWST Commanding Operations Concept TIPS/JIM Meeting 17 July 2003 Vicki Balzano.
Testing Workflow In the Unified Process and Agile/Scrum processes.
CHAPTER TEN AUTHORING.
CS 3131 Introduction to Programming in Java Rich Maclin Computer Science Department.
Chapter 2 Operating System Overview
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
1 Welcome to CSC 301 Web Programming Charles Frank.
Software Information Systems and Management. Software Computer programs: A sequence of instructions for the computer. Systems Software The set of programs.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Effective Testing and Debugging Methods and Its Supporting System with Program Deltas Makoto Matsushita, Masayoshi Teraguchi, and Katsuro Inoue Osaka University.
ITC Research Computing Support Using Matlab Effectively By: Ed Hall Research Computing Support Center Phone: Φ Fax:
Software Architecture & Component Orientation Jose Donate CS 6362.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Data Communications and Networking Overview
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
Chapter 14 The User View of Operating Systems The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition,
Operating Systems Computer Technology Created by M. Guymon Pleasant Grove High School Spring 2003 Modified by M. Corbett Lehi Junior High Summer 2010.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
Mantid Stakeholder Review Nick Draper 01/11/2007.
Computer Graphics Lecture 02 Fasih ur Rehman. Last Class Introduction to Computer Graphics Areas Application.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
AVCE ICT – Unit 7 - Programming Session 12 - Debugging.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
MULTIMEDIA TECHNOLOGY SMM 3001 OPERATING SYSTEM. how operating systems software manage the computer how operating systems software manage the computer.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Autonomy: Executive and Instruments Life in the Atacama 2004 Science & Technology Workshop Nicola Muscettola NASA Ames Reid Simmons Carnegie Mellon.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
T.R.I.D.E Simon Overell (seo01) Supervisor: Keith Clark.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Interaction and Animation on Geolocalization Based Network Topology by Engin Arslan.
Computer System Structures
Chapter 6 : User interface design
NXT Robots and their Applications in Machine Learning Group 2: Roanne Manzano, Eric Tsai, Jacob Robison Mentor: Anjum Gupta Faculty Advisors: Professor.
Introduction to Operating System (OS)
Chapter 12 User Interface Design
Chapter 2: System Structures
Programming Languages
GRAPHICAL USER INTERFACE
GRAPHICAL USER INTERFACE GITAM GADTAULA. OVERVIEW What is Human Computer Interface (User Interface) principles of user interface design What makes a good.
GRAPHICAL USER INTERFACE GITAM GADTAULA KATHMANDU UNIVERSITY CLASS PRESENTATION.
Operating System Introduction.
Chapter 14 The User View of Operating Systems
Presentation transcript:

Anqi Xu, Gabriel Charette, Junaed Sattar, Gregory Dudek McGill University, Canada Thursday, May 6 th, 2010

Overview Existing robot programming techniques Graphical State-Space Programming (GSSP) Implementation on a representative robotic platform User Study Anqi Xu, McGill University

Aqua: A Family of Underwater Robots Survey health of marine ecosystems Location-specific tasks: “Take picture of this coral” “Search for that type of fish” Infrastructure representative of most robotic platforms Anqi Xu, McGill University

Robot Programming Interfaces 1. Textual programming Anqi Xu, McGill University

Robot Programming Interfaces (cont.) 1. Textual programming 2. Data flow programming (e.g. visual front-end for code) Lego® Mindstorms® NXT-G Software Anqi Xu, McGill University

Robot Programming Interfaces (cont.) 1. Textual programming 2. Data flow programming (e.g. visual front-end for code) 3. Graphical control / tele-operation Procerus® Virtual Cockpit™ Software Anqi Xu, McGill University

Task Specification Textual & data flow programming: if-then-else / switch Full control over sequence of execution Ability to specify branching paths Nested clauses hard to debug Graphical control: on-screen command selection Commands placed at distinct locations on map No path branching capabilities Limited selection of tasks Anqi Xu, McGill University

Insert waypoints through GUI Location-specific tasks: standard computer code attached to waypoints Branching & looping paths Natural visualization of data flow Core robot AI code decoupled from path itineraries Minimal overlap of functionalities High-level robot interaction Graphical State-Space Programming (GSSP) Anqi Xu, McGill University

GSSP Implementation onboard Aqua Anqi Xu, McGill University Existing development process Long compilation times Monolithic codebase Limited on-board processing capabilities Revamped development process Scripts interpreted at runtime using Python API wrapper Modular client-server design Upgradable client-side processing capabilities

Location-specific Python scripts Load new paths within scripts alternating routes contingency plans etc. Create / modify paths at runtime based on current state & latest observations Path Generator GUI Anqi Xu, McGill University

User Study Graphical state-space programming versus textual scripting Trajectory through all marked locations Each icon corresponds to a specific action command For textual scripting, use additional function calls to move robot 5 subjects, 4 sessions Alternate between GSSP & textual interfaces Evaluation metric: elapsed duration Anqi Xu, McGill University

Study Results GSSP interface consistently faster than procedural coding GSSP has minimal learning overhead GSSP’s high-level interaction prevents path-related & other simple programming errors Anqi Xu, McGill University

Conclusion Graphical state-space programming paradigm Geographical visualization of location-specific commands Code for core AI routines decoupled from path itineraries Advantages: Smaller codebase Faster development time High-level robot interaction Ongoing work: Provide simultaneous visualization of branching paths Integrate with other robotic platforms Anqi Xu, McGill University