Robo Analyzer User Manual
Robo Analyzer User Manual
Robo Analyzer User Manual
UserManual
FreelyAvailableforAcademicUse!!!
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
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.
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.
Figure3:UserInterfaceof3DModelView
Figure4:UserInterfaceofGraphPlotView 3
RoboAnalyzerUserManual
http://www.roboanalyzer.com
Figure5:UserInterfaceofInverseKinematicsWindow
2.4.
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.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.
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.
RoboAnalyzerUserManual 2. 3. 4. 5.
http://www.roboanalyzer.com
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.
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.
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.
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
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)
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.
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:[email protected] Website:http://www.roboanalyzer.com