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

dede网站正在维护中应该怎样设置图片在线制作二维码生成器

dede网站正在维护中应该怎样设置,图片在线制作二维码生成器,丢盖网logo制作免费,网站建设重庆最加科技目的很多机器人的初学者在第一次接触到李群和李代数时通常会感到困惑,它们到底有什么物理意义?有没有通俗易懂的、直观的解释。本文尝试从几个角度对李代数进行解读。 1 “角速度”解释我们先考虑简单的直线运动。已知一个物体在当前时刻的位置是 ppp &…

目的

  很多机器人的初学者在第一次接触到李群和李代数时通常会感到困惑,它们到底有什么物理意义?有没有通俗易懂的、直观的解释。本文尝试从几个角度对李代数进行解读。

1 “角速度”解释

  我们先考虑简单的直线运动。已知一个物体在当前时刻的位置是 ppp ,而速度是 vvv。如果我们想知道经过一个很小的时间间隔 dtdtdt 之后物体到达的位置,应该如何计算呢?我们可以用当前时刻的速度进行估计,dtdtdt 之后物体到达的位置(我们用p′p^\primep表示)是:
p′=p+v⋅dt(1) \begin{aligned}\tag{1} p^\prime=p+v \cdot dt\\ \end{aligned} p=p+vdt(1)

  现在考虑物体做旋转运动。同样的,已知物体在当前时刻的姿态是 III ,而旋转速度是 XXX。如果我们想知道经过一个很小的时间间隔 dtdtdt 之后物体的姿态,应该如何计算呢?思路是一样的,我们利用当前时刻的旋转速度进行估计(我们用R′R^\primeR表示),计算方式如下式。

R′=I+X⋅dt(2) \begin{aligned}\tag{2} R^\prime=I+X \cdot dt\\ \end{aligned} R=I+Xdt(2)

  在数学中,一般用大写字母表示矩阵,小写字母表示矢量。位置是一个矢量,所以一般用小写字母来表示(例如前面的ppp)。在机器人领域,通常用一个被称为旋转矩阵的东西表示物体的姿态,所以用大写字母表示物体的姿态(例如前面的IIIR′R^\primeR)。
  这个旋转速度XXX就是一个李代数,它也是一个矩阵。
  李代数经常被描述为李群的切空间,这是为什么呢?通过上面的例子就容易猜到了。物体在做直线运动时,速度就是位置曲线的切线斜率,这个切线所在的空间就是位置的切空间。旋转运动类似,旋转速度也位于切空间。由于李群SO(3)SO(3)SO(3)是一个四维空间中的三维弯曲球面,我们无法在三维空间中展示出来,因此这里使用三维空间中的二维弯曲球面进行示意。

2 “无穷小旋转矩阵”解释

  李群的创立者索菲斯·李为了研究无穷小变换发明了李代数这个概念,所以李代数就是无穷小旋转矩阵。对于一个很小的李代数XXX,我们想用它构造一个很小的旋转RRR,可以这样做(III是个单位矩阵):

R=I+X(3) \begin{aligned}\tag{3} R=I+X\\ \end{aligned} R=I+X(3)

  在使用旋转矩阵的时候,我们很少看到矩阵之间的加法。旋转矩阵之间不能相加,因为没有意义。但是这里确实可以,因为这里李代数是个无穷小量。而无穷小量的计算似乎遵守另一套逻辑。暂时不管这么多了,往下算就是了。
  举个具体的例子,对于很小的李代数XXX

X=[0−0.030.020.030−0.01−0.020.010](4) \begin{aligned}\tag{4} X= \begin{bmatrix} 0 & -0.03 &0.02 \\ 0.03 & 0 & -0.01\\ -0.02 &0.01 & 0 \end{bmatrix}\\ \end{aligned} X=00.030.020.0300.010.020.010(4)
  我们计算RRTRR^\textup{T}RRT,如下。可以发现,乘积RRTRR^\textup{T}RRT很接近单位矩阵。所以,RRR确实可以近似看成是一个旋转矩阵。

