An off-line robot simulation toolbox [PDF]

presented Robotica based on Mathematica Software. This program encapsulates over 30 functions for computing ... before l

0 downloads 21 Views 388KB Size

Recommend Stories


Robot simulation
What we think, what we become. Buddha

RobotStudio® The toolbox for industrial robot users
Respond to every call that excites your spirit. Rumi

Agribot: An Agriculture Robot
Life isn't about getting and having, it's about giving and being. Kevin Kruse

ITA-Toolbox An Open Source MATLAB Toolbox for Acousticians
The best time to plant a tree was 20 years ago. The second best time is now. Chinese Proverb

Offline Sorter
This being human is a guest house. Every morning is a new arrival. A joy, a depression, a meanness,

a MATLAB toolbox for motion control of KUKA robot manipulators
If you are irritated by every rub, how will your mirror be polished? Rumi

Offline Registration
Suffering is a gift. In it is hidden mercy. Rumi

Effekt Offline
Every block of stone has a statue inside it and it is the task of the sculptor to discover it. Mich

Lapland Offline
You have to expect things of yourself before you can do them. Michael Jordan

PDF Download Robot Trilogy
The only limits you see are the ones you impose on yourself. Dr. Wayne Dyer

Idea Transcript


An Off-Line Robot Simulation Toolbox SERDAR KUCUK,1 ZAFER BINGUL2 1

Department of Electronics and Computer Education, University of Kocaeli, Umuttepe Campus, Kocaeli 41380, Turkey

2

Department of Mechatronics Engineering, University of Kocaeli, Umuttepe Campus, Kocaeli, Turkey

Received 14 September 2007; accepted 25 December 2007

ABSTRACT: Robotics has gained popularity in education so many engineering schools are offering robotics courses. In this study, a novel robot toolbox, ‘‘ROBOLAB’’ is developed for the educational users to improve the understanding of robotics fundamentals through interactive real-time simulation. To understand manipulator movement in 3-D space with increasing number of joints is very difficult for engineering students; because the mathematical model between joint space and physical space becomes more complex. In order to overcome this complexity, ROBOLAB based on MATLAB Graphical User Interface (GUI) includes a library for the 16 different 6 degree of freedom (6-DOF) fundamental serial robot manipulators. The user has option to view an animation of the robot manipulators with choosing one of them or to create own GUIs based on robot project. ROBOLAB provides valuable analysis tools to students and engineering professionals in which they can compute rotation and transformation matrix, forward and inverse kinematics, and trajectory planning. Additionally, it allows user to use powerful MATLAB features such as controlling over data and formatting. In order to illustrate the features of ROBOLAB, RS cylindrical robot manipulator is given here as an example. Usage of real industrial robots in laboratory may be a very expensive way to teach robotics courses. ROBOLAB may help students to accomplish the courses and projects involving robots with minimum cost and to see 3-D space robot applications more effectively.ß2009 Wiley Periodicals, Inc. Comput Appl Eng Educ 18: 4152, 2010; Published online in Wiley InterScience (www.interscience.wiley.com); DOI 10.1002/cae.20236

Keywords:

GUI; fundamental robot manipulators; off-line robot programming; robot toolbox

INTRODUCTION Robot programming is a very critical task in robotics education since it is a bridge between robotics theory and physical implementation. There are basically two Correspondence to S. Kucuk ([email protected]). ß 2009 Wiley Periodicals Inc.

types of robot programming, namely, on-line, and offline. Some programmers prefer on-line programming because their system is appropriate to the programming interface. Others prefer off-line programming to see the results before manipulating the robot. Off-line programming is that the mechanical robot and other equipment are not occupied during the programming; everything takes place on a host computer. The main 41

42

KUCUK AND BINGUL

