Modeling and Simulation of 7-dof Robotic Manipulator

179 downloads 1168 Views 820KB Size Report
Jul 23, 2016 - performance; Inverse Kinematics. ... Samuel R.Buss and J.S.Kim [4]. .... embedded script, a plugin, a ROS node, a remote API client, or a custom ... Controllers can be written in C/C++, Python, .... Fig 18: cube vs tip orientation.
National Conference on Technological Advancements in Mechanical Engineering

ISBN : 978-93-85100-57-4

Modeling and Simulation of 7-dof Robotic Manipulator Md Nizamuddin Ahmed(M.E)1, K.Veladri2 1

Department Mechanical Engineering,Vasavi College of Engineering, (Autonomous)Hyderabad, India 2 Associate Professor MED, Vasavi College of Engineering(Autonomous)Hyderabad, India Email: [email protected]

Abstract In this work, a 7 degrees of freedom redundant manipulator is modeled and simulated. The CAD model of the robot is developed in Siemens UG-NX and simulation of the manipulator is performed in Virtual Robot Experimentation Platform (VREP) software. The inverse kinematic model is developed and is tested for some typical applications like pick-and-place, peg in hole and welding operations. Keywords-V-rep; simulation; robot; redundant manipulator; performance; Inverse Kinematics.

I. INTRODUCTION The inverse kinematics problem for redundant manipulator has been solved by Lorenzo Sciavicco [1]. The process undertaken in the design and development of an 8-DOF humanoid robotic arm using specifically made parts has been presented by Le Bang Duc [2]. Localization and navigation, manipulation, human-robot communication and interaction, adaptability and learning are presented by Rainer Bischoff [3]. The Introduction to the pseudo inverse method and damped least squares method for inverse Kinematics are presented by Samuel R.Buss and J.S.Kim [4]. The reformulated inverse kinematic problem as a damped least squares problem to overcome the difficulties encountered near kinematic singularities is presented by Charles W.Wampler [5]. The inverse kinematics of 7-DOF manipulator is done using Closed Loop Inverse Kinematics, redundancy resolution at the acceleration and velocity level is presented by Jingguo Wang [6]. A strategy for bipedal robot walking on inclined surfaces using position and orientation based inverse kinematics algorithm is introduced by Fariz Ali [7]. Eric Rohmer [8] discussed the utility of a portable and flexible simulation framework that allows for direct incorporation of various control techniques. A versatile, scalable, powerful general purpose robot simulation framework called V-REP is presented in this paper. A. Redundant Manipulators A manipulator is required to have a minimum of six degree of freedom if it needs to acquire any random position and orientation in its operational space or work space. Assuming that one joint is required for each degree of freedom, then such a manipulator must be composed of minimum of six joints. In standard practice three degree of freedom is implemented in

