机器人建模相关
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
辛苦原创所得,转载请注明出处
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
相关概念
~ base 基座
~ speed reducer 减速器
~ joint 关节
~ actuator 驱动器
~ link 连杆
~ end effector 末端执行器
~ gripper 夹持器
~ sensor/transducer 传感器
~ Robotic manipulator 机器人的机械手
技术相关
~ 机器人工具箱下载地址和安装方法
http://petercorke.com/wordpress/toolboxes/robotics-toolbox
工具箱的安装:下载.zip文件.将Matlab_Robotic_Toolbox解压后,将rvctools放到matalb中的toolbox文件夹里,利用matlab的工具栏的setpath,将文件夹rvctools设置为matlab的搜索目录,在command window输入“startup_rvc”,安装工具箱。最后,你可以在command window输入“ver”,查看机器人工具箱是否已经安装成功了。command window会列出所有的工具箱,其中Robotics Toolbox已经包含在里面。
安装完后可以使用如下语句进行验证
clear;
clc;
L1 = Link(\’d\’, 0, \’a\’, 0, \’alpha\’, pi/2);
L2 = Link(\’d\’, 0, \’a\’, 0.5, \’alpha\’, 0,\’offset\’,pi/2);
L3 = Link(\’d\’, 0, \’a\’, 0, \’alpha\’, pi/2,\’offset\’,pi/4);
L4 = Link(\’d\’, 1, \’a\’, 0, \’alpha\’, -pi/2);
L5 = Link(\’d\’, 0, \’a\’, 0, \’alpha\’, pi/2);
L6 = Link(\’d\’, 1, \’a\’, 0, \’alpha\’, 0);
b=isrevolute(L1); %Link 类函数
robot=SerialLink([L1,L2,L3,L4,L5,L6]); %SerialLink 类函数
robot.name=\’带球形腕的拟人臂\’;
robot.comment=\’飘零过客\’;
robot.display(); %Link 类函数
theta=[0 0 0 0 0 0];
robot.plot(theta); %SerialLink 类函数
会显示如下图形:
注意:如果运行显示没有定义char类型的Link函数错误,重新输入startup_rvc进行安装
~ solidworks中的模型导入到adams中,所有的约束和联系全部都会消失
~ 在adams中编辑模型时候尽量将螺丝插头什么的去除掉
~ solidWorks和matalb联合仿真(确认系统中只含有一个matlab和一个solidworks软件)(对扩展名是.xml的模型(一代))
1.到以下网站下载对应版本的文件.
http://www.mathworks.com/products/simmechanics/download_smlink.html
2.下载完后,关闭运行中的SOLIDWORKS软件,右键以管理员身份(可以避免之后拒绝访问错误)运行matlab,输入
install_addon(\’D:\matlab+solidWorks\smlink.r2014a.win64.zip\’)
如果显示未定义“char….”是因为没有加入路径,如果出现拒绝访问是因为matlab不是用管理员劝降启动的
3.将matlab设置为服务器:
打开doc命令窗口(右键管理员),输入matlab -regserver,会打开matlab命令行窗口,
可以通过
enableservice(\’AutomationServer\’)
看其是否为1判断其目前是否是服务器版本的matlab(当有多个版本matlab共存时)。如果不是当前版本为服务器版本,可以在此matlab命令中输入enableservice(\’AutomationServer\’,true)来将其转换为服务器版本的matlab(事实上如果不想使用默认的matlab版本服务器,指定启动另一个版本的matalb的服务器是不好使的);
4. 输入smlink_linksw
5.打开solidworks,在solidworks里选择找到插件,此时应该有SimMechanics Link
6.将Solidworks模型另存为.xml形式:在”工具”->SimMechanics Link ->export ->选first导出.xml模型,另存问可以保存为.wrl文件
7.在matlab中运行mech_import,如图
8.Ctrl+D,得仿真模型,但运行只得到简易模型,有人说是因为2012a以后的SimMechanics 2G才支持这种显示效果。现在不知道解决方法
9.使用matlab自带的工具vrbuild2.exe可以打开.wrl文件(可以打开装配体和原件)
10.在simlink窗体下,打开view->library browser添加VR sink
注:
6、将Solidworks模型另存为.xml形式
在另存为中找不到.xml形式的话,可以用Simscope Multibody Link 插件中export命令
7、在matlab中运行将工作目录切换到放置.xml文件的目录下,运行 smimport(\’test.xml\’)
此处根据模型大小导入时间可能会比较长。
~ solidworks 模型导入matlab(matlab目录一定要设定到模型所在目录)
1.针对扩展名为.slx的模型
matlab 自带vrbuilder2.exe,可以用来指定轴的位置
命令窗口输入mechlib,会打开simulink相关模块,然后可以直接打开模型(只能打开装配体)
按ctrl+d后
2.对扩展名是.xml模型(程序要求是1代,实际上是使用2代solikworks模型)(只能打开装配体)
在matlab窗口直接输入smimport(\’SD700E_2.xml\’),这样结果会直接在matlab窗体中显示,感觉作用与mech_import命令相同,只不过这个命令会单独窗体显示