機器人運動學實驗報告_第1頁
機器人運動學實驗報告_第2頁
機器人運動學實驗報告_第3頁
機器人運動學實驗報告_第4頁
機器人運動學實驗報告_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

中南大學工業機器人導論實驗報告機電工程學院機械專業班同組人成績姓名學號指導老師實驗日期2013年10月22日實驗名稱機器人運動學實驗一、實驗目的1.了解四自由度機械臂的開鏈結構;

2.掌握機械臂運動關節之間的坐標變換原理;3.學會機器人運動方程的正反解方法。二、實驗原理簡述本實驗以SCARA四自由度機械臂為例研究機器人的運動學問題.機器人運動學問題包括運動學方程的表示,運動學方程的正解、反解等,這些是研究機器人動力學和機器人控制的重要根底,也是開放式機器人系統軌跡規劃的重要根底。機械臂桿件鏈的最末端是機器人工作的末端執行器(或者機械手),末端執行器的位姿是機器人運動學研究的目標,對于位姿的描述常有兩種方法:關節坐標空間法和直角坐標空間法。本次實驗用D-H變化方法求解運動學問題。建立坐標系如下列圖所示連桿坐標系{i}相對于{i?1}的變換矩陣可以按照下式計算出,其中連桿坐標系D-H參數為由表1-1給出。齊坐標變換矩陣為:其中描述連桿i本身的特征;和描述連桿i?1與i之間的聯系。對于旋轉關節,僅是關節變量,其它三個參數固定不變;對于移動關節,僅是關節變量,其它三個參數不變。其中連桿長l1=200mm,l2=200mm,機器人基坐標系為O-X0Y0Z0。根據上面的坐標變換公式,各個關節的位姿矩陣如下:表1-1連桿參數表表1-1連桿參數表運動學正解:各連桿變換矩陣相乘,可得到機器人末端執行器的位姿方程〔正運動學模型〕為:其中:z軸為手指接近物體的方向,稱接近矢量a〔approach〕;y軸為兩手指的連線方向,稱方位矢量o〔orientation〕;x軸稱法向矢量n〔normal〕,由右手法那么確定,n=o*a。p為手爪坐標系原點在基坐標系中的位置矢量。運動學逆解:通常可用未知的連桿逆變換右乘上式:令兩式對應元素分別相等即可解出。其中將上式回代,可得,式中:;令第二行第四個元素對應相等,可得:令第四行第三個元素對應相等,可得:所以,三、實驗儀器與設備KLD-400型SCARA教學機器人KLD-400型SCARA教學機器人配套軟件控制系統裝有Windows系列操作系統的PC機KLD-400型SCARA教學機器人控制箱實驗平臺〔帶有標尺的〕板實驗數據及其處理、圖表1.正運動學分析結果:輸入輸出d3XYZ手爪3010-30-120326.41228.56-30-1206020-20-90134.73370.17-20-909040-10-60-128.56353.21-10-601205000-296.96207.9400150601030-346.4101030180802060-234.73-196.9620602.逆運動學分析結果:注:(240°即-120°)程序代碼程序代碼1、正運動分析#include<stdio.h>#include<math.h>intmain(){inti,j,k;floatt,d3,o1,o2,o4,pi=3.1415926;floatT[4][4]={0},S[4][4]={0};printf("guanjiedian:\n");//數據輸入scanf("%f%f%f%f",&o1,&o2,&d3,&o4);o1=o1/180*pi;o2=o2/180*pi;o4=o4/180*pi;floatT1[4][4]={{cos(o1),-sin(o1),0,0.2*cos(o1)},//矩陣{sin(o1),cos(o1),0,0.2*sin(o1)},{0,0,1,0},{0,0,0,1}, },T2[4][4]={{cos(o2),-sin(o2),0,0.2*cos(o2)},{sin(o2),cos(o2),0,0.2*sin(o2)},{0,0,1,0},{0,0,0,1}, },T3[4][4]={{1,0,0,0},{0,1,0,0},{0,0,1,-d3},{0,0,0,1}, },T4[4][4]={{cos(o4),-sin(o4),0,0},{sin(o4),cos(o4),0,0},{0,0,1,0},{0,0,0,1}, };for(i=0;i<4;i++) for(j=0;j<4;j++){for(i=0;i<4;i++) for(j=0;j<4;j++){ for(t=0,k=0;k<4;k++){ t+=T1[i][k]*T2[k][j];//第一段矩陣相乘 } T[i][j]=t; } for(i=0;i<4;i++) for(j=0;j<4;j++){ S[i][j]=T[i][j]; } for(i=0;i<4;i++) for(j=0;j<4;j++){ for(t=0,k=0;k<4;k++){ t+=S[i][k]*T3[k][j];//第二段矩陣相乘 } T[i][j]=t; } for(i=0;i<4;i++) for(j=0;j<4;j++){ S[i][j]=T[i][j]; } for(i=0;i<4;i++) for(j=0;j<4;j++){ for(t=0,k=0;k<4;k++){ t+=S[i][k]*T4[k][j];//第三段矩陣相乘 } T[i][j]=t; } printf("X=%fY=%fZ=%f",1000*T[0][3],1000*T[1][3],-T[2][3]);//結果輸出}逆運動分析#include<stdio.h>#include<math.h>intmain(){floatM=0,m=0;floato1=0,o2=0,o4=0,d3=0;floatx=0,y=0,z=0,s=0,q[5];floatn1=0,n2=0,pi=3.1415926;floatr,k;inti=0;printf("shurun1,n2,x,y,z:\n");for(i=0;i<5;i++){ scanf("%f",&q[i]);//參量輸入}n1=q[0];n2=q[1];x=q[2];y=q[3];z=q[4];s=x*x+y*y;M=s/(0.4*sqrt(s));m=1-M*M;r=sqrt(s);k=atan(x/y);o1=atan(M/sqrt(m))-atan(x/y);o2=atan(r*cos(o1+k)/(r*sin(o1+k)-0.2));d3=z*1000;o4=asin(n2*cos(o1)-n1*sin(o1))-o2;//這個地方有個問題:對于反三角函數,區間需要單o1=o1*180/pi;//獨處理o2=o2*180/pi;o4=o4*180/pi;printf("o1=%fo2=%fd3=%fo4=%f",o1,o2,d3,o4);}對機器人運動學認識機器人運動學,主要是利用數學手段對實時機構進行運動學分析,能夠很好的控制各機構與末端執行器的位置的操作,通過特定的數據分析和自動化控制能夠讓我們的機器人具有足夠高的準確性和可操控性。機器人運動學的主要任務是為機器人運動的控制提供分析的手段和方法,因此需要建立末端執行器,各運動構件的位置方向與各關節位移之間的關系。其中,各構件的位置方向是用3維笛卡爾坐標描述的。對于各運動構件上笛卡爾坐標系的變換關系,采用齊次坐標變換,以此導出末端執行器,各運動構件與各關節的位置的計算方法。例如第一個構件的位置及方向用齊次坐標舉證A1描述,第二個構件的位置及方向用齊次坐標矩陣A2描述。。。那么第i個構件的位置及方向的齊次坐標變換Ti=A1*A2*。。。。*Ai。即各齊次坐標矩陣依次連乘,便

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論