Introduction to Robot Simulation

 

To comply with increasing levels of competition industrial companies use flexible automated integrated production systems more and more. Programmable machines such as robots, cnc-machines and plc's are a natural part of any automated production system (Computer Integrated Manufacturing and Engineering system, CIME).

In the figure below it is illustrated how the different functions in the CIME system affect each other. A variety of influences from the design phase to the production phase are mutually coexisting, for example decisions concerning product design and effects from production to the design phase; for instance how can the product be manufactured and how much it will cost.

The placement of the simulation in the CIME system (Computer Integrated Manufacturing and Engineering).

The placement of the simulation in the CIME system
(Computer Integrated Manufacturing and Engineering).
(c) E.Trostmann ´88

In designing and maintaining an integrated production system the need for tools to project, plan and operation of the production system arise. The simulation tool Ropsim (Robot Off-line programming and SIMulation system) supports this need. During projection and planning a virtual production system is developed in Ropsim. In the program experiments and analyses can be performed without the need for costly equipment. Experiments made in Ropsim can assist in decisions regarding wether investments should be carried out or not. In production operation the virtual production system can be calibrated and used for maintenance, supervision, data collecting and controlling.

Ropsim has been designed as a component of an integrated production system, where information (for instance CAD models, robot programs) is exchanged from system to system. Ropsim functions under the open system concept illustrated in the figure below. The concept describes three levels from design (CAD) through planning (CAM) to production (Robots). On these three levels are a series of components (CAD/CAM tools or machines), that all have their different strengths. Information (models and programs) is interchanged between the CIME components. Information at one place should be reused wherever possible, partly because of the cost of developing information and partly to insure consistent information. The model interchange in Ropsim has been based on the ISO STEP standard from the very beginning of the project. Ropsim has functioned as a test system during the development of the STEP standard.

The simulation tool Ropsim is a result from the Institute for Construction and Controlling technique (IKS), at the Danish Technical University (DTU). It was developed in the research program Integrated Production Systems (IPS) and financed by the Danish states Technical Scientific Research council.

Open System Model
The open system model insures flexibility.
© E.Trostmann 1988

 

Application spheres for robot simulation

Ropsim is a model driven simulation system with 3D visualization. The models are input for Ropsim. The program handles simulation and visualizing of the models. The Robot is the most generic machine known and this is why the most generic object in Ropsim is a generic robot model. The generic robot consists of three main components that are illustrated in the figure below: a manipulator, a controller, and a task (program) interpreter.

Any object that can be described using one or more of these components can be simulated in Ropsim. The object oriented design entails a natural openness for expansions and distributed objects. As a result of Ropsim's object oriented design, the spheres of application are numerous.

Generic Robot Model
Generic Robot Model.

 

Supervision and data collecting

Through data collecting from the actual workcell a production system can be supervised. Data from the actual workcell is visualized alone or in interplay with the simulation.

Monitoring an ABB robot
Monitoring an ABB robot

The collecting of data has many different aspects, for instance the position of a robot, the internal communication in a workcell and so on. With the data taken into the program, Ropsim's models can continuously be updated and then visualized. Data can also be collected and saved. The collected data can afterwards be analyzed through simulation and visualizing. In the process of data collecting it is possible to use the opportunities that both local networks and the Internet offers.

The program execution can be verified by simulation until a desirable program quality has been achieved. The robot programs can then be transferred to the actual production system after which little or no adjusting is necessary before the robots are in production.

 

Robot programming

 

Controller

Robot tasks can be written in two different robot languages. Ropsim supports two general robot languages: IRL and ICR . The compiler basics of IRL is Pascal with facilities for the programming of robots. The robot programs are generated partly in a text editor and partly interactively in the 3D visualization. The programs can then be debugged in simulation. When the programmes have been debugged they can be compiled into robot vendor specific languages as for instance Reis robot language.

ICR is an intermediate code language that high level languages can be compiled into. In this way robot vendor specific languages can be introduced directly in Ropsim.

Ropsim's model of the controller is a generic motion controller with sensor interface. The generic motion controller consists of four parameterized parts of the model: a Cartesian trajectory planner, an inverse kinematic transformation, a joint trajectory planner, and a "joint controller". A robot controller is selected by choosing the four parts of the model. If you want to change the robot controller the parts can be replaced and the parameters can be adjusted.

