当前位置:网站首页>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 
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=⎣⎡2−yh0⎦⎤
(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=⎣⎡−s1−s12−s123c1+c12+c1231−s12−s123c12+c1231−s123c1231⎦⎤↓θ˙=J†x˙
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}} θ˙=J†x˙ 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=[2−yh]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=[−s1−s12−s123c1+c12+c123−s12−s123c12+c123−s123c123]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} θ˙=J1†r˙1+(I−J1†J1)J2†r˙2
In actual control , Input the obtained velocity value into the controller of the joint ( Such as PID controller ) Control the joint motor
边栏推荐
- 2020-10-17
- opencv学习笔记三
- Text to SQL model ----irnet
- STM32 project design: smart door lock PCB and source code based on stm32f1 (4 unlocking methods)
- SOC wireless charging scheme
- Analysis of Yolo series principle
- Reflection example of ads2020 simulation signal
- optee中支持的时间函数
- (vs2019 MFC connects to MySQL) make a simple login interface (detailed)
- nn. Modulelist and nn Sequential
猜你喜欢

Learn signal integrity from zero (SIPI) - (1)

1GHz active probe DIY

Design based on STM32 works: multi-functional atmosphere lamp, wireless control ws2812 of mobile app, MCU wireless upgrade program

Relationship extraction --tplinker

Relationship extraction --r-bert

The solution of installing opencv with setting in pycharm

What are the conditions for Mitsubishi PLC to realize Ethernet wireless communication?

Discrete device ~ diode triode

First character that appears only once

Transformers loading Roberta to implement sequence annotation task
随机推荐
(vs2019 MFC connects to MySQL) make a simple login interface (detailed)
Win10 mysql-8.0.23-winx64 solution for forgetting MySQL password (detailed steps)
Remote centralized control of distributed sensor signals using wireless technology
教你几招:30句哄女孩的“霸道”温馨话,不看后悔!
鲸会务为活动现场提供数字化升级方案
Whale conference provides digital upgrade scheme for the event site
Koa_mySQL_Ts 的整合
你为什么会浮躁
I Summary Preface
Relevant knowledge of DRF
Timer code guide in optee
Esp8266wifi module tutorial: punctual atom atk-esp8266 for network communication, single chip microcomputer and computer, single chip microcomputer and mobile phone to send data
RecyclerView Item 根据 x,y 坐标得到当前position(位置)
Record the problem yaml file contains Chinese message 'GBK' error
Oracle 19C download installation steps
Diode voltage doubling circuit
STM32 project design: temperature, humidity and air quality alarm, sharing source code and PCB
STM32 project design: an e-reader making tutorial based on stm32f4
Ora-12514: tns: the listener currently does not recognize the service requested in the connection descriptor
static const与static constexpr的类内数据成员初始化