机器人运动学(二):Homogeneous Transformation Matrix

系列文章目录



前言

网课:台大机器人学运动学
书:机器人导论


一、Rotation Matrix与转角

问题:空间中的转动有三个DOFs,如果将空间中的三个DOFs想成是三个转动,这三个转动的角度和Rotation Matrix要如何对应?

i.e.空间中的Rotation Matrix是3DOFs,如何把一般的Rotation Matrix所表达的姿态,拆解成三次旋转角度,以对应三个DOFs?

1.1.拆解成三次旋转连乘所需要注意事项

1)rotation不是commutable(i.e.前后可以互换),所以多次旋转的先后顺序需要明确定义
2)旋转转轴也需要明确定义,是对固定不动的转轴旋转,或是转动的frame当下所在的frame的转轴旋转。

1.2.两套拆解方式

1)对方向固定不动的转轴旋转: F i x e d   a n g l e s Fixed ~angles Fixed angles即空间中固定一个frame,point(vector)都是以于这个frame的principal axes作为转轴旋转。
2)对转动的frame当下所在的转轴方向旋转: E u l e r   a n g l e s Euler ~angles Euler angles即被转动物体的frame的principal axes作为转轴旋转。

Fixed Angle与Euler Angle的区别在于,在旋转变换的过程中,Euler Angle指的是旋转是绕物体自身的坐标轴旋转。Fixed Angle指的是旋转绕世界坐标系的轴旋转。

二、Fixed Angles

2.1.X-Y-Z Fixed Angles-由angles推算R

在这里插入图片描述
B A R X Y Z ( γ , β , α ) = R Z ( α ) R Y ( β ) R X ( γ )   = [ c α − s α 0 s α c α 0 0 0 1 ] [ c β 0 s β 0 1 0 − s β 0 c β ] [ 1 0 0 0 c γ − s γ 0 s γ c γ ]   = [ c α c β c α s β s γ − s α c γ c α s β c γ + s α s γ s α c β s α s β s γ + c α c γ s α s β c γ − c α s γ − s β c β s γ c β c γ ]             {^A_B}R_{XYZ}(\gamma,\beta,\alpha)= R_Z(\alpha)R_Y(\beta)R_X(\gamma)\\~\\= \begin{bmatrix}c\alpha&-s\alpha&0\\s\alpha&c\alpha&0\\0&0&1\end{bmatrix} \begin{bmatrix}c\beta&0&s\beta\\0&1&0\\-s\beta&0&c\beta\end{bmatrix} \begin{bmatrix}1&0&0\\0&c\gamma&-s\gamma\\0&s\gamma&c\gamma\end{bmatrix}\\~\\= \begin{bmatrix}c\alpha c\beta&c\alpha s\beta s\gamma-s\alpha c\gamma&c\alpha s\beta c\gamma+s\alpha s\gamma\\ s\alpha c\beta&s\alpha s\beta s\gamma+c\alpha c\gamma&s\alpha s\beta c\gamma-c\alpha s\gamma\\-s\beta&c\beta s\gamma&c\beta c \gamma\end{bmatrix}~~~~~~~~~~~ BARXYZ(γ,β,α)=RZ(α)RY(β)RX(γ) = cαsα0sαcα0001 cβ0sβ010sβ0cβ 1000cγsγ0sγcγ  = cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ            

以operator来看,向量 v v v乘上rotation matrix即表示在同一个frame下,进行转动操作 v ′ = B A R v = R 3 R 2 R 1 v v'= {^A_B}Rv=R_3R_2R_1v v=BARv=R3R2R1v

Ex:以Fixed Angles旋转:【先对X轴旋转60度,后对Y轴旋转30度】,和【先对Y轴旋转30度,然后对X轴旋转60度】各自的 B A R ^A_BR BAR分别是多少?
在这里插入图片描述

2.2.X-Y-Z Fixed Angles-由R推算angles

