planning algorithms chapter 3
chapter 3 几何表示和变换

P.S: 总算到了 motion planning 部分了
几何建模
几何建模主要有两类方法:边界表示法和实体表示法。
环境模型可以是二维或三维,实体主要包括障碍物和机器人。
多边形和多面体模型
凸边形定义:子集 $ X \subset \mathbb{R}^{n} $ 为凸集,当且仅当, X 中任意两点连线上的所有点也属于 X 。

边界表示法可以用多边形表示,用一系列的边界点\(\left ( x_{1}, y_{1} \right ),\left ( x_{2}, y_{2} \right ),\cdots ,\left ( x_{m}, y_{m} \right )\)表示。实体表示法可以用半平面的交集表示。
半平面可以表示如下:
\(H_{i} = \left \{ \left ( x,y \right )\in W| f_{i}\left ( x,y \right )\leqslant 0\right \}.\)
刚体变换
2D 变换
旋转:

旋转 + 移动:

3D 变换
yaw, pitch, roll:

旋转变换:

反解旋转角:

利用 atan2 可以得到:

均质变换矩阵(The homogeneous transformation matrix):

刚体运动链的变化
相互依附的刚体的变化更加复杂,一系列依附的刚体被称为联动,如果刚体通过单链关联,这种联动是运动链。
2D 运动链的均质变换:

3D 运动链的均质变换:
图示:

均质变换矩阵:

均质变换矩阵的 DH 参数

非刚体变换
线性变换:
旋转变换是一种特殊的线性变换。
同比例放大缩小:

剪切变换:

当 m12 = 1 时,剪切变换效果如下图:

planning algorithms chapter 3的更多相关文章
- planning algorithms chapter 2
planning algorithms chapter 2 :Discrete Planning 离散可行规划导论 问题定义 在离散规划中,状态是"可数"的,有限的. 离散可行规划 ...
- planning algorithms chapter 1
chapter 1 介绍 什么是规划? 在机器人领域,运动规划和轨迹规划主要用来解决"怎么移动钢琴"的问题,这个问题是如何将钢琴从一个房间移动到另一个房间,并且保证钢琴不和其他事物 ...
- 泡泡一分钟:Automatic Parameter Tuning of Motion Planning Algorithms
Automatic Parameter Tuning of Motion Planning Algorithms 运动规划算法的自动参数整定 Jos´e Cano, Yiming Yang, Brun ...
- Following a Select Statement Through Postgres Internals
This is the third of a series of posts based on a presentation I did at the Barcelona Ruby Conferenc ...
- Github上的1000多本免费电子书重磅来袭!
Github上的1000多本免费电子书重磅来袭! 以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能 ...
- Github 的一个免费编程书籍列表
Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools A ...
- Boyer-Moore algorithm
http://www-igm.univ-mlv.fr/~lecroq/string/node14.html Main features performs the comparisons from ri ...
- 字符串匹配--Karp-Rabin算法
主要特征 1.使用hash函数 2.预处理阶段时间复杂度O(m),常量空间 3.查找阶段时间复杂度O(mn) 4.期望运行时间:O(n+m) 本文地址:http://www.cnblogs.com/a ...
- Introduction to Machine Learning
Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an al ...
随机推荐
- Docker安装Consul集群
Docker 安装Consul集群 使用windows 环境,Docker desktop community 构建consul集群. 1.docker 容器网络 docker安装后,默认会创建三种网 ...
- C#表达式参数解析算法,N级属性调用,函数值,变量值,常量值
public static object GetValue(Expression expression) { var names = new Stack<string>(); var ex ...
- String.Operation
// 字符串切割 StringField.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
- Java IO---字节流和字符流
一.IO流简介 流 流是一个抽象概念,Java程序和外部设备(可以是硬盘上的文件,也可以是网络设备)之间的输入输出操作是基于流的. 流就好比水管中的水流,具有流入和流出,类比数据的输入和输出. Jav ...
- kaishi
https://zjc.wtc.edu.cn/zs/2019/0623/c2937a54869/page.htm https://zjc.wtc.edu.cn/zs/2019/0614/c593a54 ...
- 浏览网页隐藏服务器IP
host文件修改 notepad %windir%\system32\drivers\etc\hosts 目标IP localhost.autumn.com 可能会导致HTTP Status Code ...
- js查询手机号码格式是否正确
直接上代码,复制开用 let regExp = /^([-]{,}\-)?[-]{,}$|^?[|||7||][-]\d{}$/; //验证的手机号码格式 //this.ruleForm.adminC ...
- 冬虫夏草winterwormsummerherb英语
“中药之王”--冬虫夏草WinterwormSummerherb King of Chinese medicine --WinterwormSummerherb “冬天是虫,夏天是草,冬虫夏草是个宝. ...
- SpringCloud之监控数据聚合Turbine
前言 SpringCloud 是微服务中的翘楚,最佳的落地方案. 使用 SpringCloud 的 Hystrix Dashboard 组件可以监控单个应用服务的调用情况,但如果是集群环境,可能就 不 ...
- idea/借阅系统的APP开发
(一) 今天去还书时,偶尔想到的idea. 看着在自主借还书机器面前的长龙,我突然想到为什么不将这部机器的功能弄成APP? 通过用手机扫条形码借书不是很方便吗? 哦,不行.借书可以,怎么确保用户将书还 ...