advantage of off-line programming is that a production cell can be designed, programmed, and its operations may be simulated before the cell is actually built. One can determine which type of robot that should be used, or how the equipment in the cell should be arranged according to the simulation results. Recently, rather then using tedious keyboardentered commands, users desire to point the mouse to some part of a graphical representation of an application in order to invoke the events easily. GUI has become a standard language for engineering computation, analysis, and visualization. It involves universal idea of icons, buttons, sliders, etc., which means for the ‘‘front-end’’ of a software application [1]. Major features of a powerful GUI are automating a function for using many times and creating an interactive demonstration. The main advantage of GUI is that one can communicate with the computer without using any programming command. Until now, several robot software tools have been developed with different capabilities and properties. Das et al. [2] made a software package called Robot Computer Aided Analysis and Design (RCAAD) which assists designers of robot arms for planetary rovers and landers to analyze and optimize their designs. Although it has a very powerful GUI, it is not programmed for educational purposes and is not covered theoretical background of robotics. The Robotics Toolbox for Matlab [3] provides many useful subroutines written for robotics education and addresses topics such as kinematics, dynamics and trajectory generation. Although serial-link manipulator can be created by the user, a limited number of robot examples are given such as the PUMA and Stanford arm. All inputs are given by command line and its GUI is not satisfactory because of limited number of facilities provided. Nethery and Spong [4] presented Robotica based on Mathematica Software. This program encapsulates over 30 functions for computing kinematics and dynamics, and animating robots. Although the front end of the software is completely independent from the actual Mathematica source code, it is necessary to set up Mathematica before loading Robotica. Robotica does not permit interactive GUI facilities for the users. Hill [5] developed a stand alone PC-based integrated robot modeling and analysis package which is called Rapid Analysis Manipulator Program (RAMP). This program is not also suitable for students. Nayar [6] developed Windows-based graphical user interface robot package (Robotect) to model and analyze manipulator designs. Although it is stated that it can be used as educational tool for robot manipulator

designs, it does not have a library including fundamental robot manipulators and has limited educational functions. Zlajpah [7] presented a toolbox for dynamic simulation of redundant planar manipulators only. This tool is not an educational tool and does not provide GUI. ROBOOP [8] is a Cþþ object oriented programming robot toolbox for synthesis and simulation of robotic manipulator models. ROBOOP has similar features of Corke’s toolbox [3]. Bingul et al. [9] developed windows-based robot simulation tool called RoboSim for modeling, visualization and performance analysis of serial-link manipulators. A built in LISP interpreter based on common LISP allows a user to model and manipulate the robot while the results is displayed on a three dimensional graphical display. In order to animate the robot manipulators, knowing common LISP programming language is needed. It is a big disadvantage of this simulation program. Turnell et al. [10] made a robot simulation program called SimBot for helping the development and teaching of autonomous robots. The SimBot tool allows students to experiment with robot programming and to get involved with the development of the simulator’s components. The purpose of SimBot is to create scenarios containing multiple autonomous robots rather then teaching basic robot fundamentals. Vollmann [11] presented KUKA’s new range of simulation tools based on visual components. This simulation tool does not support GUI facilities and interactive learning. Alfs et al. [12] presented a simulation tool for designing and testing control devices for advanced robots with an arbitrary number of redundant joints only. Although the simulation tool supports GUI, it is not an educational tool. Cakir and Butun [13] developed an educational tool for 6-DOF industrial robots with quaternion algebra. This program is written for serial robots with revolute joints only and it has limited GUI operations. In order to compare the robot programs mentioned above, Table I summarizes some important properties of these simulation programs. In this paper, an off-line robot simulation toolbox [14] is developed using powerful GUI facilities and incorporating MATLAB functions. The main advantages of ROBOLAB over the other robot toolboxes mentioned above are given as follows. 1. ROBOLAB helps students to visualize the fundamental robotic theory such as the forward and inverse kinematics, and trajectory planning in more effective way. 2. The toolbox has a broad robot library including the 16 different 6-DOF robot manipulators with Euler wrist (well known robot manipulators

No Yes Yes No Yes No Yes Yes No No No Yes

Yes

line line

line

Solid/Wire Wire Wire/Solid — Solid Wire Wire Solid Solid Solid Solid Wire RCAAD A robotics toolbox for MATLAB ROBOTICA RAMP ROBOTECT Planar Manipulator toolbox ROBOOP ROBOSIM SIMBOT Robot simulation tool by Vollmann Simulation tool by Alfs et al. Simulation tool by Cakır and Butun 2 3 4 5 6 7 8 9 10 11 12 13

MATLAB MATLAB MATHEMATICA Cþþ — MATLAB Cþþ Common LISP VISUAL Cþþ — — MATLAB

Mouse Command Mouse Command Mouse Command Command Mouse Mouse Mouse Mouse Mouse

line

Yes No No No Yes No No No Yes Yes No Yes

Yes No Limited No Yes No No Limited Yes Yes Yes Yes

Puma, Stanford, Scara, Prismatic and other possible 12 robots — Puma and Stanford — — — Only planar manipulators — — — Kuka Mitsubishi Arm-10 Puma Yes Yes Mouse Solid MATLAB ROBOLAB 1

Visualizing Programming language Program

Table I

Some Important Properties of the Robot Simulation Programs

Program input

Interactive

GUI

Robots in library

Educational

AN OFF-LINE ROBOT SIMULATION TOOLBOX

43

such as Prismatic, Scara, Puma, and Stanford). Animating these robot manipulators allows students to learn their operation limits without occupying the real robot and other equipments. 3. The toolbox illustrates real configurations with solid models of robot manipulators. Students have opportunity to change the related robot parameters by either sliders or edit boxes and to see interactively the animation of the solid model. 4. ROBOLAB serves students as a powerful platform to improve their ability of understanding the orientation and positioning in three dimensional spaces. Based on our 10-year robotic teaching experience, the following statements about the toolbox can be reached. ROBOLAB improved student’s problem solving skills in 3-D space and made them to cope with much more sophisticated robotics problems themselves. It also enhanced student’s motivation to robotics courses and projects. Their interests to graduate study in the field of robotics increased. The interactive environment of ROBOLAB provided students to establish relationship between the theoretical knowledge and physical robot applications, and to save a lot of time analyzing robotic problems. It decreased the student’s frustration about robotics problems. Ultimately, it gave the students grater insight about robotics without knowing complicated mathematical background. The paper is organized as the following manner. In Robot Configurations Section, the library of the robot configurations are presented. The programming background is described in Background Section. In Overview of the Robot Toolbox Section, the features of the ROBOLAB are explained with an example. Finally, conclusions of this study are presented.

