具体内容如下:
下载链接 带matlab代码+solidworks模型
1、三自由度康复机器人运动学分析
( 用q1代替,其他类似)
Nx=cos(q3)*(cos(q1)*cos(q2) - sin(q1)sin(q2)) - sin(q3)(cos(q1)*sin(q2) + cos(q2)sin(q1))
Ny=cos(q3)(cos(q1)*sin(q2) + cos(q2)sin(q1)) + sin(q3)(cos(q1)*cos(q2) - sin(q1)sin(q2))
Nz=0
Ox=- cos(q3)(cos(q1)*sin(q2) + cos(q2)sin(q1)) - sin(q3)(cos(q1)*cos(q2) - sin(q1)sin(q2))
Oy= cos(q3)(cos(q1)*cos(q2) - sin(q1)sin(q2)) - sin(q3)(cos(q1)sin(q2) + cos(q2)sin(q1))
Oz=0;
Ax=0
Ay=0
Az=1
Px=L2cos(q3)(cos(q1)cos(q2)-sin(q1)sin(q2))-L2sin(q3)(cos(q1)sin(q2) + cos(q2)sin(q1))
Py=L2cos(q3)(cos(q1)sin(q2)+cos(q2)sin(q1))+L2sin(q3)(cos(q1)*cos(q2) - sin(q1)*sin(q2))
Pz=d1
二、运动空间
```cpp
% Robotic Toolbox 9.10
clc;
clear;
L1=Link('d', 0, 'a', 0, 'alpha', -pi/2,'offset',0);
L2=Link('d', 0.409, 'a', 0, 'alpha',pi/2,'offset',0);
L3=Link('d', 0, 'a', 0.0359, 'alpha',0,'offset',pi/2);
robot=SerialLink([L1,L2,L3]);
teach(robot);
robot.plot([0 0 0])
hold on;
N=30000; %随机次数
%关节角度限制
limitmax_1 = 0.0;
limitmin_1 = 120.0;
limitmax_2 = 0.0;
limitmin_2 = 180.0;
limitmax_3 = 0.0;
limitmin_3 = 30;
三.运动规划
1、关节空间轨迹规划:利用 matlab 机器人工具箱Robitcs Tool 中的轨迹规划函数jtraj,原理为五次多项插值算法。
P1起点:init_ang=[0 0 0],P2终点:targ_ang=[pi/4,pi/2,pi/5];
init_ang=[0 0 0];%p1起点
targ_ang=[pi/4,pi/2,pi/5];%p2终点
step=40;
%jtraj,已知初始和终止的关节角度,利用五次多项式来规划轨迹。
[q,qd,qdd] = jtraj(init_ang, targ_ang, step);
robot.plot(q);
hold on
2、笛卡尔空间轨迹规划
P1起点:init_ang=[0 0 0],P2终点:targ_ang=[pi/4,pi/2,pi/5];路径为直线。
p1 = robot.fkine(init_ang);%运动学正解
p2 = robot.fkine(targ_ang);%运动学正解
Tc=ctraj(p1,p2,step);%运用的是匀加速匀减方法
Tjtraj=transl(Tc);
plot2(Tjtraj,'r');
title('p1到p2直线轨迹');
grid on;
具体内容如下:
下载链接 带matlab代码+solidworks模型