You are on page 1of 20

RoboAnalyzer

UserManual

FreelyAvailableforAcademicUse!!!

March2012 DevelopedbyProfS.K.Saha&Team MechatronicsLab,MechanicalEngineeringDepartment,IITDelhi Courtesy:CDCell,QIP,IITDelhi http://www.roboanalyzer.com

PREFACE
Robotics is a field related to the design, development, control and application of robots in industry, education, research, entertainment, medical applications etc. It has been progressing at a faster rate and hence it finds its place in the curriculum of the various universities and is in great demand. Since the mathematics involved in the study of robotics, e.g., kinematics and dynamics is initially difficult to understandby students and same is thecase by a teacher to convey the essence of mathematics of robotics to the students. This is due to fact that, for example, forward and inverse kinematics involve 3D transformations, solutions to polynomial equations etc and inverseandforwarddynamicsinvolvessolutionofdifferentialandalgebraicequations.Alsoithasbeendifficultfor students to learn because of limited ability to perceive and visualize the concepts appropriately at the time of teaching. Without seeing a real robot it is very difficult to comprehend its motion in threedimensional Cartesian space.Hence,thereexistsagreatdemandforteachingaidsthathelpstudentstovisualizerobotsmovementinthe formof3Danimations. Theworkofcombiningtherobotanalysesalgorithmsintheformofsoftwarestartedin1996inthenameofRIDIM (Recursive Inverse Dynamics for Industrial Manipulator). But it had only analysis part with plot facilities. The visualization of the physical system was difficult. As a result, it was decided to come up with software which can makeuseranalyzeaserialmanipulatortobeginwithforitsvisualizationthrough3DCADmodels,andthisresulted inthedevelopmentofRoboAnalyzersince2009. RoboAnalyzer aims to ease out the above mentioned difficulties for students and teachers. RoboAnalyzer, a 3D model based software, can be used to teach robotics subjects to undergraduate and postgraduate courses in engineering colleges in India and elsewhere. It can be used to learn DH parameters, kinematics and dynamics of serial robots and allows 3D animation and graph plots as output. In essence learn/teach the physics of robotics withthejoyofRoboAnalyzeranimationsbeforeattemptingtolearnthemathematicsofrobots. RoboAnalyzer is developed in the Mechatronics Lab, Department of Mechanical Engineering at IIT Delhi, India undertheguidanceofProf.S.K.Saha.Thefollowingstudentsaregivenduecreditsinitsdevelopment. S. Goel and S. Ramakrishnan (199697) : Algorithm development for Recursive Inverse Dynamics for IndustrialManipulators(RIDIM) Patle(200001):WindowsinterfaceforRIDIM RajatJain(200910):AddedGraphplotstoRIDIM SurilVShah(200711):RecursiveDynamicsSimulator(ReDySim)Algorithm Rajeevlochana C.G. (2009 present) : User Interface, 3D Modeling of robot, Forward Kinematics, Animation,Graphplot,DHVisualize AmitJain(201011):C#implementationofDeNOCbasedInverseandForwardDynamics(ReDySim) JyotiBahuguna(201112):InverseKinematicsModuleandMotionPlanning

RoboAnalyzerUserManual

http://www.roboanalyzer.com

CONTENTS
1. GETTINGSTARTED...................................................................................................................................... 1 1.1. 1.2. MINIMUMSYSTEMREQUIREMENT......................................................................................................................... 1 INSTALLATION.................................................................................................................................................... 1

2. INTRODUCTIONTOROBOANALYZER........................................................................................................... 1 2.1. 2.2. 2.3. 2.4. MODELAROBOT................................................................................................................................................ 1 FEATURESOFROBOANALYZER............................................................................................................................... 2 OVERVIEWOFUSERINTERFACE............................................................................................................................. 3 3DMODELVIEWOPTIONS.................................................................................................................................. 4

3. DENAVITHARTENBERGPARAMETERSVISUALIZATION................................................................................ 5 3.1. 3.2. 3.3. VISUALIZEDH.................................................................................................................................................... 5 LINKCONFIGURATION .......................................................................................................................................... 5 ENDEFFECTORCONFIGURATION........................................................................................................................... 6

