Robots have started receiving greater attention in medical/surgical applications. Tasks beyond human manipulation/precision capabilities are being trusted to assitant systems that only perform that small portion of the procedure, under human supervision. Despite intial skeptical response due to safety, and cost concerns the role of robots in surgery is likely to grow.
Surgical robots present an environment unlike most other applications where robots are applied. e.g. industrial plants. Mechanical components of surgical robots tend to be simpler, slower than their industrial counterparts, but the electronics, safety, and guidance systems are usually far more complex. A set of complex planning, guidance, and safety systems (often redundant) are involved in operating a surgical robot.
A team designing a surgical robot is faced with several difficulties. A complex system takes several years to develop, and development is often sequencial. E.g. The guidance system can not be tested until the hardware is available, and software developing and testing is highly dependent on availability of functioning hardware. Surgical robots are developed to deal with specific surgical procedures, and so each application results in the repetition of the design cycle.
A modular system allows software development to be independent of hardware design. It also allows existing modules to be used for new applications. It improves design clarity and testing and finally develops interfaces making interoperability between different systems easier.
There are several ways to develop modular/flexible software to control a robot: use/develop a programming language with all the facilities of object oriented design. But this would create yet another language, with a learning curve and user acceptance issues. An alternative approach is to develop interfaces, and implementations of the same in an acceptable programming language. This provides libraries that can be shared, swapped, and developed independently of each other. Furthermore, it allows the programming language to be changed, while preserving the interfaces (most programming languages provide ways of calling other language libraries, if need be).
The modular robot control(MRC) library is one such library. While the set of robots under consideration is mostly serial manipulators, the interface design can be easily extended to parallel architectures. The interface design is independent of the programming language, and the first implementation uses C++ classes. The library classes have a layered structure, each new Layer inheriting significant functionality from its parents.
This documentation is for the MRC library version 1.1 The class most commonly used by an application as an instantiable robot is the mrcRobot class and this should also be the base for all derived robot classes. Detailed implementation documentation exists separately.
s.
Thursday, January 29, 2009
Robots In CIS Applications
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment