21
The IRE Project Interactive Robot Environment 600.646 Spring 2004

The IRE Project

Embed Size (px)

DESCRIPTION

The IRE Project. Interactive Robot Environment 600.646 Spring 2004. The Project: Description of Problem/Solution. Currently difficult to debug robots Interaction is via MFC dialogs only Configuration/action is via many nested menus No explicit technology to integrate the various systems - PowerPoint PPT Presentation

Citation preview

Page 1: The IRE Project

The IRE Project

Interactive Robot Environment

600.646Spring 2004

Page 2: The IRE Project

The Project: Description of Problem/Solution

• Currently difficult to debug robots– Interaction is via MFC dialogs only– Configuration/action is via many nested menus

• No explicit technology to integrate the various systems

• Solution: – Create an interactive scripting shell– Allow integration by scripting– Provide convenient debugging env. with this

shell

Page 3: The IRE Project

The Project: Who

• Dr. Peter Kazanzides (mentor/MRC expert)

• Andy LaMora• Chris Abidin• Anton Deguet (CIS library

consultant)• Ankur Kapoor (Robot/MRC

consultant)

Page 4: The IRE Project

The Project: Features• Co-exists with a C++ application• Command shell

– Works standalone (perhaps in a GUI ala Matlab)– Can be invoked from within an executing program

• Workspace environment– IRE allows developer to save data and state to persistent files, which

can be re-loaded– Error logs and Event logs are viewable separately, and can be queried– Exception handling

• Safety– “hot-keys” to “kill” hardware power

• Extensible!!!!– C++ developers expose functionality for use by IRE

Page 5: The IRE Project

The Project: Goals• Develop Python-based programming

environment to permit easy prototyping and debugging of the multi-modal ERC technologies, which will:– Create a virtual workspace for interacting with

integrated systems and persisting data and state– Create a command shell feature to allow

debugging/development from within executing C++ applications

– Be extensible– Be Open-Source

• Implement a “real” tracker-robot integration task

Page 6: The IRE Project

The Plan: Overview

• Discovery & Design : February• Prototyping : February-March• Alpha/Beta Releases : Late

March/April• Implementation : April• Release : May

Page 7: The IRE Project

The Plan: Discovery & Design

• Academic/Industrial Literature Review– Who’s done this before, and how’d they do it?

• User interviews (Dr.s K and T, Ming Li, Ankur Kapoor, etc)

• Interview Method:– How do you do what you do– Why do you do it that way– What annoys you the most– What current features do you appreciate the

most– What do you wish you could do instead?

Page 8: The IRE Project

The Plan: Discovery & Design • Resource Discovery: Hardware

– Robots– Trackers– Haptic Devices– Cameras

• Resource Discovery: Software– Robot control library (MRC)– Tracker Library (cisTracker)– Data Object library (cisVecs & co.)– Numerical Library (cisNumerical)– AND: Are these libs sufficient to meet our

functionality needs?• E.g. Serialization!

Page 9: The IRE Project

The Plan: Discovery & Design

• Design of Interactive Language:– Functionally similar to IBM AML– Create native data objects?– Create native methods for …?

• Logging• Saving workspace state• TBD

– Special syntax for logic control (prob. not)?

Page 10: The IRE Project

The Plan: Discovery & Design• Technology Discovery/Selection

– C++ • Control-layer applications

– SWIG • Wrappering technology

– CMake • builds projects, and with Swig automatically wraps objects

– Python • elegant object orientated application and scripting language

– TCL • interpreted scripting language, used with Slicer, cumbersome

– CVS Repository • code maintenance/version control

Page 11: The IRE Project

The Plan: Overview

• Discovery & Design : February• Prototyping : February-March• Alpha/Beta Releases : Late

March/April• Implementation : April• Release : May

Page 12: The IRE Project

The Plan: Prototyping• Wrapping Experiments

– What happens to pointers?– Do we get copies where we expect references?– *Can* we wrap everything we need? (again,

serialization)

• Command Shell Experiments– Can we “pause” a program and “drop” into a

Python command shell?– Does the shell “see” the data and state

environment that we expect?

• Interface Tools– Can we construct a workspace in Python, do

some windowing, etc– Error vs. Event log viewers

Page 13: The IRE Project

The Plan: Overview

• Discovery & Design : February• Prototyping : February-March• Alpha/Beta Releases : Late

March/April• Implementation : April• Release : May

Page 14: The IRE Project

The Plan: Alpha/Beta Releases

• Alpha:– GUI works on Linux, at least– We can “drop” to a command shell– We can save workspace variables (if

not yet the whole space)– We have integrated a data lib

(cisVecs?) and some portion of cisTracker

– “Gut-check”: prospective expert users try it out

Page 15: The IRE Project

The Plan: Alpha/Beta Releases

• Beta Release:– Command Shell syntax is complete– GUI (if exists) is operational– Integrated with cisTracker– IRE is demonstrated to work with MRC

(if not yet controlling a robot)– Peer review– End-user test period

Page 16: The IRE Project

The Plan: Overview

• Discovery & Design : February• Prototyping : February-March• Alpha/Beta Releases : Late

March/April• Implementation : April• Release : May

Page 17: The IRE Project

The Plan: Implementation• Help documentation complete• Extendibility method complete and

ready for publishing• New instance in CVS repository• Undergoing integration with robot

to perform a “real” task• User license details underway

Page 18: The IRE Project

The Plan: Overview

• Discovery & Design : February• Prototyping : February-March• Alpha/Beta Releases : Late

March/April• Implementation : April• Release : May

Page 19: The IRE Project

The Plan: Release

• All documentation available online• System available for use by ERC

and public• Demonstrate integration with a

robot

Page 20: The IRE Project

The Schedule/Progress• Weeks 1-2: Discovery and user interviews

– Read literature (Python)– Establish bounds on functionality– Complete technology selections– Begin experimentation (prototyping)– Settle design of GUI/workspace environment

• Weeks 3-5: Programming– Wrap libraries/test– Modify existing libs if/as necessary– Command syntax development underway– GUI/workspace development underway

Page 21: The IRE Project

The Schedule/Progress:• Week 5: Milestones

– GUI frame complete, – workspace environment commands complete– Wrapping “impossibilities” rectified or handled

• Week 7: Alpha Release/review– cisTracker integration underway, nearly

complete

• Week 9-10: Beta Release• Week 10+: Implementation• Mid-may: Release