I N T R O D U C T I O N
Introduction
1
EASY-ROB™ is a powerful, comprehensive modeling and simulation tool, to create high quality and high speed rendered images for animation of 3D Scenes. Processes from the robotics and mechanical engineering field are programmed and visualized immediately. The program is a 32-bit Microsoft Windows® application using the Microsoft Foundation Classes (MFC) and the capabilities of OpenGL™. It is especially designed to fulfill requirements for several industrial robotic applications and for the small industry. EASY-ROB™ is as well as especially designed for educational purposes. The most important benefit of EASY-ROB™ is the individual adaptability, for a various number of technical purposes.
Applications EASY-ROB™ is used in a wide range of automatization fields. Typical applications for EASY-ROB™ are, • • • • • • • • •
Layout Planning Programming of processes Offline Programming Visualization of mechanical system (Robots, NC machines) Feasibility studies Virtual test Assembly processes Training and educational purposes Research and development Sales support and sales improvement
I-1
1
I N T R O D U C T I O N
BASIC - Overview EASY-ROB™ BASIC module allows the planning and design of robotic workcell layouts consisting of a robot, tool and environment. A simple 3D CAD system is provided to create basic geometric parameterized primitives like cubes, cones, cylinders, pyramides, etc.. In addition a CAD interface is available to import other 3D formats such as STL format (binary ans ascii). Created and imported geometries are assigned to the robot group to active or passive joints, to the tool group or to the environment group. Using a 3 button mouse, each geometry can be translated and rotated about its axis, as well as entering absolute or relative cartesian values to set the cartesian location. A modification of the view point (pan, tilt, zoom in and zoom out) in full shaded mode allows various world views. The robot motion can be programmed using the commands givin with the EASY-ROB™ Program Language ERPL. A special Teach Window supports the user to create robot motion programs. The built-in motion planner is implemented for the motion types: Point to point (PTP), Linear (LIN) and Circular (CIRC). The orientation interpolation for the LIN and CIRC motion type is realized for different modes, such as variable, fix, tangential and quaternion. Several online output windows allows to view and monitor robot joint values, cartesian TCP location as well as simulation states such as cycle time, step size, override, etc.. All data (workcell, robot, tool, body, view and program files) saved into documented ASCII text files, which allows the user to edit with every standard editor, such as notepad.
ERCL - EASY-ROB Command Language The ERCL (EASY-ROB Command Language) is an extension of the EASY-ROB Programming Language available in the BASIC Module. ERCL allows it to automate nearly all user interactions inside a robot program. Examples are: Switch ON/OFF the TCP trace, collision, TCP coorsys, load another view, render bodies to flat, wire or invisible, set a new color, change the simulation step size or the motion planner step size,
I-2
I N T R O D U C T I O N
move bodies, define and move body lists, move the robots base, etc.
COLL - Collision Detection The collision detection allows to check collision between the robot, tool and the environment bodies during simulation. The collision is checked between the following groups: - Tool group (attached to the robots tip) and the robot group, - Tool group and environment group loaded in the workcell - Robot group and environment group - Grabbed environment group and the robot group - Grabbed environment group and not grabbed environment group. The collision is checked during jogging of the robots TCP, moving the robots joints and during program execution. Collided geometries highlighted in different colors. The shortest distance is calculated and visualized by a red colored line. The collision can be enabled and disabled by the user at any time during simulation and through a program using the ERCL. The hierachical collision detection algorithm is fast and powerful. This functionality is useful to verify the robot program and the robot motion.
LIBRARY - Robot Library The library inside EASY-ROB™ gives the user the ability to store workcells, robots, tools, and accessories (environment bodies) with an Image and a description in a library. This visual file interface makes it easier to organize your project files. The basic library contains some workcells, robots, tools and useful accessories.
I-3
1
I N T R O D U C T I O N
ROBMOD - Robot Modeling The robot modeling functionality allows it to modify and create new robot kinematics. 5 different kinematics types are available. RRR:RRR standard robot type with 6 degrees of freedom (DOF). All joints are revolute. The RRR:RRR Back Link robot type where joint 2 and joint 3 are coubled by a so called Back Link. The TTT:RRR Simple robot type with 3 translational joints and 3 revolute joints. The solution for the inverse kinematics problem for these three robot types is analytical solved and complete parameterized by the robot kinematics lengths. Automatic generated default geometries allow a fast prototyping. Yellow colored coorsys visualize the joint directions. Each robot is represented by attributes such as homeposition, travel range, maximum joint speeds and accelerations, etc. Two additionally robot kinematics "Variable" types are available to modell non standard robot kinematics with less or more than 6 DOF. The first type can be described in "Universal Coordinates" up to 12 DOF for active and passive joints. Using the universal type, it can be defined wether the joints are rotational or translational in/about X,Y or Z direction. The second variable type is based on the well known notation Denavit Hartenberg Parameters (DH). The mathematical description is semilar to the universal coordinates, but is restricted by translation and rotation in/about Z-direction. To move the TCP of these variable robot types in cartesian space with respect to the robots base a user defined solution for the inverse kinematics is required using the application program interface (API). EASY-ROB™ APIKIN or NUMSOL for DH kinematics.
NUMSOL – Numerical Solution EASY-ROB NUMSOL is used when a robot kinematics is created based on Denavit Hartenberg (DH) Parameters. The Numerical Solution for the inverse kinematics solution calculates the joint values for the TCP location with respect to the robots base. All joints can be weightend. A mask vector
I-4
I N T R O D U C T I O N
blanks out cartesian directions. A translational and rotational tolerance value influences the accuracy of the result and the number of iterations. NUMSOL is especially useful for robot with more or less than 6 DOF.
API - Application Program Interface API-INV - Inverse Kinematics The API for inverse kinematics is used when a robot kinematics is created based on Universal Coordinates or Denavit Hartenberg (DH) Parameters. The API for inverse kinematics allows to develop user defined functions written in C to solve the inverse kinematics problem. Many exported functions give full access to all robot data, i.e. kinematic robots lengths, software travel ranges, joint directions, tool frame, TCP location, etc. Mathematical routines to handle homogeneous transformation matrices are available as well as trigonometrical functions for angle, triangle and trapezoid calculations. A project for the Microsoft™ Visual C++ Compiler is available and will generate the Dynamic Link Library (DLL) er_kin.dll. Inside this Dll, different solutions are kept. API-IPO - Motion Planner In a semilar way as for the inverse kinematics solution, an Application Program Interface (API) for the motion planning respectively the interpolator exist. The build-in motion planning routines inside the EASY-ROB BASIC module implemented for the point to point (PTP) and continuous path (CP) motion type. The continuous path motion type covers linear (LIN) and circular (CIRC) motion. The API for the motion planning allows it to develop user defined functions written in C for the motion types PTP, LIN and CIRC. Before the robot moves to its new target location, the preparation routine, which returns the required motion time for that move is called. Afterwards, supposed the preparation was successful, the execution routine is called every interpolation step size to calculate intermediate locations for the robots TCP. Many exported functions give full access to the current motion planning values such as programmed speeds and accelerations. Mathematical routines to handle homogeneous transformation matrices are available.
I-5
1
I N T R O D U C T I O N
A project for the Microsoft Visual C++ Compiler is available and will generate the Dynamic Link Library (DLL) er_ipo.dll. Inside this Dll, different routines for the motion types PTP, LIN and CIRC are kept. API-DYN - Dynamics The Dynamics functionality allows to consider the dynamic model of the robot and the position controller during simulation. The build-in dynamics routine for the dynamic robot model uses a simple uncoupled 1st order model in the discrete z-space defined by the inertia, the viscous friction and the gear ratio for each joint. Based on the system step the discrete model is calculated. The build-in position controller is represented by the well known PPI Cascade Controller with pseudo analog PI velocity controller. During the robots motion a green trace shows the desired TCP location and a red trace the actual location of the robots TCP. An output window shows the errors in joint and cartesian space at any time. The Application Program Interface (API) for Dynamics allows to develop user defined functions written in C for the dynamic robot model and the position controller. Herein it will be possible to consider the real non linear coupled model of the robot and use an integration algorithm such as Runge Kutta to solve the inverse dynamic modell. Furthermore, a special position controller such as an adaptive or a robot modell based controller can be implemented. Many exported functions give full access to the robot attributes as well to the parameter for the position controller. Mathematical routines to handle homogeneous transformation matrices are available. A project for the Microsoft Visual C++ Compiler is available and will generate the Dynamic Link Library (DLL) er_dyn.dll. Inside this Dll, different routines are kept for an easier comparison of different controller.
I-6
I N T R O D U C T I O N
Hardware Requirements •
IBM compatible Pentium PC
•
Windows® 9x, NT, 2000 or XP
•
128MB (256MB for NT, 2000, XP recommended)
•
less than 64MB hard disk space
•
No special graphics cards are required, but Graphic accelerator boards will enhance the performance significantly
EASY-ROB™ and other programs 3D CAD EASY-ROB™ has a simple 3D CAD functionality, which allows it to create primitives, such as a parameterized cube, wedge, cone, cylinder, pyramide and sphere. An interface to import 3D polygon geometries from other 3D CAD programs is available for the STL format (binary and ascii) and for the IGRIP® www.delmia.com partfile format up to version 14. A very powerful 3D CAD program is Rhinoceros® from Robert McNeel & Associates www.rhino3d.com. Rhinoceros® is a 3D NURBS modeling program for Windows and has the capability to polymesh a selected solid and export it to a binary STL files, which can be imported into EASY-ROB™. A direct import interface for polymeshed 3dm files is planned. The imported geometries are scaled in X, Y and Z direction and colored inside EASY-ROB™. Offline Programming EASY-ROB™ is a simulation tool for robots, NC machines and other applications. To create work piece oriented programs for robots or NC machines, an Offline Programming Tool such as FAMOS® or an CAD/CAM System is needed.
I-7
1
I N T R O D U C T I O N
FAMOS robotic©, a property of the carat robotic innovation GmbH www.carat-robotic.de, is a work piece oriented programming tool for industrial robots and used for process optimization. It is conceived both for use on site as well as for work preparation, and offers a Microsoft-Windows® (95/98/NT) standard user interface. A postprocessor in FAMOS© creates programs for EASY-ROB™ in the ERPL-Syntax. This allows to simulate and verify the process before downloading into the real robot controller. FAMOS© has the capabilities to generate programs for other robot controller, such as ABB S3/S4, Kuka KRL, Stäubli, Fanuc and Reis.
Technical Support In case you have any questions regarding the usage of EASY-ROB™, please feel free to contact. Support is available via e-mail or telephone. E-mail:
[email protected]
Telephone:
+49 (0) 69 677 25 622
EASY-ROB™ offers also consulting for individual technical needs. • • • • •
Machine or robot modeling NC-Code adaption Modeling of miscellaneous. kinematic devices/chains 3D CAD Offline programming
Contact:
[email protected]
Telephone: +49 (0) 69 677 24 287 Telefax: +49 (0) 69 677 24 320
I-8