Kane算法

  • 参考
  • 思路
  • 实现

参考

主要的参考是:

  1. 链接: 百度文库的ppt.
    这个ppt的思路能讲明白,但是公式到了最后一步求τ的时候有问题:

    计算τ的第一项中缺少一个加速度项,应该是:
  2. 文献: 基于凯恩方程的机器人动力学递推算法.
    里面开始就给了公式

思路

可以看参考中ppt,主要就是通过kane提出的广义速度的偏速度:
来表征动力学方程中的微分位移

之后就可以把普通的动力学方程

改写成广义主动力和广义惯性力的形式。
之后求广义偏速度,并带入
最后使τ为主动力,通过广义惯性力计算(式子可能有错,参考前面修改意见):

实现

  1. 迭代法计算线速度,角速度,重心速度以及导数


    matlab代码:
    for i = 1:6if i == 1w{i} =  R{i}*w0 + qd(i)*e;wd{i} = R{i}*wd0 + qdd(i)*e + cross(R{i}*w0,qd(i)*e);v{i} =  R{i} * (v0 + cross(w{i},p{i}));vd{i} = R{i} * (vd0 + cross(w0, cross(w0, p{i})) + cross(wd0, p{i}));elsew{i} =  R{i}*w{i-1} + qd(i)*e;wd{i} = R{i}*wd{i-1} + qdd(i)*e + cross(R{i}*w{i-1},qd(i)*e);v{i} =  R{i} * (v{i-1} + cross(w{i},p{i}));vd{i} = R{i} * (vd{i-1} + cross(w{i-1}, cross(w{i-1}, p{i})) + cross(wd{i-1}, p{i}));endvc{i} = vd{i} + cross(wd{i},c{i}) + cross(w{i}, cross(w{i}, c{i}));end
  1. 计算偏速度

    matlab代码
    i=1时候自己设置一下
    for i = 2:6for j = 1:6if j < iwp{i,j} = R{i} * wp{i-1,j};vp{i,j} = R{i} * (cross(wp{i-1,j},p{i}) + vp{i-1,j});vcp{i,j} = vp{i,j} + cross(wp{i,j},c{i});elseif j == iwp{i,j} = e;vp{i,j} = [0 0 0]';vcp{i,j} = cross(e, c{i});elsewp{i,j} = [0 0 0]';vp{i,j} = [0 0 0]';vcp{i,j} = [0 0 0]';endendend
  1. 计算tau

    matlab代码
    for i = 1:6N{i} =  I{i}*wd{i} + cross(w{i},I{i}*w{i});endtau = zeros(6,1);for j = 1:6for i = j:6tau(j) = tau(j) + M(i)*dot(vc{i},vcp{i,j}) + dot(N{i}, wp{i,j});endend

至此计算完成

