資源簡介
這個代碼是機器人動力學方程的matlab代碼實現,使用拉格朗日方法。
此代碼是根據霍偉編著的《機器人動力學與控制》一書中的公式改寫的。
參考網址:https://www.jianshu.com/p/6d04539f1cfe
參考網址中提供的代碼直接運行存在未定義,此代碼可正常運行。
此代碼是根據霍偉編著的《機器人動力學與控制》一書中的公式改寫的。
參考網址:https://www.jianshu.com/p/6d04539f1cfe
參考網址中提供的代碼直接運行存在未定義,此代碼可正常運行。
代碼片段和文件信息
function?[HCGtorque]?=?LagrangianDynamics(dh_list?mass_list?mass_center_list?inertia_tensor_list)
[rows?columns]?=?size(dh_list);
number_of_links?=?rows;
if?columns?~=?4
????error(‘wrong?DH?parameters!‘)
end
for?i?=?1:rows
????%?定義關節位置,速度,加速度符號
????eval([‘syms?‘‘q‘num2str(i)‘?real;‘]);%執行?syms?qi?real;語句?
????eval([‘syms?‘‘dq‘num2str(i)‘?real;‘]);%執行?syms?dqi?real;語句?
????eval([‘syms?‘‘ddq‘num2str(i)‘?real;‘]);%執行?syms?ddqi?real;語句?
????eval([‘q(i)=‘‘q‘num2str(i)‘;‘]);
????eval([‘dq(i)=‘‘dq‘num2str(i)‘;‘]);
????eval([‘ddq(i)=‘‘ddq‘num2str(i)‘;‘]);
end
A?=?sym([]);
for?i?=?1:number_of_links
????dh?=?dh_list(i:);
????alpha(i)?=?dh(1);
????a(i)?=?dh(2);
????d(i)?=?dh(3);
????q(i)?=?dh(4);
????A(::i)?=?[cos(q(i))???-sin(q(i))*cos(alpha(i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2877??2020-01-30?10:53??機器人動力學-拉格朗日方法(matlab)\LagrangianDynamics.m
?????文件???????1922??2020-01-30?11:20??機器人動力學-拉格朗日方法(matlab)\test.m
?????目錄??????????0??2020-01-30?11:58??機器人動力學-拉格朗日方法(matlab)
-----------?---------??----------?-----??----
?????????????????4799????????????????????3
評論
共有 條評論