ROBOT CONFIGURATIONS Huang and Milenkovic [15] used a two-letter code to classify 3-DOF robot configurations. The first letter characterizes the first joint and the first joint’s relationship to the second joint. The second letter identifies the third joint and third joint’s association to the second joint. The code letters and their meanings are: S is slider, C is rotary parallel to slider, N is rotary perpendicular to rotary and R is rotary perpendicular to rotary or rotary parallel to rotary. The combination of these rotary and prismatic joints compose the 16 robot configurations which are named as SS, SC, SN, CS, CC, CR, NS, NN, NR, RC, RN, RR, RS, SR,

44

KUCUK AND BINGUL

CN, and NC. In order to have 6-DOF robot manipulators, each robot structure is equipped with Euler wrist.

0 6T

¼ 01 Tðq1 Þ12 Tðq2 Þ23 Tðq3 Þ34 Tðq4 Þ45 Tðq5 Þ56 Tðq6 Þ ð5Þ

where qi is the joint variable (revolute joint or prismatic joint) for joint i (i ¼ 1, 2,. . .,6).

BACKGROUND In this section, forward and inverse kinematics, three different rotation representations and trajectory planning are explained in detail to have fundamental knowledge on robotics.

Forward Kinematics Calculating the position and orientation of the endeffector in terms of the joint variables is called forward kinematics. To obtain the forward kinematics of a robot manipulator, one should define the homogeneous transformation matrix for each joint. Using D-H [16] parameters, the homogeneous transformation matrix for a single joint is expressed as, 2 3 syi 0 ai1 cyi 6 syi cai1 cyi cai1 sai1 sai1 di 7 i1 6 7 iT ¼ 4 syi sai1 cyi sai1 cai1 cai1 di 5 0 0 0 1 ð1Þ where ai1, ai1, di, yi, cyi, and syi are the link length, link twist, link offset, joint angle, cos yi and sin yi respectively. In this way, the forward kinematics of the end-effector with respect to the base frame is obtained by multiplying all of the i1 i T matrices. base endeffector T

of the end-effector with respect to the base is given by,

¼ 01 T 12 T . . . n1 n T

ð2Þ

An alternative representation of base endeffector T can be written as,   ~ n ~ s ~ a ~ p base ð3Þ endeffector T ¼ 0 0 0 1 where, ~ n, ~ s, ~ a and ~ p are the normal, sliding, approaching and position vectors, respectively. Using Equations (2) or (3), one can determine the position and orientation of the end-effector in terms of the joint variables. 2 3 r11 r12 r13 px 6 r21 r22 r23 py 7 base 6 7 ð4Þ endeffector T ¼ 4 r r32 r33 pz 5 31 0 0 0 1 where rkj’s represent the rotational elements of transformation matrix (k and j ¼ 1, 2, and 3). px, py, and pz are the elements of position vector. For a six jointed robot manipulator, the position and orientation

Inverse Kinematics Forward kinematics problem is straightforward and there is no complexity deriving the equations. Hence, there is always a forward kinematics solution for different robot manipulators with different structures. Whereas actuators work in joint space, tasks to be performed by a robot manipulator are in Cartesian space. Cartesian space includes orientation matrix and position vector but joint space is represented by joint angles. The conversion of the position and orientation of a robot end-effector from Cartesian space to joint space is called as inverse kinematics problem. In order to find the inverse kinematics solutions as a function of the known elements of base endeffector T, the inverses of link transformation matrix are premultiplied as follows. ½01 Tðq1 Þ1 06 T ¼ ½01 Tðq1 Þ1 01 Tðq1 Þ12 Tðq2 Þ23 Tðq3 Þ 3 4 5 4 Tðq4 Þ5 Tðq5 Þ6 Tðq6 Þ