the robotic arm so it can acquire the desired position in its work space. The arm is then fitted with a wrist having three joints to acquire the desired orientation. Such manipulators are kinematically simple to design and solve, but they lead to two fundamental problems, singularity and inability to avoid obstacles. A manipulator is termed kinematically redundant if the number of degrees of freedom (DOF's) is higher than the number of task space coordinates. B. Inverse Kinematic Analysis An Inverse kinematics problem determines the possible sets of joint variables for any specified end effector location. This problem of inverse kinematic solution is generally more difficult than the forward kinematic problem. The inverse kinematic solution is more important because manipulation tasks are naturally formulated in terms of desired tool positions and orientation of the objects to be manipulated. Forward kinematics problem always has a unique solution that can be obtained by simple evaluation of forward equations; the inverse kinematics problem may or may not have a solution. C. Damped Least Squares Method The damped least squares method avoids many of the pseudo inverse method's problems with singularities and can give a numerically stable method of selecting . It is also called the Levenberg-Marquardt method. Rather than just finding the minimum vector that gives a best solution to e = J†θ ∆ , we find the value of that minimizes the quantity || J θ ∆ - e ||2 + λ 2 || θ ∆ ||2

(1)

whereλΕ R is a non-zero damping constant. This is equivalent to minimizing the quantity (2) The corresponding normal equation is T

∆θ =

(3)

T

This can be equivalently rewritten as (JTJ +λ2I)∆θ = JTe

(4)

It can be shown that J J +λ I is non-singular. Thus, the damped least squares solution is equal to T

2

22nd & 23rd July 2016, University College of Engineering Kakinada(A) JNTUK Kakinada A.P. India.

303

National Conference on Technological Advancements in Mechanical Engineering

= (JTJ + λ2I)-1 JTe

(5)

Now J J is an n x n matrix, where n is the number of degrees of freedom. It is easy to show that T

(JTJ + λ2I)-1 JT = JT(JJT + λ 2I)-1. Thus, ∆θ= JT (JJT + λ2I)-1 e

(6)

The advantage of this equation with the previous one is that the matrix being inverted is only m x m where m=3k is the dimension of the space of target positions, and m is often much less than n. Additionally eq.(6) can be computed without needing to carry out the matrix inversion, instead row operations can find such that (JJT + λ2I) = e and then JT f is the solution. The damping constant depends on the details of the multibody and the target positions and must be chosen carefully to make eq.(6) numerically stable. The damping constant should be large enough so that the solution for are well-behaved near singularities, but if it is chosen too large, then the convergence rate is too slow. There have been a number of methods proposed for selecting damping constants dynamically based on the configuration of the articulated multibody. II. MODELLING THE REDUNDANT MANIPULATOR The objective of this project is to model and analyze the 7DOF robot manipulator. In the first stages of design, rigid links of the robot arm are modelled using solid modelling in SIEMENS UG-NX 10. These links are imported to V-REP and assembled.

purpose robot simulator developed by Coppelia Robotics. The robot simulator V-REP, with integrated development environment, is based on a distributed control architecture: each object/model can be individually controlled via an embedded script, a plugin, a ROS node, a remote API client, or a custom solution. Controllers can be written in C/C++, Python, Java, Lua, Matlab, Octave or Urbi. Lua is a powerful, fast, lightweight, embeddable scripting language designed to support procedural programming. The Lua script interpreter is embedded in V-REP, and extended with several hundreds of VREP specific commands. Scripts in V-REP are the main control mechanism for a simulation. A simulation is handled when the client application calls a main script, which in turn can call child script. Child scripts are divided in two categories. They can be either non-threaded or threaded child scripts. Nonthreaded child scripts are pass-through scripts. Which means they return control to the caller directly after each simulation pass they execute. Non-threaded child scripts are normally called at each simulation step. Threaded child script are scripts in which a call to a threaded child script will launch a new thread, which will execute in parallel and then directly return. Both the non-threaded and threaded child scripts are segmented in three parts. 1. The initialization part: Executed the first time the child script is called. 2. The regular part: Executed at each simulation pass. This code is in charge of handling a specific part of a simulation. 3. The restoration part: Executed one time just before a simulation ends. IV KINEMATIC SIMULATIONS V-REP uses IK groups and IK elements to solve inverse and forward kinematics tasks. An IK group contains one or more IK elements: IK groups: IK groups group one or more IK elements. To solve the kinematics of a simple kinematic chain, one IK group containing one IK element is needed. The IK group defines the overall solving properties (like what solving algorithm to use, etc.) for one or more IK elements. IK elements: IK elements specify simple kinematic chains. One IK element represents one kinematic chain. A kinematic chain is a linkage containing at least one joint object. The IK element is made up by: a base, several links, several joints, a tip, a target.

Fig 1: Assembly of the manipulator in V-rep

Figure 1 shows the final assembly of the manipulator in Vrep. All the links are named in the above figure. III. INTRODUCTION TO VIRTUAL ROBOT EXPERIMENTATION PLATFORM (V-REP)

Virtual Robot Experimentation Platform (V-Rep) is a general 304

A. Robot Model in V-Rep The Manipulator is modelled in a way that the end effector is used to grasp the cube and can also hold arc welding holder. This redundant robotic manipulator has 7-DOF in which 3 DOF are on the shoulder, 1 DOF on the elbow and 3 DOF on the wrist. Out of the 7 DOF, 6 joints are revolute, meaning they ISBN : 978-93-85100-57-4

National Conference on Technological Advancements in Mechanical Engineering

can rotate around a single axis. The gripper at the end of arm can open and close linearly through a prismatic joint. B. Assembling the Robot Steps for assembling the robot in V-rep: 1. Import STL files into V-rep main scene. 2. Rename all the imported components. 3. The imported individual components are first placed correctly by using manipulation toolbar buttons (translate and rotate).

ISBN : 978-93-85100-57-4

5. Adding new IK group and IK element. 6. Configuring the base of the Kinematic chain. 7. Selecting the Constraints. 8. Choosing the Calculation method (DLS method). 9. Defining a path for its travel. 10. Adding script. 11. Simulating the scene.

4. Now add joints (revolute and prismatic) to each link and position it accordingly. C. Designing the Simulation Scene The assembly contains robotic arm and a gripper. Figure 9 represents the structure of the V-rep scene hierarchy. 1. After assembling the parts, the next step is to connect the links by the corresponding joints. 2. The model tree was adjusted to form the kinematic chain of the manipulator. 3. The same steps are to be repeated for gripper also. 4. Add the script to the robot. Fig 3: Linking dummy in Scene Object Properties

After Linking the dummies in the Scene Object Properties, a red coloured dotted line will appear in the scene hierarchy indicating the dummy object that have been linked. The linked dummy in the scene hierarchy can be seen in Fig 4.

Fig 2: Structure of the V-rep Scene hierarchy

D. Configuring the Inverse Kinematics Module After the assembly of the robot and modelling the tree structure in scene hierarchy, Inverse Kinematics module is to be defined. 1. Enable the joints in IK mode. 2. Add target dummy and tip dummy to the scene. 3. Position and orient the dummies accordingly.

Fig 4: Linked dummy objects

4. Specifying a target to follow (linking Dummy target with tip). 22nd & 23rd July 2016, University College of Engineering Kakinada(A) JNTUK Kakinada A.P. India.

305

National Conference on Technological Advancements in Mechanical Engineering

Fig 6: Pick and place task: snapshots

Fig 5: Path planning dialog box

Path is calculated using Path planning module where Obstacles are taken as one entity using Collection module. The path is calculated by pressing Compute path button and the tip of the robot follows the computed path avoiding obstacles •

Revolute Joint 1

- Position is cyclic



Revolute Joint 2

- Position range: 20 degrees



Revolute Joint 3

- Position range: 200 degrees



Revolute Joint 4

- Position range: 240 degrees



Revolute Joint 5

- Position is cyclic



Revolute Joint 6

- Position range: 40 degrees



Prismatic Joint

- Position range: 0.1 metre

Lua script is the program language used in V-REP. It is used to program the robot for performing simulation. Figure. 14 is a control script for the robot to perform pick-and-place operation. The respective results from the simulation are plotted which can be seen in Section-VI. B. Peg-in-Hole Peg-in-hole task is a process of grasping a cube through suction pad and placing it carefully in a target position which is a hole of square cross section. The robot hand is moved towards the grasp location and the suction pad is switched on through script in a way that it can grasp the object. Then the robot gets in contact with the object. The suction applies as much force as needed to be able to hold it. Now the object(cube) is held by the gripper and it is moved towards the drop location. As the manipulator reaches the goal position, it places the cube in a hole and suction ends and releases the object.

IV.SIMULATING THE SCENE FOR INDUSTRIAL APPLICATIONS The robotic arm was modelled with seven degrees of freedom and script is written to accomplish pick-and-place, peg-in-hole and welding tasks to assist in the production line in any industry. A. Pick-And-Place Pick-and-place task is a process of grasping an object, lifting it and dropping it at a target position. The robot hand is moved towards the grasp location and the gripper is kept open in a way that it can grasp the object. Then the robot gets in contact with the object. The gripper is closed and applies as much force as needed to be able to hold it. Now the object(cube) is held by the gripper and it is moved towards the drop location. As the manipulator reaches the goal position, the gripper opens and releases the object.

306

Fig 7: Peg-in-hole task: snapshots

The respective results from the simulation are plotted which can be seen in Section-VI. The Lua script used to program the robot for performing simulation is represented in Fig. 19. It is the control script for the robot to perform welding operation. The respective results from the simulation are plotted which can be seen in Section-VI. ISBN : 978-93-85100-57-4

National Conference on Technological Advancements in Mechanical Engineering

C. Welding Task The weld holder is attached to the robot arm and is allowed to weld. The robotic Manipulator used has 7 degrees of freedom. The welding occurs when the electrode comes in contact with the component.

ISBN : 978-93-85100-57-4

From Fig 10, the prismatic joint starts to close at 4.3 sec from the start of simulation and it opens at 14.2 sec. The initial joint position (open position) is -0.1m and while it grips the box, its position is -0.06m which is due to the size of the box.

Fig 11: velocities of revolute joints in degrees/sec

From Fig 11, the velocities of all the joints plotted reveals that the motion is smooth with no jerks during the operation. The positive value in the velocity indicate that the joint motion is clockwise and negative value indicate anticlockwise. Fig 8: Welding : snapshots

VI. RESULTS AND DISCUSSION A. Pick-And-Place

Fig 12: Prismatic joint velocity in meters/sec

Fig 9: Joint positions of Revolute joints of manipulator in deg re es.

From Fig 12, the prismatic joint velocity records highest value at 4.35 sec which is 0.56 m/s. It remains in hold position till it holds the block and the velocity becomes negative when it comes back to initial position.

From Fig 9, it is evident that revolute1 joint position has maximum rotation to about -100 degrees and minimum rotation is for revolute2. It is because in pick and place, the box orientation doesn't change and is simply translated from the pick point to the goal point.

Fig 13: Prismatic joint acceleration in meters/sec2

Fig 10: Prismatic joint position in meters 22nd & 23rd July 2016, University College of Engineering Kakinada(A) JNTUK Kakinada A.P. India.

307

National Conference on Technological Advancements in Mechanical Engineering

Fig 14: prismatic joint force

Figure 14 shows the force exerted by the prismatic joint during the operation. The joint records a maximum force of 100 N in gripping the cube.

Fig 17: Suctionpad link force in kg*m/sec2

From Fig 17, the suction pad link needs a force of 235 N to hold the box of weight 150grams initially.

B. Peg-In-Hole

Fig 18: cube vs tip orientation

Fig15: Joint positions of Revolute joints of manipulator in de gr e e s

From Fig 15, the prismatic joint position is fixed and is zero because it holds the suction pad firmly. Rest all joints have movement while performing the operation.

From Fig. 18, the tip orientation and cube orientation match from 18.75 sec to 36 sec. This is due to the holding of the cube firmly by the suction pad without slipping it. After 36th sec, the cube is placed into the peg and orientation inline is lost between these two objects.

Fig 19: Welding Tip absolute velocity meters/sec

Fig 16: velocities of revolute joints in degrees/sec

From Fig 16, the velocities of all the joints plotted reveals that the motion is smooth with no jerks during the operation. The positive value in the velocity indicates that the joint motion is clockwise and negative value indicate anticlockwise

308

Figure 19 shows the welding tip absolute velocity of the welding tip of the robot during welding operation performed. The X axis represents time in seconds and is plotted for 100 seconds which is the time taken for performing welding task. VII. CONCLUSIONS The objective of this project is to model and analyze a 7DOF robot redundant manipulator. Computer aided design and engineering tools, which are proved to be valuable tools in the field of robotics have been used for this purpose. Initially, modeling of rigid links of the robot arm was carried out using ISBN : 978-93-85100-57-4

National Conference on Technological Advancements in Mechanical Engineering

solid modeling techniques available through Siemens NX 10 package. These solid models are then imported in to V-REP (Virtual Robot Experimentation Platform). The simulation is carried out in order to check the performance of the design. The modelled manipulator is implemented for following applications: •

Pick-and-Place: Picking a cube that is moving on the conveyor belt and placing it on the desired target location.



Peg-in-hole: Picking a cube through suction pad and placing in a square hole.



Welding: Performing arc welding on a component

The robot can avoid obstacles with the extra degree of freedom and considering of joint limits. The pay load that the robot can carry is 10 kg in the case of pick and place task and 1.5 kg in the case of grasping of falling object. In all these applications, the simulation has been successfully carried out. The results clearly show that the model performs all operations effectively without any sudden or unaccounted movements. ACKNOWLEDGMENT The authors would like to thank the management of Vasavi College of Engineering, Hyderabad for extending support and resources towards this work. REFERENCES 1 . Lorenzo Sciavicco & Bruno Siciliano, "A solution Algorithm to the inverse kinematic Problem for redundant Manipulators", IEEE Journal of robotics and Automation Vol-4, No-4.

ISBN : 978-93-85100-57-4

7 . Fariz Ali, et al, "Bipedal robot walking strategy on inclined surfaces using position and orientation based inverse kinematics algorithm", Control Automation Robotics & Vision (ICARCV), 11th International Conference, page-181-186, ISBN- 978-1-4244-78149. 8 . Eric Rohmer, et al, "V-REP: a Versatile and Scalable Robot Simulation Framework", 2013, IEEE/RSJ International Conference on Intelligent Robots and Systems, Date of Conference-3-7 Nov. 2013 Page-1321-1326 ISSN-2153-0858. 9 . Adria Colome and Carme Torras, "Redundant Inverse Kinematics: Experimental Comparative Review and Two Enhancements", IEEE/ RSJ International Conference on Intelligent Robots and Systems, 2012, Page-5333-5340, ISSN-2153-0858. 10 . Le Minh Phuoc, et al, "Damped least square based genetic algorithm with Gaussian distribution of damping factor for singularity-robust inverse kinematics", Journal of Mechanical Science and Technology, 2008, ISSN-1330~1338. 11. Haslina Arshad, et al, "Teaching Robot Kinematics in Virtual Environment", 2010, Proceedings of World Conference on Engineering & Computer Science, vol-1, ISBN: 978-988-17012-06. 12 . Wong Guan Hao, et al, "6-DOF PC-Based Robotic arm With Efficient Trajectory Planning and Speed Control", 2011, 4th International Conference on Mechatronics, pp-17-19 May, Kuala Lumpur, Malaysia. 13 . Donghun Lee, et al, "Development and application of an intelligent welding robot system for shipbuilding", Robotics and Computer Integrated Manufacturing, Elsevier. pp-377-388. 14 . Stefano Baglioni, et al, "Multibody modelling of N DOF robot arm assigned to milling manufacturing. Dynamic analysis and position errors evaluation", Journal of Mechanical Science and Technology, 2016, Springer, page-405-420, ISSN-405-420. 15 . D. Prattichizzo, J.C. Trinkle, "Grasping", in Springer Handbook of Robotics, 2008, Springer, Heidelberg(Eds), pp. 671-700.

2 . Le Bang Duc, et al, "Designing 8-dof Humanoid Robotic Arm", International Conference on intelligent and Advanced Systems, pp-1 069-10 74.

16. K.Karteek Reddy, K.Praveen, "Path Planning using V-rep", International Journal of Research in Engineering and Technology, Vol- 02, Issue- 09 Sep-2013, eISSN: 2319-1163.

3 . Rainer Bischoff, Volker Graefe, "HERMES- a Versatile Personal Robotic Assistant". Proceedings of IEEE, Human Interactive robots, pp-1759-1779, ISSN-0018-9219.

17 . Marc Freese, et al, "Virtual Robot Experimentation Platform VREP: A Versatile 3D Robot Simulator", 2010, Simulation, Modelling and Programming for Autonomous Robots - Second International Conference, pp-51-62, SIMPAR.

4 . Samuel R. Buss, "Introduction to inverse kinematics with jacobian transpose, pseudoinverse and damped least squares methods", IEEE Journal of Robotics and Automation, Vol-3, page-681-685. 5 . Charles W. Wampler, "Manipulator Inverse Kinematic Solutions Based on Vector Formulations and Damped Least-Squares Methods", IEEE Transactions on systems, man and cybernetics, Vol-16 page93 . 6 . Jingguo Wang, "International Journal of Advanced Robotic Systems", Vol- 7, No. 4, pp.1?10, ISSN: 1729?8806.

18. V-REP simulator : http://www.coppeliarobotics.com 19. Robert J. Schilling. "Fundamentals of Robotics, Analysis and control". PHI publications, 2000, ISBN-81-203-1047-0. 20. Mark W. Spong, M. Vidyasagar, "Robot Dynamics and Control", John Wiley & sons (ASIA) pte Ltd, 2004, ISBN-9812-53-078-9. 21. R K Mittal, I J Nagrath, "Robotics and Control". Tata McGraw Hill Publications, 2005, ISBN-0-07-048293-4

22nd & 23rd July 2016, University College of Engineering Kakinada(A) JNTUK Kakinada A.P. India.

309

Suggest Documents