Ropsim supports point to point, circular, linear Cartesian trajectory planning. A general inverse kinematic transformation is present. For joint trajectory planning different methods exist. Apart from this classical joint controllers as for instance PID. These models can be expanded and adjusted as the need changes.

 

Manipulators and geometric models.

Ropsim's manipulator model consists of a description of the robot mechanism as well as engine and gear systems. The model has a geometrical solid model, a kinematic model, and a dynamic model. The models can be built either through the user interface or imported. Ropsim includes a number of pre-parameterized models of engines and gears. New models can be inserted.

Screenshot from Ropsim
Screenshot from Ropsim

Planning production

In production planning supported by simulation product design, robot programs, robot installation layout and cycle times can be optimized. This is often an iterative process, in which a diversity of equipment combinations, layouts, robot programs and product designs are tested together until an appropriate quality has been achieved.

 

Design and optimization of layout

In integrated production systems robots are often used in an interplaying process with different equipment such as CNC-machines, fixtures, conveyor belts, etc. in a workcell. The workcell layout is commonly a critical decision that can be very costly to change. In the process of workcell design which equipment to use and where to place it is determined. A part from this the cell must often be able to produce a diverse series of products and this in itself sets demands to the flexibility of the cell.

Through simulation in Ropsim experiments can be performed on virtual equipment models. The experiments allow for analyses of diverse layouts placing the focus on criterias such as the placing of equipment, production capacity, and cycle rates, costs etc. The quality of estimated cycle rates is determined by the quality and calibration of the models. Ropsim provides precise dynamic simulations. A well calibrated model can come close to 100 % concordance to the actual workcell.

 

Design and optimization of robot programs

For off-line robot programming in Ropsim robot programs can be developed textually or interactively through the utilization of the 3D solid model of the workcell. This is illustrated in the figure below. The two methods are often used together as they both have different advantages. After this the program execution can be verified by simulation until a desirable quality has been reached. At the completition of this the robot programs can be transferred to the actual production system, after which few or no adjustments are necessary to get the production started.

Three fases of the robot program

Three fases of the robot program
© E.Trostmann 1988. Off-line programming.

 

Product design and optimization

The product design can be optimized for production on an existing or new production system. Ropsim supports product design through simulation. Any production system can be tested in the virtual production system. In this manner the production cost and effectiveness of the design can be analyzed. The virtual experiments provides the opportunity to decrease the time interlapse from design to production.

 

Construction of robots

Ropsim's tools for modelling and simulation can be used in the construction of new robots and any other computer controlled machines. Different combinations of the program, the controller and the manipulators can be analyzed through simulation. The three models and their parameters can be analyzed and adjusted to achieve any defined purpose (for instance a robust controlling of the robot in it's entire workcell or optimization of the robots capacity for production for a given task). In simulation the actual state of the robots can be visualized as 2D plot in time (for instance the angular position of a robot) or 3D plot in time (for instance position and orientation of the robot tool).

 

Education

In the education of engineers in robotics the need for a well structured understanding of what exactly a robot is. The generic robot model of Ropsim gives exactly this understanding. Model driven simulation is a valuable tool for understanding the properties of a robot. Ropsim encourages users to make their own program expansions ( for instance an inverse kinematic transformation ) and simulate them. Doing this, new ideas can be tested on the robot or the production system.

As Ropsim is developed under the open system concept, information can be interchanged with other parts of the CIME system. This fact supports the importance of the interdependencies present in a CIME system. The generic robot model and the open system concept is used as two basic parts of the courses for Robotics at IKS, Danish Technical University.

 

Graphical user interface

Ropsim has a user friendly graphical interface complete with windows, menus, icons and so forth. As well as standard window technique the geometry of the model is visualized in interactive 3D viewers. Using interaction with the 3D viewers the objects can be selected and manipulated. Manipulation options range from geometrical placement of the objects to adjusting the parameters of the objects.

 

Simulation

Ropsim supports kinematic simulation of robots. If the kinematic model is calibrated well enough the simulation can come close to 100 % accuracy to the actual robot.

A workcell often contains a lot of equipment communicating internally. This complex information interchange between separate objects can be tested through simulation in Ropsim.