本文采用机械人工具箱(RTB),通过MDH法建立坐标参数表并计算正运动学。基于工具箱生成的三维图与自己建立的坐标系初始状态比对,进一步验证正确性。


图1 坐标系及参数表


matlab代码:

function MyCoordinateARM6RPart
%计算操作臂部分坐标系并验证
%工具:RobotToolBox V9.10
%时间:2019/1/30
%更新:2019/%%
%parameters of coordinate
clear all;
clc;
tic
%****************************************************
d1=0.50;d5=0.45;d6=0.20;
a2=0.4; a3=0.35; a6=0.55;
alpha1=pi/2;alpha4=pi/2; alpha5=pi/2;
%****************************************************
%%
%MDH coordinate
%         θ    d   a    α       offset
L(1)=Link([0   d1   0    0          0  ],'modified');
L(2)=Link([0   0    0    alpha1     0  ],'modified');
L(3)=Link([0   0   a2    0          0  ],'modified');
L(4)=Link([0   0   a3    0          0  ],'modified');
L(5)=Link([0   d5   0    alpha4     0  ],'modified');
L(6)=Link([0   d6   0    alpha5     0  ],'modified');
L(7)=Link([0   0   a6     0         0  ],'modified');%%
%posture
qr=[0 0 0 pi/2 0 pi/2 0] ;  % ready
qu=[0 pi/3 -pi/6 5*pi/9 -3*pi/4 pi/2 0]; % standup
%%
%display table of MDH
robot=SerialLink(L,'name','robot6R','manufacturer','Unimation','comment','AK&B');
robot.display();  %display MDH table%%
%in workspace display climb
% robot.fkine:forward compute of kinematics
% robot.plot :plot state
%qr:robot posture of ready
%qu:robot posture of standup
robot.fkine(qr) %zero
robot.plot(qr); %readyrobot.fkine(qu);
robot.plot(qu); %standup
%%
%inverse kinematics
%ikine6s:only adapt have a sphere wrist joint robot and only standard DH
%ikine :suit for general joint%%
%jtraj: Compute a joint space trajectory between two configurations;
%       A quintic (5th order) polynomial is used with default zero boundary
%       conditions for velocity and acceleration.
% qd:velocity
% qdd:acceleration
% N=100;
% [q,qd,qdd]=jtraj(qr,qu,N);t=0:0.01:1;
[q,qd,qdd]=jtraj(qr,qu,t);
plot(t,qd,t,qdd); T=robot.fkine(q);  %transform Matrix of the endcoordinate respacts to basementCoordinate
plot3(squeeze(T(1,4,:)),squeeze(T(2,4,:)),squeeze(T(3,4,:)));
hold on;
robot.plot(q);%compute Jacobian matrix
% J=robot.jacob0(qr);
%compute torque of joints
% tao=robot.jacob0(qr)'*[0 0 20 0 0 0]'
%%
teach(robot)%%
tic;
end

代码生成结果:

1.代码生成参数表


2.坐标验证段图像


3.轨迹规划示教段图像


4.两处位置的正运动解

qr:起始时刻工具端坐标位置

qr=

1.0000         0    0.0000    1.7500
   -0.0000   -0.0000    1.0000    0.2000
         0   -1.0000   -0.0000    0.5000
         0         0         0    1.0000

qu:终时刻工具端关节坐标位置

qu =

0.7660   -0.4545    0.4545    1.3601
    0.0000   -0.7071   -0.7071   -0.1414
    0.6428    0.5417   -0.5417    1.5559
         0         0         0    1.0000


总结

MDH建立坐标系的时候尤其注意Z轴与X轴关系,同时在建系的过程中时刻想着二者是如何绕着旋转的会简化操作和理解。同时,MDH是建立在坐标系的前端,所以最后一个坐标系其实是控制的最后一个关节处而没有控制到连杆的末端,这样通过增加的关节,也即平移坐标系实现实际工具端的位置。

