机器人运动学建模

DH法分为标准DH和改进DH两种,标准DH中连杆坐标系位于远端,按( heta ightarrowd ightarrowalpha ightarrowa)变换,而改进DH中坐标系在近端,变换顺序为(alpha ightarrowa ightarrow heta ightarrowd)。标准DH在树形或闭链机构中可能产生坐标系歧义,而改进DH能避免这种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DH法是建立串联机器人连杆坐标系最常用的方法,目前学术界同时存在标准DH和改进DH两种建系方法,如图所示。连杆编号:基座为 L i n k 0 Link0 Link0,从基座往后依次定义为 L i n k 1 Link1 Link1 L i n k 2 Link2 Link2,…, L i n k i Linki Linki;关节编号: L i n k i Linki Linki离基座近的一端(近端)的关节为 J o i n t i Jointi Jointi,远的一端(远端)为关节 J o i n t i + 1 Jointi+1 Jointi+1

一、标准DH(Standard DH)

坐标系位置:连杆坐标系坐落于连杆远端

x x x轴方向:当前 z z z轴和前一个 z z z轴公垂线方向
变换顺序: θ → d → α → a \theta\rightarrow d\rightarrow\alpha\rightarrow a θdαa
n − 1 T n = R o t z ( θ ) T r a n s ( d ) R o t x ( α ) T r a n s ( a ) ^{n-1}T_{n}=Rotz(\theta)Trans(d)Rotx(\alpha)Trans(a) n1Tn=Rotz(θ)Trans(d)Rotx(α)Trans(a)

二、改进DH(Modified DH)

坐标系位置:连杆坐标系坐落于连杆近端

x x x轴方向:当前 z z z轴和后一个 z z z轴公垂线方向
变换顺序: α → a → θ → d \alpha\rightarrow a\rightarrow\theta\rightarrow d αaθd
n − 1 T n = R o t x ( α ) T r a n s ( a ) R o t z ( θ ) T r a n s ( d ) ^{n-1}T_{n}=Rotx(\alpha)Trans(a)Rotz(\theta)Trans(d) n1Tn=Rotx(α)Trans(a)Rotz(θ)Trans(d)

三、应用场景

对于树形结构或者闭链机构的机器人来说,按照SDH方法建立的连杆坐标系会产生歧义,因为SDH的建系原则是把连杆i的坐标系建立在连杆的远端,如图3(a)所示,这就导致连杆0上同时出现了两个坐标系。而MDH把连杆坐标系建立在每个连杆的近端,则不会坐标系重合的情况,如图3(b)所示,这就克服了SDH方法建系的缺点。
在这里插入图片描述

### 移动机器人运动学建模的方 #### 定义与概述 移动机器人运动学建模旨在描述机器人如何通过其内部机制实现位移。这涉及到将输入命令转换成实际的空间位置变化。对于不同的物理结构,存在多种类型的运动模型,如独轮车、自行车、差动驱动以及阿克曼转向车型等[^1]。 #### 基础概念 - **状态表示**:通常采用的状态向量包括线速度\(v\) 和角速度\(\omega\) ,用于表征瞬时运动特性。 - **坐标系设定**:建立世界坐标系和局部车身坐标系之间的关系是构建运动方程的基础之一。 #### 差分驱动型实例分析 以常见的两轮差分驱动为例,假设左右两侧分别有独立电机控制,则可以得到如下简化形式的速度表达式: \[ \begin{cases} v_x = R (\dot{\theta}_r+\dot{\theta}_l)/2 \\ v_y=0\\ w=(R/L)(\dot{\theta}_r-\dot{\theta}_l)\end{cases}\] 其中 \(L\) 表示轴距宽度;\(R\) 是轮胎半径;下标 _r, l 分别指代右侧和左侧参数;而上标的点号代表时间导数操作符。\(^{[1]}\) ```matlab % MATLAB代码片段展示简单的双轮差速驱动仿真 function simulateDifferentialDrive() % 参数初始化 L = 0.5; % 轴距长度 (meters) R = 0.1; % 轮胎半径 (meters) dt = 0.01; tspan = linspace(0, 10*pi, round(1/dt)); theta_l_dot = sin(tspan); theta_r_dot = cos(tspan); vx = zeros(size(tspan)); vy=zeros(size(tspan)); omega=zeros(size(tspan)); for i=1:length(tspan)-1 vx(i) = R * (theta_r_dot(i)+theta_l_dot(i))/2 ; omega(i)=(R/L)*(theta_r_dot(i)-theta_l_dot(i)); end plot(vx,'b', 'LineWidth', 1.5); hold on; plot(omega,'r','LineWidth', 1.5); legend('Linear Velocity', 'Angular Velocity'); xlabel('Time Steps'); ylabel('Velocities'); end ``` 此段程序展示了基于给定的时间序列内左轮和右轮转速来计算对应的前进速度与旋转速率的变化趋势图。 #### 复合系统的扩展应用案例 当涉及更复杂的系统组合时——比如带有机械臂的复合移动平台——则需进一步引入额外维度上的自由度考量。例如,在研究由四轮底盘加上多关节手臂构成的整体架构中,不仅要关注地面行驶部分的动力学行为,还需兼顾空中作业装置的动作协调性问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值