matlab验证斯坦福机械手雅可比矩阵2011年3月要点

合集下载

机器人雅可比矩阵共79页文档

机器人雅可比矩阵共79页文档

61、奢侈是舒适的,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·部永远 适用的 宪法, 甚至一 条永远 适用的 法律。 ——杰 斐逊 52、法律源于人的自卫本能。——英 格索尔
53、人们通常会发现,法律就是这样 一种的 网,触 犯法律 的人, 小的可 以穿网 而过, 大的可 以破网 而出, 只有中 等的才 会坠入 网中。 ——申 斯通 54、法律就是法律它是一座雄伟的大 夏,庇 护着我 们大家 ;它的 每一块 砖石都 垒在另 一块砖 石上。 ——高 尔斯华 绥 55、今天的法律未必明天仍是法律。 ——罗·伯顿

3雅可比矩阵的特点矩阵中各元素是...

3雅可比矩阵的特点矩阵中各元素是...

基于MATLAB的电力系统潮流计算摘要潮流计算是电力系统最基本、最常用的计算。

根据系统给定的运行条件、网络接线及元件参数,通过潮流计算可以确定各母线的电压(幅值及相角),各元件中流过的功率、整个系统的功率损耗等。

潮流计算是实现电力系统安全经济发供电的必要手段和重要工作环节。

因此潮流计算在电力系统的规划设计、生产运行、调度管理及科学研究中都有着广泛的应用。

本次设计的主要目的就是面向一般的电力网络,形成节点导纳矩阵,确定合适的算法,编写通用的计算程序,得到计算结果。

设计中主要介绍了牛顿拉夫逊和PQ分解两种算法,PQ分解法虽然在结构上比牛顿法更加简化,但是针对一般网络现代计算机在存储空间及计算速度上已经十分强大,鉴于对牛顿法的熟悉与其算法的直观性,本次设计在编程时采用了牛顿拉夫逊法的直角坐标形式。

解方程的过程利用Matlab的强大计算功能,编写M语言,合理设置变量,实现通用计算功能。

关键词: 电力系统,潮流计算,牛顿―拉夫逊法,Matlab。

AbstractPower system load flow calculation is the most basic and commonly used calculations. Given according to the system operating conditions, the network connection and device parameters can be determined by power flow calculation of the bus voltage magnitude and phase angle , the power flowing through the components, overall system power consumption and soon. Flow calculation is to achieve economic development of power system supply the necessary means and important part of the work. Therefore flow calculation in power system planning and design, production and operation, scheduling management, and scientific research have a wide range of applications.The main purpose of this design is for the general electricity network, the formation of the node admittance matrix, determine the appropriate method, the preparation of general-purpose computer program to get results. Introduces the design and the PQ decomposition Newton Raphson two algorithms, PQ decomposition although the structure is more streamlined than the Newton method, but for the general network of modern computer storage space and computing speed has been very strong, in view of the Newton Familiar with its intuitive algorithm, this design in programming using Newton Raphson polar form. The process of solving equations using matlab powerful computing capabilities, the preparation of M language, a reasonable set variables, to achieve general-purpose computing functions.Keywords: power system, power flow calculation, Newton - Raphson method, Matlab.目录摘要IAbstract II目录III1 引言11.1 潮流计算目的 11.2 潮流计算意义 11.3 潮流计算发展史 11.4基于MATLAB 的电力系统潮流计算发展前景2 2简单电力系统潮流计算 42.1简单辐射网络的潮流计算 42.1.1简单支路的潮流分布和电压降落 42.1.2 辐射型网络的手工潮流计算方法62.2 简单环网的潮流计算72.2.1两端电压相等72.2.2两端电压不相等 83 复杂电力系统潮流计算的计算机算法103.1电力网络方程及等值电路103.2节点导纳矩阵形成及修改113.3节点的分类143.3.1 PQ节点143.3.2 PV节点143.3.3 平衡节点 143.4潮流计算的约束条件153.5牛顿-拉夫逊法(直角坐标)153.5.1牛顿-拉夫逊法的推导过程153.5.2潮流计算时的修正方程(直角坐标)17 3.5.3雅可比矩阵的特点: 193.5.4牛顿-拉夫逊法计算步骤 193.6 P-Q分解法潮流计算203.6.1 P-Q分解法潮流计算概述203.6.2 P-Q分解法的潮流计算步骤203.6.3 P-Q分解法的特点214 Matlab概述 224.1Matlab简介224.2 Matlab中的变量224.3 Matlab编程234.3.1矩阵的输入234.3.2矩阵的运算244.3.3 MatLab的控制流245 牛顿法潮流计算程序设计及实例 265.1手算265.2计算机算法的数据输入295.3潮流计算程序305.3 计算结果分析 36结论37参考文献38附录A 程序流程图39附录B Matlab仿真40 致谢431 引言1.1 潮流计算目的电力系统潮流计算是研究运行情况的一种基本电气计算。