六自由度机械臂的正运动学解with RTB相关推荐

  1. matlab计算六轴机械臂DH正运动学

    DH 根据DH法建立DH参数表格,根据表格输入参数到matlab程序,程序运行算出变换矩阵. 代码 function [outputArg1] = four_paramters2matrix(thet ...

  2. 机器人学回炉重造(1-2):各种典型机械臂的正运动学建模(标准D-H法)

    文章目录 写在前面 三连杆平面机械臂 平行四边形操作臂 闭链结构 例:平行四边形操作臂 球形臂 拟人臂 球腕 斯坦福机械臂 带球形手腕的拟人化机械臂 DLR机械臂 参考文献 写在前面 本文所有机械臂均 ...

  3. 六自由度机械臂建模仿真(matlab程序),有控制面板,标价即为真实价格,代码可流畅运行

    六自由度机械臂建模仿真(matlab程序),有控制面板,标价即为真实价格,代码可流畅运行 1.机器人运动学正逆解.动力学建模仿真与轨迹规划,雅克比矩阵求解 2.蒙特卡洛采样画出末端执行器工作空间 3. ...

  4. 【机器人学】冗余七自由度机械臂的解析解逆解算法

    冗余七自由度机械臂的解析解逆解算法 参考 论文一 论文二 参考 -[1] An Analytical Solution for a Redundant Manipulator with Seven D ...

  5. 六自由度机械臂的solidworks模型图及分享

    之前曾经在一个机械臂制造商的网站上浏览过一款机械臂 603桌面级六自由度机械臂. 于是便想使用该款机械臂来学习ros. 于是我便使用了solidworks将这款机械臂按照一比一的比例画了出来,但是长度 ...

  6. Matlab机器人工具箱(3-1):五自由度机械臂(正逆运动学)

    01 正运动学:DH表示法 1955年, Denavit和Hartenberg在"ASME Journal of Applied Mechanic"发表了一篇论文,这篇论文介绍了一 ...

  7. 【机器人学】使用代数法求解3自由度拟人机械臂的逆运动学解

    这篇博客会讨论一下使用解析法求解3自由度拟人机械臂的逆解及分析. 一.机械臂的逆解 机械臂的逆运动学问题就是由给定的末端执行器位置和方向,确定机械臂各个关节变量的值.机械臂的求解方法可以分为两大类:数 ...

  8. 六轴机械臂算法正解(FK)和逆解(IK)

    在之前的博客中,有一篇<六轴机械臂算法-引导篇>,目前,终于将引导篇中的各个点整理完毕. 因为文档中涉及到比较多的图片以及公式,copy的过程中发现比较麻烦,所以直接将文档截取成了图片上传 ...

  9. 大象机器人推出史上最紧凑的六自由度机械臂-mechArm

    2020年,秉持"Enjoy Robots World"的愿景和使命,在保留大部分工业型机器人功能的前提下,大象机器人与M5stack 强强联合共同出品了myCobot --全球最 ...

  10. 和ur的区别_UR机械臂simscape正逆解仿真

    最近在看相关的课程,把作业做一下,还是蛮有意思的.(课程代码所以涉及版权问题,经过同意后我上传代码) UR机械臂的物理模型文件是根据SolidWorks插件simscape导出的xml文件,课程直接提 ...

最新文章

  1. BZOJ1460: Pku2114 Boatherds
  2. HDU 4300 Clairewd’s message
  3. MATLAB函数记录
  4. (STL,map)反片语
  5. 挂接CreateProcessW实现对进程创建的完全控制
  6. 【按位dp】文盲的学习方法
  7. 分区怎么4k对齐_电脑升级SSD后,依然卡顿怎么解决?
  8. disjoint MATLAB,matlab 计算李雅普诺夫指数的方法集合
  9. Scipy安装遇到的问题
  10. How long is the way to the Architect?
  11. gif动态图如何制作?
  12. Nexus的权限管理
  13. 苹果召回MacBook Air 内地官网声明用英文遭指责
  14. Android 手机红外遥控器实现(转)
  15. 移动通信电波传播及损耗(二)
  16. (2022 IV) RCBEV
  17. linux替换文件内容
  18. Field restTemplate in com.jack.springcloud.controller.DeptController_Consumer required a bean of typ
  19. ckplayer 网页视频播放
  20. 超详细手把手教你cordova开发使用指南+自定义插件,jsbridge

热门文章

  1. VC++界面美化---模仿MS Office 选项对话框
  2. 2017.10.14晚,用迅雷下载大部分BT资源出现失败,tracker服务器被封了?FK
  3. MD5及pack安装
  4. 概述无线传感网的MAC协议
  5. mysql8.0.25安装配置教程(windows 64位)最详细
  6. 测试用例设计方法——黑盒测试和白盒测试
  7. 超级计算机summit存储容量,美国Summit超级计算机:采用超过27000块NV计算卡
  8. termux如何下载metasploit(msf)
  9. linux终端 快捷键
  10. 电脑模拟收银机_机场收银模拟器下载