RRT=(I+X)(I+X)T=[1−0.030.020.031−0.01−0.020.011]⋅[1−0.030.020.031−0.01−0.020.011]T=[1.0013−0.0002−0.0003−0.00021.001−0.0006−0.0003−0.00061.0005]≈[100010001](5) \begin{aligned}\tag{5} & RR^{\mathrm{T}}\\ = & (I+X)(I+X)^{\mathrm{T}} \\ = &\left[\begin{array}{ccc} 1 & -0.03 &0.02 \\ 0.03 & 1 & -0.01\\ -0.02 &0.01 & 1 \end{array}\right] \cdot \left[\begin{array}{ccc} 1 & -0.03 &0.02 \\ 0.03 & 1 & -0.01\\ -0.02 &0.01 & 1 \end{array}\right]^\textup{T} \\ =& \left[\begin{array}{ccc} 1.0013 & -0.0002&-0.0003 \\ -0.0002&1.001&-0.0006\\ -0.0003&-0.0006&1.0005 \end{array}\right] \\ \approx &\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right] \end{aligned} ===RRT(I+X)(I+X)T10.030.020.0310.010.020.01110.030.020.0310.010.020.011T1.00130.00020.00030.00021.0010.00060.00030.00061.0005100010001(5)

  我们说“近似”是,那什么时候才真正是呢?这就要用到指数映射了。假如我们用I+X+X22I+X+\frac{X^2}{2}I+X+2X2表示RRR,会发现得到结果比上面的更接近单位矩阵了。所以,好朋友——指数映射登场了。

RRT=(I+X+X22)(I+X+X22)T=[10.000000070.0000001050.0000000710.000000210.0000001050.000000211](6) \begin{aligned}\tag{6} & RR^{\mathrm{T}}\\ = & (I+X+\frac{X^2}{2})(I+X+\frac{X^2}{2})^{\mathrm{T}} \\ =& \left[\begin{array}{ccc} 1 &0.00000007&0.000000105 \\ 0.00000007&1&0.00000021\\ 0.000000105&0.00000021&1 \end{array}\right] \\ \end{aligned} ==RRT(I+X+2X2)(I+X+2X2)T10.000000070.0000001050.0000000710.000000210.0000001050.000000211(6)

  指数映射就是指数函数exe^xex,其中的xxx就是个实数。如果把实数xxx换成一个矩阵也是有意义的,为了便于区分就叫eXe^XeX指数映射了。学过一点高等数学的同学可能还记得,指数函数有两种定义方法,一种是无穷级数:

ex=1+x1!+x22!+x33!+x44!+⋯(7)\tag{7} e^x = 1 + \frac{x}{1!} + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} + \cdots ex=1+1!x+2!x2+3!x3+4!x4+(7)

  另一种是二项式的极限:

ex=lim⁡n→∞(1+xn)n(8)\tag{8} e^{x} = \lim_{n \rightarrow \infty} \left(1 + \frac{x}{n}\right)^{n} ex=nlim(1+nx)n(8)

  这两种方式都可以逼近指数函数,但是级数形式更快(实际上级数形式比极限形式要快得多)。下图左侧是级数形式,右侧是极限形式。红色点表示指数函数上实际的点,蓝色的点是取有限项计算得到的近似点。

    

  欧拉发现,如果把实数扩展到复数,也就是把复数带入指数函数的定义,可以得到下面的公式(9)(9)(9),这就是大名鼎鼎的欧拉公式。上面的动画就是将iθi \thetaiθ带入指数函数的定义式后,把结果的实部和虚部分别作为(x,y)(x,y)(x,y)坐标画在坐标系中的图像。其中,nnn表示级数或者二项式中的项数,θ\thetaθ是一个实数。

eiθ=cos⁡(θ)+isin⁡(θ)(9)\tag{9} e^{i\theta} = \cos(\theta) + i \sin(\theta) eiθ=cos(θ)+isin(θ)(9)

3 “轴-角度”解释

  可以看到,欧拉公式描述了二维平面中的旋转。那么三维空间如何表示旋转呢?可能是受到欧拉公式的启发,一个名为罗德里格斯的年轻人得到了三维旋转的表达形式(10)(10)(10),这个公式没有欧拉公式那么家喻户晓,但是搞不好可能会偶尔用到,它被称为罗德里格斯公式。将李代数XXX写成向量的形式,X=θu^X=\theta \widehat{u}X=θu,其中uuu是一个单位向量,θ\thetaθ是李代数向量的“长度”(范数)。

