资源简介
控制机械臂末端进行直线绘制,在进行机械臂控制时,使用逆解求解程序得到八组逆解,从中选择一组转角之和最小,且与上个步骤距离最小的关节组合进行控制,使之平滑运动。
代码片段和文件信息
%%
%%逆运动学验证
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
- 下一篇:时域同步平均算法
相关资源
- DOA双向平滑(FBSS)算法
- music算法及其改进
- sg平滑 matlab语言
- IMPROVING POINT POSITIONING ACCURACY 载波相位
- 滑动窗口的一维曲线平滑及降噪
- 基于低通滤波原理对风电削峰填谷
- 各向异性扩散方程并将其应用到了图
- 平滑滤波Matlab实现
- matlab中smooth函数平滑处理数据
- 移动窗口最小二乘多项式平滑(sg s
- matlab程序仿真信号SG平滑滤波
- average_smooth 对图像进行平滑处理
- Savitzky-Golay-matlab SG平滑滤波matlab源码
- PV
- Bilateral_Filtering 双边滤波
- gauss-filter MATLAB实现的高斯平滑滤波源
- robotics 六自由度机械臂的运动学仿真
- SL0 非常有用的平滑l0算法代码程序
- guass 高斯平滑滤波的matlab程序
- matlab-smooth 可以对曲线进行平滑
- 数据平滑MATLAB
- 机械臂圆弧绘制 机械臂平滑运动
- Capon空间平滑解相干
评论
共有 条评论