跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
MATLAB / OctaveAI算法

机器人标准 DH(SDH)与改进 DH(MDH)

综述由AI生成对比了机器人运动学建模中的标准 DH(SDH)与改进 DH(MDH)参数法。主要区别在于连杆坐标系建立位置不同(SDH 在远端,MDH 在近端)及变换矩阵乘法顺序相反。SDH 适用于开链结构,而 MDH 对开链、树状及闭链结构均适用且无歧义。文中还指出了在使用旧教材公式计算几何雅可比矩阵时,因 DH 参数定义不同导致的差异,并提供了基于改进 DH 的 MATLAB 代码示例。

女王发布于 2026/4/6更新于 2026/5/2227 浏览
机器人标准 DH(SDH)与改进 DH(MDH)

一:改进 DH 法

建立连杆坐标系:

文章配图

使用改进 D-H 参数,将

文章配图

坐标系定义在 i

文章配图

连杆的前端关节:

文章配图

文章配图

文章配图

文章配图

文章配图

文章配图

文章配图

文章配图

二:标准 DH 与改进 DH 法的区别

我们知道一个连杆有两端,一端离基座近,一端离基座远。简单的来说,标准 DH 将坐标系 i 建立在连杆 i 离基座近的一端,改进 DH 建立在离基座远的一端。

2.1 机器人连杆与关节的标号

先标号,再建系。

连杆编号:基座为杆 0,从基座往后依次定义为杆 1,杆 2,…,杆 i;

关节编号:杆 i 离基座近的一端(近端)的关节为关节 i,远的一端(远端)为关节 i+1。

为便于理解,这里我把连杆的近端用绿色表示,远端用橙色表示,且远端驱动近端转动。大家只要记住一句话,连杆近端关节的标号和连杆标号是一致的。

文章配图

图 1 连杆和关节标号

2.2 两种建系方法的区别

区别一:连杆坐标系建立的位置不同。SDH 方法将连杆 i 的坐标系固定在连杆的远端,MDH 方法把连杆 i 的坐标系固定在连杆的近端。

文章配图

(a)SDH (b)MDH

图 2 建系方法的不同

**区别二:**执行变换的顺序不同。按照 SDH 方法变换时四个参数相乘的顺序依次为 d—>θ—a—>α,而 MDH 方法则按照 α—a—>θ—>d(正好与 SDH 相反)。

三:为什么要用改进 DH 法,而不选标准 DH 法

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

文章配图

(a)SDH (b)MDH

图 3 坐标系分配的不同

四。总结

1.SDH 适合应用于开链结构的机器人;

2.当使用 SDH 表示树状或闭链结构的机器人时,会产生歧义;

3.MDH 法对开链、树状、闭链结构的机器人都适用,推荐使用。

五。常见问题与误区

在下面这本教材里面

文章配图

文章配图

显然用的是 DH 参数法,因此在后面推导几何雅可比矩阵的时候

文章配图

提到

z_{i-1}

和

p_{i-1}

分别由

R^0_{i-1}

与

T^0_{i-1}

得到:

文章配图

但是如果你用的是改进 DH 参数法进行建模,核心公式(3.30)应该是:

文章配图

原因是原本的标准 DH 的坐标系

i-1

对应的 z 轴

z_{i-1}

就是改进的 DH 的的坐标系

i

的 z 轴

z_i

下面是基于改进 DH 计算几何雅可比的代码