matlab验证斯坦福机械手雅可比矩阵

matlab验证斯坦福机械手雅可比矩阵

引Stanford Arm Forword Kinematics 的基本结论:一.计算的Jacobian结果二.各级矩阵三.矢量叉积法J=[J1 J2 J3 J4 J5 J6]四.验证直接微分法和矢量叉积法的结果一致: 1.J1111110161;0101321212123[]1001321212123000320001V W V W J J J c d s s d c d s s d J Z P s d s c d s d c s d d c J ⎡⎤=⎢⎥⎣⎦----⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⨯=⋅-+=-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦与直接求导比较:…………………….. 2.J222220202266223456345622620022626;01[]001110456364564645056565345646456464500001030V W V J J J c J Z P s P c s c c c s s c c s s c c s s c s s c d T T T T T s c c c s s c s c c s s P d P R P ⎡⎤=⎢⎥⎢⎥⎣⎦⎡⎤⎢⎥=⨯=⋅⎢⎥⎢⎥--⎣⎦---⎡⎤⎢⎥---⎢⎥==⎢⎥+-+⎢⎥⎣⎦⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦=⋅=202022662121210123121213123220023001[]001110001w c C c S S c s d s c s s c d s s d s c c d c V Z P s P c s J --⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥--⋅-=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦⎡⎤⎢⎥=⨯=⋅=⎢⎥⎢⎥--⎣⎦⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦带入:matlab 的计算验证过程:>> syms c6 s6 c5 s5 c4 s4>> T65=[c6 -1*s6 0 0;0 0 -1 0;s6 c6 0 0;0 0 0 1]>> T54=[c5 -1*s5 0 0;0 0 1 0;-1*s5 -1*c5 0 0;0 0 0 1] >> T43=[c4 -1*s4 0 0;s4 c4 0 0 ;0 0 1 0;0 0 0 1] >> T63=T43*T54*T65 T63 =[ c4*c5*c6-s4*s6, -c4*c5*s6-s4*c6, c4*s5, 0] [ s4*c5*c6+c4*s6, -s4*c5*s6+c4*c6, s4*s5, 0] [ -s5*c6, s5*s6, c5, 0] [ 0, 0, 0, 1] >> syms d3>> T32=[1 0 0 0; 0 0 -1 -1*d3;0 1 0 0;0 0 0 1] >> T62=T32*T63 T62 =[ c4*c5*c6-s4*s6, -c4*c5*s6-s4*c6, c4*s5, 0] [ s5*c6, -s5*s6, -c5, -d3][ s4*c5*c6+c4*s6, -s4*c5*s6+c4*c6, s4*s5, 0][ 0, 0, 0, 1]>> syms c1 c2 s1 s2>> R20=[c1*c2 -1*c1*s2 -1*s1;s1*c2 -1*s1*s2 c1;-1*s2 -1*c2 0]>> p622=[0;-1*d3;0]p622 =-d3>> p620=R20*p622p620 =c1*s2*d3s1*s2*d3c2*d3>> z2=[0 0 c1;0 0 s1;-1*c1 -1*s1 0]z2 =[ 0, 0, c1][ 0, 0, s1][ -c1, -s1, 0]>> v2=z2*p620v2 =c1*c2*d3s1*c2*d3-c1^2*s2*d3-s1^2*s2*d3与直接求导比较:……………………..在matlab中用B=jacobian(f,v)方法直接求导获取雅可比矩阵>> clear>> syms theta1 d3 d2 theta2>>F=[cos(theta1)*d3*sin(theta2)-sin(theta1)*d2;sin(theta1)*d3*sin(theta2)+cos(theta1)*d2;d3*cos(t heta2)]F =cos(theta1)*d3*sin(theta2)-sin(theta1)*d2sin(theta1)*d3*sin(theta2)+cos(theta1)*d2d3*cos(theta2)>> syms theta4 theta5 theta6>> v=[theta1;theta2;d3;theta4;theta5;theta6]v =theta1theta2d3theta4theta5theta6>> jacob=jacobian(F,v)jacob =[ -sin(theta1)*d3*sin(theta2)-cos(theta1)*d2, cos(theta1)*d3*cos(theta2), cos(theta1)*sin(theta2), 0, 0, 0] [ cos(theta1)*d3*sin(theta2)-sin(theta1)*d2, sin(theta1)*d3*cos(theta2), sin(theta1)*sin(theta2), 0, 0, 0] [ 0, -d3*sin(theta2), cos(theta2), 0, 0, 0]直接求偏导:>> syms theta1 d3 d2 theta2 theta4 theta5 theta6>>F1=cos(theta1)*d3*sin(theta2)-sin(theta1)*d2>> dif(F1,theta1)补充对教材雅可比矩阵逆矩阵的求解:>> syms l1 theta1 l2 theta2>>J=[-l1*sin(theta1)-l2*sin(theta1+theta2)-l2*sin(theta1+theta2);l1*cos(theta1)+l2*cos(theta1+theta2) l2*cos(theta1+theta2)]J =[ -l1*sin(theta1)-l2*sin(theta1+theta2), -l2*sin(theta1+theta2)][ l1*cos(theta1)+l2*cos(theta1+theta2), l2*cos(theta1+theta2)]>> inv(J)ans =[ -cos(theta1+theta2)/l1/(cos(theta1+theta2)*sin(theta1)-sin(theta1+theta2)*cos(theta1)),-sin(theta1+theta2)/l1/(cos(theta1+theta2)*sin(theta1)-sin(theta1+theta2)*cos(theta1))][ (l1*cos(theta1)+l2*cos(theta1+theta2))/l2/l1/(cos(theta1+theta2)*sin(theta1)-sin(theta1+theta2)*cos(theta1)),(l1*sin(theta1)+l2*sin(theta1+theta2))/l2/l1/(cos(theta1+theta2)*sin(theta1)-sin(theta1+theta2)*cos(theta1))]>>J11=simple(-cos(theta1+theta2)/l1/(cos(theta1+theta2)*sin(theta1)-sin(theta1+theta2)*cos(theta1)) )J11 =cos(theta1+theta2)/l1/sin(theta2)0 2R T02对应前3行3列。

