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的更多相关文章

  1. planning algorithms chapter 2

    planning algorithms chapter 2 :Discrete Planning 离散可行规划导论 问题定义 在离散规划中,状态是"可数"的,有限的. 离散可行规划 ...

  2. planning algorithms chapter 1

    chapter 1 介绍 什么是规划? 在机器人领域,运动规划和轨迹规划主要用来解决"怎么移动钢琴"的问题,这个问题是如何将钢琴从一个房间移动到另一个房间,并且保证钢琴不和其他事物 ...

  3. 泡泡一分钟:Automatic Parameter Tuning of Motion Planning Algorithms

    Automatic Parameter Tuning of Motion Planning Algorithms 运动规划算法的自动参数整定 Jos´e Cano, Yiming Yang, Brun ...

  4. 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 ...

  5. Github上的1000多本免费电子书重磅来袭!

    Github上的1000多本免费电子书重磅来袭!   以前 StackOverFlow 也给出了一个免费电子书列表,现在在Github上可以看到时刻保持更新的列表了. 瞥一眼下面的书籍分类目录,你就能 ...

  6. Github 的一个免费编程书籍列表

    Index Ada Agda Alef Android APL Arduino ASP.NET MVC Assembly Language Non-X86 AutoHotkey Autotools A ...

  7. Boyer-Moore algorithm

    http://www-igm.univ-mlv.fr/~lecroq/string/node14.html Main features performs the comparisons from ri ...

  8. 字符串匹配--Karp-Rabin算法

    主要特征 1.使用hash函数 2.预处理阶段时间复杂度O(m),常量空间 3.查找阶段时间复杂度O(mn) 4.期望运行时间:O(n+m) 本文地址:http://www.cnblogs.com/a ...

  9. Introduction to Machine Learning

    Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an al ...

随机推荐

  1. Docker安装Consul集群

    Docker 安装Consul集群 使用windows 环境,Docker desktop community 构建consul集群. 1.docker 容器网络 docker安装后,默认会创建三种网 ...

  2. C#表达式参数解析算法,N级属性调用,函数值,变量值,常量值

    public static object GetValue(Expression expression) { var names = new Stack<string>(); var ex ...

  3. String.Operation

    // 字符串切割 StringField.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

  4. Java IO---字节流和字符流

    一.IO流简介 流 流是一个抽象概念,Java程序和外部设备(可以是硬盘上的文件,也可以是网络设备)之间的输入输出操作是基于流的. 流就好比水管中的水流,具有流入和流出,类比数据的输入和输出. Jav ...

  5. kaishi

    https://zjc.wtc.edu.cn/zs/2019/0623/c2937a54869/page.htm https://zjc.wtc.edu.cn/zs/2019/0614/c593a54 ...

  6. 浏览网页隐藏服务器IP

    host文件修改 notepad %windir%\system32\drivers\etc\hosts 目标IP localhost.autumn.com 可能会导致HTTP Status Code ...

  7. js查询手机号码格式是否正确

    直接上代码,复制开用 let regExp = /^([-]{,}\-)?[-]{,}$|^?[|||7||][-]\d{}$/; //验证的手机号码格式 //this.ruleForm.adminC ...

  8. 冬虫夏草winterwormsummerherb英语

    “中药之王”--冬虫夏草WinterwormSummerherb King of Chinese medicine --WinterwormSummerherb “冬天是虫,夏天是草,冬虫夏草是个宝. ...

  9. SpringCloud之监控数据聚合Turbine

    前言 SpringCloud 是微服务中的翘楚,最佳的落地方案. 使用 SpringCloud 的 Hystrix Dashboard 组件可以监控单个应用服务的调用情况,但如果是集群环境,可能就 不 ...

  10. idea/借阅系统的APP开发

    (一) 今天去还书时,偶尔想到的idea. 看着在自主借还书机器面前的长龙,我突然想到为什么不将这部机器的功能弄成APP? 通过用手机扫条形码借书不是很方便吗? 哦,不行.借书可以,怎么确保用户将书还 ...