eX=∑n=0∞(θu^)nn!=I+θu^1!+θ2u^22!+θ3u^33!+θ4u^44!+θ5u^55!+⋯=(uuT−u^u^)+θu^+12!θ2u^2+13!θ3(−u^)+14!θ4(−u^u^)+15!θ5u^+⋯=uuT+(θ−13!θ3+15!θ5−⋯ )⏟sin⁡(θ)u^−(1−12!θ2+14!θ4−⋯ )⏟cos⁡(θ)u^u^=(u^u^+I)+sin⁡(θ)u^−cos⁡(θ)u^u^=I+sin⁡(θ)u^+(1−cos⁡(θ))u^u^(10) \begin{aligned} & e^{X}\tag{10} \\ = &\sum_{n=0}^{\infty}\frac{(\theta \widehat{u})^{n}}{n!} \\ = &I + \frac{\theta \widehat{u}}{1!} + \frac{\theta^{2} \widehat{u}^{2}}{2!} + \frac{\theta^{3} \widehat{u}^{3}}{3!} + \frac{\theta^{4} \widehat{u}^{4}}{4!} + \frac{\theta^{5} \widehat{u}^{5}}{5!} + \cdots \\ = &(uu^{\mathrm{T}} - \widehat{u}\widehat{u}) + \theta \widehat{u} + \frac{1}{2!}\theta^{2} \widehat{u}^{2} + \frac{1}{3!}\theta^{3} (-\widehat{u}) + \frac{1}{4!}\theta^{4} (-\widehat{u}\widehat{u}) + \frac{1}{5!}\theta^{5} \widehat{u} + \cdots \\ = &uu^{\mathrm{T}} + \underbrace{\left(\theta - \frac{1}{3!}\theta^{3} + \frac{1}{5!}\theta^{5} - \cdots\right)}_{\sin(\theta)} \widehat{u} - \underbrace{\left(1 - \frac{1}{2!}\theta^{2} + \frac{1}{4!}\theta^{4} - \cdots\right)}_{\cos(\theta)} \widehat{u}\widehat{u} \\ = &(\widehat{u}\widehat{u} + I) + \sin(\theta)\widehat{u} - \cos(\theta)\widehat{u}\widehat{u} \\ = &I + \sin(\theta)\widehat{u} + (1 - \cos(\theta))\widehat{u}\widehat{u} \end{aligned} ======eXn=0n!(θu)nI+1!θu+2!θ2u2+3!θ3u3+4!θ4u4+5!θ5u5+(uuTuu)+θu+2!1θ2u2+3!1θ3(u)+4!1θ4(uu)+5!1θ5u+uuT+sin(θ)(θ3!1θ3+5!1θ5)ucos(θ)(12!1θ2+4!1θ4)uu(uu+I)+sin(θ)ucos(θ)uuI+sin(θ)u+(1cos(θ))uu(10)

  向量uuu可以视为旋转轴,θ\thetaθ是绕这根轴旋转的角度,所以李代数可以视为绕某根轴旋转一个角度。
  李代数XXX作用到向量的结果可以用叉积表示,例如我们将XXX记为:

X=[0−zyz0−x−yx0](11)X=\left[\begin{array}{ccc}\tag{11} 0 & -z & y \\ z & 0 & -x \\ -y & x & 0 \end{array}\right] X=0zyz0xyx0(11)

  那么,将XXX作用到一个三维向量v=(a,b,c)v=(a,b,c)v=(a,b,c)(也就是矩阵向量相乘)将得到:

Xv=[0−zyz0−x−yx0]⋅[abc]=[cy−bzaz−cxbx−ay](12)Xv=\left[\begin{array}{ccc}\tag{12} 0 & -z & y \\ z & 0 & -x \\ -y & x & 0 \end{array}\right] \cdot \left[\begin{array}{ccc} a\\ b\\c \end{array}\right] = \left[\begin{array}{ccc} c y - b z\\ a z-c x \\ b x-a y \end{array}\right] Xv=0zyz0xyx0abc=cybzazcxbxay(12)

  而两个向量叉积的定义如下。可以看到(12)(12)(12)(13)(13)(13)结果相同。

