Skip to main content

Über dieses Buch

The origin ofPASRO (Trademark ofBIOMATIK GmbH, Freiburg, FRG) was a set of pro­ cedures for performing arithmetic on geometric data types and for coordinate transforma­ tion for study and teaching purposes, developed as a base for high level robot programming. The study of many robot languages revealed areas for necessary improvements: 1. Move statements must be independent of a specific robot control system. They must instead be based on the different types of trajectory calculation resp. interpolation. 2. A structured language concept should be employed, including a structured concept for concurrent programming (The latter is not yet implemented in PASRO owing to the use of Standard PASCAL instead of CONCURRENT PASCAL or MODULA 2). 3. Integration of geometric data types into existing structured data types. 4. Simplicity of language constructs. 5. Integration of teach-in via frame-files. This resulted in the implementation ofPASRO by Christian Blume (BLUME [1.1]) and in the joint development of the SRL concept (Structured Robot Language) as it was intro­ duced in May 1983 at Liege (see BLUMEIJAKOB [1.2]). PASRO is at present state of the implementation a programming system for teaching, studying and experimenting and not for industrial use, although it could easily be extended for that purpose (cf paragraph 8.2). We especially thank the PSI company, Berlin, who gave us technical support to write this book, the BIOMATIK company ofFreiburg, which is marketing PASRO, its manager G. R. Koch, and the University of Karlsruhe, Prof. Dr.-Ing. U. Rembold.



1. Introduction

There are many robot programming languages in use; in industrial applications as well as in research and development. However, underlying concepts differ and as yet there is no language standard or main language in sight. So why introduce a new robot programming system? PASRO (PAScal for RObots) was first designed as a teaching system for beginners, who wanted to learn about high level robot programming in a structured way (BLUME [1.1]). As a result:
  • PASRO is embedded in PASCAL.
  • It includes the main concepts of robot programming.
  • It is very easy to use.
  • Several kinds of robot movement control are included. (Only a few industrial or scientific system have it.)
  • It can be extended and changed very easily.
Christian Blume, Wilfried Jakob

2. Basic Facilities for Robot Programming

Industrial robots are machines whose functions can be programmed and which can be put to general use in production areas. This is not an exact definition and many numerical control (NC)-machines comply with it. To clarify the term “general use”, this presumes the following features:
  • the aibility to move a gripper or tool to any point of the working area (random positioning)
  • the choice of any orientation of the gripper or tool at a given point (random orientation)
  • to pick up and put down almost any object or tool (within physical constraints)
Christian Blume, Wilfried Jakob

3. Concept of Data

The information a program is working on is called data, in very general term. On a basic machine level, data are represented by a sequence of binary gigits, called bits. To distinguish values associated with the same bit string, additional information is required. This is called the data type definition and describes the set of values the variable of a certain type can hold. For example, the 16 bit string
$$ 0000000000110101 $$
can be Interpreted during program execution as the whole number “53” or the ASCII-character “5”. In the first case it is a variable of type INTEGER, otherwise of type CHAR.
Christian Blume, Wilfried Jakob

4. Concept of Action

It is essential that part of a robot program deals with the execution of physical actions. That is to say that a program must not only do something with its data, but also control the robot moves and gripper actions. The traditional program flow control in PASCAL is done using statements, while robot and gripper control is performed by system procedure calls.
Christian Blume, Wilfried Jakob

5. Program Structure

Since PASRO programs are embedded in PASCAL an outline of the program structure of PASCAL will be given first.
Christian Blume, Wilfried Jakob

6. Input/Output

The communication between program, user and machine is supported by PASRO in four ways:
traditional PASCAL-I/O, helps when working with files and/or terminals.
I/O of PASRO standard data types, which can be done with the normal PASCAL-I/O, but as one would find it hard to do so, there is a set of procedures embedded in the PASRO-system to support I/O of these data types.
robot control, which is a special I/O, to and from the robot control unit.
process I/O, which is done via another set of procedures, to provide a more convenient interface between the process and the program.
Christian Blume, Wilfried Jakob

7. Integration of Teach-In

Currently, most industrial robots are programmed using teach-in procedures. Thereby motion points, respectively frames, are defined by positioning the robot, or robot mounted effector with its tool center point TCP (cf section 2.1). The programmer must direct the robot in its motions and does so by pressing specific keys. As long as a key is depressed the robot will execute a move, shown symbolically on that particular key. The programmer observes the robot and, while making frequent visual checks, adjusts its position and orientation. When the desired position is reached, another key is pressed to tell the system to store the position. Besides this on-line programming of movements, several other commands are possible:
  • velocity of the movement
  • duration of the movement
  • program pause
  • simple loops
  • simple jumps (according to external signals)
  • gripper control
  • special functions e.g. single step mode
Christian Blume, Wilfried Jakob

8. Implementation

The PASRO programming system has ben almost entirely implemented in PASCAL. Consequently, the PASRO system procedures are written in Standard PASCAL and only a few parts such as the I/O to the robot control unit have been implemented in non-standard PASCAL or assembler.
Christian Blume, Wilfried Jakob

9. How to Use the Pasro-System

The the user should first of all be familar with his own PASCAL system before becoming acquainted with some additional rules in order to write down a PASRO program and link it to produce an executable program.
Christian Blume, Wilfried Jakob

10. Pasro Program Examples

Learning a programming language is not only a theoretical study but also a practical one — learning by doing — so a few program examples are given below. They have been selected to provide the following:
  • an introduction for beginners
  • a demonstration of structured programming
  • amusement
  • relevence to industrial applications
  • a combination of the advantages of PASCAL and PASRO
Christian Blume, Wilfried Jakob

11. Appendices

Without Abstract
Christian Blume, Wilfried Jakob


Weitere Informationen