机器人逆运动学 
机器人的逆解问题比较复杂,为了说明问题,下面先以2自由度的机器人为例。
如图所示,已知机器人末端的坐标值(x,y) ,试利用x,y  表示    
根据图中的几何关系可知: 
联立求解上述两方程,可分别求出           的表达式。
因此可进一步得到:
从机器人的手爪末端位置姿态出发,可以求出机器人对应的各关节的角度。该例的机器人是属于平面多关节机器人,对于一般的机械手来讲,其求解过程比较复杂,往往其解不是唯一的。
雅可比矩阵的定义 
前面讨论了机器人的指尖位置和方向与各关节的变化位置之间的关系。在本节将进一步讨论指尖的速度与各关节的速度(转动或平移)之间的关系。
考虑机械手的手爪位置    和关节变量     的关系用正运动学方程表示如下:
面以2自由度机械手为例,如前面图3-2所示的2自由度机械手的雅可比矩阵。前面已推导过,该机器人的指尖位置可以表示为
则与这个机器人的平移速度相关的雅可比矩阵,可以下列形式给出:
现在,我们来讨论一下     的各列向量的几何学意义,即在                 时,考虑       ,   的几何学意义。根据式(3-63),   是在时         ,也就是第2关节固定时,仅在第1关节转动的情况下,指尖平移速度在基准坐标系上表示出的向量。
同样,     是第1关节固定时,仅在第2关节转动的情况下,指尖平移速度在基准坐标系上表示出的向量。  
代码如下:

close all;
clear all;%机械臂末端规划沿z轴上升螺旋
R=2;%螺旋半径
V=4;%上升速度%初始位置x0 = 3;y0 =4;z0= 9;%二自由度机械臂 两臂长度
L1=8;
L2=13.5;
L3=16;%几何法求解初始角度
seta1=atan(y0/x0);
a=acos((L2*L2+L3*L3-(x0/cos(seta1))^2-(z0-L1)*(z0-L1))/(2*L2*L3));
seta3=pi-a;
seta2=atan((z0-L1)/(x0/cos(seta1)))-atan(L3*sin(seta3)/(L2+L3*cos(seta3)));%上一位置
x1=x0;
y1=y0;
z1=z0;
i=1;
for t=0.01:0.01:1%末端运动方程x =3+3*t;y =4+4*t;z =9+2*t;%坐标变换delta_x=x-x1;delta_y=y-y1;delta_z=z-z1;%更新数据x1=x;y1=y;z1=z;%jacobianJ=[ -sin(seta1)*(L3*cos(seta2 + seta3) + L2*cos(seta2)), -cos(seta1)*(L3*sin(seta2 + seta3) + L2*sin(seta2)), -L3*sin(seta2 + seta3)*cos(seta1);cos(seta1)*(L3*cos(seta2 + seta3) + L2*cos(seta2)), -sin(seta1)*(L3*sin(seta2 + seta3) + L2*sin(seta2)), -L3*sin(seta2 + seta3)*sin(seta1);0,               L3*cos(seta2 + seta3) + L2*cos(seta2),             L3*cos(seta2 + seta3)];q=(J^-1)*[delta_x;delta_y;delta_z];%角度变换delta_j1(i)=q(1,1);delta_j2(i)=q(2,1);delta_j3(i)=q(3,1);seta1=atan(y/x);a=acos((L2*L2+L3*L3-(x/cos(seta1))^2-(z-L1)*(z-L1))/(2*L2*L3));seta3=pi-a;seta2=atan((z-L1)/(x/cos(seta1)))-atan(L3*sin(seta3)/(L2+L3*cos(seta3)));%弧度检验seta_1(i)=seta1;seta_2(i)=seta2;seta_3(i)=seta3;i=i+1;
endiii = 0:0.01:1;
%seta1角度
figure(1);
plot(iii(1:100),delta_j1(1:100),'k');
hold on
set(gca,'ylim',[-1,1]);
xlabel('t / s'),ylabel('delta_seta1 / rad');%seta2角度
figure(2);
plot(iii(1:100),delta_j2(1:100),'k');
hold on
set(gca,'ylim',[-1,1]);
xlabel('t / s'),ylabel('delta_seta2 / rad');%seta3角度
figure(3);
plot(iii(1:100),delta_j3(1:100),'k');
hold on
set(gca,'ylim',[-1,1]);
xlabel('t / s'),ylabel('delta_seta3 / rad');%seta1角度
figure(4);
plot(iii(1:100),seta_1(1:100),'k');
hold on
set(gca,'ylim',[-2*pi,2*pi]);
xlabel('t / s'),ylabel('seta1 / rad');%seta2角度
figure(5);
plot(iii(1:100),seta_2(1:100),'k');
hold on
set(gca,'ylim',[-2*pi,2*pi]);
xlabel('t / s'),ylabel('seta2 / rad');%seta3角度
figure(6);
plot(iii(1:100),seta_3(1:100),'k');
hold on
set(gca,'ylim',[-2*pi,2*pi]);
xlabel('t / s'),ylabel('seta3 / rad');

