当前位置: 首页 > news >正文

智能机器人与旋量代数(9)

Chapt 3. 螺旋运动与旋量代数

3.1 螺旋运动

螺旋运动是关于一条空间直线的一个旋转运动,并伴随沿此直线的一个平移。是一种刚体绕空间轴 s s s旋转 θ \theta θ角,再沿该轴平移距离 d d d的复合运动,类似螺母沿螺纹做进给运动的情形。
在这里插入图片描述

一些定义:

θ ≠ 0 \theta\neq0 θ=0 时,将移动量与转动量的比值 h = d θ h=\frac{d}{\theta} h=θd 定义为螺旋的节距(或螺距)。因此,旋转 θ \theta θ 角后的纯移动量为 h θ h\theta hθ

h = 0 h=0 h=0 时为纯转动;当 h = ∞ ( θ = 0 ) h=\infin (\theta=0) h=(θ=0) 时为纯移动。

定义3.1 螺旋运动的三要素是:轴线 s s s、螺距 h h h和转角 ρ \rho ρ。螺旋运动表示绕轴 s s s旋转 ρ = θ \rho=\theta ρ=θ,再沿该轴平移距离 h θ h\theta hθ的合成运动。如果 h = ∞ h=\infin h=,那么相应的螺旋运动即为沿轴 s s s移动距离 ρ \rho ρ的移动,记作 S ( s , h , ρ ) S(s,h,\rho) S(s,h,ρ).
p ( θ , h ) = r + R ( θ , s ) ( p − r ) + h θ s , s ≠ 0 p(\theta,h)=r+R(\theta,s)(p-r)+h\theta s ,s\neq 0 p(θ,h)=r+R(θ,s)(pr)+hθs,s=0
其中 R ( θ , s ) ∈ S O ( 3 ) R(\theta,s)\in SO(3) R(θ,s)SO(3)是关于空间某一条直线 s s s的刚体旋转运动。
表示成齐次坐标的形式为:
g ( p 1 ) = [ R ( I − R ) r + h θ s 0 1 ] ( p 1 ) g\begin{pmatrix} p\\ 1 \end{pmatrix}=\begin{bmatrix} R & (I-R)r+h\theta s \\ 0 & 1 \end{bmatrix}\begin{pmatrix} p\\ 1 \end{pmatrix} g(p1)=[R0(IR)r+hθs1](p1)
由此可得,刚体螺旋运动的描述为:
[ R ( I − R ) r + h θ s 0 1 ] , s ≠ 0 \begin{bmatrix} R & (I-R)r+h\theta s \\ 0 & 1 \end{bmatrix},s\neq0 [R0(IR)r+hθs1],s=0
Chasles-Mozzi定理(1830):任意刚体运动都可以通过螺旋运动即通过绕某轴的转动与沿该轴移动的负荷运动实现。即:刚体运动与螺旋运动等价,螺旋运动是刚体运动,刚体运动也是螺旋运动。螺旋运动的无限小量为运动旋量。

Chasles理论推广:对于任意的刚体运动总能将其表达为螺旋运动,满足如下关系式:
[ R P 0 1 ] = [ R ( θ , s ) h θ s + ( I 3 − R ) r 0 1 ] \begin{bmatrix} R & P\\ 0 & 1 \end{bmatrix}=\begin{bmatrix} R(\theta,s) &h \theta s+(I_3-R)r \\ 0 & 1 \end{bmatrix} [R0P1]=[R(θ,s)0hθs+(I3R)r1]
更进一步,对于转动情况,定义矩阵指数与矩阵对数:

e x p : [ S ] θ ∈ s e ( 3 ) → T ∈ S E ( 3 ) . exp: [S]\theta\in se(3) \rightarrow T\in SE(3). exp:[S]θse(3)TSE(3).
l o g : T ∈ S E ( 3 ) → [ S ] θ ∈ s e ( 3 ) . log: T\in SE(3) \rightarrow [S]\theta\in se(3). log:TSE(3)[S]θse(3).

由Euler-Rodrigues formula 得如下命题:

S = ( ω , v ) S=(\omega,v) S=(ω,v)为螺旋轴,若 ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1,则对于任意沿螺旋轴的距离 θ ∈ R \theta \in R θR,都有
s [ S ] θ = [ e [ ω ] θ ( I θ + ( 1 − c o s θ ) [ ω ] + ( θ − s i n θ ) [ ω ] 2 ) v 0 1 ] s^{[S]\theta}=\begin{bmatrix} e^{[\omega]\theta} & (I\theta+(1-cos\theta)[\omega]+(\theta-sin\theta)[\omega]^2)v \\ 0 & 1 \end{bmatrix} s[S]θ=[e[ω]θ0(Iθ+(1cosθ)[ω]+(θsinθ)[ω]2)v1]

Reference

[1] Lynch, K. M., & Park, F. C. (2017). Modern robotics. Cambridge University Press.

[2] Dai, J. S. (2014). Geometrical foundations and screw algebra for mechanisms and robotics. Higher Education Press, also Screw Algebra and Kinematic Approaches for Mechanisms and Robotics.

[3] Ding, X. L. (2021). Modern Mathematical Theory Foundation of Robotics. Beijing: Science Press.

[4] Gao, X. et al. (2017). Visual SLAM fourteen lessons: From theory to practice. Electronic Industry Press.

相关文章:

  • 优化用户体验测试应用领域:提升产品质量与用户满意度
  • ffmpeg使用及java操作
  • 自然语言处理--双向匹配算法
  • 【GoLang入门教程】Go语言工程结构详述
  • c#中使用UTF-8编码处理多语言文本的有效策略
  • 设计模式二(工厂模式)
  • Relay Arm® 计算库集成
  • AI大模型【基础 01】智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)
  • 南京观海微电子---时序分析基本概念(二)——保持时间
  • 2017年认证杯SPSSPRO杯数学建模A题(第二阶段)安全的后视镜全过程文档及程序
  • C#,入门教程(22)——函数的基础知识
  • RPC和HTTP,它们之间到底啥关系
  • VsCode容器开发 - VsCode连接远程服务器上的docker
  • 【江科大】STM32:(超级详细)定时器输出比较
  • Ebay、SHEIN、亚马逊出口儿童滑梯CE认证标准EN71解析
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • Android组件 - 收藏集 - 掘金
  • es6
  • Java超时控制的实现
  • laravel with 查询列表限制条数
  • Mocha测试初探
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Redis字符串类型内部编码剖析
  • 深度学习中的信息论知识详解
  • 阿里云移动端播放器高级功能介绍
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #stm32驱动外设模块总结w5500模块
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (70min)字节暑假实习二面(已挂)
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (二)pulsar安装在独立的docker中,python测试
  • (分布式缓存)Redis哨兵
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (十八)三元表达式和列表解析
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)关于pipe()的详细解析
  • ./configure、make、make install 命令
  • ./和../以及/和~之间的区别
  • .bashrc在哪里,alias妙用
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET成年了,然后呢?
  • .NET中两种OCR方式对比
  • @Autowired注解的实现原理
  • @Bean有哪些属性
  • @PreAuthorize注解
  • [].slice.call()将类数组转化为真正的数组
  • [100天算法】-目标和(day 79)