ð6Þ

where ½01 Tðq1 Þ1 01 Tðq1 Þ ¼ I, I is identity matrix. Then Equation (6) can be simplified as follows. ½01 Tðq1 Þ1 06 T ¼ 12 Tðq2 Þ23 Tðq3 Þ34 Tðq4 Þ45 Tðq5 Þ56 Tðq6 Þ ð7Þ If necessary, the following equations are also obtained in a similar manner. ½01 Tðq1 Þ12 Tðq2 Þ1 06 T ¼ 23 Tðq3 Þ34 Tðq4 Þ45 Tðq5 Þ56 Tðq6 Þ ð8Þ ½01 Tðq1 Þ12 Tðq2 Þ23 Tðq3 Þ1 06 T ¼ 34 Tðq4 Þ45 Tðq5 Þ56 Tðq6 Þ ð9Þ ½01 Tðq1 Þ12 Tðq2 Þ23 Tðq3 Þ34 Tðq4 Þ1 06 T ¼ 45 Tðq5 Þ56 Tðq6 Þ ð10Þ ½01 Tðq1 Þ12 Tðq2 Þ23 Tðq3 Þ34 Tðq4 Þ45 Tðq5 Þ1 06 T ¼ 56 Tðq6 Þ ð11Þ Twelve simultaneous set of nonlinear equations needs to be solved for inverse kinematics. The only unknown on the left hand side of Equation (7) is q1. The 12 nonlinear matrix elements of right hand side are either zero, constant or functions of q2 through q6.

AN OFF-LINE ROBOT SIMULATION TOOLBOX

orientation. Equating RXYZ with a giving desired orientation, a, b, and found as follows. 2 r11 r12 RXYZ ðg; b; aÞ ¼ R ¼ 4 r21 r22 r31 r32

If the elements on the left hand side are equated with elements on the right hand side then the joint variable q1 can be solved as functions of r11, r12,. . .,r33, px, py, pz, and fixed link parameters. Once q1 is found, then other joint variables are solved by the same procedure as before. There is no necessity that first equation will produce q1 and second q2 etc. To find suitable equation to solve the inverse kinematics problem, any equation defined above (Eqs. 711) can be used arbitrarily. A set of transcendental equations [17] are also used for extracting the joint angles.

45

rotation matrix g angles can be 3 r13 r23 5 r33

ð13Þ

where R is the 3  3 rotation matrix. The fixed angles are determined using inverse kinematics equations. qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 2 þ r2 b ¼ A tan 2 r31 ; r11 ð14Þ 21

Rotation Representations There are three common ways of performing orientation, namely, roll-pitch-yaw angles, Euler angles, and the equivalent angle-axis representation.

r21 r11 ; a ¼ A tan 2 ; cb cb

b 6¼ 90

ð15Þ

r32 r33 ; ; cb cb

b 6¼ 90

ð16Þ

g ¼ A tan 2

1. Roll-Pitch-Yaw Angles

2. Euler Angles

Roll, pitch, yaw are nautical terms used to describe the motion of a boat with respect to its three axes. There are twelve roll-pitch-yaw angle sets that may be used for specifying orientation. Each of these requires performing three rotations about principal axes of the fixed reference frame. In this simulation program,

Another way of describing the orientation is to use Euler angle sets. With Euler angles, each rotation is performed about an axis of the moving frame. There are 12 possible permutations of orientations as in fixed angle sets. In this toolbox, ZYX-Euler angle set given by Equation (17) is used for performing the orientation.

2 A B RZ0 Y0 X0 ða; b; gÞ

ca

6 ¼ 4 sa

sa

0

32

cb

ca

76 0 54 0

0

1

0 2

0 1

sb

casbsg  sacg sasbsg þ cacg cbsg

cacb ¼ 4 sacb sb

0

sb

32

1

76 0 54 0 cb 0

0 cg sg

3 casbcg þ sasg sasbcg  casg 5 cbcg

0

3

7 sg 5 cg

ð17Þ

XYZ-fixed angle set given by Equation (12) is used for performing the orientation. 2

ca 6 RXYZ ðg; b; aÞ ¼ 4 sa 0 2

cacb ¼ 4 sacb sb

sa ca 0

32 0 cb 76 0 54 0 1

0 1

