Robot dynamics lecture 3

3.1 Introduction

对于fixed-based 动力学系统,可以用下面这个表达式。
M ( q ) q ¨ + b ( q , q ˙ ) + g ( q ) = τ + J c ( q ) T F c M(q)\ddot{q}+b(q, \dot{q})+g(q)=\tau +J_c(q)^TF_c M(q)q¨+b(q,q˙)+g(q)=τ+Jc(q)TFc

有三种方法:1.newton-euler 法, 使用笛卡尔坐标系;2.Lagrange Methods, 使用广义坐标系; 3. Projected Newton-Euler methods。

3.2 Foundation from Classical Mechanics

3.2.1 粒子的力学

对于单个质点,在运动过程中没有任何几何学上的限制,通过牛顿第二定律既可以刻画。
r ¨ m = F \ddot{r}m = F r¨m=F

对于一个有几何形状的物体,将其看成一个个质点组合而成
r ¨ d m = d F \ddot{r}dm=dF r¨dm=dF

对于线性运动,可以看成一个质量放在质心处的单个物体,满足 r ¨ m = F \ddot{r}m=F r¨m=F

3.2.2 virtual Displacements

质点之间内部作用力对系统运动的影响,可以用虚位移方法进行分析。
定义轨迹方程,和joint角度q和时间t有关
r = r ( q , t ) r = r(q,t) r=r(q,t)

通过微分形式得到结果:
δ r ( q , t ) = ∑ k = 1 n q δ r δ q k δ q k \delta r(q,t)=\sum_{k=1}^{n_q}\frac{\delta r}{\delta q_k}\delta q_k δr(q,t)=k=1nqδqkδrδqk

3.2.3 virtual displacement of single rigid bodies

下图是一个简单的系统,画出两个系统中的两个质点,dm和S的质点。
在这里插入图片描述
从运动基础上进行分析,相对距离始终恒定,这里的 ρ \rho ρ是惯性坐标系的向量。
r ⃗ = r ⃗ o s + ρ ⃗ r ⃗ ˙ = v ⃗ o s + Ω ⃗ × ρ ⃗ = [ I 3 × 3 − [ ρ ] × ] [ v o s Ω ] r ¨ = a ⃗ o s + Ψ ⃗ × ρ ⃗ + Ω ⃗ × Ω ⃗ × ρ ⃗ = [ I 3 × 3 − [ ρ ] × ] [ a s Ψ ] + Ω ⃗ × Ω ⃗ × ρ ⃗ \begin{aligned} \vec{r} &= \vec{r}_{os}+\vec{\rho} \\ \dot{\vec{r}} &= \vec{v}_{os}+\vec{\Omega} \times \vec{\rho} = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} v_{os} \\ \Omega \end{bmatrix} \\ \ddot{r} &= \vec{a}_{os}+\vec{\Psi} \times \vec{\rho}+\vec{\Omega} \times \vec{\Omega} \times \vec{\rho} \\ & = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + \vec{\Omega} \times \vec{\Omega} \times \vec{\rho} \end{aligned} r r ˙r¨=r os+ρ =v os+Ω ×ρ =[I3×3[ρ]×][vosΩ]=a os+Ψ ×ρ +Ω ×Ω ×ρ =[I3×3[ρ]×][asΨ]+Ω ×Ω ×ρ
得到差分形式:
δ r ⃗ = δ r ⃗ s + δ ⃗ ϕ × ρ ⃗ = [ I 3 × 3 − [ ρ ] × ] [ δ r s δ ϕ ] \delta {\vec{r}} = \delta{\vec{r}}_{s}+\vec{\delta}\phi \times \vec{\rho} = \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} \delta r_{s} \\ \delta \phi \end{bmatrix} δr =δr s+δ ϕ×ρ =[I3×3[ρ]×][δrsδϕ]

3.2.4 virtual displacement of multi body system

