ROS URDF模型解析成KDL Tree

  • 简介
  • Kinematic Tree
  • KDL parser
    • building
    • usage from a URDF model
    • usage in C++
  • 后续

简介

​ KDL(Kinematics and Dynamics Library)开发了一个独立于应用程序的框架,用于对运动链进行建模和计算,例如机器人、生物力学人体模型、计算机动画人物、机床等。它为几何对象(点、框架)提供类库,线,…),各种系列的运动链(串行,人形,平行,移动,…),以及它们的运动规范和插值。

Kinematic Tree

​ KDL(Kinematics and Dynamics Library)中定义了一个树来代表机器人的运动学和动力学参数,ROS中的kdl_parser提供了工具能将机器人描述文件URDF转换为KDL tree。

Kinematic Tree是一种链或者树形结构,使用图论中的术语定义了机构和运动学结构:

  • A closed-loop mechanism is a graph, 闭链机构是一幅图
  • an open-loop mechanism is a tree, 开链机构是一棵树
  • an unbranched tree is a chain. 没有分支的树是一个运动链

​ KDL Chain和KDL Tree都由最基本的KDL Segments元素串接而成,Segment可以理解为机构运动链上的一个运动部件。如下图所示KDL Segment包含关节KDL Joint 以及部件的质量/惯性属性KDL RigidBodyInertia,并且定义了一个参考坐标系Freference和末端坐标系Ftip。

​ 末端到关节坐标系的转换由Ttip描述。在一个运动链或树中,子部件会被添加到父部件的末端,因此上一个部件的Ftip就是下一个部件的参考坐标系Freference (tip frame of parent = reference frame of the child). 通常Fjoint和Freference是重合的,但是也可以存在偏移。


KDL中的定义与URDF中的定义基本是一样的:

KDL parser

​ KDL parser是ROS的一个功能包,提供了一种构建完整 KDL 树对象的简单方法。 从机器人的 URDF xml 描述 或 Collada xml 描述开始,kdl 解析器会自动生成 KDL 树。

building

rosdep install kdl_parserrosmake kdl_parser

usage from a URDF model

​ 将KDL parser作为依赖项添加到您的 package.xml

  <package>...<build_depend package="kdl_parser" />...<run_depend package="kdl_parser" />...</package>

usage in C++

#include <kdl_parser/kdl_parser.hpp>KDL::Tree my_tree;
urdf::Model my_model;
if (!my_model.initXml(....)){
ROS_ERROR("Failed to parse urdf robot model");return false;
}
if (!kdl_parser::treeFromUrdfModel(my_model, my_tree)){ROS_ERROR("Failed to construct kdl tree");return false;}

后续

 喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!

ROS URDF模型解析成KDL Tree相关推荐

  1. ROS | URDF模型—阿克曼(Ackermann)四轮小车模型

    ROS | URDF模型-阿克曼(Ackermann)四轮小车模型 1. 模型描述 2. URDF文件 3. link元素 4. link属性详解 5. joint元素 6. joint属性详解 7. ...

  2. ROS机器人建模与仿真(一)——URDF模型的建立和改进

    申明:本系列参考古月大神教材<ROS机器人开发实践>第六章内容,结合自己学习过程和遇到的问题逐一分解,争取能够吃透!欢迎大家一起讨论! URDF 是 ROS 中机器人模型的描述格式,包含对 ...

  3. 在ROS中创建并优化机器人URDF模型

    创建URDF模型 1.创建机器人描述功能包,在工作空间的src文件夹中打开终端,输入以下命令: $ catkin_create_pkg mbot_description urdf xacro 2.在m ...

  4. Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

    文章目录 从零部署之创建URDF模型 0 创建新工作空间 1 创建URDF模型测试功能包 2 dofbot机械臂的urdf模型 3 meshes 4 launch文件 5 编译并运行 6 运行效果 7 ...

  5. ROS之URDF模型

    1.所有的URDF/Xacro文件都会以以下两个标签作为开头.所有在< robot>标签后的内容都是在定义我们的组件,而整个文件会以< /robot>标签结束(注:robot中 ...

  6. ROS学习笔记(十三)—— URDF 模型文件学习

    一. URDF简介 1.1 初步认识URDF RDF全称(United Robotics Description Format)统一机器人描述格式,是一个XML语法框架下用来描述机器人的语言格式,UR ...

  7. ROS 总结(二):创建URDF模型

    在机器人仿真中,URDF模型包含了机器人运动学和动力学的所有特征,可以自动进行运动学和动力学建模. 1.生成mesh文件 mesh文件一把分两种: visual 一般是 <.dae> 格式 ...

  8. ros melodic控制真实机械臂之urdf模型生成

    目录 一.solidworks及sw_urdf_repoter插件安装 二.在solidworks中为机械臂模型加入坐标系 三.用插件导出urdf模型 四.在ros中验证导出的模型是否成功 如果需要控 ...

  9. ROS机器人Diego 1#制作(十六)创建机器人的urdf模型描述文件

    更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品 由于后续要做机械臂的控制,会用到机器人的urdf描述文件,moveit需要根据urdf中的数据进行机械臂的路径规划,这里介绍一 ...

  10. solidworks模型利用sw2urdf生成urdf模型导入CoppeliaSim(v-rep)步骤及相关错误(以及导入到ros的Rviz中用moveit进行路径规划)

    报错: ERROR: file couldn't be opened. ERROR: there is no robot in the file. 注意urdf模型文件要放在全英文路径下即可. 第一步 ...

最新文章

  1. Dijkstra(迪杰斯特拉)算法简介
  2. openpyxl 操作 Excel表的格基本用法
  3. 乌镇现场·帅初:公有链的未来——链上校验,链下计算
  4. SharePoint 2010 各个常用级别对象的获取
  5. Hadoop+Hbase分布式集群架构“完全篇”
  6. [BC]Four Inages Strategy(三维空间判断正方形)
  7. firewall-cmd
  8. 最完整的MySQL规范
  9. 阿里云加码 2000 亿,再“出征”新基建!
  10. java(17) - 增强for循环、装箱拆箱、可变参数
  11. 【数论思维题】Enlarge GCD【Codeforces Round #511 (Div. 2)】
  12. matlab运行C程序
  13. 如何下载朝阳区卫星地图高清版大图
  14. Vue.js路由重定向
  15. word添加脚注后正文跑到下一页
  16. Android 键盘快捷键
  17. Java学习笔记 第一天
  18. 称重管理系统服务器不通,称重管理系统使用方法(二)
  19. 火狐开发----Web开发者工具
  20. C语言中的int类型的范围是由什么决定的

热门文章

  1. 原生JS的ajax,原生ajax传递参数格式,ajax参数传递,ajax传递参数
  2. qt多级菜单_Qt高仿电脑管家界面(二):点击按钮弹出菜单
  3. ftp服务器有哪些作用,FTP是什么意思 FTP服务器有什么作用及功能
  4. Python/Matplotlib实现雨点图动画
  5. Error in acquiring locks: Locks on the underlying objects cannot be acquired. retry after some time
  6. 激光传感器构建栅格地图
  7. manjaro yay安装企业微信
  8. 如何修复cdn服务器异常,cdn服务器连接异常怎么解决
  9. 视频压缩大小怎么做?压缩视频用这3个工具准没错!
  10. 台式计算机无法连接网络,台式电脑无法连接无线网络怎么办