Chapter2 Configuration Space

1.机器人位形configuration:机器人所有位置点的描述
对于图a,门的位形可以用一个参数角度表示;
对于图b,平面中的一个点的位形可以用2个坐标表示(x,y)表示;
对于图c,桌面上一枚硬币中的头像可以用3个参数表示,硬币上点的位置(x,y),以及硬币的方向。
configutation这里我理解为位姿的另外一种表示形式,即位置和姿态。在三维空间中,机器人位姿传统表示为点坐标(x,y,z)和该点与3个坐标轴的夹角即欧拉角(φa,φb,φc)表示。

2.机器人自由度dof
Degrees of freedom(dof):用于表示机器人位形的最小实数坐标个数。上述图a和c中,dof分别为1和3.

3.C-space
C-space:configutation space:包含机器人所有位形的n维空间称为C-space.

4.刚体自由度计算
三维空间中,单个刚体自由度个数为6;平面单个刚体的自由度个数为3。
计算公式:
Dof=所有点的自由度个数-独立约束条件的个数
对于平面中的一块硬币,人面头像正面朝上,如图b所示,AB,BC,AC的距离固定,3个点自由度个数为6,给定点A(xa,ya)(0个约束条件),则B点只能在以A点为中心,AB为半径的圆弧上(B点1个约束条件),确定了点B点的位置,则点C只能在以点A为圆心,AC为半径的圆和以点B为圆心,BC为半径的圆的交点上(C点2个约束条件),因此C有2个可选位置,如果已知硬币的正面,则点C的位置就是唯一的。因此给定A(xa,ya)、B(xb,yb),C点坐标(xc,yc)就是冗余reduntant的。如果给定向量AB与x轴的夹角,则B点坐标(xb,yb)也为冗余的,因此图b位形可用参数(xa,ya,)3个参数表示,自由度为3,即6-0-1-2=3.
对于图c三维空间的刚体,同样3个点A(xa,ya,za)、B(xa,ya,za)、C(xa,ya,za)唯一确定刚体的位形,点总的自由度个数为3*3=9。已知A点坐标(0个约束条件),B点在以A为中心,AB为半径的球面上(1个约束条件),我们可以用2个角度表示点B即经度和维度,因此B的自由度数为:3-1=2;点C到A、B的距离固定(2个约束条件),因此点C在以点A为中心,AC为半径的球面和以B为中心,BC为B半径的球面的两个球面的交点上,C点可以用一个角度表示点C的位置,C点的自由度个数为3-2=1。因此三维空间刚体刚体自由度个数为9-0-1-2=6.

5.机器人关节自由度的计算
关节自由度dof=刚体自由度个数-由关节约束条件的个数
Grübler公式:
对于一个包含N个连杆(包括与地面相连的也视为一个)的机构,关节数量为J,m表示刚体的自由度(平面刚体m=3,空间刚体m=6),关节i的自由度为fi,约束个数为ci,m=fi+ci,则该机构的自由度为:
这个公式只有在每个关节的约束条件相互独立的情况成立,如果不独立,则该公式计算出的自由度少于实际的自由度个数。
Dof=3*(4-1-4)+4=1
Dof=3*(6-1-7)+7=1
对于不满足约束条件不独立的机构,计算出来的自由度个数少于实际个数,如下图所示:
Dof=3*(5-1-6)+6=0,而实际的dof=1,因为该机构可以朝一个方向运动,这是由于3个平行的用2个关节链接的连杆,对机构的运动没有影响,因此计算公式为dof=3(4-1-4)+4=1

6.C-space的表示方法
显示参数:用n个参数表示n维C-space空间,即用最少的参数表示位形空间;例如一个球面,我们可以用经度和维度2个参数表示一个球体空间。
隐式参数:将n维C-space空间看作是嵌入到超过n维欧氏空间中(需要添加约束条件),例如,2维的单位球面可以看成是嵌入在3维欧氏空间的一个球面,该三维表示满足约束条件:一般都采用隐式法。

7.位形和速度约束
完整约束holonomic constraints:若干独立约束方程,减少C-space的维度,如果机器人的位形有n个变量定义,且受到k(k<=n)个独立的完整约束,则C-space的维度即机器人的自由度为n-k. 可以看出完整约束是对机器人位形的约束。
如果机器人在运动,则角度是关于时间t的函数,对上式两边对t求导数:
写成矩阵相乘的方式:

简化写成:
theta点表示角度对时间的变化率即角速度,则:速度约束,上式称为Pfaffian约束。完整约束也称为可积约束,因为完整约束本质是对速度约束的积分。Pfaffian约束有时并不可积,不可积的Pfaffian约束称为非完整约束。非完整约束减少了可能的速度空间,但并没有减少可能的C-space维度。
完整约束是对位形的约束,非完整约束是对速度的约束。

