arduino - denavit hartenberg 6dof moveo 反向运动机械臂
问题描述
我需要你的帮助。我无法正确使用 denavit hartenberg 矩阵。(对于这个机器人:https ://github.com/BCN3D/BCN3D-Moveo )我的机械臂有 6 个自由度(正常的只有 5 个),但我不知道如何为其配置 theta 和 alpha 变量。当前矩阵如下所示:
联合的 | d | r | α | θ |
---|---|---|---|---|
1 | 232.0 | 0 | ? | ? |
2 | 0 | 223.0 | ? | ? |
3 | 0 | 0 | ? | ? |
4 | 224.0 | 0 | ? | ? |
5 | 0 | 0 | ? | ? |
6 | 175.0 | 0 | ? | ? |
(如果此表看起来不正确,请单击此处)机械臂处于原始位置时正直视空中。
denavit-hartenberg 矩阵是什么样的?
更多图片: https ://www.bcn3d.com/bcn3d-moveo-the-future-of-learning/
解决方案
DH 参数允许我们根据模式填充转换矩阵的元素。这个模式有一些限制,有时需要聪明的技巧来解决任何问题 - 但稍后会更多。
首先,关于参数本身。
d
是沿 (i-1) 的z轴的两帧i和(i-1)之间的距离。a
- 或者r
在你的情况下 - 是两个帧i和(i-1)沿 i 的x轴之间的距离。theta
是i和(i-1)的x轴之间关于(i-1)框架的正z轴的角度alpha
是应用旋转后z轴之间围绕新旋转的 x 轴的角度theta
此外,DH 表示法以坐标系的轴为前提:
- z 轴始终指向驱动轴(即在您的情况下为旋转)。
- 框架i的 x 轴必须与框架(i-1)的 z 轴相交
- 设置 y 轴,使框架形成右手坐标系
下面是您的系统在原始姿势中的图像,其中坐标系根据 DH 表示法应用。
您可能会注意到,DH 表示法不允许旋转和扭转关节框架之间的位移。这不是问题,因为从数学上讲,它不会对旋转发生的位置产生影响。曲线表示相关框架放置在相同位置以用于表示目的。
现在您唯一需要做的就是考虑关节的旋转可能插入到 DH 表中的哪个位置以及旋转框架之间的位移(l1 到 4)。
然后,您可以将 DH 参数插入到每个帧的 DH 矩阵中,并使用这些变换进行运动学计算。
对于未来的问题,您可能想考虑将它们发布在Robotics Stack Exchange站点上,在那里快速获得答案可能会更容易。
推荐阅读
- r - 对于理查兹方程,如何使用 nls () 修复“初始参数估计处的奇异梯度矩阵”错误
- javascript - 错误:create-react-app 正在中止安装
- c# - 如何在 UWP 中的多页上打印
- php - 如何将 WordPress 内容从 Dev 部署到 Staging 到 Production 环境?
- sql-server - 带参数的存储过程如何防止 SQL 注入
- powershell - 排序哈希表(哈希表)
- jquery - 使用 jQuery 多选更改 SVG 的颜色
- python - 两个代理在一个 kafka 主题上具有不同的过滤器。浮士德流中的确认
- oracle - 通过 GET/POST 响应更新 Oracle 数据库
- node.js - API调用反应,服务器上的req.body为空