当前位置:网站首页>DH parameters of robotics and derivation using MATLAB symbolic operation
DH parameters of robotics and derivation using MATLAB symbolic operation
2022-06-28 04:55:00 【subtitle_】
introduction
Reviewed robotics again DH Parameters , And make use of matlab Symbolic operation is derived , The formula is verified .
1.DH Parameter principle

In the picture Coordinate system definition :
- Coordinate system i {i} i Of z z z Axis z i z_i zi And joint axis i i i Collinear , Point to any regulation .
- Coordinate system i {i} i Of x x x Axis x i x_i xi and a i a_i ai coincidence , By joint i i i Point to the joint i + 1 i+1 i+1, When a i = 0 a_i=0 ai=0, take x i = ± z i + 1 × z i x_i=±z_{i+1}\times z_i xi=±zi+1×zi.
- Coordinate system i {i} i Of y y y Axis y i y_i yi According to the right-hand rule .
- Coordinate system i {i} i The origin of o i o_i oi Take from x i x_i xi and z i z_i zi At the intersection of ; When z i z_i zi and z i + z_{i+} zi+ When we meet , The origin is at the intersection of the two axes , When z i z_i zi and z i + z_{i+} zi+ Parallel time , Take the origin to make d i + 1 = 0 d_{i+1}=0 di+1=0 The place of .
Use the connecting rod coordinate system to define the corresponding Connecting rod parameters :
- a i a_i ai= from z i z_i zi To z i + 1 z_{i+1} zi+1 Along the x i x_i xi Measured distance ( Length of common vertical line )
- α i \alpha_i αi= from z i z_i zi To z i + 1 z_{i+1} zi+1 Along the x i x_i xi The angle of rotation
- d i d_i di= from x i − 1 x_{i-1} xi−1 To x i x_{i} xi Along the z i z_i zi Measured distance
- θ i \theta_i θi= from x i − 1 x_{i-1} xi−1 To x i x_{i} xi Along the z i z_i zi The angle of rotation
Coordinate system { i } \{i\} { i} Relative coordinates { i − 1 } \{i-1\} { i−1} The transformation matrix of i − 1 T i {}^{i-1}T_{i} i−1Ti It can be regarded as the product of four sub transformation matrices :
- Around the x i − 1 x_{i-1} xi−1 pivot α i − 1 \alpha_{i-1} αi−1 horn
R o t x ( α i − 1 ) = [ 1 0 0 0 0 c o s α i − 1 − s i n α i − 1 0 0 s i n α i − 1 c o s α i − 1 0 0 0 0 1 ] R o t_{x}\left(\alpha_{i-1}\right)=\begin{bmatrix}1 &0&0&0\\ 0&cos\alpha_{i-1}&{-sin\alpha_{i-1}}&0\\0&{sin\alpha_{i-1}}&{cos\alpha_{i-1}}&{0}\\ {0}&{0}&{0}&{1}\end{bmatrix} Rotx(αi−1)=⎣⎢⎢⎡10000cosαi−1sinαi−100−sinαi−1cosαi−100001⎦⎥⎥⎤ - Along the x i − 1 x_{i-1} xi−1 Axis movement a i − 1 a_{i-1} ai−1
T r a n s x ( a i − 1 ) = [ 1 0 0 a i − 1 0 1 0 0 0 0 1 0 0 0 0 1 ] T r a n s_{x}\left(a_{i-1}\right)=\begin{bmatrix}1 &0&0&a_{i-1}\\ 0&1&0&0\\0&0&1&{0}\\ {0}&{0}&{0}&{1}\end{bmatrix} Transx(ai−1)=⎣⎢⎢⎡100001000010ai−1001⎦⎥⎥⎤ - Along the z i z_{i} zi Axis movement θ i \theta_{i} θi
R o t z ( θ i ) = [ c o s θ i − s i n θ i 0 0 s i n θ i c o s θ i 0 0 0 0 1 0 0 0 0 1 ] R o t_{z}\left(\theta_{i}\right)=\begin{bmatrix}{cos\theta_{i}}&{-sin\theta_{i}}&0&0\\ {sin\theta_{i}}&{cos\theta_{i}}&0&0\\0&0&1&0\\ {0}&{0}&{0}&{1}\end{bmatrix} Rotz(θi)=⎣⎢⎢⎡cosθisinθi00−sinθicosθi0000100001⎦⎥⎥⎤ - Along the z i z_{i} zi Axis movement d i d_{i} di
T r a n s z ( d i ) = [ 1 0 0 0 0 1 0 0 0 0 1 d i 0 0 0 1 ] T r a n s_{z}\left(d_{i}\right)=\begin{bmatrix}1 &0&0&0\\ 0&1&0&0\\0&0&1&d_i\\ {0}&{0}&{0}&{1}\end{bmatrix} Transz(di)=⎣⎢⎢⎡10000100001000di1⎦⎥⎥⎤
These transformations are described in the relative motion coordinate system , Satisfy the principle from left to right , The final transformation formula can be obtained as follows :
i i − 1 T = R o t x ( α i ) T r a n s x ( a i ) R o t z ( θ i ) T r a n s z ( d i ) _{i}^{i-1}T=R o t_{x}\left(\alpha_{i}\right)T r a n s_{x}\left(a_{i}\right)R o t_{z}\left(\theta_{i}\right)T r a n s_{z}\left(d_{i}\right) ii−1T=Rotx(αi)Transx(ai)Rotz(θi)Transz(di)
It is usually stipulated that a i ≥ 0 a_i\ge0 ai≥0, Because it represents the length of the connecting rod , and α i , d i , θ i \alpha_i, d_i, \theta_i αi,di,θi Positive but negative .
i i − 1 T = [ c o s θ i − s i n θ i 0 a i − 1 s i n θ i c o s α i − 1 c o s θ i c o s α i − 1 − s i n α i − 1 − d i s i n α i − 1 s i n θ i s i n α i − 1 c o s θ i s i n α i − 1 c o s α i − 1 d i c o s α i − 1 0 0 0 1 ] _{i}^{i-1}T=\begin{bmatrix}{cos\theta_{i}}&{-sin\theta_{i}}&0&{a _{i-1}}\\ {sin\theta_{i}cos\alpha_{i-1}}&{cos\theta_{i}cos\alpha_{i-1}}&{-sin\alpha_{i-1}}&{-d_isin\alpha_{i-1}}\\{sin\theta_{i}sin\alpha_{i-1}}&{cos\theta_{i}sin\alpha_{i-1}}&{cos\alpha_{i-1}}&{d_icos\alpha_{i-1}}\\ {0}&{0}&{0}&{1}\end{bmatrix} ii−1T=⎣⎢⎢⎡cosθisinθicosαi−1sinθisinαi−10−sinθicosθicosαi−1cosθisinαi−100−sinαi−1cosαi−10ai−1−disinαi−1dicosαi−11⎦⎥⎥⎤
2.Matlab Symbolic operation verification
utilize Matlab The symbolic operation of is used to deduce the formula and verify the formula
syms theta d alpha a
M=DH_Trans(theta,d,alpha,a)
function M=DH_Trans(theta,d,alpha,a)
R_z_theta=[cos(theta),-sin(theta),0,0;...
sin(theta),cos(theta),0,0;...
0,0,1,0;...
0,0,0,1];
T_z_d=[1,0,0,0;...
0,1,0,0;...
0,0,1,d;...
0,0,0,1];
R_x_alpha=[1,0,0,0;...
0,cos(alpha),-sin(alpha),0;...
0,sin(alpha),cos(alpha),0;...
0,0,0,1];
T_x_a=[1,0,0,a;...
0,1,0,0;...
0,0,1,0;...
0,0,0,1];
M=R_x_alpha*T_x_a*R_z_theta*T_z_d;
end
The results are consistent 
边栏推荐
- 创新之源 理解通透 二
- Sword finger offer 47 Maximum gift value (DP)
- The growth summer challenge is coming | learn and create two major tracks, and start the tutor registration!
- native关键字的作用
- cgo+gSoap+onvif学习总结:8、arm平台交叉编译运行及常见问题总结
- CUPTI error: CUPTI could not be loaded or symbol could not be found.
- 玩转双指针
- Role of native keyword
- 有人用cdc同步到mysql发生过死锁吗?
- 整理网上蛋糕商城项目
猜你喜欢