matlab2连杆雅可比矩阵几何意义

matlab2连杆雅可比矩阵几何意义

matlab2连杆雅可比矩阵几何意义连杆雅可比矩阵是一种用于描述机械系统运动学特性的数学工具。

在机器人学、运动学和动力学等领域,连杆雅可比矩阵被广泛应用于分析机械系统的运动和力学性能。

本文将介绍连杆雅可比矩阵的几何意义,并探讨其在机械系统建模和控制中的应用。

我们来了解一下连杆雅可比矩阵的定义。

连杆雅可比矩阵是描述连杆运动学关系的矩阵,它由系统的广义坐标和连杆长度等参数组成。

对于一个具有n个连杆的机械系统,其连杆雅可比矩阵的维度为n×n。

连杆雅可比矩阵的元素通常表示为Jij,其中i表示第i个连杆,j表示第j个广义坐标。

连杆雅可比矩阵的几何意义可以通过对其元素的分析来理解。

矩阵的第i行表示第i个连杆上各个广义坐标的导数,而第j列则表示第j个广义坐标对各个连杆的贡献。

通过分析连杆雅可比矩阵的元素,我们可以获得机械系统的运动学特性,如位移、速度和加速度等。

连杆雅可比矩阵的应用不仅限于机械系统的运动学分析,还可以用于机械系统的建模和控制。