B A R X Y Z ( γ , β , α ) = [ c α c β c α s β s γ − s α c γ c α s β c γ + s α s γ s α c β s α s β s γ + c α c γ s α s β c γ − c α s γ − s β c β s γ c β c γ ]   = [ r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 ]                   i f   β ≠ 9 0 。 , β = A t a n 2 ( − r 31 , r 11 2 + r 21 2 ) α = A t a n 2 ( r 21 / c β , r 11 / c β ) γ = A t a n 2 ( r 32 / c β , r 33 / c β ) ( − 9 0 。 ≤ β ≤ 9 0 。 ) i f   β = 9 0 。 ,  α = 0 。   γ = A t a n 2 ( r 12 , r 22 )        i f   β = − 9 0 。 ,  α = 0 。   γ = − A t a n 2 ( r 12 , r 22 ) {^A_B}R_{XYZ}(\gamma,\beta,\alpha)= \begin{bmatrix}c\alpha c\beta&c\alpha s\beta s\gamma-s\alpha c\gamma&c\alpha s\beta c\gamma+s\alpha s\gamma\\ s\alpha c\beta&s\alpha s\beta s\gamma+c\alpha c\gamma&s\alpha s\beta c\gamma-c\alpha s\gamma\\-s\beta&c\beta s\gamma&c\beta c \gamma\end{bmatrix}\\~\\ =\begin{bmatrix}r_{11}&r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\end{bmatrix}~~~~~~~~~~~~~~~\\~\\ if~\beta\neq90^。,\beta=Atan2(-r_{31},\sqrt{{r_{11}}^2+{r_{21}}^2})\\ \alpha= Atan2(r_{21}/c\beta,r_{11}/c\beta) \\\gamma=Atan2(r_{32}/c\beta,r_{33}/c\beta) (-90^。\le\beta \le90^。)\\ if~\beta=90^。,~\alpha=0^。~\gamma = Atan2(r_{12},r_{22})~~~~~~ \\if~\beta=-90^。,~\alpha=0^。~\gamma = -Atan2(r_{12},r_{22}) BARXYZ(γ,β,α)= cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ  = r11r21r31r12r22r32r13r23r33                 if β=90β=Atan2(r31,r112+r212 )α=Atan2(r21/cβ,r11/cβ)γ=Atan2(r32/cβ,r33/cβ)(90β90)if β=90 α=0 γ=Atan2(r12,r22)      if β=90 α=0 γ=Atan2(r12,r22)
Ex:以X-Y-Z Fixed Angles方法,反算 R = [ 0.866 0.433 0.25 0 0.5 − 0.866 − 0.5 0.75 0.433 ] R = \begin{bmatrix}0.866&0.433&0.25\\0&0.5&-0.866\\-0.5&0.75&0.433\end{bmatrix} R= 0.86600.50.4330.50.750.250.8660.433 的angles.
在这里插入图片描述

三、Euler Angles

3.1.Z-Y-XEuler Angles-由angles推算R