sb 0

casbsg  sacg sasbsg þ cacg cbsg

where ca and sa are the abbreviation for cos a and sin a, respectively. Extracting a, b and g fixed angles from a rotation matrix is necessary for having suitable

32 sb 1 76 0 54 0

3 0 0 7 cg sg 5

cb

sg

0

3 casbcg þ sasg sasbcg  casg 5 cbcg

cg

ð12Þ

Comparing the Equation (17) with XYZ-fixed angle set, it can be seen that the results are identical. Hence,

46

KUCUK AND BINGUL

the Euler angles are determined as the way the fixed angles are found.

The desired velocity, acceleration and jerk are calculated as y0 ¼ s1 þ 2s2 t þ 3s3 t2 þ 4s4 t3 þ 5s5 t4 þ 6s6 t5 þ 7s7 t6

3. Equivalent Angle-Axis

ð22Þ

A general orientation of a coordinate frame relative to another one can be defined RK ðyÞ that is named as equivalent angle-axis representation. K is a vector whose length is taken to be one and y represents the amount of rotation. Given an arbitrary rotation R that is equated to RK ðyÞ to solve for K and y as a function of the elements of R.

y00 ¼ 2s2 þ 6s3 t þ 12s4 t2 þ 20s5 t3 þ 30s6 t4 þ 42s7 t5 ð23Þ y000 ¼ 6s3 þ 24s4 t þ 60s5 t2 þ 120s6 t3 þ 210s7 t4 ð24Þ

r11 6 4 r21

r12 r22

R ¼ RK ðyÞ 3 2 kx kx vy þ cy r13 7 6 r23 5 ¼ 4 kx ky vy þ kz sy

r31

r32

r33

2

kx ky vy  kz sy ky ky vy þ cy

kx kz vy  ky sy ky kz vy þ kx sy

where kx, ky, kz are the elements of vector K and vy ¼ ð1  cyÞ. K and y are found by using inverse kinematics, as follows. qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi y ¼ A tan 2 ðr32  r23 Þ2 þ ðr13  r31 Þ2 þ ðr21  r12 Þ2 ; ðr11 þ r22 þ r33  1Þ ð19Þ 2 3 r  r23 1 4 32 K¼ r13  r31 5ðy 6¼ 0 or 180 Þ ð20Þ 2sy r21  r12

3 ky kz vy  kx sy 7 ky kz vy  kx sy 5

ð18Þ

kz kz vy þ cy

Combining the Equations (2124) with eight constrains yields eight equations in eight unknowns. q0 ¼ s0 þ s1 t0 þ s2 t02 þ s3 t03 þ s4 t04 þ s5 t05 þ s6 t06 þ s7 t07 ð25Þ q1 ¼ s0 þ s1 tf þ s2 tf2 þ s3 tf3 þ s4 tf4 þ s5 tf5 þ s6 tf6 þ s7 tf7 ð26Þ q00 ¼ s1 þ 2s2 t0 þ 3s3 t02 þ 4s4 t03 þ 5s5 t04 þ 6s6 t05 þ 7s7 t06 ð27Þ

Trajectory Planning Rough and jerky motions can cause vibration in the manipulator. Therefore, smooth motion is very essential for robot manipulators. Joint and Cartesian trajectories are two common ways to generate smooth motion. In joint trajectory, initial and final positions of the end-effector are converted into joint angles by using inverse kinematics equations. A time dependent smooth function is computed for each joint. All of the robot joints pass through initial and final points at the same time. Several smooth functions can be obtained from interpolating the joint values. In this toolbox, a 7th order polynomial is used with boundary conditions for position, velocity, acceleration, and jerk. The 7th order polynomial is given as follows y ¼ s0 þ s1 t þ s2 t 2 þ s3 t 3 þ s4 t 4 þ s5 t 5 þ s6 t 6 þ s7 t 7 ð21Þ

q01 ¼ s1 þ 2s2 tf þ 3s3 tf2 þ 4s4 tf3 þ 5s5 tf4 þ 6s6 tf5 þ 7s7 tf6 ð28Þ q000 ¼ 2s2 þ 6s3 t0 þ 12s4 t02 þ 20s5 t03 þ 30s6 t04 þ 42s7 t05 ð29Þ

Figure 1 Linear segments with parabolic blends.

AN OFF-LINE ROBOT SIMULATION TOOLBOX

OVERVIEW OF THE ROBOT TOOLBOX

q001 ¼ 2s2 þ 6s3 tf þ 12s4 tf2 þ 20s5 tf3 þ 30s6 tf4 þ 42s7 tf5 ð30Þ 2 3 4 q000 0 ¼ 6s3 þ 24s4 t0 þ 60s5 t0 þ 120s6 t0 þ 210s7 t0