在机器人学中,连杆雅可比矩阵被广泛应用于机器人臂的运动学和动力学分析。

通过构建连杆雅可比矩阵,可以方便地描述机器人臂的关节位移和末端执行器的位姿变化。

在机器人控制中,连杆雅可比矩阵可以用于计算机器人的运动学逆解和动力学模型。

除了机器人学,连杆雅可比矩阵还可以应用于其他机械系统的建模和控制。

例如,在工业自动化领域,连杆雅可比矩阵常用于描述机械臂的运动学和动力学特性,以实现精确的位置控制和轨迹跟踪。

在车辆动力学中,连杆雅可比矩阵可以用于分析车辆的前进速度和转向特性,从而实现精确的车辆控制和路径规划。

总结起来,连杆雅可比矩阵是一种用于描述机械系统运动学特性的数学工具。

它的几何意义可以通过分析矩阵元素来理解,其中每个元素表示连杆对广义坐标的贡献。

连杆雅可比矩阵在机械系统的建模和控制中具有广泛的应用,特别是在机器人学、运动学和动力学等领域。

通过应用连杆雅可比矩阵,我们可以方便地分析机械系统的运动学特性,并实现精确的建模和控制。

matlab从方程组雅可比矩阵

matlab从方程组雅可比矩阵

matlab从方程组雅可比矩阵
摘要:
1.引言
2.Matlab的基本功能
3.方程组与雅可比矩阵
4.利用Matlab求解方程组的步骤
5.结论
正文:
Matlab在工程与科学计算中具有广泛的应用,其强大的矩阵运算功能使得求解线性方程组变得轻松。

本文将介绍如何使用Matlab从方程组雅可比矩阵。

首先,我们需要了解Matlab的基本功能。

Matlab是一种数学软件,主要用于矩阵计算、数据分析、图形绘制等。

它具有丰富的函数库,用户可以通过编写脚本或使用图形界面进行各种计算。

接下来,我们要了解方程组与雅可比矩阵的概念。

线性方程组是指包含多个变量的代数方程,这些方程中的未知量需要通过计算得出。

而雅可比矩阵是线性方程组解的存在性和唯一性条件,它反映了变量之间的变化关系。

利用Matlab求解方程组的步骤如下:
1.准备方程组数据。

首先,需要将方程组写成矩阵形式,即Ax = B,其中A是系数矩阵,x是变量向量,B是常数向量。

2.编写求解脚本。

使用Matlab的verb|fsolve|函数可以求解线性方程组。

该函数需要两个输入参数:系数矩阵A和常数向量B。

此外,还可以设置其他参数,如求解精度、迭代次数等。

3.运行脚本。

将编写好的脚本保存后,在Matlab命令窗口中运行该脚本。

Matlab将自动计算方程组的解,并输出结果。

4.分析结果。

根据求解结果,可以得到方程组的解,进而分析问题的性质。

总之,Matlab作为一款强大的数学软件,为求解线性方程组提供了便利。

matlab求解机器人的hessian矩阵算法

matlab求解机器人的hessian矩阵算法

matlab求解机器人的hessian矩阵算法如何用MATLAB求解机器人的Hessian矩阵算法引言:机器人在各个领域扮演着重要的角色,特别是在工业自动化和服务行业中。