在这里插入图片描述
B A R Z ′ Y ′ X ′ ( α , β , γ ) = B ′ A R   B ′ ′ B ′ R   B ′ B ′ ′ R = R Z ′ ( α ) R Y ′ ( β ) R X ′ ( γ )   = [ c α − s α 0 s α c α 0 0 0 1 ] [ c β 0 s β 0 1 0 − s β 0 c β ] [ 1 0 0 0 c γ − s γ 0 s γ c γ ]   = [ c α c β c α s β s γ − s α c γ c α s β c γ + s α s γ s α c β s α s β s γ + c α c γ s α s β c γ − c α s γ − s β c β s γ c β c γ ]                = R Z ( α ) R Y ( β ) R X ( γ ) = B A R X Y Z ( γ , β , α )                      {^A_B}R_{Z'Y'X'}(\alpha,\beta,\gamma)={^A_{B'}}R~^{B'}_{B''}R~{^{B''}_{B'}R}= R_{Z'}(\alpha)R_{Y'}(\beta)R_{X'}(\gamma)\\~\\ =\begin{bmatrix}c\alpha&-s\alpha&0\\s\alpha&c\alpha&0\\0&0&1\end{bmatrix} \begin{bmatrix}c\beta&0&s\beta\\0&1&0\\-s\beta&0&c\beta\end{bmatrix} \begin{bmatrix}1&0&0\\0&c\gamma&-s\gamma\\0&s\gamma&c\gamma\end{bmatrix}\\~\\= \begin{bmatrix}c\alpha c\beta&c\alpha s\beta s\gamma-s\alpha c\gamma&c\alpha s\beta c\gamma+s\alpha s\gamma\\ s\alpha c\beta&s\alpha s\beta s\gamma+c\alpha c\gamma&s\alpha s\beta c\gamma-c\alpha s\gamma\\-s\beta&c\beta s\gamma&c\beta c \gamma\end{bmatrix}~~~~~~~~~~~~\\~\\= R_Z(\alpha)R_Y(\beta)R_X(\gamma)={^A_B}R_{XYZ}(\gamma,\beta,\alpha)~~~~~~~~~~~~~~~~~~~~ BARZYX(α,β,γ)=BAR B′′BR BB′′R=RZ(α)RY(β)RX(γ) = cαsα0sαcα0001 cβ0sβ010sβ0cβ 1000cγsγ0sγcγ  = cαcβsαcβsβcαsβsγsαcγsαsβsγ+cαcγcβsγcαsβcγ+sαsγsαsβcγcαsγcβcγ              =RZ(α)RY(β)RX(γ)=BARXYZ(γ,β,α)                    

注意:以mapping来看,对某个向量,从最后一个frame,逐渐转动到第一个frame A P = B A R B P = R 1 R 2 R 3   B P ^AP= {^A_B}R^BP=R_1R_2R_3~ ^BP AP=BARBP=R1R2R3 BP
可以看到,Z-Y-X Euler Angles和X-Y-ZFixed Angles得到一样的R,即Euler的正转等于Fixed的反转,所以Z-Y-X Euler Angles和X-Y-ZFixed Angles会有一组简单的对应

Ex:以Euler Angles旋转:【先对X轴旋转60度,后对Y轴旋转30度】,和【先对Y轴旋转30度,然后对X轴旋转60度】各自的 B A R ^A_BR BAR分别是多少?

Ex:Ruler(Y30,X60)v.s.Fixed(X60,Y30)
在这里插入图片描述

3.2.Z-Y-ZEuler Angles-由angles推算R

B A R Z ′ Y ′ Z ′ ( α , β , γ ) = R Z ′ ( α ) R Y ′ ( β ) R Z ′ ( γ )   = [ c α c β c γ − s α s γ − c α c β s γ − s α c γ c α s β s α c β c γ + c α s γ − s α c β s γ + c α c γ s α s β − s β c γ s β s γ c β ] {^A_B}R_{Z'Y'Z'}(\alpha,\beta,\gamma)= R_{Z'}(\alpha)R_{Y'}(\beta)R_{Z'}(\gamma)\\~\\ =\begin{bmatrix}c\alpha c\beta c\gamma-s\alpha s\gamma &-c\alpha c\beta s\gamma-s\alpha c\gamma&c\alpha s\beta\\ s\alpha c\beta c\gamma+c\alpha s\gamma&-s\alpha c\beta s\gamma+c\alpha c\gamma&s\alpha s\beta\\-s\beta c\gamma&s\beta s\gamma&c\beta \end{bmatrix} BARZYZ(α,β,γ)=RZ(α)RY(β)RZ(γ) = cαcβcγsαsγsαcβcγ+cαsγsβcγcαcβsγsαcγsαcβsγ+cαcγsβsγcαsβsαsβcβ

3.3.Z-Y-ZEuler Angles-由R推算angles

B A R Z ′ Y ′ Z ′ ( α , β , γ )   = [ c α c β c γ − s α s γ − c α c β s γ − s α c γ c α s β s α c β c γ + c α s γ − s α c β s γ + c α c γ s α s β − s β c γ s β s γ c β ]   = [ r 11 r 12 r 13 r 21 r 22 r 23 r 31 r 32 r 33 ]                                                   i f   β ≠ 0 。 , β = A t a n 2 ( r 31 2 + r 32 2 , r 33 )             α = A t a n 2 ( r 23 / s β , r 13 / s β ) γ = A t a n 2 ( r 32 / s β , − r 31 / s β ) i f   β = 0 。 ,  α = 0 。   γ = A t a n 2 ( − r 12 , r 11 )            i f   β = − 18 0 。 ,  α = 0 。   γ = − A t a n 2 ( r 12 , − r 11 ) {^A_B}R_{Z'Y'Z'}(\alpha,\beta,\gamma)\\~\\ =\begin{bmatrix}c\alpha c\beta c\gamma-s\alpha s\gamma &-c\alpha c\beta s\gamma-s\alpha c\gamma&c\alpha s\beta\\ s\alpha c\beta c\gamma+c\alpha s\gamma&-s\alpha c\beta s\gamma+c\alpha c\gamma&s\alpha s\beta\\-s\beta c\gamma&s\beta s\gamma&c\beta \end{bmatrix}\\~\\ =\begin{bmatrix}r_{11}&r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\end{bmatrix}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\~\\ if~\beta\neq0^。,\beta=Atan2(\sqrt{{r_{31}}^2+{r_{32}}^2},r_{33})~~~~~~~~~~~\\ \alpha= Atan2(r_{23}/s\beta,r_{13}/s\beta) \\\gamma=Atan2(r_{32}/s\beta,-r_{31}/s\beta) \\ if~\beta=0^。,~\alpha=0^。~\gamma = Atan2(-r_{12},r_{11})~~~~~~~~~~ \\if~\beta=-180^。,~\alpha=0^。~\gamma = -Atan2(r_{12},-r_{11}) BARZYZ(α,β,γ) = cαcβcγsαsγsαcβcγ+cαsγsβcγcαcβsγsαcγsαcβsγ+cαcγsβsγcαsβsαsβcβ  = r11r21r31r12r22r32r13r23r33                                                 if β=0β=Atan2(r312+r322 ,r33)           α=Atan2(r23/sβ,r13/sβ)γ=Atan2(r32/sβ,r31/sβ)if β=0 α=0 γ=Atan2(r12,r11)          if β=180 α=0 γ=Atan2(r12,r11)
Ex: R = B A R X ′ Y ′ Z ′ ( 60 , 30 , 0 ) = R X ′ ( 60 ) R Y ′ ( 30 ) = [ 0.866 0.433 0.25 0 0.5 − 0.866 − 0.5 0.75 0.433 ] R ={^A_B}R_{X'Y'Z'}(60,30,0)=R_{X'}(60)R_{Y'}(30)=\begin{bmatrix}0.866&0.433&0.25\\0&0.5&-0.866\\-0.5&0.75&0.433\end{bmatrix} R=BARXYZ(60,30,0)=RX(60)RY(30)= 0.86600.50.4330.50.750.250.8660.433 ,以Z-Y-Z Ruler Angles的公式反算,Ruler Angles为多少?
在这里插入图片描述

所以可知,一个Rotation Matrix可以对应多种拆解方式,得到不一样的转动角度。

四、Euler/Fixed angles小结

12种Euler angles和12种Fixed angles( C 3 1 C 2 1 C 2 1 C{^1_3}C{^1_2}C{^1_2} C31C21C21
存在Duality:每种Euler都有一组反转的Fixed与之对应,所以一共有12种对principal axes连三次转动的拆解方法。

4.1.Angles-axis表达法(轴角法)

在这里插入图片描述

4.2.Cuaternion表达法(四元数法)

在这里插入图片描述

自己要在课外查资料,关于角轴法和四元数法

五、描述空间状态

将移动和转动整合一起定量描述

5.1.Homogeneous transformation matrix:

[ B A R A P B   o r g 0 0 0 1 ]               = [ A X ^ B A Y ^ B A Z ^ B A P B   o r g 0 0 0 1 ] =   B A T \begin{bmatrix}&{_B^A}R&&^AP_{B~org}\\0&0&0&1\end{bmatrix}~~~~~~~~~~~\\~\\ =\begin{bmatrix}&&\\ {^A}\widehat X{_B} &{^A}\widehat Y{_B}& {^A}\widehat Z{_B}&^AP_{B~org}\\\\0&0&0&1\end{bmatrix}=~^A_BT [0BAR00APB org1]            = AX B0AY B0AZ B0APB org1 = BAT

5.2.当Mapping,转换向量(或点)的坐标系的方式来确认 B A T ^A_BT BAT运算的正确性

所谓mapping,就是将某个坐标(point or vector)从一个frame转到另一个frame。即point(vector)在空间中的位置没变化,只是参考坐标系(frame)改变

在这里插入图片描述

在这里插入图片描述

0

5.3. B A T ^A_BT BAT当Operator,即 对坐标(point or vector)在当前frame进行移动或转动。

在这里插入图片描述

在这里插入图片描述
Ex: P o i n t   P 1 = [ 3 7 0 ] Point~P_1=\begin{bmatrix}3\\7\\0\end{bmatrix} Point P1= 370 ,先对Z轴CCW(counter clockwise,一般以CCW为正方向)转 3 0 。 30^。 30,然后移动 [ 10 5 0 ] \begin{bmatrix}10\\5\\0\end{bmatrix} 1050 P 2 P_2 P2,求 P 2 P_2 P2
在这里插入图片描述
In-video Quiz:如果要如下图所示先移动再转动,那T应该如何表达?
在这里插入图片描述

5.4.mapping/operator

因为运动是相对的, B A ^A_B BAT当成Operator时对向量(或点)进行移动或转动的操作,也可以想象对frame进行反向的运动或移动的操作。
在这里插入图片描述

这里的frame“对frame进行反向的运动或移动的操作”是不是可以想象成将原frame转到一个新的frame上呢?这不就是mapping吗?

Ex:
在这里插入图片描述

5.5.Homogeneous transformation matrix的三种用法

在这里插入图片描述

六、Homogeneous transformation matrix运算法则

6.1.连续运算

{ A } → { C } \{A\}\rightarrow\{C\} {A}{C}
A P   =   B A T B P = B A T ( C B T C P ) =   B A T C B T C P                              = [ B A R A P B   o r g 0 0 0 1 ] [ C B R B P C   o r g 0 0 0 1 ] C P   = [ B A R C B R A P B   o r g + B A R B P C   o r g 0 0 0 1 ]                   =   C A T C P                                                                             ^AP~=~^A_BT^BP=^A_BT(^B_CT^CP)=~^A_BT^B_CT^CP~~~~~~~~~~~~~~~~~~~~~~~~~~\\~\\ =\begin{bmatrix}&{_B^A}R&&^AP_{B~org}\\0&0&0&1\end{bmatrix}\begin{bmatrix}&{^B_C}R&&^BP_{C~org}\\0&0&0&1\end{bmatrix}{^C}P\\~\\ =\begin{bmatrix}&{^A_B}R{^B_C}R&&^AP_{B~org}+{^A_B}R^BP_{C~org}\\0&0&0&1\end{bmatrix}~~~~~~~~~~~~~~~\\~\\ =~^A_CT^CP~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AP = BATBP=BAT(CBTCP)= BATCBTCP                           =[0BAR00APB org1][0CBR00BPC org1]CP =[0BARCBR00APB org+BARBPC org1]                = CATCP                                                                           
在这里插入图片描述

{ A } → { D } \{A\}\rightarrow\{D\} {A}{D}
A P   =   B A T B P = B A T ( C B T ( D C T D P ) ) =   B A T C B T D C T D P   = [ B A R C B R D C R A P B   o r g + B A R B P C   o r g + B A R C B R C P C   o r g 0 0 0 1 ] =   D A T D P ^AP~=~^A_BT^BP=^A_BT(^B_CT(^C_DT^DP))=~^A_BT^B_CT^C_DT^DP \\~\\ =\begin{bmatrix}&{^A_B}R{^B_C}R{^C_D}R&&^AP_{B~org}+{^A_B}R^BP_{C~org}+{^A_B}R{^B_C}R^CP_{C~org}\\0&0&0&1\end{bmatrix}=~^A_DT^DP AP = BATBP=BAT(CBT(DCTDP))= BATCBTDCTDP =[0BARCBRDCR00APB org+BARBPC org+BARCBRCPC org1]= DATDP

6.2.逆矩阵与转置

在这里插入图片描述

6.3.连续运算,求未知的相对关系

在这里插入图片描述

6.4.连续运算法则

initial condition:{A}and{B}coinside: B A T = E 4 × 4 ^A_BT = E_{4\times4} BAT=E4×4
1){B}对{A}的转轴旋转: p r e m u l t i p l y premultiply premultiply(自左乘)
以operator来想,对某一个向量,以同一个frame为基准,进行移动和转动
Ex:{B}依序经过 T 1 , T 2 , T 3 T_1,T_2,T_3 T1,T2,T3三次transformations, B A T =   T 3 T 2 T 1 E       v ′ =   B A T v = T 3 T 2 T 1 v ^A_BT=~T_3T_2T_1E~~~~~v'=~^A_BTv=T_3T_2T_1v BAT= T3T2T1E     v= BATv=T3T2T1v
2){B}对{A}的转轴旋转: p o s t m u l t i p l y postmultiply postmultiply(自右乘)
以mapping来想,对某一个向量,从最后一个frame逐渐转移或移动回来,回到第一个frame。
Ex:{B}依序经过 T 1 , T 2 , T 3 T_1,T_2,T_3 T1,T2,T3三次transformations, B A T =   E T 1 T 2 T 3        A P =   B A T v = T 3 T 2 T 1 B P ^A_BT=~ET_1T_2T_3~~~~~^AP=~^A_BTv=T_3T_2T_1^BP BAT= ET1T2T3     AP= BATv=T3T2T1BP
3)小结:以固定的{A}或移动的{B}为基准进行移动或转动的操作,Homogeneous transformation matrix应用不同的连乘方式。

理解:相当于,perator是从前往后运算,坐标系固定,mapping是从后往前运算,坐标系变化
精选弹幕

  • 永远记得,左乘矩阵就是线性累加
  • 特殊欧式群和欧式正交群:旋转矩阵构成特殊正交群SO,位姿变换矩阵构成了特殊欧式群SE
  • 对于一个旋转矩阵(我们的本质需求),我们有两种理解方式,一种是线性代数几何应用的Operation,一种是矩阵分析中过渡矩阵的mapping
  • mapping可以翻译为映射,可以理解为在不同的坐标系中转化用的,物体的位置在空间中并没发生改变,只是参考坐标系发生了变化
  • operator可以翻译为算子,可以理解为在一个基坐标系中做运算用的,物体的位置在空间中发生了改变
  • 以6轴机器人为例,operator相当于从一轴算到六轴得到tcp相对于0系的位置,mapping相当于从六轴一步步转换到一轴得到tcp相对于0系的位置
  • 欧拉角就是对最新坐标系进行变换描述,使用右乘 ;fix angle就是对固定坐标系进行描述,使用左乘
    齐次变换矩阵的三种解释:
    是位姿的描述, B A T ^A_BT BAT表示相对于坐标系{A}的坐标系{B}。特别的, B A R ^A_BR BAR的各列是定义{B}主轴方向的单位矢量, A P B   o r g AP_{B~org} APB org确定了{B}的原点。
    ​是变换映射: B A T ^A_BT BAT是映射 P B → A P ^B_P\rightarrow^AP PBAP
    是变换算子:T将 A P 1 ^AP_1 AP1变成 A P 2 ^AP_2 AP2
    位姿和变换都可以用位置矢量加上姿态来描述。一般来说位姿主要是用于描述,而变换常用来表示映射或算子。变换是平移和旋转的一般形式;但有时在纯旋转(或纯平移)的情况下也常用变换这个术语。
  • 23
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值