机械臂动力学建模(2)- Kane凯恩算法相关推荐

  1. 用matlab和RTB做二连杆机械臂动力学建模

    文章目录 写在前面 二连杆机械臂 RTB建模 仿真与验证 源代码 写在前面 本文使用的工具为matlab以及Peter Corke的RTB(Robotics Toolbox).基于RTB 10.3.1 ...

  2. 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法

    Newton Euler算法 参考 思路(参考丁教授第二讲ppt) 矢量在不同坐标系下的转换关系 速度的递推 重心处的力和力矩 力的递推 完整公式 代码 参考 北航丁希仑教授的机器人动力学课件: 检出 ...

  3. 机械臂动力学建模(4)- Lagrangian拉格朗日算法

    Lagrangian算法 参考 思路 实现 参考 哈密顿原理和拉格朗日的推导: 第六章拉格朗日动力学. 书籍: 机械工业出版社的<机器人学导论>145页开始 <Rigid Body ...

  4. matlab 机械臂动力学

    机械臂动力学解决的问题: 1. 正动力学: 已知一个力矩τ,计算出操作臂的运动θ dθ ddθ ,用于模型仿真有用. 2. 逆动力学:已知轨迹点θ/dθ/ddθ ,求出期望的关节力矩矢量τ,用于机械臂 ...

  5. matlab adams 机械臂,基于ADAMS与MATLAB/SIMULINK的二杆机械臂动力学仿真与验证

    川七 一 , , , 乓 基于 与 的二杆机械臂动力学仿真与验证 贾雪峰' , 宋洪军' , 荣学文 , 李贻斌 山东农业大学机械与电子工程学院 , 山东泰安 , 一 ] 」 山东大学控制科学与工程学 ...

  6. 中正平和的机器人学笔记——5. 机械臂动力学

    0. 基础知识 0.1 线加速度 上一篇中我们讲到了在坐标系{A}和坐标系{B}原点重合时,BQ^BQBQ的速度矢量的表示方式: AVQ^AV_QAVQ​ = BARBVQ^A_BR^BV_QBA​R ...

  7. Matlab机械臂综合仿真平台,包含运动学、动力学和控制。 MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等

    Matlab机械臂综合仿真平台,包含运动学.动力学和控制. MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等 gui控制仿真平台PUMA机器人 robotics toolb ...

  8. 机械臂动力学--加速度计算

    #机械臂动力学–加速度 线加速 在博客<速度与矢量的微分>的式(5-12)描述了坐标系{A}下的速度矢量BQ^B QBQ,当坐标系{A}的原点与坐标系{B}的原点重合时,速度矢量BQ^BQ ...

  9. 采用rrt进行机械臂轨迹规划得到轨迹的算法步骤

    采用RRT进行机械臂轨迹规划得到轨迹的算法步骤如下: 定义机械臂的状态空间和操作空间,其中状态空间包括机械臂的关节角度.末端执行器的位置和姿态等信息,操作空间包括机械臂的关节空间和笛卡尔空间. 初始化 ...

  10. 四自由度机械臂matlab建模与仿真

    四自由度机械臂matlab建模与仿真 建模过程使用机器人工具箱Robotics Toolbox 机械臂有四个旋转自由度,模型近似如下,使用ADAMS建模 首先建立DH参数 matlab代码如下 cle ...

最新文章

  1. InfoQ趋势报告:架构和设计领域技术演变详解
  2. Centos 6.5 yum源配置总结
  3. 天气预报c是什么意思_大雪节气将至,为什么老话说:寒风迎大雪,三九天气暖?...
  4. 三十四、深入Vue.js语法(中篇)
  5. Python切分文本(将文本文档切分为词列表)
  6. LeetCode 37 解数独
  7. 高级查询(1.连接查询(对列的扩展)2.联合查询(对行的扩展)3.子查询)
  8. 一道面试题:三个线程循环有序输出10次ABCABC...
  9. 那个说技术本身并不可耻的快播王欣回来了!
  10. VISTA三步共享文件夹
  11. javaScript的Math和Date对象
  12. Lesson 4 Part 2 Softmax Regression
  13. Java配置文件找不到指定_转载:Java项目读取配置文件时,FileNotFoundException 系统找不到指定的文件,System.getProperty(user.dir)的理解...
  14. Linux wget下载方式
  15. AHP中特征向量、权重值、CI值等指标如何计算?
  16. kali自定义分辨率
  17. 常见知识库对比:DBpedia/Freebase/OpenCyc/Wikidata/YAGO3
  18. 基于SSM的婚纱影楼系统
  19. 互联网周刊:不痛不痒的信息安全
  20. 优秀课程案例:使用Scratch制作打弹球游戏2-得分过关

热门文章

  1. ISO27001风险评估实施流程(详细版)
  2. xshell 连接错误: Could not connect to '127.0.0.1' (port 22): Connection failed.
  3. 九、ISO 27000 术语定义及相关资料
  4. live555保存文件的问题
  5. 笨方法学Python-1
  6. 珍藏多年的技术资源搜索网站——程序员必备
  7. 使用高德地图加载kml文件
  8. NB-ioT的工作状态和工作模式
  9. jsp 弹出窗口设置大全
  10. java如何快速入门Hadoop大数据技术?