Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)

01 roblocks使用方法

  • 在命令行输入roblocks

  • 打开机器人工具箱的模块库

  • 使用‘roblocks’命令打开simulink 机器人模块时提示版本过低的解决办法:
    ① 打开帮助–选择小齿轮设置–simulink–open simulink preferences
    ② 然后去掉图中的√ Do not load models created with a newer version of simulink
    点击 应用 即可

  • 打开simulink
    Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)_第1张图片

  • 打开simulink库
    Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)_第2张图片

说明:

使用roblocks中的一些模块,一般需要制定机器人名字,以及做一些前面的准备
如,对于jtraj模块,需要指定以下内容

n = 6; %要求的关节角度维度,若是六自由度,n=6;
ts = 0.01; %采样时间,在连续时间t之间间隔取值,因此后面的t就不要是离散点集了
q0 = [0,0,0,0,0,0]; %初始关节角度
qf = [0 pi/4 pi 0 pi/4 0]; %终止时刻关节角度
t = 0:10; %完成坐标移动要求的时间
[q,qd,qdd] = jtraj(q0,qf,t);%输出一个点沿一条五次多项式曲线运动随时间变化的坐标
tmax = max(t);

参考:https://blog.csdn.net/xiaohejiaoyiya/article/details/88618322

02 计算力矩控制方法

Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)_第3张图片
(其中的Tfb属于采样时间)
运行simulink前
先要在工作区运行一部分内容:

mdl_Dyn_5dof
robot=bot;

%For jtraj
n = 5;                      %要求的关节角度维度,若是六自由度,n=6;
ts = 0.01;                  %采样时间,在连续时间t之间间隔取值,因此后面的t就不要是离散点集了
q0=[20 50 -30 -25 -10]*du;        %初始关节角度
qf=[70 10 -60 -50 30]*du; %终止时刻关节角度
t =[0:0.1:8];                   %完成坐标移动要求的时间
[q,qd,qdd] = jtraj(q0,qf,t);%输出一个点沿一条五次多项式曲线运动随时间变化的坐标
tmax = max(t);

说明:

  • 通过 “To WorkSpace”模块 输出到工作区,但是是保存为timeseries格式
    参考:Matlab读取timeseries的方法
    • .Data 获取数据
    • .Time 获取时间

其他参考:Matlab和simulink数据的保存和读取

03 其他控制方法

  • 七自由度机械臂重力补偿MATLAB仿真
  • 反馈带力矩前馈的控制
  • urdf与机械臂控制
  • 用Matlab 的simulink 实现机械臂力控制仿真的几种方法

你可能感兴趣的:(机器人学)