4. FORWARDKINEMATICS.............................................................................................................................. 6 4.1. 4.2. ANIMATIONOFFKIN........................................................................................................................................... 7 GRAPHPLOTSOFFKIN........................................................................................................................................ 7

5. INVERSEKINEMATICS................................................................................................................................. 9 5.1. SOLUTIONSOFIKIN............................................................................................................................................. 9

6. INVERSEDYNAMICS................................................................................................................................... 10 6.1. 6.2. SOLUTIONOFIDYN........................................................................................................................................... 10 GRAPHPLOTSOFIDYN...................................................................................................................................... 12

7. FORWARDDYNAMICS............................................................................................................................... 12 7.1. 7.2. SOLUTIONOFFDYN.......................................................................................................................................... 12 GRAPHPLOTSOFFDYN..................................................................................................................................... 13

8. MOTIONPLANNING................................................................................................................................... 13 8.1. SOLUTIONOFMOTIONPLANNING.................................................................................................................. 13

9. GRAPHPLOTOPTIONS............................................................................................................................... 14 10. REFERENCES .......................................................................................................................................... 14

RoboAnalyzerUserManual

http://www.roboanalyzer.com

1. GETTING STARTED
This section helps you get started with the installation of RoboAnalyzer, a 3D Model Based Robotics LearningSystem.

1.1.

MINIMUM SYSTEM REQUIREMENT


Processor:Atleast1.5GHz RAM:Atleast512MB OperatingSystem:WindowsXP,WindowsVista,Windows7 Dependencies:Microsoft.Net2.0framework


1.2.

INSTALLATION

RoboAnalyzer can be installed on a computer by downloading it from our website. The latest version of thesoftware(version5)isavailableforfreeathttp://www.roboanalyzer.com.Thefollowingarethesteps toinstallRoboAnalyzer: Step1:Visithttp://www.roboanalyzer.com Step2:ClickonDownloadstab Step3:ClickonRoboAnalyzerV5(orlatestversion)todownloada.zipfile Step4:Apopupwindowwillappear.SelectthefolderwherethefilehastobesavedandclickonSave Step5:Afterdownloadingiscomplete,unzipRoboAnalyzer5.ziptoanyfolderonyourcomputer.Open thefolderRoboAnalyzer5 Step6:DoubleclickonRoboAnalyzer5.exetostartRoboAnalyzer.

2. INTRODUCTION TO ROBOANALYZER
RoboAnalyzer is a 3D Model Based Robotics Learning Software. It has been developed to help the faculty to teach and students to learn the concepts of Robotics. It also acts as a supporting material for the contentsonvariousroboticstopicsintextbookentitledIntroductiontoRobotics,S.K.Saha,2008[1].

2.1.

MODEL A ROBOT

Double click on RoboAnalyzer4.exe starts RoboAnalyzer. By default, it shows a robot model (2R). Users canselectarobotfromtheoptionsgivenattheleftbottomcorneroftheapplicationasshowninFigure1. After selecting a robot model, users can modify the DenavitHartenberg (DH) parameters shown in the tabular form and the robot model updates automatically. A few industrial robots are also listed, when selectedshowsa3DCADmodeloftherobot(Figure2).

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure1:SelectRobotModelandRedefineDHParameters

Figure2:3DCADModelofIndustrialRobot

2.2.

FEATURES OF ROBOANALYZER

RoboAnalyzer can be used to perform kinematic and dynamic analyses of serial chain robots/manipulators.ThefollowingarethemainfeaturesofRoboAnalyzer: DHParameterVisualization(Section3) ForwardKinematics(Section4) InverseKinematics(Section5) InverseDynamics(Section6) ForwardDynamics(Section7) MotionPlanning(Section8) 2

RoboAnalyzerUserManual

http://www.roboanalyzer.com

2.3.

OVERVIEW OF USER INTERFACE

RoboAnalyzerseasytouseGraphicalUserInterface(GUI)consistsofthefollowingasshowninFigures3, 4and5. 1. RobotSelectionandDHParameterssection 2. VisualizeDHsection 3. 3DModelBrowser 4. 3DModelView 5. GraphPlotTreeView 6. GraphPlotWindow 7. InverseKinematicsWindow

