资源简介
控制机械臂末端进行直线绘制,在进行机械臂控制时,使用逆解求解程序得到八组逆解,从中选择一组转角之和最小,且与上个步骤距离最小的关节组合进行控制,使之平滑运动。
代码片段和文件信息
%%
%%逆运动学验证
clear;
clc;
%建立机器人模型
% theta d a alpha offset
L1=link([0 0 0 0 0 ]‘modified‘); %连杆的D-H参数
L2=link([0 149.09 0 -pi/2 0 ]‘modified‘);
L3=link([0 0 431.8 0 0 ]‘modified‘);
L4=link([0 433.07 20.32 -pi/2 0 ]‘modified‘);
L5=link([0 0 0 pi/2 0 ]‘modified‘);
L6=link([0 0 0 -pi/2 0 ]‘modified‘);
robot=Seriallink([L1 L2 L3 L4 L5 L6]‘name‘‘puma560‘‘base‘ ...
transl(0 0 0.62)* trotz(0)); %连接连杆,机器人取名puma560
% robot.plot([0pi/2000pi/2]);%输出机器人模型,后面的六个角为输出时的theta姿态
robot.plot([000000])
figure(1)
% robot.teach()
robot.display(); %显示D-H表
hold on
T1 = transl(5000-400); %起点
T2 = transl(-300-800-100); %终点
%ctraj 利用匀加速匀减速规划轨迹%
T = ctraj(T1T250);
Tj = transl(T);
%输出末端轨迹%
plot3(Tj(:1)Tj(:2)Tj(:3));
grid on;
T=Tj;
G = []; %用来存储新的障碍节点,用于栅格地图的更新
% N = ndims(T);
N = size(T1);
Q = []; %可行路径上的最终各点的关节角
c = [0 0 0 0 0 0 0 0]; %不可行点判别数组 % A为路径可行判别数,可行为1,不可行为0
t0=[0 0 0 0 0 0];
e0 = [];
temp0=0;
sum = [];
for i =1:N %分别对各点进行碰撞检测
t = T(i:);
q = transl(t);
TH = niyundx_change(q);
for n=1:8
for m=1:6
if TH(nm)>pi
TH(nm)=TH(nm)-2*pi;
elseif TH(nm)<-pi
- 上一篇:基于MATLAB+Hough变换对工件尺寸检测.rar
- 下一篇:时域同步平均算法
相关资源
-
SIMUli
nk机械臂仿真 - meanshift图像平滑matlab实现
- 自用程序:各种光谱数据预处理代码
- 二维码识别算法
- MATLAB二维码识别
- 卡尔曼滤波算法与卡尔曼平滑算法的
- 卡尔曼平滑
- 自适应平滑滤波matlab
- 数字图像报告-图像空间域平滑的几种
- 高斯混合PHD滤波器平滑
- 空间平滑MUSIC算法估计相干源DOA
- 伪+平滑wigner-ville的程序
- Matlab三次指数平滑算法
- GPS载波相位平滑伪距
- matlab中的S-G平滑算法
- kalman滤波、平滑和预测 MATLAB程序
- MATLAB代码,用于快速平滑滤波
- 循环谱估计_时间平滑FFT积累方法
- SRAD各向异性去噪实现图像平滑
- Matlab信号平滑处理-五点滑动平均法
- matlab开发-信号平滑移动平均滤波器
- 空间平滑MUSIC算法MATLAB程序
- 空间平滑music算法
- 信号平滑平均平滑
- 前向平滑与前后向平滑算法
- SG数据平滑
- DOA双向平滑(FBSS)算法
- music算法及其改进
- sg平滑 matlab语言
- IMPROVING POINT POSITIONING ACCURACY 载波相位
评论
共有 条评论