Title: Interactive Robot Environment
1Interactive Robot Environment
- THE PROBLEM
- Currently difficult to debug ERC/CISST C robot
applications - Interaction is via MFC dialogs only
- Configuration/action is via many nested menus
- No explicit technology to integrate the various
systems - Prototyping demands unnecessary programming
skills from non-software engineers
MFC Windows Application (Edit boxes, Dialog
boxes, buttons, etc)
No scripting! No Command Line Interaction! Incompr
ehensible Configuration Files!
Figure 2. ERC/CISST Robot Application with the IRE
- THE SOLUTION
- Python is powerful, object-orientated, strongly
typed, Internet-aware scripting language and well
suited to systems integration - Wrap CISST C libraries using SWIG, allowing
them to be used from within Python - SWIG wrapping has been modified to afford dynamic
void pointer casting to Python - Create a Python-based programming environment to
permit easy prototyping and debugging of the
multi-modal ERC technologies, which - Creates a virtual workspace for interacting with
integrated systems and persisting data and state - Creates a command shell feature to allow
debugging/development from within executing C
applications
C Robot Control Library
C Vector/Matrix Libraries
C Numerical Library
Figure 1. Typical ERC/CISST Robot Application
- THE IMPACT
- Permit and promote rapid prototyping
- Aid users in debugging
- Provide convenient glue language for
integration with future systems - Integrate seamlessly with the re-designed CISST
software architecture - Reduce complexity, increase reliability, and
provide extensibility to large, complex software
systems
SWIG
User IRE
User Library
- THE FUTURE
- Develop entire applications in Python
- Port data-file configuration to IRE/XML
executables - Integration experiments with open-source,
open-architecture robot libraries (e.g. Pyro)
- PEOPLE INVOLVED
- Undergraduate Student Chris Abidin
- Graduate Student Andy LaMora
- Engineering Faculty Peter Kazanzides
- Engineering Staff Anton Deguet
Figure 3. A View of the Python-based Programming
Environment
REFERENCES AML/X A Programming Language for
Design and Manufacturing Nackman, LR, Lavin, M,
Taylor, RH, Dietrich, Jr., WC, and Grossman, DD
(1986) Python Robotics An Environment for
Exploring Robotics Beyond LEGOs Blank, D,
Meeden, L, and Kumar, Deepak (2002)
- SUPPORTED BY
- Core NSF CISST/ERC
Engineering Research Center for Computer
Integrated Surgical Systems and Technology