Figure3:UserInterfaceof3DModelView

Figure4:UserInterfaceofGraphPlotView 3

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure5:UserInterfaceofInverseKinematicsWindow

2.4.

3D MODEL VIEW OPTIONS

RoboAnalyzer lets the user to zoom, rotate and pan the 3D model to have better visualization. These can beusedasexplainedbelowandshowninFigure6. Zoom: Place the mouse cursor anywhere on 3D Model View and use the mousewheel to zoom inandzoomout.ItcanalsobedonebyclickingonZoomInandZoomOutbuttons. Rotate: Click on Rotate button to make it active. Place the mouse cursor anywhere on the 3D ModelViewandrotatethemodelbyclickingonleftmousebuttonanddraggingthemouse. Pan: Click on Pan button to make it active. Place the mouse cursor anywhere on the 3D Model Viewandtranslatethemodelbyclickingonleftmousebuttonanddraggingthemouse. StandardViews:Selectanystandardviewfromthedropdownandthemodelviewupdates.

Figure6:3DModelViewOptions

RoboAnalyzerUserManual

http://www.roboanalyzer.com

3. DENAVIT HARTENBERG PARAMETERS VISUALIZATION


The architecture of industrial robots is usually represented by DenavitHartenberg (DH) parameters. It forms the basis for performing kinematic and dynamic analyses of robots. A set of four DH parameters is used to represent the position and orientation of a robotlink with respect to its previous link. More detailsonDHparameterscanbefoundinChapter4of[1].

3.1.

VISUALIZE DH

After selecting a robot and redefining DH parameters as explained in Section 2.1, users can visualize each DHparameterbyselectingajointandthenselectingaDHparametertypeasshowninFigure7.Onceitis done, the corresponding DH parameter is highlighted in the DH parameter input table and a transformation frame moves in the 3D robot model. It shows the two coordinate frames corresponding totheselectedDHparameter. Users can click on Together button and a coordinate frame moves covering all the four DH parameters correspondingtotheselectedjoint. UserscanclickonBaseFrame to EndEffectorbuttontoseeacoordinateframemovingfrombaseframe toendeffectorframecoveringalltheDHparametersoftherobotmodel.

Figure7:VisualizeDHParameters

3.2.

LINK CONFIGURATION

The configuration/ transformation of a coordinate frame (DH frame) attached on each robotlink can be determined with respect to a frame attached to its previous link or base frame by following the steps belowandasshowninFigure8. Selectajoint.IfJoint1isselected,itcorrespondstocoordinateframeattachedonLink1. Select Previous Link Frame or Base Frame as the reference frame with respect to which the transformationneedstobedetermined. ClickonUpdatebuttonand4X4transformationmatrixispopulated.Apairofcoordinateframes isshownin3Drobotmodeltohelpuserinvisualizingthetransformation. 5

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure8:LinkConfiguration

3.3.

END EFFECTOR CONFIGURATION

Theendeffectorconfiguration/transformationcanbedeterminedwithrespecttothebaseframedirectly by using the Update button as shown in Figure 9. The 4X4 transformation matrix is populated and a pair ofcoordinateframesisshownin3Drobotmodeltohelpuserinvisualizingthetransformation.

Figure9:EndEffectorConfiguration

4. FORWARD KINEMATICS
In the forward or direct kinematics, the joint positions, i.e. the angles of the revolute joints and the displacements of the prismatic joints, are prescribed. The task is to find the endeffectors configuration/transformation consisting of its position and orientation. More details can be found in Chapter 6 of [1]. After selecting a robot and redefining DH parameters as explained in Section 2.1, forwardkinematics(FKin)isperformedwhichupdatesthe3Dmodel. 6

RoboAnalyzerUserManual

http://www.roboanalyzer.com

4.1.

ANIMATION OF FKIN

