1.URDF(Unified Robot Description Format),统一的机器人描述文件格式。主要用来描述机器人的几何形状,在可视化时(如RViz中)显示出机器人的几何形状。与画图软件(如SolidWorks)所绘制的三维图形有一定区别。

urdf可以自己写xml文件,构建三维模型,也可以从外部导入stl或者dae文件,构建三维模型,从Solidworks导出模型生成urdf文件可参考文献[1,2,3]。

URDF描述机器人形状【4】主要分为两个基本部分:连杆(links)和关节(joints)。

2.在urdf中:

2.1   joint里的<origin rpy>指的是子参考系相对父参考系的变化。如:

  1. <joint
  2. name="joint1"
  3. type="revolute">
  4. <origin
  5. xyz="0 0 0.002"
  6. rpy="0 0 0" />
  7. <parent
  8. link="base_link" />
  9. <child
  10. link="link1" />
  11. <axis
  12. xyz="0 0 1" />
  13. <limit
  14. lower="-1.7"
  15. upper="1.7"
  16. effort="0"
  17. velocity="1.5" />
  18. </joint>

上述代码表达的是link1的参考坐标系相对base_link的参考坐标系的变化。Z轴方向移动2mm,没有坐标轴的相对旋转。

<axis xyz="0 0 1">是关节的旋转轴。

<limit effort="300" velocity="0.1"  lower="-3.14" upper="3.14"/>,effort是关节承受的最大力,lower和upper表明旋转关节的下限和上限范围,velocity是最大关节速度。

单位为米,角度以弧度显示.(在RViz中,X显示为红色,Y显示为绿色,Z显示为蓝色。)

x代表指向前方(forward direction),y在x方向的左边,z轴向上。(符合右手系)。rpy(roll,pitch,yaw),roll参数绕x轴旋转,pitch绕y轴旋转,yaw绕z轴旋转。即:rpy分别代表绕xyz轴的旋转。(《ROS by  EXAMPLE vol 2 indigo》P98)

2.2    link里的<origin rpy>指的是连杆的位置和方位相对参考系的变化。(毕竟确定一个刚体的位姿需要知道位置和方位,故有xyz和rpy两个度量)如:

  1. <link
  2. name="link1l">
  3. <visual>
  4. <origin
  5. xyz="0 0 0"
  6. rpy="0 0 0" />
  7. <geometry>
  8. <mesh
  9. filename="package://assemb/meshes/link1l.STL" />
  10. </geometry>
  11. <material
  12. name="">
  13. <color
  14. rgba="0.5 0.5 0.5 1" />
  15. </material>
  16. </visual>
  17. </link> 

参考文献

1.   怎么用Solidworks把3D模型转为URDF文件格式

2.   solidworks转urdf文件安装

3.  导出urdf文件

4. urdf整体介绍

5.《ROS by  Example vol 2 indigo》P98

6.  urdf教程

7.  ROS機器人描述

8.  使用urdf创建机器人模型

urdf 学习记录的更多相关文章

  1. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  2. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  3. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  4. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  5. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  6. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  7. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  8. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  9. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

随机推荐

  1. 关于Echarts柱状图实现的细节

    echarts柱状图显示数值[1] echarts2:  itemStyle : { normal: {label : {show: true, position: 'top'}}}, echarts ...

  2. c# EPPlus读取Excel里面的时间字段时,1900-01-01转成了1899-12-31

    看到一篇文章:https://bbs.csdn.net/topics/70511379,5楼的回复: 我发现EXCEL有千年虫BUG,把1900年算成闰年了,2月有29天.1900年3月1日以后就没问 ...

  3. 类的练习3——python编程从入门到实践

    9-13 使用OrderedDict: 在练习6-4中,使用一个标准字典来表示词汇表.使用OrderedDict类来重写这个程序,并确认输出的顺序与在字典中添加的键值对的顺序一致. from coll ...

  4. 基于网络拓扑图通过RCMS对网络进行配置

    目录 基于网络拓扑图通过RCMS对网络进行配置 一些基本命令 对网络拓扑图1的简单配置 二层交换机S3 三层交换机 S2 实验结果 对网络拓扑图2的简单配置 NAT.ACL配置公网IP 基于网络拓扑图 ...

  5. 『线段树及扫描线算法 Atlantis』

    入门看这边『线段树 Segment Tree』. 扫描线 扫描线是一种解决一类平面内统计问题的算法,通常会借助线段树来实现,我们通过一道例题来引入这个算法. Atlantis Description ...

  6. Java Base64Utils

    Java Base64Utils /** * <html> * <body> * <P> Copyright 1994 JsonInternational</ ...

  7. Syste.IO命名空间下的流操作类之间的关系

  8. 6、VUE指令

    1.指令的格式 1.1. 指令的概念 指令是指带有v-前缀的特殊属性,指令的职责是当其表达式的值改变时,相应的将某些行为应用到DOM上. 1.2. 指令必须是html的属性 指令只能以带前缀的html ...

  9. java jsp文件报错解决方法

    初次使用java开发 下载好代码之后,用maven编译都是ok的,第二天,打开项目一看,好的web项目的jsp文件提示错误,后面,查了下问题,是tomcat没有配置路径导致的问题,现在大致记录一下解决 ...

  10. layout_gravity 属性和 gravity属性的区别

    安卓中  LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 区别在于: android:gravity 属性是对该view ...