对于一个多刚体系统,关节运动的限制,使得关节的速度末端的速度的映射关系如下:
[ v s Ω ] = [ J P J R ] q ˙ \begin{bmatrix} v_s \\ \Omega \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \dot{q} [vsΩ]=[JPJR]q˙
进行差分,得到结果
[ a s Ψ ] = [ J P J R ] q ¨ + [ J ˙ P J ˙ R ] q ˙ \begin{bmatrix} a_s \\ \Psi \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \ddot{q}+ \begin{bmatrix} \dot{J}_P \\ \dot{J}_R \end{bmatrix} \dot{q} [asΨ]=[JPJR]q¨+[J˙PJ˙R]q˙

用虚位移角度来看,
[ δ r s δ Θ ] = [ J P J R ] δ q \begin{bmatrix} \delta r_s \\ \delta \Theta \end{bmatrix} = \begin{bmatrix} J_P \\ J_R \end{bmatrix} \delta q [δrsδΘ]=[JPJR]δq

3.2.5 虚功原理

限制力在限制点所做的功为0之和为0
δ w = δ r ⃗ c T ⋅ F ⃗ c = 0 \delta w=\delta \vec{r}_c^T \cdot \vec{F}_c = 0 δw=δr cTF c=0
使用达朗贝尔原理,对于一个刚体,功的微分满足:
δ W = ∫ B δ r T ⋅ ( r ⃗ ¨ d m − d F e x t ) = 0 \delta W = \int_B \delta r^T \cdot (\ddot{\vec{r}}dm-dF_{ext})=0 δW=BδrT(r ¨dmdFext)=0

对于任意的 δ r \delta r δr,虚功原理均成立。

3.3 牛顿欧拉法

3.3.1 单个刚体