To perform animation of the robot motion between two sets of initial and final values of joint variables, the following are the steps as shown in Figures 10 and 11. The trajectory of joint values, joint velocities and joint accelerations follow Cycloidal trajectory mentioned in Chapter 8 of [1]. The trajectory can be changedasexplainedinSection8. 1. Settheinitialandfinalvaluesofjointvariables 2. SetTimeDurationandNumberofSteps 3. ClickonFKinbutton 4. ClickonPlaybuttontoseetheanimation 5. Theendeffectortracecanbeviewed

Figure10:InitialPositionofallJoints

Figure11:FinalPositionofallJointsandTraceofEndEffector

4.2.

GRAPH PLOTS OF FKIN

Toviewthegraphplotsofaforwardkinematics(animation)analysis,thefollowingarethestepsasshown inFigures12,13and14. 1. ClickonGraphtab 7

RoboAnalyzerUserManual 2. 3. 4. 5.

http://www.roboanalyzer.com

Clickon+nexttothelinkofwhichtheplotsaretobeviewed ClickonboxtoplotgraphofaparticularnodetoseeX,YandZplots Clickon+nexttothejointofwhichtheplotsaretobeviewed Clickonboxtoplotgraphofaparticularnodetoseejointvalue(jointangleforrevolutejointand jointoffsetforprismaticjoints),jointvelocityandjointacceleration

Figure12:GraphPlotsofFKinData

Figure13:GraphPlotsofPositionofCoordinateFrameattachedtoLink3

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure14:GraphPlotsofInputTrajectorytoJoint3(CycloidalTrajectory) MoredetailsandinformationontheGraphPlotoptionscanbefoundinSection9.

5. INVERSE KINEMATICS
Inverse Kinematics (IKin) consists of determination of the joint variables corresponding to a given end effectors orientationand position. The solution tothis problem is of fundamental importance in order to transform the motion specifications assigned to the endeffector in the operational space into the corresponding joint space motions. There may be multiple or no results possible for a given endeffector positionandorientation.MoredetailscanbefoundinChapter6of[1].

5.1.

SOLUTIONS OF IKIN

To select a robot and view the solutions of its Inverse Kinematics, the following are the steps as shown in Figures15and16.Infuture,anIKinsolutioncanbeselectedand3Dmodelwillbeupdatedaccordingly. 1. ClickonIKinbutton.Itshowsaseparatewindow(Figure16) 2. SelectaRobot 3. EnterInputparameters 4. ClickonIKinbutton 5. Viewthepossiblesolutions 6. ClickonShowbutton.Itshowstheselectedsolutionin3DModelwindow.Toseethisgobacktomain windowbyminimizingIKinwindow 7. Selectanyoftheobtainedsolutionasinitialandfinalsolution 8. ClickonOK.ThisstepreplacestheinitialandfinaljointvaluesinDHParametertable (Mainwindow)byvaluesselectedinstep7 9. ClickonFKinbuttontoviewanimationi.e.howrobotmovesfromonesolutiontoanothersolution selectedinstep7

Figure15:InverseKinematicsButton 9

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure16:InverseKinematicsof3RArticulatedRobot

6. INVERSE DYNAMICS
Inverse Dynamics (IDyn) is a dynamics problem, where the robot geometric, inertial parameters, and the jointmotionsi.eitspositions,velocitiesandaccelerationaregivenandthecorrespondingjointtorquesor forces are calculated. In RoboAnalyzer, the dynamics solver is based on ReDySim algorithm, which uses Decoupled Natural Orthogonal Complement (DeNOC) Matrices based recursive formulation. More details onReDySimcanbefoundat[2].MoredetailsonInverseDynamicsandDeNOCcanbefoundinChapters8 and9respectivelyof[1].

6.1.

SOLUTION OF IDYN

