日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于MATLAB机器人工具箱的KUKA youBot机械臂运动学建模——DH法

發布時間:2023/12/29 编程问答 98 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于MATLAB机器人工具箱的KUKA youBot机械臂运动学建模——DH法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址: https://blog.csdn.net/yaked/article/details/73030668

以實驗室的KUKA youBot五自由度機械臂為切入點,記得當時和實驗室的同學在這上面花費了好長時間,最后也沒搞定,而這又算是基礎中的基礎,不能忽視。

DH一般分為標準DH和改進的DH,以John J.Craig的《機器人學導論》來說,它的是Modified DH,另一本孫富春翻譯的《機器人學導論——分析、控制及應用》則是用的標準DH。通過Peter Corke的那本《Robotics,Vision and Control》(已有中文版)我才知道有這兩個。區別很明顯DH參數表的下標如果都是一樣的則是標準DH,如果有一半不一樣則是Modified DH。

這樣的和

這條臂比較特別的地方在于關節0和關節1之間有個偏置,特別是在于改進DH中的坐標系0和坐標系1的設置很特殊。

1. 標準DH

? ? ? ? 標準DH的介紹我是參考的孫富春翻譯的《機器人學導論——分析、控制及應用》,后來接觸到《Robot Modeling and Control》(已有中文版)也是標準DH。

一個剛體的自由度是6,而為什么標準DH只用四個參數呢?這里其實暗含了一個建立坐標系的原則:垂直和相交,剛好六個限制條件。這在《Robot Modeling and Control》這本書中有詳細介紹。垂直相交的意思是說,建立坐標系的時候,后一個坐標系的X要與前一個坐標系的Z垂直且相交。如建立X1的時候需要與Z0垂直相交。

在孫的那本書的P62頁,關于DH參數的解釋如下圖:




我舉個例子,例如:


我記的時候就是前一個Z,和后一個的X。如右邊括號里的,而這里正是與后文的改進的DH不一樣的地方。

KUKA youBot機械臂的DH




  • %kuka youBot
  • clear;
  • clc;
  • close all;
  • d1=0.147;
  • a1=0.033;
  • a2=0.155;
  • a3=0.135;
  • d5=0.113;
  • tool = 0.105;
  • qlim1=[-169,169]*pi/180;
  • qlim2=[-65,90]*pi/180;
  • qlim3=[-151,146]*pi/180;
  • qlim4=[-102.5,102.5]*pi/180;
  • qlim5=[-167.5,167.5]*pi/180;
  • L(1) = Link(‘d’, d1, ‘a’, a1, ‘alpha’, pi/2, ‘qlim’,qlim1);
  • L(2) = Link(‘d’, 0, ‘a’, a2, ‘alpha’, 0, ‘qlim’, qlim2, ‘offset’, 1.57);
  • % L(2) = Link(‘d’, 0, ‘a’, a2, ‘alpha’, 0, ‘qlim’, qlim2);
  • L(3) = Link(‘d’, 0, ‘a’, a3, ‘alpha’, 0,‘qlim’,qlim3);
  • L(4) = Link(‘d’, 0, ‘a’, 0, ‘alpha’, -pi/2,‘qlim’,qlim4, ‘offset’, -1.57);
  • % L(4) = Link(‘d’, 0, ‘a’, 0, ‘alpha’, -pi/2,‘qlim’,qlim4);
  • L(5) = Link(‘d’, d5, ‘a’, 0, ‘alpha’, 0,‘qlim’,qlim5);
  • bot = SerialLink(L,‘name’,‘KUKA youBot’);
  • bot.display();
  • % bot.plot([0 0 0 0 0]);
  • % bot.teach;
  • %% forward kinematics.
  • bot.tool= transl(0, 0, tool);% EEF
  • bot.fkine([0 0 0 0 0]*pi/180);
  • bot.fkine([0 0 -90 0 0]*pi/180)
  • bot.fkine([0 0 90 0 0]*pi/180)
  • 編好以后可以輸入一些角度驗證一下


    如上圖中的這個姿態,第三關節轉動90°,X為33 + (655 - 302)= 386mm,Z坐標為底座到第三關節長度為302mm與Figure2中顯示的一致,說明DH建立沒有問題。

    2. Modified DH

    ? ? ? ? 改進的DH那就是如John J.Craig的《機器人學導論》上的,它與標準DH的區別在于:標準DH的Link0(大地)和Link1之間為J0。而Modified DH則是Link0上有J0,Link1上有J1,基座為坐標系{0},一般讓{0}和{1}重合。

    Craig的書中文版P52頁


    P54頁建立坐標系的步驟:




    舉個例子:


    通常都是下標有一半是i -1,類似這樣




    clc;
    clear;
    close all;
    L(1) = Link([ 0 0.147 0 0 ], ‘modified’ );
    L(2) = Link([ 0 0 0.033 pi/2 ], ‘modified’);
    L(3) = Link([ 0 0 0.155 0 ], ‘modified’);
    L(4) = Link([ 0 0 0.135 0], ‘modified’);
    L(5) = Link([ 0 0.218 0 -pi/2], ‘modified’) ;

    youbot = SerialLink(L, ‘name’, ‘youbot’);
    youbot.display()
    youbot.plot([0 0 0 0 0]);

    youbot.teach;


    相關鏈接:

    • http://blog.csdn.net/pengjc2001/article/details/70156333?PUMA560機器人的DH建立過程
    • http://blog.sina.com.cn/s/blog_a16714bf0102vae4.html?MATLAB計算機器人運動學正解
    • http://www.tekkotsu.org/Kinematics.html?DH參數解釋



    總結

    以上是生活随笔為你收集整理的基于MATLAB机器人工具箱的KUKA youBot机械臂运动学建模——DH法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。