ð31Þ 2 3 4 q000 1 ¼ 6s3 þ 24s4 tf þ 60s5 tf þ 120s6 tf þ 210s7 tf

ð32Þ These eight equations can be combined into a single matrix equation as follows 2

1 t0 6 1 tf 6 60 1 6 60 1 6 60 0 6 60 0 6 40 0 0 0

t02 tf2 2t0 2tf 2 2 0 0

t03 tf3 3t02 3tf2 6t0 6tf 6 6

t04 tf4 4t03 4tf3 12t02 12tf2 24t0 24tf

ROBOLAB implements forward and inverse kinematics, matrix transformations and trajectory planning, etc. successfully. The organization of the GUI for ROBOLAB is illustrated in Figure 2. ROBOLAB includes a robot library of sixteen 6DOF robot manipulators with Euler wrist. It opens an intuitive access to the applications of the robot manipulators by simply clicking the ‘‘ROBOT MANIPULATORS WITH EULER WRIST (RMEW)’’ button as depicted in Figure 3.

t05 tf5 5t04 5tf4 20t03 20tf3 60t02 60tf2

The coefficients (s0, s1,. . .,s7) of the polynomial is determined by solving this matrix equality. In Cartesian trajectory, the end-effector is constrained to move along a prescribed path (typically a straight line) between via points. Inverse kinematics is required in real-time at each update cycle. Therefore, Cartesian motion is much more computationally intensive. To make smooth path with continuous position and velocity, two parabolic blends are added to the beginning and end of the motion. This path is also called linear segments with parabolic blends. Figure 1 illustrates a constructed path with a linear segment at the medium and two parabolic blends at the beginning and end. In Figure 1, a, v, tb, denote acceleration, velocity, and blend time, respectively. Table II illustrates the position, velocity and acceleration equations of the path shown in Figure 1 [18]. The assumptions of t0 ¼ 0, tf > 0 and tb > 0, and the constrains of ðyf  y0 Þ=v < tf 2ðyf  y0 Þ=v, v2 aðyf  yÞ can be satisfied to have a smooth path.

Table II

47

t06 tf6 6t05 6tf5 30t04 30tf4 120t03 120tf3

32 3 2 3 t07 q0 s0 6 s 1 7 6 q1 7 tf7 7 76 7 6 0 7 6 7 6 7 7t06 7 76 s2 7 6 q00 7 6 7 6 7 7tf6 7 76 s3 7 ¼ 6 q001 7 6 7 6 7 42t05 7 76 s4 7 6 q000 7 7 5 76 s 7 42tf 76 5 7 6 6 q0001 7 4 4 54 s 5 q0 5 210t0 6 4 q000 s7 210t0 1

ð33Þ

To illustrate the features of the ROBOLAB, the RS robot manipulator in Figure 4 is presented as example. It can be chosen from the robot library which will appear on the screen after clicking RMEW button.

Forward Kinematics-I ROBOLAB can be run in forward kinematics-I mode by clicking ‘‘F.Kin-I’’ button. In this mode, each angle of the robot joints is controlled by a slider. The numbers on the sliders show the joint limitations. The user moves the indicator bar on the slider to specify a desired value within the allowable joint ranges. Let revolute joints move with the angles, for example, T1 ¼ 123.848, T2 ¼ 48.068, T4 ¼ 77.048, T5 ¼ 64.88 and T6 ¼ 0, prismatic joint moves with certain unit length value of d3 ¼ 10.144, shown in Figure 5. ROBOLAB has two different trajectory planning methods, namely Cartesian ‘‘Cart. Trj.’’ and joint ‘‘Joint Trj.’’ trajectories shown in Figure 5.

The Equations of the Position, Velocity, and Acceleration

Time 0 t tb tb t tf  tb tf  tb t tf

y(t)

_ ðtÞ

€ ðtÞ

0 þ ða=2Þt2 vt þ ðf þ 0  vf Þ=2 f  ðatf2 Þ=2 þ atf t  ða=2Þt2

at v atf  at

a 0 a

48

KUCUK AND BINGUL

Figure 2 The organization of the GUI for ROBOLAB.

The position, velocity and acceleration profiles for each joint can be displayed by clicking the ‘‘Trajec.’’ button as shown in Figure 5. The corresponding position, velocity and acceleration profiles for the first and fourth joints are displayed in Figure 6. In the figure, the first joint is actuated in joint