为了使机器人能够更加智能和高效地完成任务,我们需要对其控制算法进行优化。

其中,Hessian矩阵是一种常用的工具,可以用于机器人的姿态控制和目标优化等问题。

本文将详细介绍如何用MATLAB求解机器人的Hessian矩阵算法,以帮助读者深入理解并应用该算法。

第一步:了解Hessian矩阵的基本概念和作用Hessian矩阵是多元函数的二阶偏导数构成的方阵,用于描述函数局部极值点的性质。

在机器人姿态控制中,Hessian矩阵可以用来衡量机器人在给定位置周围的姿态变化情况,从而优化控制算法,使机器人更稳定地工作。

第二步:构建机器人姿态模型在实际应用中,机器人的姿态模型通常使用欧拉角表示,即通过三个旋转(roll、pitch和yaw)来定义机器人的姿态。

假设机器人姿态表示为[x, y, theta],其中x和y表示机器人的位置坐标,theta表示机器人的旋转角度。

我们可以通过编写MATLAB代码来构建机器人姿态模型,具体内容如下:MATLABfunction robot_pose = robot_model(x, y, theta)robot_pose = [x; y; theta];end第三步:计算Hessian矩阵的偏导数根据Hessian矩阵的定义,我们需要计算机器人姿态模型的二阶偏导数。

在MATLAB中,我们可以使用符号计算工具箱(Symbolic Math Toolbox)来计算函数的二阶偏导数。

具体步骤如下:1. 导入符号计算工具箱MATLABsyms x y theta2. 计算机器人姿态模型MATLABrobot_model = robot_model(x, y, theta);3. 计算姿态模型对x的一阶偏导数MATLABd_model_dx = diff(robot_model, x);4. 计算一阶偏导数对x的一阶偏导数MATLABd2_model_dx2 = diff(d_model_dx, x);5. 以此类推,计算其他变量(y和theta)的一阶和二阶偏导数第四步:将计算结果转换为数值进行计算由于计算的结果是符号表达式,我们需要将其转换为数值进行实际计算。

matlab中基于雅可比矩阵求条件数的程序

matlab中基于雅可比矩阵求条件数的程序

一、背景介绍在数值计算和科学工程领域中,雅可比矩阵是一种非常重要的矩阵类型。

它在诸如矩阵求逆、线性方程组求解、最优化问题等诸多应用中都扮演着重要的角色。

而雅可比矩阵的条件数则是评估矩阵的数值稳定性和误差敏感度的重要指标。

在MATLAB中,我们可以利用一些内置函数或自己编写程序来求解雅可比矩阵的条件数。

本文将围绕着这一主题展开深入讨论。

二、雅可比矩阵的条件数在数值分析中,雅可比矩阵A的条件数(condition number)是用来衡量矩阵的数值稳定性的一个重要指标。

它的定义是:对于矩阵A,其条件数定义为:cond(A) = ||A|| * ||A^(-1)||其中||A||表示A的某种矩阵范数,而||A^(-1)||表示A的逆矩阵的某种矩阵范数。

条件数的大小决定了矩阵求解问题的数值稳定性,条件数越大,表示矩阵的误差敏感度越高,数值稳定性越差。

三、MATLAB中求解雅可比矩阵条件数的程序在MATLAB中,我们可以利用内置的cond函数来求解矩阵的条件数。

假设我们有一个雅可比矩阵A,那么可以通过以下代码来求解其条件数:```matlabA = ... 输入雅可比矩阵Ak = cond(A); 求解雅可比矩阵A的条件数disp(['The condition number of A is: ', num2str(k)]);```除了使用内置函数外,我们也可以编写自己的程序来求解雅可比矩阵的条件数。