function J_geo = geometric_jacobian_from_q_corrected(q) % 根据关节角度计算几何雅可比矩阵,匹配 MATLAB 工具箱的顺序 % 输入:q - 7×1 关节角向量 (弧度) % 输出:J_geo - 6×7 几何雅可比矩阵 % Franka Panda 的 DH 参数 (Modified DH) % 格式:[alpha, a, d, theta] MDH = [0, 0, 0.333, q(1); -pi/2, 0, 0, q(2); pi/2, 0, 0.316, q(3); pi/2, 0.0825, 0, q(4); -pi/2, -0.0825,0.384, q(5); pi/2, 0, 0, q(6); pi/2, 0.088, 0.107, q(7)]; % 计算每个关节的变换矩阵和位置 n = 7; T = eye(4); T_all = cell(n, 1); p_all = zeros(3, n); z_all = zeros(3, n); for i = 1:n alpha = MDH(i, 1); a = MDH(i, 2); d = MDH(i, 3); theta = MDH(i, 4); % 改进 DH 变换矩阵 Ti = [cos(theta), -sin(theta), 0, a; sin(theta)*cos(alpha), cos(theta)*cos(alpha), -sin(alpha), -d*sin(alpha); sin(theta)*sin(alpha), cos(theta)*sin(alpha), cos(alpha), d*cos(alpha); 0, 0, 0, 1]; T = T * Ti; T_all{i} = T; p_all(:, i) = T(1:3, 4); z_all(:, i) = T(1:3, 3); end % 末端执行器位置 p_ee = p_all(:, end); % 计算几何雅可比 - 修正关节编号对应关系 J_geo = zeros(6, n); for i = 1:n if i == 1 % 关节 1:使用基坐标系 p_i = [0; 0; 0]; z_i = [0; 0; 1]; else % 关节 i:使用连杆 i-1 的坐标系 p_i = p_all(:, i); % 改进 DH:使用 i z_i = z_all(:, i); % 改进 DH:使用 i end % MATLAB 顺序:线速度在前,角速度在后 J_geo(4:6, i) = z_i; J_geo(1:3, i) = cross(z_i, p_ee - p_i); end end function T = forward_kinematics_mdh(q) % 改进 DH 正运动学 MDH = [0, 0, 0.333, q(1); -pi/2, 0, 0, q(2); pi/2, 0, 0.316, q(3); pi/2, 0.0825, 0, q(4); -pi/2, -0.0825,0.384, q(5); pi/2, 0, 0, q(6); pi/2, 0.088, 0.107, q(7)]; T = eye(4); for i = 1:7 alpha = MDH(i, 1); a = MDH(i, 2); d = MDH(i, 3); theta = MDH(i, 4); Ti = [cos(theta), -sin(theta), 0, a; sin(theta)*cos(alpha), cos(theta)*cos(alpha), -sin(alpha), -d*sin(alpha); sin(theta)*sin(alpha), cos(theta)*sin(alpha), cos(alpha), d*cos(alpha); 0, 0, 0, 1]; T = T * Ti; end end 

目录

  1. 一:改进 DH 法
  2. 二:标准 DH 与改进 DH 法的区别
  3. 三:为什么要用改进 DH 法,而不选标准 DH 法
  4. 四。总结
  5. 五。常见问题与误区
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 前端可访问性最佳实践:语义化与无障碍设计
  • Mac Mini M4 本地运行大模型:Ollama、Llama 与 ComfyUI 部署指南
  • 基于 Vue 3 构建 imToken 风格钱包交互原型及核心流程验证
  • Milvus 生产级部署架构、多租户方案及节点流程总结
  • AI 辅助开发 SpringBoot 在线图书借阅平台实战流程解析
  • Claude Code 规则配置详解
  • Whisper-medium.en 快速部署与配置指南
  • Kafka ISR 与 AR 深度解析:副本同步机制核心概念
  • 飞算 JavaAI 插件实战:从安装到工程代码生成
  • AI 调参技巧:贝叶斯优化 Optuna
  • SpringBoot + Vue 客户关系管理系统设计与实现
  • 物业ERP系统技术架构解析:低代码与AI融合方案
  • C++ 实现红黑树:深入理解 STL map 底层原理
  • 重要算法思想:贪心、二分、正难则反、多重与完全背包精练
  • AI 办公成职场标配,7 套书教你精准用 AI 提效
  • 鸿蒙电商购物全栈项目——购物车优化与支付集成
  • 基于 AI Ping 的大模型统一接入与成本优化实战
  • CentOS 系统下 Python 环境搭建与生产部署实战指南
  • Python+AI 入门完整指南
  • Stable Diffusion WebUI Windows 部署流程与常见报错解决方案

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online