2009年第28卷12月第12期机械科学与技术MechanicalScienceandTechnologyforAerospaceEngineeringDecemberVol.282009No.12收稿日期:20080804基金项目:黑龙江省教育厅科技计划项目(10541055)资助作者简介:赵燕江(1979-),博士研究生,研究方向为多指灵巧手,医疗机器人,zhaoyj@hrbust.edu.cn;张永德(联系人),教授,博士,zhangyd@hrbust.edu.cn赵燕江基于Matlab的机器人工作空间求解方法赵燕江,张永德,姜金刚,邵俊鹏(哈尔滨理工大学机械动力工程学院,哈尔滨150080)摘要:在对现有的机器人工作空间求解方法对比研究的基础上,提出了一种新的基于Matlab的机器人工作空间求解方法———仿真法,利用Matlab/Simulink中的SimMechanics工具箱,根据机器人的结构进行建模,利用仿真的形式跟踪手臂末端轨迹,并记录其末端点到达的位置坐标,绘制和计算出机器人工作空间。此求解方法克服了传统方法中对机器人运动学正、反解求解的弊端,也克服了利用极限理论编程运算的复杂。笔者将仿真法与蒙特卡洛法进行比较,结果证明仿真法得到的工作空间,不论是求解速度、图形效果还是数值计算结果均优于蒙特卡洛法。关键词:灵巧手;工作空间;Matlab;仿真法;蒙特卡洛法中图分类号:TP242文献标识码:A文章编号:1003-8728(2009)12-1657-05AMethodforSolvingRobotWorkspaceBasedonMatlabZhaoYanjiang,ZhangYongde,JiangJin′gang,ShaoJunpeng(SchoolofMechanicalandPowerEngineering,HarbinUniversityofScienceandTechnology,Harbin150080)Abstract:Onthebasisofanalysisandcomparisonofexistingmethodsforsolvingroboticworkspace,weputfor-wardanewmethodnamedsimulationmethodbasedonMatlabsoftware.ThismethodutilizestheSimMechanicstoolboxinSimulinkinMatlabsoftwaretoestablishstructuralmodel,andrecordsthecoordinatesofthearmtipinsimulation.Then,theroboticworkspaceisdrawnandcalculated.Thismethodavoidspositiveandinversekinemat-icssolutions,andovercomesthecomplexprogrambasedonlimitationtheory.WealsocomparethesimulationmethodwiththeMonte-Carlomethod.ResultshowsthatthesimulationmethodissuperiortotheMonte-Carlometh-odnotonlyinslovingspeed,butalsoinfigureeffectandnumericalcalculationoftheworkspce.Inaddition,thismethodispractical,anditintegratescomputationandsimulation.Keywords:dexteroushand;workspace;Matlab;simulationmethod;Monte-Carlomethod机器人工作空间的大小代表了机器人的活动范围,它是衡量机器人工作能力的一个重要运动学指标[1]。在机器人的优化设计、控制及应用过程中,工作空间都是一个需要考虑的重要问题。机器人的工作空间定义为,不同关节运动所达到的末端执行器的所有位置的集合,该集合称为可达工作空间[2]。目前,机器人工作空间的求解方法主要有解析法、图解法以及数值法[2,3]。解析法是通过多次包络来确定工作空间边界,但其直观性不强,十分繁琐,一般只适用于关节数少于3个的机器人[4,5]。图解法求解的工作空间边界,得到的是工作空间的各类剖截面或者剖截线,这种方法直观性强,但是也受到自由度数的限制,当关节数较多时必须进行分组处理[6,7]。数值法是以极值理论和优化方法为基础的,计算机器人工作空间边界曲面上的特征点,构成边界曲线,再构成边界曲面。具有代表性的成果有搜索法、迭代法和蒙特卡洛法[8~10]。另外,文献[11]中提出的方法也应属在数值法之列。但此方法的运算量非常大,还需要进行运动学正解运算。笔者介绍一种仿真法求解机器人工作空间,不但可以省去运动学运算,还可以提高运算速度,数据更合理,图像效果更好。机械科学与技术第28卷1仿真法的基本原理和方法利用Matlab/Simulink中的SimMechanics工具箱,根据机器人的机构简图,对机器人结构进行建模,进行运动仿真。跟踪仿真过程中的手臂末端轨迹,同时记录其末端点到达的位置坐标,输出到Matlab主界面的Workspace中。采集完数据后,返回Matlab主界面,进行后续的数据处理,如绘制机器人工作空间的三维图形等。机器人工...