机器人关节(Joint)之间的坐标变换(Transform)
机器人关节(Joint)之间的坐标变换(Transform)
对于人体动画来说,坐标变化是非常简单的,只要在当前关节乘上该节点旋转矩阵和子节点偏移矩阵,就可以完成父节点到子节点的坐标变换。其中变换矩阵(Transform)为M=R·Toffset。但是机器人的坐标变换就没有那么简单了,机器人相比人要复杂,主要体现在两个方面:(1)人的关节是一个球形结构,具有三个自由度;而机器人的关节一般只有一个自由度,所以用机器人模拟人的手腕需要三个关节。(2)人关节之间是由手臂连起来的,在转动的过程中两个关节之间的距离是不会变的;而机器人的关节之间连接情况比较复杂,后面结合图详细说明。
下面介绍一下D-H参数(Denavit-Hartenberg Parameters)。如图1,这是两个旋转关节分别绕Axis i-1和Axis i进行旋转,其位置分别是1和2。这里可以看出,两个关节不是直接连在一起的,而且两个关节之间的连杆的长度也可能是不固定的或者说不是直线。这就不能像人体动画中直接乘上旋转矩阵和偏移矩阵来进行坐标变换。这看起来相当复杂,但是由于D-H参数的出现,这导致坐标变换变得相当直观简单。这里我们结合图1介绍一下D-H参数一共有哪几种,都是什么涵义:
- αi-1,Axis i-1和Axis i之间的夹角。
- ai-1,Axis i-1和Axis i之间的距离。
- θi,ai-1和ai之间的的夹角。(这里ai指得是Axis i和Axis i+1之间的距离)
di,ai-1和ai之间的的距离。(可以理解为ai-1和ai分别与Axis i交点之间的距离,因为ai-1和ai分别与Axis i垂直)
这里再说一下D-H参数的意义,αi-1和ai-1用来描述连杆的性质,而θi和di用来描述连杆之间的连接状态。选取D-H参数是坐标变换的第一步,那么接下来我么做第二步,建立关节的笛卡尔坐标系。建立坐标系首先要确定原点,我们观察可以得到,原点选在Axis i-1和ai-1的交点位置是最好的。这样我们z轴就可以沿着Axis i-1,而x轴也可以沿着ai-1。然后确定y轴,其肯定等于x轴和z轴的叉乘,也就是y轴的位置已经是确定了,方向可以根据右手坐标系确定。这样我们第二步也做完了。
这里提一点,αi-1可以看做两个z轴的夹角,ai-1可以看做两个z轴的距离,θi可以看做两个x轴的夹角,di可以看座是两个x轴的距离。
最后一步就是进行坐标变换了。坐标变换主要分为4个环节:
- 将Axis i-1绕ai-1轴(x轴)旋转αi-1。(因为ai-1分别垂直于Axis i-1和Axis i)
- 将Axis i-1沿ai-1轴(x轴)方向平移ai-1。
- 将Axis i-1绕Axis i轴(z轴)旋转θi。(因为Axis i分别垂直于ai-1和ai)
- 将Axis i-1沿Axis i轴(z轴)方向平移di。
这样就将Axis i-1转换成了Axis i。这些D-H参数是不是设计的非常巧妙?我们根据这四个变换可以得到Axis i-1转换成Axis i的旋转矩阵M。具体公式如下:
机器人关节(Joint)之间的坐标变换(Transform)相关推荐
- 基于气动人工肌肉的双足机器人关节设计
介绍了一种由气动人工肌肉构建的双足机器人关节,该关节利用气动人工肌肉的柔性特性,可以有效控制双足机器人快速行走或跑步时的落地脚冲击问题. 详细给出了气动人工肌肉的工作原理以及由其构成的关节系统的硬件架 ...
- c++运动学正反解 ros_朔州智能【机器人关节臂】哪家强
朔州智能[机器人关节臂]哪家强,郑州思想车间智能科技有限公司,成立于2013年,是一家立足于中原地区的专业工业机器人集成应用服务商,专注于机器人焊接.搬运.码垛.打磨.喷涂等应用场景,为客户提供单个工 ...
- 动作捕捉系统用于机器人关节位移与几何参数标定
机器人在工业领域和日常生活中起到重要的作用,要完成的任务也越来越复杂,这就需要机器人动作执行时足够精准.机器人的绝对精度是评价机器人性能的一项重要指标. 要提高机器人的绝对精度,需要进行高精度标定.标 ...
- 六自由度机器人关节坐标系变换及机器人工具TCP
在Jungle的上一篇博客里简单介绍了机器人位姿描述与坐标变换的基本知识(矩阵)其中关键点之一是变换算子的左乘和右乘: 变换算子左乘:表示该变换是相对固定坐标系变换 变换算子右乘:表示该变换是相对动的 ...
- 机器人关节模组的总结归纳
一.关节模组是什么? 作为机器人重要零部件,关节模组能实现快速生产.快速组建机器人,能够省掉上百种机械电子器件选型.设计.采购.组装的人力和时间成本. 二.关节模组有什么? 零差云控关节模组八大核心 ...
- 五次多项式对2R平面机器人关节的轨迹控制
五次多项式对2R平面机器人关节的轨迹控制 1.2R平面机器人及控制条件 2.规划函数 3.确定规划时间tf 4.求解参数 5.绘制关节曲线和机器人运动状态图 6.代码提取 1.2R平面机器人及控制条件 ...
- KUKA Simpro 3.0.3-第5弹(机器人关节轴活动范围监测)
Robot轴关节活动范围监测 方法一: a.确保机器人在离线轨迹的的初始位置,并且尽可能确保第一条指令为PTP: b.确保第一条指令下的机器人关节姿态为默认状态,如下图所示: b1.点击My_Job的 ...
- 机器人关节角qq评估关节角速度qv---高增益观测器
机器人关节角qq评估关节角速度qv---高增益观测器 算法 Python代码 在机器人控制过程中,我们经常会用到关节角速度qv,甚至用到关节角加速度qa,但是机械臂往往只能采集关节角度,所以需要一种评 ...
- 【机器人关节空间与笛卡尔空间示教】
机器人关节空间与笛卡尔空间示教演示 在RobtSim机器人快速仿真软件中,对关节空间和笛卡尔空间进行示教演示.关节空间中机器人运动对末端无法有效控制,笛卡尔空间对末端可有效控制,但是对关节空间无法有效 ...
最新文章
- php access token缓存,微信小程序PHP 生成access_token存入缓存
- 放弃手工标记数据吧!斯坦福大学开源弱监督框架
- android touch screen keyboard input移植记录
- Java基础day16
- 2019ICPC(银川) - Function!(数论+数学分块)
- 理解Java操作数据库原理
- python中的文件怎么处理_python 中有关文件处理
- linux系统中如何安装qwt,在Linux上部署Qt及Qwt
- NBA球星杜兰特之前投资Coinbse目前已获利达61.5倍
- PHP模板引擎Smarty概述
- 《Linux4.0设备驱动开发详解》笔记--第五章:Linux文件系统与设备文件
- 美团遭遇反垄断调查;微信利用社交垄断封杀西瓜视频;Qt 6 for Python发布|极客头条...
- 简单实现x的n次方pta_Day12 :数值的整数次方
- Python查看文章中每个单词的出现频率
- CentOS 6.6 HAProxy安装配置指南
- linux怎么运行idl,科学网—在Scientific linux 7上安装idl83 - 姜小川的博文
- python 股票收益数据统计(柱状图)
- msdn原版系统和原版office
- NODE_多文件上传
- 中科大+快手出品 CIRS: Bursting Filter Bubbles by Counterfactual Interactive Recommender System 代码解析
热门文章
- Poincaré on Mathematical Creation
- 一个即将30岁Java程序员的自诉,在内卷的大环境之下迷惘的大龄程序员该如何破局?
- MATLAB秦九韶多项式求值算法的原理和迭代法求解的近似数值方法。
- 交公粮了:我经常逛的技术网站
- Flink 流批一体一站式平台 StreamX 来袭
- php date class,DateFormat PHP Class (php 处置日期)
- 跳马周游c++_NOIP信息学奥赛C++视频教程
- 【java学习】学生管理系统项目实现(四)
- 工程伦理(2021春)第二章课后习题答案
- CF1133touch驱动移植