1 简介
焊接是工业制造中的重要加工环节,焊接质量的优劣往往对产品质量起着决定性的作用。焊接机器人目前广泛应用于机械制造、核工业、航空航天、能源交通、石油化工以及建筑和电子行业。根据焊接方式的不同,主要的焊接分为点焊和弧焊,本文描述的是点焊(PTP)的路径规划算法。在大多数的点焊机器人的任务都包括一个重要问题,就是使机械臂如何遍历所有焊点,尤其当焊点数量达到一定程度时,这个问题就变得尤为重要,合理的规划机器人的焊接顺序,对减少焊接时间,提高焊接机器人的焊接质量和生产效率有着非常重要的作用。传统的规划方法主要以示教为主,多次人工操作寻优,不仅费时费力而且不能有效考虑到焊接变形等焊接约束,规划结果也不理想。目前,双焊接机器人系统也越来越多的被用于生产中,双焊接机器人路径规划问题也急需解决。在焊接过程中,焊接变形是焊接任务的又一难题,焊接变形会导致工件质量不符甚至无法使用,因此在焊接过程中,如何降低焊接变形也越来得到重视。 近些年来,随着计算机的使用,智能算法越来越得到重视并被广泛应用解决实际问题。其中粒子群算法是近些年发展起来的基于群智能的优化算法。本文在确定的焊接任务情况下,将粒子群算法用于求解最优的焊接路径问题。同时针对粒子群算法的部分缺陷进行了改进,提高了其全局寻优能力,再将其用于焊接机器人路径规划之中。 在考虑焊接变形的情况下,以焊接路径最短为目标准则,使用粒子群算法进行路径规划,在双焊接机器人焊接中,还要求两个焊接机器人不能相互干扰。本文中研究了一种在避免相互干扰的情况下,解决双点焊机器人的最优焊接序列的规划的算法,可以求得的最优序列使得双机器人的焊接任务在考虑焊接变形的情况下使用的焊接路径最短或接近最短而且避免焊接机器人相互干扰。
2 部分代码
%% 双机器人路径规划
clc;clear;
%焊点坐标
coor=load('carbody.txt');
%焊接机器人初始点坐标
start1=[3000,1000,850];
start2=[3000,-1000,850];
%焊点分配
n=size(coor,1);
jj=1;
kk=1;
for i=1:n
dis1(i)=norm(start1-coor(i,:));
dis2(i)=norm(start2-coor(i,:));
if dis1(i)>dis2(i)
coor1(jj,:)=coor(i,:);
jj=jj+1;
else
coor2(kk,:)=coor(i,:);
kk=kk+1;
end
end
nn2=size(path2,2);
figure
plot3(coor1(path1,1),coor1(path1,2),coor1(path1,3),'r.-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');hold on
plot3(coor1(path1(1),1),coor1(path1(1),2),coor1(path1(1),3),coor1(path1(nn1),1),coor1(path1(nn1),2),coor1(path1(nn1),3),'r.-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');hold on
plot3(coor2(path2,1),coor2(path2,2),coor2(path2,3),'b.-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');hold on
plot3(coor2(path2(1),1),coor2(path2(1),2),coor2(path2(1),3),coor2(path2(nn2),1),coor2(path2(nn2),2),coor2(path2(nn2),3),'b.-','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g');
%% 收敛曲线
figure
plot(cov1)
figure
plot(cov2)
%% 焊接顺序
for i=1:nn1
for j=1:n
if coor1(path1(i),:)==coor(j,:)
Bpath1(i)=j;
end
end
end
for i=1:nn2
for j=1:n
if coor2(path2(i),:)==coor(j,:)
Bpath2(i)=j;
end
end
end
Bpath1
Bpath2
3 仿真结果
4 参考文献
[1]时应盼. 基于离散精英粒子群算法的焊接机器人路径规划[D]. 华东理工大学, 2015.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。