trajectory and the fourth joint is actuated in the Cartesian trajectory. Moreover, the following specifications can be handled by choosing ‘‘Trajec.’’ button: (1) The position, velocity and acceleration profiles for the end-effector (Fig. 7), (2) 06 T transformation matrix

AN OFF-LINE ROBOT SIMULATION TOOLBOX

Figure 3 The mainframe of ROBOLAB.

49

Figure 6 The position, velocity and acceleration profiles of (a) the first joint and (b) the fourth joint.

and, (3) three different angle sets (Fig. 8). As shown in Figure 7, the joints can also be actuated in the Cartesian trajectory, and the end-effector follows a desired trajectory.

Forward Kinematics-II Unlike forward kinematics-I, all of the manipulator joints are actuated at the same time in the forward kinematics-II. User can activate the robot manipulator

Figure 4 RS robot manipulator.

Figure 5 Joint movements with sliders.

Figure 7 Position, velocity, and acceleration profiles for the end-effector.

50

KUCUK AND BINGUL

Figure 10 angle set.

An inverse kinematic practice with Euler

boxes. Then, three different angle sets can be achieved by simply clicking ‘‘Trajec.’’ button.

Figure 8 Transformation matrix and fixed, Euler and R(K, ) angles sets.

by entering the joint values in the corresponding editable text boxes as shown in Figure 9. Thus the joint motions can be examined in more detail. The position and orientation limitations are affixed below the editable textboxes. The desired orientation can be obtained from forward kinematics-II operations by entering 4th, 5th, and 6th joint angles into the approprate editable

Figure 9 The RS robot manipulator in forward kinematics-II mode.

Inverse Kinematics ROBOLAB in inverse kinematics mode computes the set of joint angles, given the desired position and orientation of the end-effector relative to the base frame. The position and orientation of the end-effector

Figure 11 Continuous trajectory-I mode of operation.

AN OFF-LINE ROBOT SIMULATION TOOLBOX

Figure 14

Figure 12 (a) Data reading from the ‘‘txt’’ file and (b) data confirmation for the ‘‘txt’’ file.

in Cartesian space can be obtained by specifying px, py, pz and one of the RPY-fixed, Euler, and RKT angle sets. ‘‘T. Kin’’ button provides user several inverse kinematics options as shown in Figure 10. User can execute the inverse kinematics by using one of the three angle sets. An example for the inverse kinematics can be seen in Figure 10 where the position values are px ¼ 10.05, py ¼ 39.044, pz ¼ 7.856 and the orientation values are g ¼ 1808, b ¼ 64.8038, a ¼ 1.2598 in Euler mode. It can be noticed that, the position and orientation (based on the data in Figure 8) of the robot manipulator in Figure 10 is the same as those in Figure 5, as expected.

Continuous Trajectory-I Continuous trajectory-I mode of operation can be selected simply clicking the ‘‘C.Traj.-I’’ button in Figure 10. More than one forward kinematics angles can be run successively in this mode. The user

51

Workspace of RS robot manipulator.

may select either ‘‘Read table’’ option to execute maximum of 10 forward kinematics joint angle lines shown in Figure 11, or ‘‘Read file’’ option to run any number of forward kinematics joint angle lines. Figure 11 shows the ‘‘Read table’’ option which provides six editable text boxes for each line. It is not necessary to enter data each line in this mode. User can run the robot manipulator successively by entering the ‘‘Loop number’’ and ‘‘Line number’’. For instance, the first two lines (Line number ¼ 2) are run five times (Loop number ¼ 5) as shown in Figure 11. When ‘‘Read file’’ option is selected, the related data stored to a text file to be specified by the user can be loaded into the program memory as shown in Figure 12a. The confirmation of the name and data length of the text file will also appear on the screen as given in Figure 12b. An example of data file is shown in Figure 13. By specifying ‘‘Start line ¼ 1,’’ ‘‘Finish line ¼ 11,’’ and ‘‘Loop number ¼ 1’’ for the data file as shown in Figure 12b, the workspace of the RS robot manipulator can be displayed as shown in Figure 14. Several trajectories such as linear, circular or parabolic can also be defined by processing data files.

Continuous Trajectory-II Continuous trajectory-II mode of operation provides more than one inverse kinematics angle lines. The simulation procedure is the same as the continuous trajectory-I mode.

CONCLUSIONS

Figure 13 Data stored into the ‘‘RSworkspace.txt’’ file.

In this paper, a novel robot toolbox ‘‘ROBOLAB’’ is developed for the educational users to improve the understanding of robotics fundamentals through interactive real-time simulation. ROBOLAB based

52

KUCUK AND BINGUL

