zoukankan      html  css  js  c++  java
  • urdf 学习记录

    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>指的是子参考系相对父参考系的变化。如:

      <joint
        name="joint1"
        type="revolute">
        <origin
          xyz="0 0 0.002"
          rpy="0 0 0" />
        <parent
          link="base_link" />
        <child
          link="link1" />
        <axis
          xyz="0 0 1" />
        <limit
          lower="-1.7"
          upper="1.7"
          effort="0"
          velocity="1.5" />
      </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两个度量)如:

      <link
        name="link1l">
        <visual>
          <origin
            xyz="0 0 0"
            rpy="0 0 0" />
          <geometry>
            <mesh
              filename="package://assemb/meshes/link1l.STL" />
          </geometry>
          <material
            name="">
            <color
              rgba="0.5 0.5 0.5 1" />
          </material>
        </visual>
      </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创建机器人模型

  • 相关阅读:
    iOS 网络优化--页面返回的时候取消网络请求
    iOS 内存管理
    realm数据库使用
    KNN 算法分类电影类型
    sklearn库学习之01
    Python 生成4位验证码图片
    Python——读写Excel文件
    KNN--用于手写数字识别
    Python基础学习-'module' object has no attribute 'urlopen'解决方法
    swift_通知的使用
  • 原文地址:https://www.cnblogs.com/algs/p/7850555.html
Copyright © 2011-2022 走看看