You are on page 1of 6

ROBOTIC HAND SIMULATlON WITH KINEMATICS AND DYNAMIC ANALYSIS

S.Ramasamy and M.R.Arshad School of Electrical and Electronic Engineering University of Science, Malaysia (Perak Branch Campus), Perak Darul Ridzuan, Malaysia. rizalneng. usm. in y Abstract: Robotics is a technology that is utilised tremendously in industrial and commercial applications. Different types of robots are designed to fulfill the human needs. The aim of the work presented in this paper is to simulate a robotic hand that emulate the shape and performance of a human hand (i.e. palm and fingers section). The robotic hand comprises of five fingers, which each of them has three degree of freedoms (DOF) and 2 DOF for the thumb. This robotic hand simulation is divided into three main parts. The main objective is to design a three dimensional graphic of a robotic hand and its movement animation that imitates the movement of a human hand. This graphic design is then used as a foundation to find the kinematics and dynamic properties of the robotic hand. The end result is a robotic hand simulation that comes with analyses of the kinematics and dynamic properties. Studio Max and Maya 3 0 . 3 0 studio Mar is a software or a tool that can be used to design quality 2D and 3D objects. The comerstone of 3DS Max is an integrated modeling environment that performs 2D drawing, 3D modeling and animation within the unified workspace. Modeling, editing and animation tools are always available in the command panels and toolbar. 3DS Mar provides a sophisticated material editor in a floating window. It is used to create realistic materials by defining hierarchies of surface characteristics. The surface characteristics can represent static materials or can be animated for special effects. Lights with various properties can be created to illuminate the designed scene. The lights can cast shadow, project images and create volumetric effects for atmospheric lighting. Cameras that are also created, have real-world controls for lens length, field of view and motion control. A bones system is used at the joints of the robotic hand as it is a jointed hierarchical linkage of bone objects that demonstrates kinematics. Each bone is a parametric wireframe object. In 3DS Max, the bones system forms the basis for the New IK(1nverse Kinematics). Using this feature, bones with an IK controller can be created to apply IK solutions procedurally across all frames [3]. Rendering of the robotic hand is done using the rendering toolbox in the main window. The 3DS max renderer includes features such as ray tracing, analytical antialiasing, motion blur, volumetric lighting and environmental effects. The robotic hand designed using 3DS Max with the Bones applied is as shown in Fig. I . Mayu 3 0 is a time-based animation program. It can animate any parameters in the scene; in the case of a robotic hand, the parameter involved is called bend angle. One minute of animation might require between 720 and 1800 separate images, depending on the quality of the animation. Creating a lot of images may take time, so the keyframing technique is used. Keyframes are created to record the beginning and end of each animated sequence. The values of these keyframes are called keys. Maya 3 0 calculates the interpolated values between each key to produce the completed animation. It measures time and stores the animation values at 1/4800 of a second. Animation is produced by turning on the animate button, setting a current time and changing some parameters in the created scene. Changes also can be done to the position, rotation, or scale of an object or change almost any setting or parameter. When the animate button is turned on, the time slider in the animation window sets the time where keys are created.
,

Keywords: robot simulation, kinematics, 3D graphics


1. INTRODUCTION

The robotic hand is an imitation of a human hand that consists of a palm and five fingers, i.e. a thumb, an index finger, a middle finger, a ring finger and a pinky finger. Its simulation is done by considering each finger together with the palm as a single end-effector. So, every finger has a five degree-of-freedoms. The robotic hand simulation is divided into three parts. The main objective of designing a 3D graphics is done using a software called 3 0 Studio MaxTM(3DS Max). This graphics of a 3-dimensional robotic hand is then used in another software called Maya 3DTMto be animated into movements. The graphical animation produced is related, in the sense of the function, to the kinematics and dynamic simulation of every finger using MatlabTM. In applying the coordinates or angles to every joint in the hand, produced the motion of the robotic hand. This coordinates or angles are then used as the ready pose coordinate in the Matlab program to find the kinematics and dynamic properties and vice versa [I].
11.

THEORY AND DESIGN PROCEDURE

A. 3D Graphical Design The objective of 3D graphical design is to produce a real representation of the robotic hand in the virtual reality world [ 2 ] .It can be divided into two main sections, 3 0

I
0-7803-6355-8/00/$10.0002000 IEEE
111- 178