(x,y,z)×(a,b,c)=(cy−bz,−cx+az,bx−ay)(13)\tag{13}(x,y,z)\times(a,b,c) = (c y - b z, -c x + a z, b x - a y)(x,y,z)×(a,b,c)=(cybz,cx+az,bxay)(13)

  两个向量做叉积的结果也是一个向量,这个向量与前两个向量都垂直。我们可以想象,李代数作用到空间中每一个点,都可以得到一个新的向量,它生成了一个向量场。假如我们把这个向量场画出来会是什么样的呢?下图所示就是李代数产生的向量场。我们改变李代数,相应的向量场也就发生了变化。由于生成的新向量总是与李代数(对应的向量)垂直,所以看上去这个向量场就是在围绕李代数旋转,李代数就是那个旋转轴。当然,旋转轴只需要单位向量就能确定,所以向量的长度表示了旋转的程度(即旋转角度)。

  旋转轴这个解释可比什么无穷小旋转矩阵、切空间那些解释直观多了。沿着这个方向思考,我们是否可以用李代数干点什么呢,比如插值?

  给定两个位置点,我们可以在二者中间连一条线段,这条线段上的点就是二者之间的一系列点。那么对于旋转来说,给定任意两个姿态,如何表示它们之间的一系列姿态或者旋转呢?
  一种思路是:
  (1)(1)(1) 计算差值旋转矩阵:假设从R1R_1R1经过旋转∆R∆RR到达R2R_2R2,如图所示。∆R∆RR可以由R1R_1R1R2R_2R2得到:∆R=R1−1R2∆R=R_1^{-1} R_2R=R11R2
  (2)(2)(2) 计算旋转轴和旋转角:旋转∆R∈SO(3)∆R∈SO(3)RSO(3)对应的旋转轴和旋转角可以由其李代数得到。我们知道从李代数得到李群可以借助指数映射。反之,从李群得到李代数需要使用对数映射(Logarithmic Map),即矩阵指数映射的逆运算。使用对数映射,我们可以将旋转矩阵变换为李代数空间中的元素(当然也就是个李代数了),即log:eX→Xlog:e^X→Xlog:eXX。将李代数的向量表示记为θuθuθu。其中,单位向量uuu表示从R1R_1R1R2R_2R2的旋转轴。而实数θθθ表示从R1R_1R1R2R_2R2旋转的角度。
  (3)(3)(3) 改变旋转角:使用指数映射,我们只需要让角度从000变化到θθθ即可得到一系列的中间旋转(期间并不改变旋转轴的朝向),如下图所示。
Rt=etu^,t∈(0,θ) R_t=e^{t\hat{u}}, t∈(0,θ) Rt=etu^,t(0,θ)

  除了以上插值方法外,还有一种更简单、直接的方法,步骤如下。
  (1)(1)(1) 转换为李代数:我们可以将每个旋转矩阵R1R_1R1R2R_2R2都视为李代数的指数映射。反过来,从旋转矩阵RRR也可以得到李代数,即:
X1=log(R1)X2=log(R2)X_1=log(R_1) \\ X_2=log(R_2)X1=log(R1)X2=log(R2)

  (2)(2)(2) 线性插值:既然李代数是一个线性空间,我们就在李代数这个线性空间中进行线性插值,再借助指数映射将中间结果(李代数)转换为李群中的旋转:
Rt=e(1−t)X1+tX2,t∈(0,1)R_t=e^{(1-t) X_1+tX_2}, t∈(0,1)Rt=e(1t)X1+tX2,t(0,1)

参考

[1] 封闭场景无人驾驶技术与应用.

http://www.dtcms.com/a/496886.html

相关文章:

  • SAP MM发票校验接口分享
  • 网站建设费经营范围省建设厅网站建筑材料备案申请
  • 红色培训网站源码电视直播网站开发
  • 网站开发费是无形资产吗建晨网站建设有限公司
  • 包装设计网站排行榜莘庄网站建设
  • 网站后端怎么做wordpress为导航添加图标
  • 数据透视表
  • 网页设计第7次作业Apifox的使用
  • ps如何做网站首页宜昌外贸网站建设优化推广
  • 深圳市南山网站建设山东兴华建设集团网站
  • 网站建设平台ui确认书wordpress 前台刷新
  • 目前网站类型主要包括哪几种单页网站定义
  • Blender4.5 几何节点组织方式(对象,实例,几何,属性,域)
  • 使用Blender设计灵鱼
  • 极端行情(黑天鹅事件)中布林带参数的动态调整
  • 龙岩网站开发公司昆明网站开发推广
  • 南宁建站服务公司手机怎么自创网站
  • 建材网站建设知道网站域名怎么联系
  • 网站模板加后台线上推广员是干什么的
  • 怎么做国外网站北京做网站电话的公司
  • 营销手机网站版面网站的建设与规划方案
  • 做跨境网站注意事项个人网站怎么推广
  • 郑州好的建网站公司wordpress多域名模板
  • 申通物流的网站建设六安百度推广公司
  • 怎么做网站优化 site网站建设费用 开办费
  • mvc6 网站开发实战深圳市建设工程交易服务中心网
  • 中 网站建设 扬州网站的时间对齐应该怎么做
  • 付网站建设费会计分录批量网站建设合作协议
  • 开封专业做网站公司雄安移动网络
  • 为什么要建设医院网站wordpress的cdn加速