机器人导论(第四版)学习笔记——第四章

  • 4.1 引言
  • 4.2 解的存在性
  • 4.3 当n<6时操作臂子空间的描述
  • 4.4 代数解法和几何解法
  • 4.5 简化成多项式的代数解法
  • 4.6 三轴相交的Pieper解法
  • 4.7 操作臂逆运动学实例
  • 4.8 标准坐标系
  • 4.9 操作臂求解
  • 4.10 重复精度和精度
  • 4.11 计算问题

4.1 引言

本章研究已知工具坐标系相对于固定坐标系的期望位置和姿态,如何计算一系列满足期望要求的关节角?即操作臂你运动学问题。

4.2 解的存在性

求解操作臂运动学方程是一个非线性问题,即已知N0T^0_NTN0​T,求θ1,θ2...θn\theta_1, \theta_2...\theta_nθ1​,θ2​...θn​。
例:对于PUMA 560机器人而言,就是已知N0T^0_NTN0​T,求θ1,θ2,...θ6\theta_1, \theta_2, ...\theta_6θ1​,θ2​,...θ6​
对于有6个自由度的操作臂,有12个方程(变换矩阵的前3行,前4列组成的行列式每个单元的数值计算即为一个方程),其中6个是未知的。
60T^0_6T60​T的旋转矩阵分量生成9个方程,但只有3个独立;
60T^0_6T60​T的位置分量生成3个方程。
上述共合计6个方程,但此6个非线性超越方程,很难求解,必须考虑解的存在性、多解问题以及求解方法。
解的存在性
工作空间:操作臂末端执行器所能达到的范围
灵巧工作空间:操作臂的末端执行器能够从各个方向达到的空间区域
可达工作空间:操作臂至少从一个方向可以到达的空间
灵巧工作空间是可达工作空间的子集。
工作空间计算时要注意腕部坐标系{W}与工具坐标系{T}的区别,一般用户关心的是工具坐标系{T},而我们研究的是与工具无关的腕部坐标系{W}。
多解问题
解的选择标准是变化的,比较合理的选择是取最近解,即每个关节的运动量最小。当然,有时每个关节的权重需要有所不同,即加权。
PUMA560到达一个确定目标有8个不同解。
解法
非线性方程组没有通用解法
如果关节变量能够通过一种算法确定,这种算法可以求出与已知位置和姿态相对应全部关节变量,那么操作臂就是可解的。
多解时,我们要求能够求出所有解。因此不考虑数值迭代的程序(只能求出部分解)。
求解方法分为两大类:封闭解和数值解。求解速度而言,封闭解快于数值解。
数值解法本身是一门学科,本书不做讨论。
封闭解又可分为两大类:代数法和几何法。
所有包含转动关节和移动关节的串联型6自由度机构均可解。但这种解一般是数值解,对6自由度操作臂而言,只有特殊情况下才有解析解。
存在解析解的特性:存在n个正交关节轴或者有多个αi\alpha_iαi​为0或者±90∘\pm90^\circ±90∘
有6个旋转关节的操作臂存在封闭解的充分条件是相邻的三个关节轴相交于同一点。如PUMA 560机器人4、5、6轴交于同一点。

4.3 当n<6时操作臂子空间的描述

