关于机械臂逆运动学 jacobian矩阵
前面讨论了机器人的指尖位置和方向与各关节的变化位置之间的关系。在本节将进一步讨论指尖的速度与各关节的速度(转动或平移)之间的关系。
考虑机械手的手爪位置 和关节变量 的关系用正运动学方程表示如下:
同样, 是第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矩阵相关推荐
- 数值法求六轴机械臂逆运动学解
问题描述:已知工具坐标系相对于固定坐标系的期望位置和姿态,如何求解满足期望位姿的关节角? 本篇将通过基于雅克比矩阵的牛顿-拉夫森迭代法求运动学逆解. 牛顿 - 拉夫森法(Newton - Raphso ...
- UR机械臂逆运动学解析解
UR机械臂逆运动学解析解 ur10机械臂的DH(修正)参数为 d1=0.1273;a2=-0.612;a3=-0.5723;d4=0.163941;d5=0.1157;d6=0.6922; 首先,推导 ...
- PUAM560机械臂逆运动学实例-梳理
经过努力,对课本中PUAM560机械臂的运动学逆解算的实例进行了梳理,啥事都得动手试试才能学的深刻,整理一下我的理解和思路.由于首次接触逆解对于许多概念理解很不到位,不过随着学习的深入我相信我会越来越 ...
- 【现代机器人学】基于指数积的机械臂逆运动学
0 引言 基于指数积的正运动学 现代机器人学名词概念 有了以上的基础,我们现在利用指数积来对机器人的逆运动学进行求解,有一点需要注意,需要先对机器人进行指数积的正运动学建模,然后才能利 ...
- 柔性matlab机械臂运动空间代码,中正平和的机器人学笔记——2. 机械臂逆运动学(附MATAB代码)...
0. 预备知识(别跳过呀) 上一篇我们讲了正运动学,也就是通过齐次变换矩阵,知晓关节角后求得机械臂末端的位姿,并表示在基座标系下.这一篇我们就来讲一讲逆运动学问题--已知工具坐标系{T}相对于固定坐标 ...
- 【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
基于PoE公式的UR5机械臂正运动学建模求解与matlab仿真 基于PoE公式的UR5机械臂正运动学分析 1.1 运动旋量的螺旋释义(理论基础) 1.2 基于PoE公式的UR5机械臂正运动学模型 1. ...
- 几种冗余机械臂逆向运动学方法(带公式推导)
此篇博客转自本作者在古月居的博客:几种冗余机械臂逆向运动学方法(带公式推导) - 古月居 前言: 之前展哥(导师)喊我在入学前做一个具有冗余腿的四足机器人用于部署XXX算法,验证XXX的ideal.最 ...
- 六自由度机器人(机械臂)运动学建模及运动规划系列(二)——运动学分析
本篇主要介绍六轴机械臂的运动学分析. 运动学分析是工业机器人研究和应用的重要内容,是运动控制的基础,主要研究机器人末端坐标系与基坐标系的转换关系,分为正运动学和逆运动学分析两部分. 另外,对于刚刚学习 ...
- 机械臂——六轴机械臂逆解
环境:MATLAB 2017B+Robotics Toolbox 9.10.0 前期准备:完成机械臂数学模型的建立+计算机械臂工作空间 https://blog.csdn.net/Kalenee/ar ...
最新文章
- saltstack之(一)系统环境及本地yum源
- nodejs模块加载分析(1).md
- 百度飞浆行人多目标跟踪笔记
- 后缀自动机(SAM)构造实现过程演示+习题集锦
- centos删除文件夹_等保测评主机安全之centos密码长度
- 如何快速排查生产问题
- redis于spring整合之RedisTemplate
- php二分查找例题,PHP实现的二分查找算法实例分析
- 异构计算崛起,GPU加速计算服务器FP5468G2应运而生
- Makefile的入门完整教程(包学包会)
- [原]procexp替换任务管理器
- 【Homography Estimation】《Deep Image Homography Estimation》
- 【机器学习项目实战】随机森林(random forest)回归(RandomForestRegressor)模型Python实现
- 最全办公室租赁技巧,让你找到心仪的办公室
- 4.9冰箱的温度c语言,话说夏天冰箱温度调到多少度为最佳?
- 微分 的定义,为什么引入微分
- 接口测试准备一、 网路基础 常用代理工具 charles使用 Android手机代理抓包
- matlab simulink 参数设置,matlab simulink 中 gateway 参数设置
- python matplotlib 设置画布大小
- 一个简单的购物商城,记录一下。