Select a robot and redefine DH parameters as explained in Section 2.1, to solve for IDyn of the robot between two sets of initial and final values of joint variables, the following are the steps as shown in Figures 17, 18, and 19. The trajectory of input joint values, joint velocities and joint accelerations follow CycloidaltrajectorymentionedinChapter8of[1].ThetrajectorycanbechangedasexplainedinSection8 1. Settheinitialandfinalvaluesofjointvariables 2. SetTimeDurationandNumberofSteps 3. SetGravity(allvaluesshouldbeinSIunits,i.e.m/s^2) 4. Selecta robotlink to enter its Center of Gravity (CG) location. Itcorresponds to a vector from the CG of the robotlink to the origin of the coordinate frame attached to that link, measured in the referenceofthecoordinateframeattachedtothatlink. 5. Select Mass Properties of a robotlink. Set Mass of each robotlink (values should be in SI units, i.e. kg)andsetInertiatensorofeachrobotlinkwithrespecttothecoordinateframeattachedattheCG of the robotlink and the coordinate frame is parallel to the one attached to the robotlink (values should be in SI units, i.e. kgm^2). These values are to be entered manually and not calculated automaticallyfromtheshapeoftherobotlinks. 6. ClickonFKinbutton(requiredtopopulatetheinputjointtrajectory) 7. ClickonPlaybuttontoseetheanimation(onlyforvisualizationpurpose,notnecessaryforIDyn) 8. ClickonIDynbuttontoperformInverseDynamics 9. lickonGraphtabtoviewthegraph 10

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure17:InverseDynamicsSettings

Figure18:SetCenterofGravityforInverseDynamics

Figure19:SetMassandInertiaPropertiesandPerformInverseDynamics 11

RoboAnalyzerUserManual

http://www.roboanalyzer.com

6.2.

GRAPH PLOTS OF IDYN

Toviewthegraphplotsofjointtorquesandforces,thefollowingarethestepsasshowninFigure20. 1. Clickon+nexttothejointofwhichtheplotsaretobeviewed 2. Clickonboxtoplotgraphofjointtorque/force

Figure20:GraphPlotofJointTorque/Force

MoredetailsandinformationontheGraphPlotoptionscanbefoundinSection9.

7. FORWARD DYNAMICS
ForwardDynamics(FDyn)isadynamicsproblem,wheretherobotgeometric,inertialparameters,andthe joint torques and forces are given and the joint accelerations are calculated. The dynamics solver uses ReDySim[2]asinIDyn.MoredetailsonForwardDynamicscanbefoundinChapters8and9of[1].

7.1.

SOLUTION OF FDYN

SelectarobotandredefineDHparametersasexplainedinSection2.1,tosolveforFDynoftherobotfora giveninitialvaluesofjointvariables,pleaserefertoSection6.1toperformsteps1to5mentionedbelow. Thenperformsteps6,7and8asshowninFigure21. 1. Settheinitialvalueofjointvariables 2. SetTimeDurationandNumberofSteps 3. SetGravity(allvaluesshouldbeinSIunits,i.e.m/s^2) 4. SelectarobotlinktoenteritsCenterofGravity(CG)location.Itcorrespondstoavectorfromthe CG of the robotlink to the origin of the coordinate frame attached to that link, measured in the referenceofthecoordinateframeattachedtothatlink. 5. Select Mass Properties of a robotlink. Set Mass of each robotlink (values should be in SI units, i.e.kg)andsetInertiatensorofeachrobotlinkwithrespecttothecoordinateframeattachedat the CG of the robotlink and the coordinate frame is parallel to the one attached to the robot 12

RoboAnalyzerUserManual

http://www.roboanalyzer.com

6. 7. 8.

link (values should be in SI units, i.e. kgm^2). These values are to be entered manually and not calculatedautomaticallyfromtheshapeoftherobotlinks. Click on FDyn button to perform Forward Dynamics. The robot is simulated for freefall due to theactionofgravity.Infuture,jointtorques/forcescanbesetasinput. ClickonPlaybuttontoseetheanimation ClickonGraphtabtoviewthegraph

Figure21:ForwardDynamics

7.2.

GRAPH PLOTS OF FDYN

To view the graph plots of joint accelerations and position of links, follow the steps mentioned in Section 4.2.

8. MOTION PLANNING
Thegoalofmotionplanningofarobotistogenerateafunctionaccordingtowhicharobotwillmove.This function generation depends on the robot tasks. A robot user typically specifies a number of parameters to describe a pointtopoint or continuouspath task. Trajectory planning algorithm then generates the reference inputs for the control system of the manipulator, so as to be able to execute the motion. The geometric path, the kinematic and dynamic constraints are the inputs of the trajectory planning algorithm, whereas the trajectory of the joints (or of the end effector), expressed as a time sequence of position, velocity and acceleration values, is the output. Trajectory planning can be done either in the joint space, i.e., in terms of joint positions, velocities and accelerations, or Cartesian space (also called operational space) i.e., in terms of the endeffector positions, orientations, and their time derivatives. MoredetailsonMotionPlanningcanbefoundinChapter11of[1].