on MATLAB GUI includes a library for the 16 different 6-DOF solid models of fundamental serial robot manipulators. It provides valuable analysis tools to students and engineering professionals who can compute rotation and transformation matrix, forward and inverse kinematics, and trajectory planning, and can solve robotics problems with less time and effort. The toolbox allows the students to focus on the programming instead of wasting time in the large amount of calculations involved.

REFERENCES [1] P. Marchands, and O. T. Holland, Graphics and GUIs with Matlab, Chapman and Hall, A CRC Press Company, New York, USA, 2003. [2] H. Das, X. Bao, Y. Bar-Cohen, R. Bonitz, R. Lindemann, M. Maimone, I. Nesnas, and C. Voorhees, Robot manipulator technologies for planetary exploration, Proceedings of the Smart Structures and Integrated Systems Symposium, Newport Beach CA, March 15, 1999. [3] P. I. Corke, A robotics toolbox for MATLAB, IEEE Robot Autom Mag 3 (1996), 2432. [4] J. F. Nethery, and M. W. Spong, Robotica: A mathematica package for robot analysis, IEEE Robot Autom Mag 1 (1994), 1320. [5] B. Hill, and D. Tesar, Rapid analysis manipulator program (RAMP) as a design tool for serial revolute robots, Proceedings of the IEEE International Conference on Robotics and Automation 4 (1996), 28962901. [6] H. D. Nayar, Robotect: Serial-link manipulator design software for modeling, visualization and performance analysis, 7th International Conference on Control, Automation, Robotics and Vision, Singapore, 2002. [7] L. Zlajpah, Integrated environment for modelling, simulation and control design for robotic manipulators,

[8] [9]

[10]

[11]

[12]

[13]

[14]

[15] [16]

[17]

[18]

3rd MATHMOD, IMACS Symposium on Mathematical Modelling, Vienna, Austria, pp 761764, 2000. R. Gourdeau, ROBOOP—A robotics object oriented package in Cþþ, Copyright Z. Bingul, P. Koseeyaporn, and G. E. Cook, Windowsbased robot simulation tools, 7th International Conference on Control, Automation, Robotics and Vision, Singapore, 2002. D. J. Turnell, Q. V. Turnell, and M. DE Fatima, SimBot—A simulation tool for autonomous robots, IEEE International Conference on Systems Man, and Cybernetics, 5 (2001), 29862990. K. Vollmann, A new approach to robot simulation tools with parametric components, IEEE International Conference on Industrial Technology, 2 (2002), 881885. S. Alfs, O. Ivlev, C. Martens, and A. Graser, Simulation tool for kinematic configuration control technology for dexterous robots, Industrial Electronics Society, Proceedings. The 25th Annual Conference of the IEEE, 1 (1999), 430435. M. Cakir and E. Butun, An educational tool for 6-DOF industrial robots with quaternion algebra, Comput Appl Eng Educ 15 (2007), 143154. S. Kucuk and Z. Bingul, An off-line simulation package for robotics education and industrial purposes, 11th IEEE International Conference on Methods and Models in Automation and Robotics, Poland, 2005. B. Huang and V. Milenkovic, Kinematics of major robot linkages, Robot Int SME 2 (1983), 1631. J. Denavit and R. S. Hartenberg, A kinematic notation for lower-pair mechanisms based on matrices, J Appl Mech 1 (1955), 215221. J. J. Craig, Introduction to robotics: Mechanics and control, Addison-Wesley, New York, 1989. W.A. Wolovich, Robotics: Basic analysis and design, Holt Rinehart and Winston, NY, 1987.

BIOGRAPHIES Serdar Kucuk received the degree in electronics and computer education from the University of Marmara, Istanbul, Turkey, in 1995, the MSc degree in electronics and computer education from the University of Marmara, Istanbul, Turkey, in 1998, and the PhD degree in electrical education from the University of Kocaeli, Kocaeli, Turkey, in 2004. Currently, he is working as an Assistant Professor at the University of Kocaeli, in Kocaeli, Turkey.

Zafer Bingul received the BA degree from Istanbul Technical University, Istanbul, Turkey and the MS and PhD degrees from Vanderbilt University, Nashville, TN, in 1992, 1996, and 2000, respectively, all in electrical engineering. He is currently an Associate Professor of Mechatronics Engineering, School of Engineering, Kocaeli University, Kocaeli, Turkey. His research interests are robotics and welding automation, optimization, evolutionary algorithms, and intelligent control.

Smile Life

When life gives you a hundred reasons to cry, show life that you have a thousand reasons to smile

Get in touch

© Copyright 2015 - 2024 PDFFOX.COM - All rights reserved.