下面是一个简单的 MATLAB 程序示例:```matlabfunction k = jacobi_condition_number(A)输入:雅可比矩阵A输出:雅可比矩阵A的条件数k求解雅可比矩阵A的条件数k = norm(A,2) * norm(inv(A),2);end```通过以上代码,我们就可以方便地求解雅可比矩阵的条件数了。

四、个人观点与总结雅可比矩阵的条件数在数值计算和科学工程领域中具有重要意义,对于评估数值稳定性、误差敏感度以及算法收敛性等方面都起到了关键作用。

matlab求解并联机构的雅可比矩阵代码

matlab求解并联机构的雅可比矩阵代码

matlab求解并联机构的雅可比矩阵代码以matlab求解并联机构的雅可比矩阵雅可比矩阵是机器人学中的重要概念之一,用于描述机构的运动学特性。

在并联机构中,由于多个运动链并联在一起,其运动学分析相对复杂。

本文将介绍如何使用matlab求解并联机构的雅可比矩阵。

我们需要了解什么是雅可比矩阵。

雅可比矩阵描述了机构末端执行器的运动学特性,即末端执行器的位置和姿态随各个关节变量的变化而变化的关系。

雅可比矩阵的每一列代表了机构的一个自由度,每一行代表了末端执行器的一个自由度。

因此,雅可比矩阵的维度为6×n,其中n为机构的自由度数目。

接下来,我们将以一个简单的并联机构为例,来演示如何使用matlab求解其雅可比矩阵。

假设我们有一个三自由度的并联机构,其中每个关节的运动范围都为[-pi/2, pi/2]。

我们需要求解机构在给定关节角度下的雅可比矩阵。

我们需要定义机构的运动学方程。

假设机构的末端执行器的位置为(x, y, z),姿态为(roll, pitch, yaw),关节角度为(q1, q2, q3),则机构的运动学方程可以表示为:```x = f1(q1, q2, q3)y = f2(q1, q2, q3)z = f3(q1, q2, q3)roll = f4(q1, q2, q3)pitch = f5(q1, q2, q3)yaw = f6(q1, q2, q3)```其中,f1, f2, f3, f4, f5, f6为运动学方程的具体表达式,可以根据机构的几何特性和运动学关系得到。

然后,我们可以使用matlab的符号计算工具箱来求解雅可比矩阵。

首先,我们需要定义机构的关节变量和末端执行器的位置和姿态。

在matlab中,可以使用符号变量来表示:```syms q1 q2 q3 x y z roll pitch yaw```然后,我们可以根据机构的运动学方程,计算雅可比矩阵的每个元素。