学习太极创客 — MQTT 第二章(六)MQTT 遗嘱

June 27, 2022: give a 01 string with a length of N. now please find two intervals so that the number of 1 and the number of 0 in the two intervals are equal. The two intervals can intersect, but not c

native关键字的作用

LeetCode 88:合并两个有序数组

浅析搭建视频监控汇聚平台的必要性及场景应用

Idle interrupt cannot be cleared

Are test / development programmers really young? The world is fair. We all speak by strength

UI automation test framework construction - write an app automation

27 years, Microsoft IE is over!

大促场景下,如何做好网关高可用防护
随机推荐
Moonbeam integrates coin98, giving users more choices on the multi chain road
华为9年经验的软件测试总监工作感悟—写给还在迷茫的朋友
知识点滴 - 关于汉语学习的网络资源
UI自动化测试框架搭建 —— 编写一个APP自动化
穿越封锁的最新利器,速度最快梯没有之一。
mysql导入文本文件时的pager
Flinkcdc collects Oracle, and the Oracle database is CDB's
信息学奥赛一本通 1360:奇怪的电梯(lift)
Code understanding: implementing volume models for hangwriten text recognition
Differences between pragma and ifndef
xml  File read / write
[matlab traffic light identification] traffic light identification [including GUI source code 1908]
测试开发必备技能:安全测试漏洞靶场实战
并发之wait/notify说明
Feign remote call fallback callback failed, no effect
Flexible IP network test tool -- x-launch
【Matlab红绿灯识别】红绿灯识别【含GUI源码 1908期】
CI & CD must be known!
TACo:一种关于文字识别的数据增强技术
2022年G3锅炉水处理复训题库模拟考试平台操作