当前位置:网站首页>WBC learning notes (II): practical application of WBC control

WBC learning notes (II): practical application of WBC control

2022-06-26 08:33:00 Yu Getou

This article mainly refers to the following articles , The purpose is to deepen my understanding of WBC Formula and understanding of multi priority task application .
Based on the null space method (NUB) Full body control of (WBC) Simple implementation of
 Insert picture description here

Control system input : The position of the slider on the track y h y_h yh, Position of each joint of the manipulator θ = [ θ 1   θ 2   θ 3 ] T \boldsymbol{\theta}=[\theta_1\ \theta_2\ \theta_3]^T θ=[θ1 θ2 θ3]T.
Control system output : The speed of each joint of the manipulator θ ˙ \boldsymbol{\dot{\theta}} θ˙.
Control the mission 1: Keep the end position of the manipulator at the point under the world coordinate system A = [ 2   0 ] T A=[2 \ 0]^T A=[2 0]T.
Control the mission 2: Make the end of the mechanical arm face x Axis .

1. Control scheme without priority

(1) Desired coordinates at the end
x d = [ 2 − y h 0 ] \boldsymbol{x}_{d}=\left[\begin{array}{c} 2 \\ -y_h \\ 0 \end{array}\right] xd=2yh0
(2) Forward kinematics solution ( The end is relative to the origin )
x = [ x y θ ] = [ l 1 c 1 + l 2 c 12 + l 3 c 123 l 1 s 1 + l 2 s 12 + l 3 s 123 θ 1 + θ 2 + θ 3 ] \boldsymbol{x}=\left[\begin{array}{l} x \\ y \\ \theta \end{array}\right]=\left[\begin{array}{c} l_{1} c_{1}+l_{2} c_{12}+l_{3} c_{123} \\ l_{1} s_{1}+l_{2} s_{12}+l_{3} s_{123} \\ \theta_{1}+\theta_{2}+\theta_{3} \end{array}\right] x=xyθ=l1c1+l2c12+l3c123l1s1+l2s12+l3s123θ1+θ2+θ3
(3) Seeking inverse
take l 1 = l 2 = l 3 = 1 m l_1=l_2=l_3=1m l1=l2=l3=1m Plug in
x ˙ = J θ ˙ ↓ J = [ − s 1 − s 12 − s 123 − s 12 − s 123 − s 123 c 1 + c 12 + c 123 c 12 + c 123 c 123 1 1 1 ] ↓ θ ˙ = J † x ˙ \dot{\boldsymbol{x}}=J\boldsymbol{\dot{\theta}}\\ \downarrow\\ J=\left[\begin{array}{ccc} -s_{1}-s_{12}-s_{123} & -s_{12}-s_{123} & -s_{123} \\ c_{1}+c_{12}+c_{123} & c_{12}+c_{123} & c_{123} \\ 1 & 1 & 1 \end{array}\right]\\ \downarrow\\ \dot{\theta}=J^{\dagger} \dot{\boldsymbol{x}} x˙=Jθ˙J=s1s12s123c1+c12+c1231s12s123c12+c1231s123c1231θ˙=Jx˙
Properties of pseudo inverse : if J J J Inverse , be J † J^{\dagger} J yes J J J The inverse of ; if J J J No inverse , be J † J^{\dagger} J Satisfy θ ˙ = J † x ˙ \dot{\theta}=J^{\dagger} \dot{\boldsymbol{x}} θ˙=Jx˙ The least square solution of .

2. Control scheme with priority

For example, the position priority is higher than the direction priority
(1) Task breakdown
{ r 1 = [ x y ] T r 2 = θ ↓ { r 1 d = [ 2 − y h ] T r 2 d = 0 \left\{\begin{array}{l} \mathbf{r}_{1}=\left[\begin{array}{ll} x & y \end{array}\right]^{T} \\ \mathbf{r}_{2}=\theta \end{array}\right.\\ \downarrow\\ \left\{\begin{array}{l} \mathbf{r}_{1 d}=\left[\begin{array}{ll} 2 & -y_{h} \end{array}\right]^{T} \\ \mathbf{r}_{2 d}=0 \end{array}\right. { r1=[xy]Tr2=θ{ r1d=[2yh]Tr2d=0
(2) Jacobian matrix solution
The specific parameter values of the matrix have been obtained above , Just break it down
{ J 1 = [ − s 1 − s 12 − s 123 − s 12 − s 123 − s 123 c 1 + c 12 + c 123 c 12 + c 123 c 123 ] J 2 = [ 1 1 1 ] \left\{\begin{array}{l} J_{1}=\left[\begin{array}{ccc} -s_{1}-s_{12}-s_{123} & -s_{12}-s_{123} & -s_{123} \\ c_{1}+c_{12}+c_{123} & c_{12}+c_{123} & c_{123} \end{array}\right] \\ J_{2}=\left[\begin{array}{lll} 1 & 1 & 1 \end{array}\right] \end{array}\right. J1=[s1s12s123c1+c12+c123s12s123c12+c123s123c123]J2=[111]
(3) Plug in WBC The formula
θ ˙ = J 1 † r ˙ 1 + ( I − J 1 † J 1 ) J 2 † r ˙ 2 \dot{\theta}=J_{1}^{\dagger} \dot{\mathbf{r}}_{1}+\left(I-J_{1}^{\dagger} J_{1}\right) J_{2}^{\dagger} \dot{\mathbf{r}}_{2} θ˙=J1r˙1+(IJ1J1)J2r˙2

In actual control , Input the obtained velocity value into the controller of the joint ( Such as PID controller ) Control the joint motor

原网站

版权声明
本文为[Yu Getou]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202170556033462.html