8.任务空间和工作空间
Task space任务空间:是一个可以自由表示机器人任务的空间。如果机器人的任务是在一个平面上绘制图形,那么任务空间就是一个二维欧氏平面R2,如果机器人的任务是控制一个刚体的位置和姿态,那么任务空间就是一个一个刚体的C-space,也就是一个表示位置和姿态的6维空间。任务空间由任务决定的,与机器人无关。
Workspace工作空间:是机器人末端执行器所能到达的位形空间。工作空间是由机器人的结构决定的,与任务无关。
任务空间和工作空间与机器人的C-space不一样,例如对于空间中同一个点,机器人可能有好几种位形到达此点,该点并不能完全表达机器人的位形。任务空间中某些点机器人可能完全达到不了,但工作空间中的点机器人至少有一种位形可以达到。
两个拥有不同的C-space的机构,可能拥有相同的工作空间,也可拥有不同的工作空间。
例如下图SCARA机器人,机器人末端执行器的位形可以用3个笛卡尔坐标(x,y,z)以及在x-y平面取向夹角Φ表示,则任务空间可以表示维R3×S1,工作空间可以用笛卡尔空间中的点(x,y,z)表示.

Modern Robotics读书笔记(一)相关推荐

  1. Transaction Processing on Modern Hardware 读书笔记

    Transaction Processing on Modern Hardware 读书笔记 正在进行中

  2. Effective Modern C++读书笔记

    本笔记主要用于记录要领.体会及摘抄书中精华 第1章 类型推导 1.1 理解模板类型推导 在模板类型推导过程中 具有引用(&)或指针(*)类型的实参会被当成非引用类型来处理.换言之,其引用或指针 ...

  3. Modern PHP读书笔记一

    关于PHP,大家的误解比较多,但其实现代PHP是一门无论开发效率还是执行效率都相当高的编程语言.关于现代PHP的各方面特性,大家可以参考<Modern PHP>作者之前写的 PHP the ...

  4. 现代机器人(Modern Robotics):力学,规划,控制读书笔记

    现代机器人:力学,规划,控制读书笔记 在csdn上传主要是可以换积分,文章乱码比较多,有用的话可以来知乎看,目录链接如下,感兴趣可以来看: 现代机器人:力学,规划,控制(chapter1)内容简介 - ...

  5. [读书笔记]《Effective Modern C++》—— 移步现代 C++

    文章目录 前言 item7:区别使用 () 和 {} 创建对象 item8:优先考虑使用 nullptr 而不是 0 或者 NULL item9:优先考虑别名声明而非 typedefs item10: ...

  6. 《Introduction To Modern Cryptography》读书笔记二

    <Introduction To Modern Cryptography>读书笔记二 本笔记纯粹个人读书习惯与相应见解,内容归纳完全出于个人需要与个人局限,如有修改意见(比如哪儿应该是值得 ...

  7. Modern Robotics现代机器人学学习笔记12.2

    12.1 接触动力学(Content Kinematics) 接触运动学是研究两个或两个以上刚体(在考虑不可穿透性约束时)是如何相对移动的.根据接触移动的不同分为滚动和滑动. 12.2 Content ...

  8. 《Deep Learning With Python second edition》英文版读书笔记:第十一章DL for text: NLP、Transformer、Seq2Seq

    文章目录 第十一章:Deep learning for text 11.1 Natural language processing: The bird's eye view 11.2 Preparin ...

  9. 【读书笔记】并发编程需要注意的几个典型问题

    本文为<Computer Systems: A Programmer's Perspective>第12.7节-并发编程问题的读书笔记.下面开始正文. 1. 线程安全        一个线 ...

最新文章

  1. 逻辑结构图向关系转换规则3
  2. cesium鼠标控制键盘_用 Python 控制 鼠标和键盘,花式操作
  3. vba 在光标插入文字_VBA学习入门方法!Office Excel教程 Excel入门 Excel技巧 Excel学习!...
  4. DL之CNN:自定义SimpleConvNet【3层,im2col优化】利用mnist数据集实现手写数字识别多分类训练来评估模型
  5. [reship]某类领导
  6. filezilla:阿里云 win10 服务器文件传输(上传和下载)的配置教程
  7. mysql报错1517_请教一下 flask+sqlalchemy+mysql 连接错误问题
  8. vector和string
  9. 重庆文件服务器,重庆filecoin服务器
  10. oracle根据当前月份往前,Oracle SQL - 根据月份对时间序列分区求和
  11. ps数位板绘画遇到问题总结
  12. au计算机内录音乐,电脑中如何使用 Audition 内录声音
  13. 计算机网络管理师2级,计算机网络管理员(二级)操作技能考核试卷
  14. magedu第一天学习(计算机基础部分)
  15. mysql reopen table,MYSQL临时表关联Can't reopen table
  16. 那些让我印象深刻的bug--03
  17. 数据链路层学习之LLDP
  18. Jenkins SonarQube Quality Gate质量门禁检查
  19. The Thirty-fifth Of Word-Day
  20. oracle在Windows,linux备份恢复(tina)

热门文章

  1. 《Turtle绘图》Python用Turtle库绘制多啦爱梦、小猪佩奇、皮卡丘等卡通人物
  2. [FineReport]高级条件分组、斜线、自动查询、控件编辑属性、条件属性
  3. JavaScript头像上传器的实现
  4. 挑战微软 + GitHub!谷歌联手 Replit,升级 AI 编程“神器”:曾拒绝微软 10 亿美元的收购...
  5. xp怎么让计算机开启ftp,Win7和WinXP共享打印机和FTP怎么设置
  6. 11月全球浏览器份额:IE蝉联霸主 份额继续下降
  7. C 宏定义实现字符大小写转换
  8. ISO7816协议中psam卡片的延时单元etu
  9. 佛祖保佑永无BUG 代码 (各种样式)
  10. revit二开之过滤族(Family)