Object-Oriented Approach to Programming a Robot System

The paper presents an object-oriented approach to the implementation of a software library (MRROC+) which contains building blocks for the construction of multi-robot system controllers tailored to meet specific demands of a task at hand.

  • PDF / 1,122,843 Bytes
  • 8 Pages / 481.89 x 691.654 pts Page_size
  • 84 Downloads / 230 Views

DOWNLOAD

REPORT


C. Zielinski Warsaw University of Technology, Warsaw, Poland

Abstract: The paper presents an object-oriented approach to the implementation of a software library (MRROC+) which contains building blocks for the construction of multi-robot system controllers tailored to meet specific demands of a task at hand.

1. Introduction Quite a considerable effort has been concentrated on developing new robot programming languages, both specially defined for robots [3, 10, 11], and computer programming languages enhanced by libraries of robot specific procedures [3, 4, 5, 14]. Specialised languages exhibit a closed structure. If new hardware is to be added to the system, usually some changes to the language itself have to be done. Especially, if new sensors are to be incorporated this problem arises, both because the hardware specific software has to be supplied and because the method of sensor reading utilisation in motion control has to be coded. Those changes have to be reflected in the language and this brings about the necessity of modifying the language compiler or interpreter. Because of this, robot programming languages/libraries submerged in universal computer programming languages are currently favored by robotics research community. Such programming systems have an open structure. Whenever the robot system has to be enhanced new hardware specific procedures are appended to the library /language and the universal language compiler remains unaltered. The most frequently utilised language platform has been either Pascal, C or C++ very recently. Large libraries of robot specific procedures for the creation of both single- and multi-robot controllers have been designed, e.g. inC: RCCL [5], ARCL [4], RCI [8], KALI [1, 6, 7], RORC [12, 14, 16]; MRROC (17, 16]; in Pascal: PASRO [3], ROPAS [15]: in an object-oriented version of Pascal: ROOPL [13]; and in C++: ZERO++ [9]. While designing a controller for a new experimental manipulator with an arm of serial-parallel structure [2] exhibiting a very rigid structure, the following assumptions were made: 1 The project has been supported by the Program in Control, Information Technology and Automatization at Warsaw University of Technology. The author acknowledges the participation ofW. Szynkiewicz in the implementation of KRROC+.

A. Morecki et al. (eds.), ROMANSY 11 © Springer-Verlag Wien 1997

374

C. Zielinski

• the controller should have an open structure facilitating any robot control investigations, e.g. external sensor incorporation and utilisation, trajectory planning and generation, research of servo-control algorithms, • the controller should treat the new manipulator as one of many it will control, • it should have a user-friendly operator interface, • it should be easy to create a controller tailored exactly to a research task at hand by building it of ready library blocks (objects) or new procedures and processes that can be easily coded. To fulfil the above requirements a concurrent version of C++ running on top of a multi-computer real-time operating system QNX-4