关于机械臂逆运动学 jacobian矩阵相关推荐

  1. 数值法求六轴机械臂逆运动学解

    问题描述:已知工具坐标系相对于固定坐标系的期望位置和姿态,如何求解满足期望位姿的关节角? 本篇将通过基于雅克比矩阵的牛顿-拉夫森迭代法求运动学逆解. 牛顿 - 拉夫森法(Newton - Raphso ...

  2. UR机械臂逆运动学解析解

    UR机械臂逆运动学解析解 ur10机械臂的DH(修正)参数为 d1=0.1273;a2=-0.612;a3=-0.5723;d4=0.163941;d5=0.1157;d6=0.6922; 首先,推导 ...

  3. PUAM560机械臂逆运动学实例-梳理

    经过努力,对课本中PUAM560机械臂的运动学逆解算的实例进行了梳理,啥事都得动手试试才能学的深刻,整理一下我的理解和思路.由于首次接触逆解对于许多概念理解很不到位,不过随着学习的深入我相信我会越来越 ...

  4. 【现代机器人学】基于指数积的机械臂逆运动学

    0 引言    基于指数积的正运动学    现代机器人学名词概念   有了以上的基础,我们现在利用指数积来对机器人的逆运动学进行求解,有一点需要注意,需要先对机器人进行指数积的正运动学建模,然后才能利 ...

  5. 柔性matlab机械臂运动空间代码,中正平和的机器人学笔记——2. 机械臂逆运动学(附MATAB代码)...

    0. 预备知识(别跳过呀) 上一篇我们讲了正运动学,也就是通过齐次变换矩阵,知晓关节角后求得机械臂末端的位姿,并表示在基座标系下.这一篇我们就来讲一讲逆运动学问题--已知工具坐标系{T}相对于固定坐标 ...

  6. 【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真

    基于PoE公式的UR5机械臂正运动学建模求解与matlab仿真 基于PoE公式的UR5机械臂正运动学分析 1.1 运动旋量的螺旋释义(理论基础) 1.2 基于PoE公式的UR5机械臂正运动学模型 1. ...

  7. 几种冗余机械臂逆向运动学方法(带公式推导)

    此篇博客转自本作者在古月居的博客:几种冗余机械臂逆向运动学方法(带公式推导) - 古月居 前言: 之前展哥(导师)喊我在入学前做一个具有冗余腿的四足机器人用于部署XXX算法,验证XXX的ideal.最 ...

  8. 六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析

    本篇主要介绍六轴机械臂的运动学分析. 运动学分析是工业机器人研究和应用的重要内容,是运动控制的基础,主要研究机器人末端坐标系与基坐标系的转换关系,分为正运动学和逆运动学分析两部分. 另外,对于刚刚学习 ...

  9. 机械臂——六轴机械臂逆解

    环境:MATLAB 2017B+Robotics Toolbox 9.10.0 前期准备:完成机械臂数学模型的建立+计算机械臂工作空间 https://blog.csdn.net/Kalenee/ar ...

最新文章

  1. saltstack之(一)系统环境及本地yum源
  2. nodejs模块加载分析(1).md
  3. 百度飞浆行人多目标跟踪笔记
  4. 后缀自动机(SAM)构造实现过程演示+习题集锦
  5. centos删除文件夹_等保测评主机安全之centos密码长度
  6. 如何快速排查生产问题
  7. redis于spring整合之RedisTemplate
  8. php二分查找例题,PHP实现的二分查找算法实例分析
  9. 异构计算崛起,GPU加速计算服务器FP5468G2应运而生
  10. Makefile的入门完整教程(包学包会)
  11. [原]procexp替换任务管理器
  12. 【Homography Estimation】《Deep Image Homography Estimation》
  13. 【机器学习项目实战】随机森林(random forest)回归(RandomForestRegressor)模型Python实现
  14. 最全办公室租赁技巧,让你找到心仪的办公室
  15. 4.9冰箱的温度c语言,话说夏天冰箱温度调到多少度为最佳?
  16. 微分 的定义,为什么引入微分
  17. 接口测试准备一、 网路基础 常用代理工具 charles使用 Android手机代理抓包
  18. matlab simulink 参数设置,matlab simulink 中 gateway 参数设置
  19. python matplotlib 设置画布大小
  20. 一个简单的购物商城,记录一下。

热门文章

  1. python 自动打开登陆应用编码_python百度自动登录代码
  2. TimeLine及Animation动画的坑
  3. Cortex-M3(转)
  4. 『论文笔记』Two Causal Principles for Improving Visual Dialog
  5. java毕业设计_居家养老管理系统
  6. 我的单片机之路姗姗来迟
  7. Google浏览器——session Storage和Local Storage
  8. 一木.溪桥学Python-10:函数闭包、装饰器、推导式
  9. 大学重要证书排名和大学生应当常去的十大网
  10. SSL 2382 K好数