n自由度操作臂的可达工作空间可以看作n自由度子空间的子集。
确定n自由度操作臂子空间的方法是给出腕部坐标系或工具坐标系的表达式,它是含n个变量的函数。如果将这n个变量看作自由变量,那所有可能取值就构成了这个子空间。
有n自由度的目标点进行定义,通常采取n个参数来确定这个目标点。如果给定6个自由度的目标点,n<6的操作臂是无法到达这个目标点的。这种情况下,可寻找一个操作臂子空间内的可达目标点来代替原目标点,并和原目标点尽可能接近。
对少于6自由度的操作臂来说,确定一般目标点时,求解方法:

  1. 已知一般目标坐标系GST^S_GTGS​T,计算一个修正坐标系G′ST^S_{G'}TG′S​T,使G′ST^S_{G'}TG′S​T在操作臂子空间内,并和GST^S_GTGS​T尽可能靠近(预先确定靠近标准)。
  2. 将G′ST^S_{G'}TG′S​T作为期望目标,计算逆运动学来求关节角。

4.4 代数解法和几何解法

**代数解法:**利用数学性质
**几何解法:**利用几何关系

4.5 简化成多项式的代数解法

令u=tan⁡θ2u=\tan\frac\theta 2u=tan2θ​,则cos⁡θ=1−u21+u2\cos\theta=\frac{1-u^2}{1+u^2}cosθ=1+u21−u2​,sin⁡θ=2u1+u2\sin\theta=\frac{2u}{1+u^2}sinθ=1+u22u​,如此则把超越方程转化成了关于u的多项式。

4.6 三轴相交的Pieper解法

4.7 操作臂逆运动学实例

PUMA 560机器人,Motoman L-3机器人

4.8 标准坐标系

与前文的定义完全相同。操作臂运动的目标是从起始位置以光滑的方式运动,直到{T}={G}。

4.9 操作臂求解

SOLVE函数可进行笛卡尔变换,也称为逆运动学函数。
已知STT^T_STST​T,先计算WST=SBTTSTTWT−1^S_WT=^B_ST^S_TT^W_TT^{-1}WS​T=SB​TTS​TTW​T−1,然后将SST^S_STSS​T作为输入,求出θ1,θ2...θn\theta_1, \theta_2...\theta_nθ1​,θ2​...θn​。

4.10 重复精度和精度

示教点:操作臂运动实际要到达的点
重复精度:操作臂返回示教点的精度
计算点:目标位置和姿态是笛卡尔坐标来确定的,必须计算逆运动学问题来求关节角
精度:操作臂到达计算点的精度
精度小于等于重复精度
对操作臂运动学参数作辨识,标定技术可以提高精度。

4.11 计算问题

机器人导论(第四版)学习笔记——第四章相关推荐

  1. 《鸟哥的私房菜基础篇》第四版学习笔记——第0章 计算机概论

    文章目录 http://linux.vbird.org/linux_basic/ 一.计算机:辅助人脑的好工具 1.计算机硬件的五大单元 2.一切设计的起点: CPU 的架构 3.其它单元的设备 4. ...

  2. 《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习

    文章目录 一.Liux是什么?? 1.是操作系统or应用程序?? 2.Linux之前,Unix的历史 3.关于 GNU 计划.自由软件与开放原始码 二.Torvalds 的 Linux 发展 1.与 ...

  3. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(一)

    一.光的物理特性 光与物体的交互形成了基于物理着色的基础. 在物理层面上,光的模型为电磁横波.每个波都有一个单一的波长λ\lambdaλ.具有单一波长的光叫单色光(monochromatic ligh ...

  4. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(二)

    上接文章:<Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) 六.微观几何 每个可见的表面点都包含了很多 ...

  5. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(三)

    前文: <Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) <Real-Time Renderin ...

  6. 视觉SLAM十四讲学习笔记-第四讲-李代数求导与扰动模型

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

  7. PMBOK(第六版) 学习笔记 ——《第一章 引论》

    系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...

  8. 视觉SLAM十四讲学习笔记-第四讲---第五讲学习笔记总结---李群和李代数、相机

    第四讲---第五讲学习笔记如下: 视觉SLAM十四讲学习笔记-第四讲-李群与李代数基础和定义.指数和对数映射_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第四讲-李代数求导与扰动模 ...

  9. 视觉SLAM十四讲学习笔记-第四讲-Sophus实践、相似变换群与李代数

    专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习笔记-第二讲-初识SLAM_goldqiu的博客-CSDN博客 视觉SLAM十四讲学习 ...

  10. 《Python编程:从入门到实战》(第2版)学习笔记 第5章 if语句

    [写在前面]为进一步提高自己的python代码能力,打算把几本经典书籍重新过一遍,形成系统的知识体系,同时适当记录一些学习笔记,我尽量及时更新!先从经典的<Python编程:从入门到实战> ...

最新文章

  1. Java IDEA Debug进制二维数组
  2. c#WebBrowser进阶
  3. cnblog写博客还不错嘛
  4. python中import os_python import os
  5. c++ 多线程:线程句柄可以提前关闭,但是线程并没有关闭
  6. mysql 查询缓存设置_MySQL查询缓存设置 提高MySQL查询性能
  7. Arturia Buchla Easel V for Mac(Buchla音乐画架插件)
  8. Python玩转emoji表情 一行代码的事儿!
  9. Wso2 api manager 帮助文档
  10. 安卓调试工具 adb 命令大全
  11. (已解决)INSTALL_FAILED_CONFLICTING_PROVIDER虚拟机安装失败错误
  12. picACG本地缓存目录_前端工程师必备之缓存问题
  13. 【全局路径规划】A*算法 A* Search Algorithm
  14. 电机学他励直流发电机matlab,基于Matlab并励直流发电机的自励过程分析
  15. Weinre《调试使用》
  16. 【Pygame合集】滴~穿越童年游戏指南 请查收:这里面有你玩过的游戏嘛?(附五款源码自取)
  17. 迈普 S4320配置相关资料介绍配置
  18. html中常用颜色代码
  19. 安装了 Imagick(或者没有安装) 提示 Class ‘Imagick‘ not found
  20. LeetCode #11 盛最多水的容器

热门文章

  1. glGetShaderiv函数详解
  2. IOS开发常用工具网站地址
  3. python怎么换背景_用Python给照片换底色
  4. 四、python爬虫抓取购物网站商品信息--图片价格名称
  5. c语言程序设计移动字母,c语言程序设计word版.pdf
  6. PHP写动物世界,动物世界引发我对生命的思考
  7. 使用Python第三方库xlwings将单个excel工作表快速拆分为多个工作表(附打包好的exe文件)
  8. (四)研发阶段(包括医疗领域等各种领域)涉及DHF、DMR、DHR 、LHR、FMEA、SFMEA等标准规范。
  9. 【基于Paddle框架的行车环境下天气及时间分类】
  10. 三维可视化如何助力智慧城市建设?