1 / 21

The IRE Project

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

hyunki-noh
Download Presentation

The IRE Project

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. The IRE Project Interactive Robot Environment 600.646 Spring 2004

  2. 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

  3. The Project: Who • Dr. Peter Kazanzides (mentor/MRC expert) • Andy LaMora • Chris Abidin • Anton Deguet (CIS library consultant) • Ankur Kapoor (Robot/MRC consultant)

  4. 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

  5. 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

  6. The Plan: Overview • Discovery & Design : February • Prototyping : February-March • Alpha/Beta Releases : Late March/April • Implementation : April • Release : May

  7. 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?

  8. 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!

  9. 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)?

  10. 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

  11. The Plan: Overview • Discovery & Design : February • Prototyping : February-March • Alpha/Beta Releases : Late March/April • Implementation : April • Release : May

  12. 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

  13. The Plan: Overview • Discovery & Design : February • Prototyping : February-March • Alpha/Beta Releases : Late March/April • Implementation : April • Release : May

  14. 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

  15. 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

  16. The Plan: Overview • Discovery & Design : February • Prototyping : February-March • Alpha/Beta Releases : Late March/April • Implementation : April • Release : May

  17. 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

  18. The Plan: Overview • Discovery & Design : February • Prototyping : February-March • Alpha/Beta Releases : Late March/April • Implementation : April • Release : May

  19. The Plan: Release • All documentation available online • System available for use by ERC and public • Demonstrate integration with a robot

  20. 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

  21. 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

More Related