sw机械臂模型导出urdf示例
机械设计的机械臂模型整体比较复杂,需要按自由度进行简化,将装配体分解为每个自由度一个装配体,在不改变大体外形尺寸的前提下尽量减小零部件复杂程度,最好每个自由度是一个零件。
如果对仿真结果要求较高,分解完自由度后还需要赋予每个零件材质、质量,记录下每个自由度的质量、转动惯量,转动惯量需要先建立参考坐标系,记录关于参考坐标系的转动惯量。
1.初始模型摆动到零点位置
零点位置根据控制算法要求定义或自行定义,一般是机器人开机默认位置;
2.重新进行模型分组,并更改文件名
将机器人每个自由度重新分割合并为单个装配体,改名是为了方便后续工作中辨认;
3.简化特征
a.生成的urdf文件夹中,三维模型以stl格式保存,零件外形特征越简单,stl文件越小,运行越快;此外,ros rviz有最大点线面要求;
b.针对装配体,将螺钉等对本关节质量分布、外观影响不大的零件删除,针对零件,利用拉伸、旋转等特征,简化内部特征并合并实体,尽量达到最简几何体;
c.调整过程中,通过更改零件材质、特征等,保证每个零件的质量和质量分布基本不变,且不可有自定义质量的文件;
4.在装配体中添加每个link的参考坐标系及旋转轴
a.直接在装配体中绘制参考草图,用于生成坐标系及坐标轴,添加每个joint的参考轴;(注:在零件中添加坐标系和参考轴容易出错);
b.常规urdf对坐标系方向、共用坐标系等没有要求,部分控制算法要求每个joint有独立坐标系,且旋转轴沿Z轴方向;
c.个人建议:每个joint建立独立坐标系,选取某确定轴(例如Z)与关节轴重合,方向按电机输出端正向,这样步骤5中旋转轴方向可统一,方便检查;
5.sw工具→file→导出urdf
a.逐个设置关节和连杆参数,包括关节上下限位、扭矩、速度、力矩、摩擦力、阻尼等等,摩擦力不设置,仿真会抖动,阻尼非必须;
b.生成urdf文件夹,文件名最好无后缀,方便之后使用;
c.重新生成urdf文件时,各参数需要重新检查,例如Axis数据可能恢复默认,各link的质量参数可能归零;
6.修改urdf文件//按需操作
a.launch–display.launch文件内,gui False改为True;
b.urdf文件夹重命名robots(最新版好像可以不改);
c.package.xml中添加邮箱,邮箱格式正确即可;