使用虚功原理
0 = δ W = ∫ B [ δ r s δ Θ ] T [ I 3 × 3 [ ρ ] × ] ( [ I 3 × 3 − [ ρ ] × ] [ a s Ψ ] d m + [ Ω ⃗ ] 2 × ρ ⃗ d m − d F e x t ) = [ r o s Θ ] T ∫ B ( [ I 3 × 3 d m [ ρ ] × T d m [ ρ ] × d m − [ ρ ] × 2 d m ] [ a s Ψ ] + ( [ [ Ω ⃗ ] × 2 ρ ⃗ d m [ ρ ] × [ Ω ⃗ ] × 2 ρ ⃗ d m ] ) − ( [ d F e x t [ ρ ] × d F e x t ] ) \begin{aligned} 0&=\delta W=\int_B \begin{bmatrix} \delta r_{s} \\ \delta \Theta \end{bmatrix}^T \begin{bmatrix}I_{3\times 3} \\ [\rho]_{\times} \end{bmatrix} ( \begin{bmatrix}I_{3\times 3} & -[\rho]_{\times} \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix}dm + [\vec{\Omega}]^2 \times \vec{\rho}dm -dF_{ext}) \\ & = \begin{bmatrix} r_{os} \\ \Theta \end{bmatrix}^T \int_B (\begin{bmatrix} I_{3\times 3}dm & [\rho]_{\times}^Tdm \\ [\rho]_{\times}dm & -[\rho]_{\times}^2 dm \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + (\begin{bmatrix} [\vec{\Omega}]^2_{\times}\vec{\rho}dm \\ [\rho]_{\times}[\vec{\Omega}]^2_{\times}\vec{\rho}dm \end{bmatrix}) - (\begin{bmatrix} dF_{ext} \\ [\rho]_{\times}dF_{ext} \end{bmatrix}) \end{aligned} 0=δW=B[δrsδΘ]T[I3×3[ρ]×]([I3×3[ρ]×][asΨ]dm+[Ω ]2×ρ dmdFext)=[rosΘ]TB([I3×3dm[ρ]×dm[ρ]×Tdm[ρ]×2dm][asΨ]+([[Ω ]×2ρ dm[ρ]×[Ω ]×2ρ dm])([dFext[ρ]×dFext])

叉乘满足下列的关系 a × ( b × ( b × a ) ) = − b × ( a × ( a × b ) ) a \times (b \times (b \times a))=-b \times (a \times (a \times b)) a×(b×(b×a))=b×(a×(a×b)),积分公式满足
∫ B d m = : m b o d y   m a s s ∫ B ρ ⃗ d m = 0 S = C O G , S 是 中 心 点 ∫ B − [ ρ ] × 2 d m = ∫ B [ ρ ] × [ ρ ] × T d m = : Θ s 转 动 惯 量 C O G \begin{aligned} \int_B dm &= : m \quad body \, mass \\ \int_B \vec{\rho} dm &=0 \quad S = COG,S是中心点 \\ \int_B -[\rho]_{\times}^2dm & = \int_B [\rho]_{\times}[\rho]_{\times}^Tdm=:\Theta_s \quad 转动惯量COG \end{aligned} BdmBρ dmB[ρ]×2dm=:mbodymass=0S=COG,S=B[ρ]×[ρ]×Tdm=:ΘsCOG

上面的公式,简化的结果是:
0 = δ W = [ δ r s δ Φ ] T ( ( [ I 3 × 3 m 0 0 Θ s ] [ a s Ψ ] + ( [ 0 [ Ω ] × Θ s Ω ] ) − ( [ F e x t T e x t ] ) ) 0 = \delta W = \begin{bmatrix} \delta r_{s} \\ \delta \Phi \end{bmatrix}^T ((\begin{bmatrix} I_{3\times 3}m & 0 \\ 0 & \Theta_s \end{bmatrix} \begin{bmatrix} a_{s} \\ \Psi \end{bmatrix} + (\begin{bmatrix} 0 \\ [\Omega]_{\times}\Theta_s \Omega \end{bmatrix}) - (\begin{bmatrix} F_{ext} \\ \Tau_{ext} \end{bmatrix}) ) 0=δW=[δrsδΦ]T(([I3×3m00Θs][asΨ]+([0[Ω]×ΘsΩ])([FextText]))

为了往多刚体进行扩张,引入变量
P S = m v ⃗ s l i n e a r   m o m e n t u m N S = Θ S ⋅ Ω a n g u l a r   m o m e n t u m   a r o u n d   C O G P ˙ S = m a ⃗ s c h a n g e   i n   l i n e a r   m o m e n t u m N ˙ S = Θ S ⋅ Ψ + Ω × Θ S ⋅ Ω c h a n g e   i n   a n g u l a r   m o m e n t u m \begin{aligned} P_S&= m\vec{v}_s \quad linear \, momentum \\ N_S&=\Theta_S \cdot \Omega \quad angular \, momentum \, around \, COG \\ \dot{P}_S &= m\vec{a}_s \quad change \, in \, linear \, momentum \\ \dot{N}_S & = \Theta_S \cdot \Psi + \Omega \times \Theta_S \cdot \Omega \quad change \, in \, angular \, momentum \end{aligned} PSNSP˙SN˙S=mv slinearmomentum=ΘSΩangularmomentumaroundCOG=ma schangeinlinearmomentum=ΘSΨ+Ω×ΘSΩchangeinangularmomentum
对上面的公式再进行简化:
0 = δ W = [ δ r s δ Φ ] T ( ( [ P ˙ s N ˙ S ] ) − ( [ F e x t T e x t ] ) ) ∀ ( [ δ r s δ Φ ] ) 0=\delta W = \begin{bmatrix} \delta r_{s} \\ \delta \Phi \end{bmatrix}^T ( (\begin{bmatrix} \dot{P}_s \\ \dot{N}_S \end{bmatrix})- (\begin{bmatrix} F_{ext} \\ \Tau_{ext} \end{bmatrix})) \quad \forall (\begin{bmatrix} \delta r_s \\ \delta \Phi \end{bmatrix}) 0=δW=[δrsδΦ]T(([P˙sN˙S])([FextText]))([δrsδΦ])
根据上面这个公式,得到了牛顿欧拉公式
P ˙ S = F e x t , S N ˙ S = T e x t \begin{aligned} \dot{P}_S & = F_{ext,S} \\ \dot{N}_S & = T_{ext} \end{aligned} P˙SN˙S=Fext,S=Text

F e x t F_{ext} Fext是外力作用在COG上结果, T e x t T_{ext} Text是转矩合力,如果 F e x t F_{ext} Fext不是直接作用在COG上,就将其看成是作用在质心的力和转矩。如果constraint作用没有作用在COG上,分析在constraints点的转动惯量满足。
B Θ = C B A ⋅ A Θ ⋅ C B A T _B\Theta=C_{BA} \cdot _A\Theta \cdot C_{BA}^T BΘ=CBAAΘCBAT

3.3.2 多刚体

对于多刚体,在joint处,进行切割,将其看成n个刚体。
对于 n j n_j nj个广义坐标系,有 6 n j 6n_j 6nj个方程,再有 5 n j 5n_j 5nj个限制力。手算起来还是很复杂。
在这里插入图片描述

3.4 Lagrange Methods

3.4.1 基础概念

几个基础概念:

  • 广义坐标系和广义速度
  • 拉格朗日方程:
    L = T − U d d t ( ∂ L ∂ q ˙ ) − ( ∂ L ∂ q ) = τ \begin{aligned} L&=\Tau-U \\ \frac{d}{dt}(\frac{\partial L}{\partial \dot{q}})-(\frac{\partial L}{\partial q}) &= \tau \end{aligned} Ldtd(q˙L)(qL)=TU=τ

3.4.2 动能

系统的动能是各个关节
在这里插入图片描述
只要找到其中线速度和角速度是惯性系统的绝对速度,对于多刚体系统,joint的线速度和角速度是一个间接的结果,需要转换得到 q ˙ \dot{q} q˙
r ˙ s i = J S i q ˙ Ω s i = J R i q ˙ \begin{aligned} \dot{r}_{si}&=J_{Si}\dot{q} \\ \Omega_{si} &=J_{Ri}\dot{q} \end{aligned} r˙siΩsi=JSiq˙=JRiq˙
广义系统的动能:
T ( q , q ˙ ) = 0.5 q ˙ T ( ∑ i = 1 n b ( J S i T m i J S i + J R i T Θ S i J R i ) ) q ˙ = 0.5 ∗ q ˙ T M ( q ) q ˙ T(q, \dot{q})=0.5 \dot{q}^T (\sum_{i=1}^{n_b} (J_{Si}^Tm_iJ_{Si}+J_{Ri}^T\Theta_{Si}J_{Ri})) \dot{q}=0.5*\dot{q}^TM(q)\dot{q} T(q,q˙)=0.5q˙T(i=1nb(JSiTmiJSi+JRiTΘSiJRi))q˙=0.5q˙TM(q)q˙

非线性离心力和科里奥利力由该公式差分得到的。

3.4.3 Potential Energy

势能由重力势能和弹性势能组成,考虑到势能场的不均匀性,重力可以表示为:
F g i = m i g I e g u g = − ∑ i = 1 n b r S i T F g i u E j = 0.5 k j ( d ( q ) − d 0 ) 2 \begin{aligned} F_{gi} &=m_ig_ Ie_g \\ u_g & = -\sum_{i=1}^{n_b}r_{Si}^TF_{gi} \\ u_{Ej}&=0.5k_j(d(q)-d_0)^2 \end{aligned} FgiuguEj=migIeg=i=1nbrSiTFgi=0.5kj(d(q)d0)2

3.4.4 External forces

所有外力做功,均可看成是广义力做功的效果。

3.4.5 额外的限制

对于fixed-based system, 只要通过广义坐标系,就可以避开限制力。对于float-based system, 例如足式机器人,只有接触到地面才会有限制力作用,采用拉格朗日乘子解决该问题,用线性表达运动限制。
∑ k = 1 n q a k , j ( q ) q ˙ k + a 0 , j ( t ) , j = 1 , 2 , . . . , n c , m J m = [ a 1 , 1 . . . a 1 , n c , m . . . . . . . . . a n q , 1 . . . a n q , n c , m ] \begin{aligned} & \sum_{k=1}^{n_q}a_{k,j}(q)\dot{q}_k+a_{0,j}(t), \quad j = 1,2,...,n_{c,m} \\ & J_m = \begin{bmatrix} a_{1,1} & ... & a_{1, n_{c,m}} \\ ... & ... & ... \\ a_{n_q,1} & ... & a_{n_q, n_{c,m}} \end{bmatrix} \end{aligned} k=1nqak,j(q)q˙k+a0,j(t),j=1,2,...,nc,mJm=a1,1...anq,1.........a1,nc,m...anq,nc,m

改良后的constrained culer-lagrange (CEL),公式如下:
d d t ( ∂ L ∂ q ˙ ) − ( ∂ L ∂ q ) + J m T λ m + ( ∂ f c ∂ q ) T λ c = τ \frac{d}{dt}(\frac{\partial L}{\partial \dot{q}})-(\frac{\partial L}{\partial q})+J_m^T\lambda_m+ (\frac{\partial f_c}{\partial q})^T\lambda_c=\tau dtd(q˙L)(qL)+JmTλm+(qfc)Tλc=τ

3.5 Projected Newton-Euler method

结合牛顿欧拉法分析在笛卡尔坐标系和广义坐标系。
M ( q ) q ¨ + b ( q , q ˙ ) + g ( q ) = τ + J c T F c M(q)\ddot{q}+b(q, \dot{q})+g(q)=\tau + J_c^TFc M(q)q¨+b(q,q˙)+g(q)=τ+JcTFc

3.5.2 获取运动的广义方程

从牛顿欧拉法开始,获取基础公式,根据3.2.4 部分得到的结果。
[ P ˙ S i N ˙ S i ] = [ m a S i Θ S i Ψ S i + Ω S i × Θ S i Ω S i ] = [ m J S i Θ S i J R i ] q ¨ + [ m J ˙ S i q ˙ Θ S i J ˙ R i q ˙ + J R i q ˙ × Θ S i J R i q ˙ ] \begin{aligned} \begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix} &= \begin{bmatrix} ma_{Si} \\ \Theta_{Si}\Psi_{Si} + \Omega_{Si} \times \Theta_{Si} \Omega_{Si} \end{bmatrix} \\ & = \begin{bmatrix} mJ_{Si} \\ \Theta_{Si}J_{Ri} \end{bmatrix} \ddot{q} + \begin{bmatrix} m\dot{J}_{Si}\dot{q} \\ \Theta_{Si}\dot{J}_{Ri}\dot{q}+J_{Ri}\dot{q}\times \Theta_{Si}J_{Ri}\dot{q} \end{bmatrix} \end{aligned} [P˙SiN˙Si]=[maSiΘSiΨSi+ΩSi×ΘSiΩSi]=[mJSiΘSiJRi]q¨+[mJ˙Siq˙ΘSiJ˙Riq˙+JRiq˙×ΘSiJRiq˙]
虚功原理如下:
0 = δ W = ∑ i = 1 n b [ δ r s i δ Φ i ] T ( ( [ P ˙ S i N ˙ S i ] ) − ( [ F e x t , i T e x t , i ] ) ) ∀ ( [ δ r s δ Φ ] ) = δ q T ∑ i = 1 n b ( ( [ P ˙ S i N ˙ S i ] ) − ( [ F e x t , i T e x t , i ] ) ) ∀ δ q \begin{aligned} 0=\delta W &= \sum_{i=1}^{n_b} \begin{bmatrix} \delta r_{si} \\ \delta \Phi i \end{bmatrix}^T ( (\begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix})- (\begin{bmatrix} F_{ext,i} \\ \Tau_{ext,i} \end{bmatrix})) \quad \forall (\begin{bmatrix} \delta r_s \\ \delta \Phi \end{bmatrix}) \\ & =\delta q^T \sum_{i=1}^{n_b} ((\begin{bmatrix} \dot{P}_{Si} \\ \dot{N}_{Si} \end{bmatrix})- (\begin{bmatrix} F_{ext,i} \\ \Tau_{ext,i} \end{bmatrix})) \quad \forall \delta q \end{aligned} 0=δW=i=1nb[δrsiδΦi]T(([P˙SiN˙Si])([Fext,iText,i]))([δrsδΦ])=δqTi=1nb(([P˙SiN˙Si])([Fext,iText,i]))δq
得到最终的结果:在这里插入图片描述
再对比原始公式:
M = ∑ i = 1 n b ( J S i T m J S i + J R i T Θ S i J R i ) b = ∑ i = 1 n b ( J S i T m J ˙ S i q ˙ + J R i T ( Θ S i ) ) g = ∑ i = 1 n b − J S i T F g , i \begin{aligned} M & = \sum_{i=1}^{n_b}(J_{Si}^TmJ_{Si}+J_{Ri}^T\Theta_{Si}J_{Ri}) \\ b & = \sum_{i=1}^{n_b}(J_{Si}^Tm\dot{J}_{Si}\dot{q}+J^T_{Ri}(\Theta_{Si})) \\ g & = \sum_{i=1}^{n_b}-J_{Si}^TF_{g,i} \end{aligned} Mbg=i=1nb(JSiTmJSi+JRiTΘSiJRi)=i=1nb(JSiTmJ˙Siq˙+JRiT(ΘSi))=i=1nbJSiTFg,i

上面公式通过joint将每个link当成单独的个体来分析,所以使用的角速度和线速度都是绝对值。
在这里插入图片描述
公式中的 J s i Jsi Jsi J r i Jri Jri是对应关节的质心相对于机器人base_link的jacobian矩阵,这个是狠明确的。
公式中的 Θ s i \Theta s_i Θsi的坐标系要如何确定?
从转动惯量的定义出发,使用角动量 H = Θ w ⃗ H=\Theta \vec{w} H=Θw 描述刚体的旋转运动。
projected newton euler法来说,坐转动惯量标系选取:
1)和joint对应的坐标系方向一致;
2)坐标系原点在刚体的质心上;

3.5.3 External Force

通过jacobian 矩阵,将笛卡尔坐标系上的受力和转矩转换到广义坐标系上。
τ F , e x t = ∑ j = 1 n f , e x t J P , j T F j τ T , e x t = ∑ k = 1 n f , e x t J R , k T F k τ e x t = τ F , e x t + τ T , e x t \begin{aligned} \tau_{F,ext} &=\sum_{j=1}^{n_{f,ext}}J_{P,j}^TF_j \\ \tau_{T,ext} & = \sum_{k=1}^{n_{f,ext}}J_{R,k}^TF_k \\ \tau_{ext} & = \tau_{F,ext}+\tau_{T,ext} \end{aligned} τF,extτT,extτext=j=1nf,extJP,jTFj=k=1nf,extJR,kTFk=τF,ext+τT,ext

安装在joint上的驱动关节,同时对两个link进行做功,做功的方向相反,驱动力对广义的效果。
τ a , k = ( J s k − J s k − 1 ) T F a , k + ( J R k − J R k − 1 ) T T a , k τ = ∑ k = 1 n A τ a , k + τ e x t \begin{aligned} \tau_{a,k} & = (J_{s_k}-J_{s_{k-1}})^TF_{a,k}+(J_{R_k}-J_{R_{k-1}})^TT_{a,k} \\ \tau & = \sum_{k=1}^{n_A}\tau_{a,k}+\tau_{ext} \end{aligned} τa,kτ=(JskJsk1)TFa,k+(JRkJRk1)TTa,k=k=1nAτa,k+τext

  • 注意事项
    计算广义外力的作用效果 τ e x t \tau_{ext} τext时,有两种方法:
    1)直接用 J P , i ′ ∗ F e x t J_{P,i}'*F_{ext} JP,iFext
    2)随便选择一个link, 将 F e x t F_{ext} Fext转换到link质心的受力和作用力偶 T e x t T_{ext} Text,再使用 j s i ′ ∗ F e x t + j r i ′ ∗ T e x t jsi'*F_{ext}+jri'*T_{ext} jsiFext+jriText
  • 计算内力的作用效果 τ a , k \tau_{a,k} τa,k,
    step1: 拆解成分别作用于两个link的一对反作用力,分别将作用力,转换到对应link质心的作用力和作用力偶
    step2: 使用 j s i ′ ∗ F e x t + j r i ′ ∗ T e x t jsi'*F_{ext}+jri'*T_{ext} jsiFext+jriText进行求解
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值