天天看點

機器人工具箱基本使用(四)

動力學

1、動力學方程

機器人工具箱基本使用(四)
機器人工具箱基本使用(四)

其中:在關節空間中,

機器人工具箱基本使用(四)

分别表示關節處角度、角速度、角加速度;

機器人工具箱基本使用(四)

表示關節力距,

機器人工具箱基本使用(四)

為nxn的品質矩陣,

機器人工具箱基本使用(四)

是nx1的離心力和科氏力矢量;

機器人工具箱基本使用(四)

是nx1的重力矢量。笛卡爾空間與關節空間類似。(注,上訴動力學方程隻包含了剛體力學中的那些力,并未考慮摩擦力)

在機器人工具箱中,我們有以下函數求解上訴一些相關矩陣

  • R.gravload() %重力載荷
  • R.inertia() %關節空間慣性矩陣
  • R.coriolis() %有效載荷(作用 在末端執行器處)的耦合矩陣
  • R.payload() %有效載荷(作用在末端執行器處)

例:

mdl_puma560  %調用puma560模型
q = qn                       %設定關節角度
qd = [0.2,0.1,0,0.1,0,0]     %設定一個初始速度
G = p560.gravload(q)         %重力矢量
M = p560.inertia(q)          %關節空間品質矩陣
V = p560.coriolis(q,qn)      %計算離心力和科氏力矢量
p560.payload(1,[0 0 0])      %添加有效載荷
M1 = p560.inertia(q)         %計算添加載荷後的品質矩陣
           

2、在搭建機器人模型是,每個連杆都有許多的動力學參數(品質、慣性距等等),我們可以利用dyn函數顯示這些參數。

  • R.dyn( ) %顯示模型中所有連杆的動力學屬性
  • R.dyn( i ) %顯示第i根連杆的屬性參數,也相當于R.links(2).dyn

(m(關節品質),r(3*1的關節齒輪向量),I(3*3對稱慣性矩陣),Jm(電機慣性),Bm(粘性摩擦),Tc(庫侖摩擦),G(齒輪傳動比),qlim(關節變量上下限))

mdl_puma560        %調用puma560模型
p560.dyn( );       %顯示所有關節動力學參數
p560.dyn(1);       %顯示第一個關節屬性參數
p560.links(1).dyn  %顯示第一個關節屬性參數
           
  • R.rne(q,qd,qdd) %(角度/角速度/角加速度→力/力矩)
  • R.rne(q,qd,qdd,grav,fext) %grav:重力加速度; fext=[Fx Fy Fz MxMy Mz]
  • [T,q,qd]=R.fdyn(T,torqfun) %(力/力矩→角度/角速度/角加速度)
  • qdd=R.accel(q,qd,torqfun) %計算角加速度
mdl_puma560          %調用puma560模型
q = qn;              %設定初始關節角度
qd = [5 1 0 0 0 0];  %設定關節加速度
qdd = [0 0 0 0 0 0]; %設定關節角加速度
T = p560.rne(q,qd,qdd,[0 0 0])   %求解逆向動力學
torqfun=[1 2 3 4 5 6];           %設定初始力矩
p560=p560.nofriction( );         %沒有摩擦的動力學模型
[T,q,qd]=p560.fdyn(1,torqfun);   %求解正向動力學
for kk=1:65
qdd(kk,:)=p560.accel(q(kk,:),qd(kk,:),torqfun);    %求解角加速度
end
           

繼續閱讀