8.1.

SOLUTION OF MOTION PLANNING

Select a robot and redefine DH parameters as explained in Section 2.1. For a given initial values of joint variables, Motion planning of the selected robot can be performed by selecting particular motion trajectoryasshowninFigure21followedbysteps1to5mentionedinsection4.1. 13

RoboAnalyzerUserManual

http://www.roboanalyzer.com

Figure21:MotionPlanning

9. GRAPH PLOT OPTIONS


TheanalysesresultsforFKin,IDynandFDyncanbeviewedasgraphplotsasexplainedinSections4.2,6.2 and 7.2 respectively. Several options for graph plot functionalites are explained below and as shown in Figure22. 1. Selectagraphplotnode 2. Settheplotcolor,symbolandlinestyle 3. Rightclickongraphtoshowamenu.Hereyoucanusevariousoptionstozoom,printetc 4. ExportDataasCSV:ExportplotdatathatcanbeopenedinaspreadsheetsuchasMSExcel 5. UseMousewheeltozoominandout 6. PressMousewheelanddragthemousetopanaroundthegraph

Figure22:GraphPlotOptions

10. REFERENCES
[1]S.K.Saha,IntroductiontoRobotics,TataMcGrawHill,NewDelhi,2008 [2]ReDySim,websiteaccessedonDecember28,2011,http://www.roboanalyzer.com/redysim.html

14

Survey on RoboAnalyzer
AsurveyonRoboAnalyzerwasconductedoveragroupof20students.Theyusedthesoftwarein"Designof MachinesandMechanism"courseconductedbyIITDelhi.Abriefsummaryofthesurveyisshownbelow.

5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 (D) (B) (A) (F) (C) (E) RoboAnalyzerEvaluationParameters (G) *Rating:05(0=notincludedorcomponentisfarbelowstandard,5=excellent)

(A) EaseofInstallaion (B) (C) (D) (E) (F) (G)


HelpsinLearningRobotics GUI 3DAnimation DHVisualization KinematicandDynamicSimulation GraphPlotfacility

Feedback on RoboAnalyzer
"Easyforbeginners,easytoinstallandrun,thissoftwareletsstudentslearnnewroboticconcepts" "ProvidesquickvalidationandexcellentGUI.Pathtraceishelpful" "EasyvisualizationoftheDHparameters.ExcellentsoftwaretounderstandDHparametersdeeply" "Veryuserfriendly,goodforbeginners" "GoodtovisualizeDHparameters,savestimeinForwardandInverseKinematicanalysisbutinputoutputdata can'tbesaved" "Itisespeciallyaninfotainergivingboosttoroboticanalysisaswellasnottiresome....Ratheritdevelopsinterest toworkagain&again.Trytoimproveitregardinggraphicspointofview,EnhancedUserInterfaceforbetter involvement" "Easytovisualizekinematicsanddynamicanalysis" "Pathtraceishelpful,excellentsoftware"

Togetmoreinsighton
The McGraw-Hill Companies

Robotics

"Comprehensive book that presents a detailed exposition of the concepts using a simple and student friendly approach

Excellent coverage of Robotic applications, Homogeneous transformation and Robotic programming etc.

comprehensive coverage on Drive Systems, Robot Control, and Robot Applications

http://www.mhhe.com/saha/robotics

RoboAnalyzer
3DModelBasedRoboticsLearningSoftware
DevelopedbyProfS.K.Saha&Team (Mr.RajeevlochanaC.G.,Mr.Amit Jain,Mr.Suril V.ShahandMs.Jyoti Bahuguna ) MechatronicsLab,MechanicalEngineeringDepartment,IITDelhi Contact:saha@mech.iitd.ac.in Website:http://www.roboanalyzer.com

You might also like