赞
踩
该六自由度机械臂能够实现操作器尖端的灵巧工作空间非空且含有内点,并能够规划机械臂各关节的轨迹,使操作器绕灵巧工作空间的某个内点作定点转动,即操作器尖端位置不变,操作器姿态变化,进一步地,可以实现工业焊接功能。
该6自由度焊接机器人使用 standard D-H(SDH)法建立坐标系,建立运动学模
型。最终形成的连杆模型和坐标系如下图:
得到标准 D-H 参数如下表:
基于上面的6自由度焊接机器人的DH模型,利用matlab robotics toolbox建立机器人的连杆模型。如下:
利用蒙特卡洛算法求解机械臂可行的工作空间,实验代码如下:
clear; clc; % %建立机器人模型 % theta d a alpha offset L1=Link([pi/2 85 27 -pi/2 0 ]); %定义连杆的D-H参数 L2=Link([-pi/2 0 102 0 0 ]); L3=Link([0 0 20 -pi/2 0 ]); L4=Link([0 96 0 pi/2 0 ]); L5=Link([0 0 0 -pi/2 0 ]); L6=Link([0 39 0 0 0 ]); robot=SerialLink([L1 L2 L3 L4 L5 L6],'name','manji'); %连接连杆,机器人取名manji %% 为每一个关节设置旋转角度限制 l1u = 180.0; l1d = -180.0; l2u = -90.0; l2d = 90.0; l3u = -90.0; l3d = 90.0; l4u = -180.0; l4d = 180.0; l5u = -90.0; l5d = 90.0; l6u = -180.0; l6d = 180.0; %% 示教并进行工作空间计算 teach(robot); robot.plot([pi/2,-pi/2,0,0,0,0]) hold on; N=2000; %随机取得的工作点个数 theta1=(l1d+(l1u-l1d)*rand(N,1))*pi/180; %随机取得关节1角度 theta2=(l2d+(l2u-l2d)*rand(N,1))*pi/180; %随机取得关节2角度 theta3=(l3d+(l3u-l3d)*rand(N,1))*pi/180; %随机取得关节3角度 theta4=(l4d+(l4u-l4d)*rand(N,1))*pi/180; %随机取得关节4角度 theta5=(l5d+(l5u-l5d)*rand(N,1))*pi/180; %随机取得关节5角度 theta6=(l6d+(l6u-l6d)*rand(N,1))*pi/180; %随机取得关节6角度 for n=1:1:N q=[theta1(n),theta2(n),theta3(n),theta4(n),theta5(n),theta6(n)]; robot.plot(q);%动画显示 p=robot.fkine(q
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。