在matlab中,可以使用函数jacobian来求解雅可比矩阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.已知计算各级T矩阵
由公式:
以及各连杆坐标系之间的参数表,可得:
与斯坦福大学开发课件比较发现其课件中T21计算有错:
二.计算出各连杆坐标系到基坐标系0的变换矩阵:
与斯坦福开发课程课件比较
Matlab计算过程如下:
>> clear
>> syms c1 s1 c2 s2 c3 s3 c4 s4 c5 s5 c6 s6 d1 d2 d3 d4 d5 d6 a1 a2 a3 a4 a5 a6 >> T10=[c1 -s1 0 0;s1 c1 0 0;0 0 1 0;0 0 0 1]
>> T21=[c2 -s2 0 0;0 0 1 d2;-s2 -c2 0 0;0 0 0 1]
>> T32=[1 0 0 0;0 0 -1 -d3;0 1 0 0;0 0 0 1]
>> T43=[c4 -s4 0 0;s4 c4 0 0;0 0 1 0;0 0 0 1]
>> T54=[c5 -s5 0 0;0 0 1 0; -s5 -c5 0 0;0 0 0 1]
>> T65=[c6 -s6 0 0;0 0 -1 0;s6 c6 0 0;0 0 0 1]
>> T20=T10*T21
>> T30=T20*T32
>> T40=T30*T43
>> T50=T40*T54
>> T60=T50*T65
%可以用simplify函数简化,如:
>> T60=simplify(T60
三.用速度矢量合成的方法计算雅可比矩阵Jv部分:
1.计算
为连杆1坐标系的z轴单位向量在基坐标系0中的描述;
为连杆1坐标系原点到连杆6坐标系原点连线矢量,在基坐标系0中的描
述,计算过程为:计算矩阵T61,T61的第四列即为,由于坐标系1相对于
坐标系0有绕Z轴的转动,故需要对其进行转换,转换方法为;,为T10中旋转部分
注:Matlab中向量叉积方法:e=cross(a,b
>> T61=T21*T32*T43*T54*T65 %计算出在坐标系1中的描述
>> P161=[s2*d3;d2;c2*d3]
>> Rot10=[c1 -s1 0;s1 c1 0;0 0 1] %由T10知道旋转部分变换3*3矩阵
>> P160= Rot10* P161 % 与P60最后一列比较
>> z1=[0;0;1]
>> e=cross(z1,P160 %可得到Jv第一列:
e =[ -s1*s2*d3-c1*d2; c1*s2*d3-s1*d2;0]
2.计算
为连杆2坐标系的z轴单位向量在基坐标系0中的描述;
为连杆2坐标系原点到连杆6坐标系原点连线矢量,在基坐标系0中的
描述,计算过程为:计算矩阵P62,P62的第四列即为,由于坐标系2相对
于坐标系0有姿态变化,故需要对其进行转换,转换方法为;,为
T20中旋转部分
注:Matlab中向量叉积方法:e=cross(a,b
>> T62= T32*T43*T54*T65 %计算出在坐标系2中的描述
>> P262=[0;-d3;0]
>> Rot20=[c1*c2 -c1*s2 -s1;s1*c2 -s1*s2 c1;-s2 -c2 0] %由T20知旋转部分变换3*3矩阵
>> P260= Rot20* P262
>> z2=[-s1;c1;0]
>> e=cross(z2, P260 %可得到Jv第一列:
e =[c1*c2*d3; s1*c2*d3; -s1^2*s2*d3-c1^2*s2*d3]
3.由于连杆3坐标系为移动坐标系,故起对连杆6的速度贡献不能计算为,而应该为Z3的单位向量在基坐标系0中的表示;故由T30直接可得Jv第三列为:
4.由于坐标系4、5、6和坐标系6的坐标原点重合故对应
的计算结果均为0 ,于是可得
5.用直接求导的方法验证上面Jv的计算的正确性:
在matlab中用B=jacobian(f,v方法直接求导获取雅可比矩阵
1.举例:
B=jacobian(f,v f,v为两个列向量,分别为m维和n维
例题:已知求其Jacobian矩阵>> syms tao T wcg K Gm
>>
f=[K*Gm*(cos(wcg*tao-
wcg*T*sin(wcg*tao+1+wcg^2*T^2 ;sin(wcg*tao+wcg*T*cos(wcg*tao]
>> v=[tao,T]
>> jacob=jacobian(f,v
jacob =
[K*Gm*(-sin(wcg*tao*wcg-wcg^2*T*cos(wcg*tao, -
K*Gm*sin(wcg*tao*wcg+2*wcg^2*T]
[cos(wcg*tao*wcg-wcg^2*T*sin(wcg*tao, cos(wcg*tao*wcg]
2. jacobian方法计算斯坦福机械手雅可比矩阵
>> clear
>> syms theta1 d3 d2 theta2 theta4 theta5 theta6
>> F=[cos(theta1*d3*sin(theta2-
sin(theta1*d2;sin(theta1*d3*sin(theta2+cos(theta1*d2;d3*cos(theta2] >> v=[theta1;theta2;d3;theta4;theta5;theta6]
>> jacob=jacobian(F,v
3.求偏导数的方法计算斯坦福机械手雅可比矩阵:
>>F1=cos(theta1*d3*sin(theta2-sin(theta1*d2
>> diff(F1,theta1。

相关文档
最新文档