资源简介
这个代码是机器人动力学方程的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
评论
共有 条评论