Figure I . The robotic hand design with Bones

B: Kinematics of a Robotic Hand


Kinematics properties considered are DenavitHartenberg parameter (i.e. translation and rotation), Eufer angles, direct kinematics, inverse kinematics, Jacobian matrix and singularity function. These properties are used to find the joint parameters (i.e. coordinates and speed) in the trajectory, homogenous transformation of the robot and singularity of every joint [4]. Denavit-Hartenberg parameter is a systematic way of representing coordinates of a robotic arm using a matrix method. Each joint in a robot is considered to be one degree-of-freedom. For robot with n joints, counting from 1 to n, there are n+l arms counted from 0 to n. Link 0 is the base of the robot and the i-th joint connects i-th arm to the i - I . The Denavit-Hartenberg Parameters are :
link lengfh, ai - distance between zi.] axis and zi axis along xi axis link twist, ai - angle between zc1 axis and ti axis link offset di - distance from origin for i-1-th arm to xi axis

To find the homogenous transformation matrix that shows the coordinate of i-th frame of a robotic arm according to the coordinate system of the arm before, 'Ti, Equation (2) are used
'T.
=

'T.

'-'Al

(2)

where, '-'Ai represents the displacement of the i-th frame relative to the i-I-th frame Direct kinematics method are used is order to find the displacement and orientation of an end-effector relative to the base frame, as a function of joint displacement. By doing multiplication to the Equation (2), the equation for the displacement of every finger in the robotic hand is obtained :

along zi-, axis


joint angle, 8, -angle between xi.] axis and xi axis

Rotation and translation are two basic movements of a robot. The movement of this robotic hand only involves rotation. Three types of rotations are : roll - rotation around z-axis with angle Q pitch - rotation around y-axis with angle e yaw - rotation around x-axis with angle Y These three angles are also called Eufer angles and are used to find coordinate orientation of a robotic arm. According to Euler ' s Law, any rotation can be represented by the matrix R which is :

Inverse kinematics is the inverse to the direct kinematics solution. It is used to find the joint angles needed to achieve a particular end coordinate. For that

2
111- 179

purpose, the inverse of the homogenous transformation matrix in Equation (3) need to be find using the equation below : g = k-' ( T I (4) The velocity relationship between frames can be changed into differential form. The differential change in the orientation of an end-effector as a function of all n joint coordinates can be written into a 6 x n matrix, called Jacobian Matrix. The Jacobian relationship in the form df matrix for a prismatic and revolute joint is given by (5),i.e.

F
G

explains the Coriolis and centripetal effect shows the viscosity and Coulomb force
gravity force

Furthermore, the torque needed for a set of joint angle, velocity and acceleration can be found. It is important as it can be used to find the kinematics properties such as angle velocity, angle acceleration and linear acceleration. This is done u s h g Newton-Euler Formulation. The equation used is called Euler Equation :

XI

x, x,
Y,

...

x,
I
0
'nx

z = I'd
where,

+d

x I'd

(7)

r,
'1,

Y,
'3,
'3y

z, z, z,
'2, $2,

. .. Y, ... zn
* S .

inertia tensor angle velocity


CL.' angle momentum

I'

$1,

* * e

' n y

e,: e,: e,: ... en:


111.
where,
qi =

RESULTS

62. for a revolute joint


di

A. 3D Graphical Design

qi

for a prismatic joint


-

x.= '

6X

a;

68, 8.= IX

6q;

Some results of the 3D graphical design (created using the graphics softwares) displaying a few position and movements for the robotic hand are shown in the appendix.

C. Dynamics of a Robotic Hand

B. Kinematics and Dynamic Properties


Dynamic property of a robot is mentioned as the changing rate of arm configuration depending on the torque at a joint produced by the actuator. Dynamics of a robot explains the equation for a movement, that is the way of the movement when a force is applied. There are two methods that can be used to find the movement equation; Newton-Euler and Lagrangian Formulation [5]. Inverse dynamics is used to determine the torque to be applied on a robotic arm to produce the desired movement. The input that is inserted is the desired trajectory in the time function of q,(t) through qn(t), while the output is the joint torque to be applied by the actuator to follow the trajectory. The value of this torque is determined using the equation below :
=

Kinematics and dynamic properties of the robotic hand are simulated using the robotic toolbox in Matlub simulation software [6]. With the input of start and end coordinates, and also joint coordinates in the desired trajectory, the other properties such as velocity, acceleration and torque are determined. One example of simulation for the index finger (including palm of the hand and the elbow as the base) are as shown below : 1. 2. Start coordinate, qZ = End coordinate,
(in radian)

qr = 1.5708 0 0.7854 0.7854 0.7854

3.

Joint coordinate,
0 0.3297 1.2411 1.5708
.

Mf(8)8

+ Cf(8,e)e +Ff(8)+G(8)

(6)

q=

where,

(e,, . ..... , 0.)

0 0 0 0 0 0.1648 0.1648 0.1648 0 0.6206 0.6206 0.6206 0 0.7854 0.7854 0.7854

is the joint angle vector of the

fingers in the robotic hand

6
8

joint angle velocity vector


joint angle acceleration vector

M robot inertia tensor

3
111- 180

4.

Homogenous transformation, T = -1.0000 0.0000 0

0.0374 -0.0000 -0.0000 1.OOOO 4.0000 0.0000 1.OOOO 0.0000 -0.0525 0 0 0 1.0000
0 0 0 0 0 0 0.6926 0.6926 0.6926 0 0.6926 0.6926 0.6926 0 0 0 0

the kinematic and dynamic analysis to the actual simulation procedure.

V.

REFERENCES

5.

Velocity,
qd=

1.3852 1.3852
0

6.

Acceleration,
qdd=

2.4735 -2.4735
0.0000

0 0 0 0 0 1.2368 1.2368 1.2368 0 -1.2368 -1.2368 -1.2368 0 0.0000 0.0000 0.0000

7.

Torque for every joint, = 1.0e+003 * -0.0000 0.0310 -0.0051 1.3312 0.0342 -0.0023 -1.3302 0.0294 -0.0063 0.0000 0.0355 -0.0006

-0.0027 -0.0010 -0.0000 -0.0001 -0.0026 -0.0009 0.0015 0.0007

[ 11 Biran, A., Breiner,M., Matlab For Engineers, Addison-Wesley Publishing Co., Harlow, 1996. [2] Ranky, P.G., Ho, C.Y., Robot Modelling, Control And Applications with Software, IFS Publications, New York, 1985. [3] Kinetix, 3D Studio Max Users Guide, Autodesk, Inc., Berlin, 1997. [4] Asada,H. and Slotine,J.J.E., Robot Analysis and Control, Wiley Interscience Publication, New York, 1986. [ 5 ] Murray, R.M., Zexiang Li, Sastry, S S , Robot Manipulation, CRC Press, Florida, 1994. [6] Etter, D.M., Engineering Problem Solving with MATLAB, Prentice-Hall,lnc., New Jersey, 1993.

8.

Torque caused by gravity, = -0.0000 31.0453 -5.1204 -2.7164 -0.9702 -0.0000 3 1.4568 -4.7090 -2.2286 -0.8540 -0.0000 34.3480 -1.8177 0.5242 0.2783 -0.0000 35.5398 -0.6260 1.5434 0.6860

IV.

DISCUSSION AND CONCLUSION

The graphical design of a robotic hand simulation using 3 0 Studio Max and Maya 30 can be used to relate to the actual kinematics and dynamic properties of a robotic hand. Since the coordinates that are used in designing certain graphics position and movements are portable, i.e can be extracted, it can be used in motion simulation using Matlab simulation function, and vice versa. By exploiting this approach, we are able to find the properties such as velocity, acceleration and torque for a desired movement or coordinates of the robotic hand graphics. One problem still has to be tackled is when the robotic hand is not able to move according to the desired trajectory. So, trajectory planning is also important in designing a robotic arm so it can proceed the task given correctly. For this to happen, every parameter used should be accurate and according to the correct parameters. Many questions and obstacles were met while addressing this problem, mainly in how to optimally interface the graphics and mathematical softwares, and to consider all relevant parameters in translating the theoritical understanding to actual simulation. It is hope that the results presented in this paper will be helpful in utilising the existing graphic softwares for conducting robotic hand simultion, and understanding how to relate

111- 18 I

VI APPENDIX

Figure 3 Top view o f robotic hand (rendered)

1 1 1 -182

Figure 6 Side view (rendered)

Figure 7. Side view (rendered)

1 1 1 -183

You might also like