实现AR机器人码垛的特别方法(Lua脚本的实现)

----------------定义-----------------
local StandbyPos,CCDpos = p40,p30 --待机点、拍照点
local catch = 5 --抓取IO
DO(catch,OFF)
MotOn()
MArchP(StandbyPos,0,15,15)
Delay(100)
--local pos = dofile("d:\\projects\\MD\\PLT_SUB.AR")
Delay(100)
local Hang,Lie,Grp = 11,7,4 --行、列、组
local j,k = 1,1
local tb1 = {}
SetPlt(1,p20,p22,p21,Hang,Lie)
SetPlt(2,p23,p25,p24,Hang,Lie)
function intTable(val)
	if val==0 then for i=1,Hang*Lie*Grp do tb1[i]={NO=0,H=0, L=0,IO=0,CCD=0} end print(#tb1) --初始化表
	elseif val== 1 then --给表赋值
		for n=1,Grp do --组
			j,k=1,1
			for i=1,Hang*Lie do --首项为1,公差为4的等差数列:i=首项+4(i-1)=4i-3
				if n==1 then i=4*i-3 elseif n==2 then i=4*i-2 elseif n==3 then i=4*i-1 elseif n==4 then i=4*i end
				if n==1 or n==4 then tb1[i].NO=1 elseif n==2 or n==3 then tb1[i].NO=2 end --码垛号1/2处理	
				if n==1 or n==2 or n==4 then tb1[i].H=j elseif n==3 then tb1[i].H=j+1 end --码垛行处理
				j=j+1
				tb1[i].L=k --码垛列处理
				if n==1 or n==2 or n==4 then
					if j==Hang+1 then j=1 end
					if j==1 then k=k+1 if k==Lie+1 then k=1 end end
				elseif n==3 then
					if j==Hang then j = 0 end	
					if j==0 then k=k+1 if k==Lie+1 then k=1 end end   
				end	
				if n==1 or n==3 then tb1[i].IO=1 elseif n==2 or n==4 then tb1[i].IO=0 end    --IO口ON/OFF状态处理
				if n==1 or n==2 or n==4 then tb1[i].CCD=0 elseif n==3 then tb1[i].CCD=1 end  --拍照点启用/停用状态处理
				--print("tb1={{NO="..tb1[i].NO..",H="..tb1[i].H..",L="..tb1[i].L..",IO="..tb1[i].IO..",CCD="..tb1[i].CCD.."}}")
			end
		end
	end
end
intTable(0) --初始化表
intTable(1) --给表赋值
local pos = tb1
function main()
	while true do
		for i = 1,#pos do --#pos = 11 * 7 * 4 = 308
			if pos[i] == nil then
				print("跳过第"..i.."个码垛点")
			else
 			    MArchP(GetPlt(pos[i].NO,pos[i].H,pos[i].L),0,15,15) --码垛号1 or 2 码垛点
			    DO(catch,pos[i].IO)        --夹 or 张
			    Delay(100)
			    if pos[i].CCD == 1 then    --是否需拍照
				    MArchP(CCDpos,0,15,15) --拍照点
				    Delay(100)
			    end   
			end
		end	
	end
end
--main()




--以上代码中的intTable(1)函数替代了下面的表--
--[[
local tb = {
--------------------------------------------------第 1 列 11 行-------------------------------------------------
---------第 1 组----------*---------第 2 组----------*---------第 3 组----------*---------第 4 组----------
------------↓-------------------------↓-------------------------↓-------------------------↓------------
{NO=1,H=1, L=1,IO=1,CCD=0},{NO=2,H=1, L=1,IO=0,CCD=0},{NO=2,H=2, L=1,IO=1,CCD=1},{NO=1,H=1, L=1,IO=0,CCD=0}, --1,2,3,4
{NO=1,H=2, L=1,IO=1,CCD=0},{NO=2,H=2, L=1,IO=0,CCD=0},{NO=2,H=3, L=1,IO=1,CCD=1},{NO=1,H=2, L=1,IO=0,CCD=0}, --5,6,7,8
{NO=1,H=3, L=1,IO=1,CCD=0},{NO=2,H=3, L=1,IO=0,CCD=0},{NO=2,H=4, L=1,IO=1,CCD=1},{NO=1,H=3, L=1,IO=0,CCD=0}, --9,10,11,12
{NO=1,H=4, L=1,IO=1,CCD=0},{NO=2,H=4, L=1,IO=0,CCD=0},{NO=2,H=5, L=1,IO=1,CCD=1},{NO=1,H=4, L=1,IO=0,CCD=0}, --13,14,15,16
{NO=1,H=5, L=1,IO=1,CCD=0},{NO=2,H=5, L=1,IO=0,CCD=0},{NO=2,H=6, L=1,IO=1,CCD=1},{NO=1,H=5, L=1,IO=0,CCD=0}, --17,18,19,20
{NO=1,H=6, L=1,IO=1,CCD=0},{NO=2,H=6, L=1,IO=0,CCD=0},{NO=2,H=7, L=1,IO=1,CCD=1},{NO=1,H=6, L=1,IO=0,CCD=0}, --21,22,23,24
{NO=1,H=7, L=1,IO=1,CCD=0},{NO=2,H=7, L=1,IO=0,CCD=0},{NO=2,H=8, L=1,IO=1,CCD=1},{NO=1,H=7, L=1,IO=0,CCD=0}, --25,26,27,28
{NO=1,H=8, L=1,IO=1,CCD=0},{NO=2,H=8, L=1,IO=0,CCD=0},{NO=2,H=9, L=1,IO=1,CCD=1},{NO=1,H=8, L=1,IO=0,CCD=0}, --29,30,31,32
{NO=1,H=9, L=1,IO=1,CCD=0},{NO=2,H=9, L=1,IO=0,CCD=0},{NO=2,H=10,L=1,IO=1,CCD=1},{NO=1,H=9, L=1,IO=0,CCD=0}, --33,34,35,36
{NO=1,H=10,L=1,IO=1,CCD=0},{NO=2,H=10,L=1,IO=0,CCD=0},{NO=2,H=11,L=1,IO=1,CCD=1},{NO=1,H=10,L=1,IO=0,CCD=0}, --37,38,39,40
{NO=1,H=11,L=1,IO=1,CCD=0},{NO=2,H=11,L=1,IO=0,CCD=0},{NO=2,H=1, L=2,IO=1,CCD=1},{NO=1,H=11,L=1,IO=0,CCD=0}, --41,42,43,44
--------------------------------------------------第 2 列 11 行-------------------------------------------------
{NO=1,H=1, L=2,IO=1,CCD=0},{NO=2,H=1, L=2,IO=0,CCD=0},{NO=2,H=2, L=2,IO=1,CCD=1},{NO=1,H=1, L=2,IO=0,CCD=0}, --45,46,47,48
{NO=1,H=2, L=2,IO=1,CCD=0},{NO=2,H=2, L=2,IO=0,CCD=0},{NO=2,H=3, L=2,IO=1,CCD=1},{NO=1,H=2, L=2,IO=0,CCD=0}, --49,50,51,52
{NO=1,H=3, L=2,IO=1,CCD=0},{NO=2,H=3, L=2,IO=0,CCD=0},{NO=2,H=4, L=2,IO=1,CCD=1},{NO=1,H=3, L=2,IO=0,CCD=0}, --53,54,55,56
{NO=1,H=4, L=2,IO=1,CCD=0},{NO=2,H=4, L=2,IO=0,CCD=0},{NO=2,H=5, L=2,IO=1,CCD=1},{NO=1,H=4, L=2,IO=0,CCD=0}, --57,58,59,60
{NO=1,H=5, L=2,IO=1,CCD=0},{NO=2,H=5, L=2,IO=0,CCD=0},{NO=2,H=6, L=2,IO=1,CCD=1},{NO=1,H=5, L=2,IO=0,CCD=0},
{NO=1,H=6, L=2,IO=1,CCD=0},{NO=2,H=6, L=2,IO=0,CCD=0},{NO=2,H=7, L=2,IO=1,CCD=1},{NO=1,H=6, L=2,IO=0,CCD=0},
{NO=1,H=7, L=2,IO=1,CCD=0},{NO=2,H=7, L=2,IO=0,CCD=0},{NO=2,H=8, L=2,IO=1,CCD=1},{NO=1,H=7, L=2,IO=0,CCD=0},
{NO=1,H=8, L=2,IO=1,CCD=0},{NO=2,H=8, L=2,IO=0,CCD=0},{NO=2,H=9, L=2,IO=1,CCD=1},{NO=1,H=8, L=2,IO=0,CCD=0},
{NO=1,H=10,L=2,IO=1,CCD=0},{NO=2,H=10,L=2,IO=0,CCD=0},{NO=2,H=11,L=2,IO=1,CCD=1},{NO=1,H=10,L=2,IO=0,CCD=0},
{NO=1,H=11,L=2,IO=1,CCD=0},{NO=2,H=11,L=2,IO=0,CCD=0},{NO=2,H=1, L=3,IO=1,CCD=1},{NO=1,H=11,L=2,IO=0,CCD=0},
--------------------------------------------------第 3 列 11 行-------------------------------------------------
{NO=1,H=1, L=3,IO=1,CCD=0},{NO=2,H=1, L=3,IO=0,CCD=0},{NO=2,H=2, L=3,IO=1,CCD=1},{NO=1,H=1, L=3,IO=0,CCD=0},
{NO=1,H=2, L=3,IO=1,CCD=0},{NO=2,H=2, L=3,IO=0,CCD=0},{NO=2,H=3, L=3,IO=1,CCD=1},{NO=1,H=2, L=3,IO=0,CCD=0},
{NO=1,H=3, L=3,IO=1,CCD=0},{NO=2,H=3, L=3,IO=0,CCD=0},{NO=2,H=4, L=3,IO=1,CCD=1},{NO=1,H=3, L=3,IO=0,CCD=0},
{NO=1,H=4, L=3,IO=1,CCD=0},{NO=2,H=4, L=3,IO=0,CCD=0},{NO=2,H=5, L=3,IO=1,CCD=1},{NO=1,H=5, L=3,IO=0,CCD=0},
{NO=1,H=5, L=3,IO=1,CCD=0},{NO=2,H=5, L=3,IO=0,CCD=0},{NO=2,H=6, L=3,IO=1,CCD=1},{NO=1,H=5, L=3,IO=0,CCD=0},
{NO=1,H=6, L=3,IO=1,CCD=0},{NO=2,H=6, L=3,IO=0,CCD=0},{NO=2,H=7, L=3,IO=1,CCD=1},{NO=1,H=6, L=3,IO=0,CCD=0},
{NO=1,H=7, L=3,IO=1,CCD=0},{NO=2,H=7, L=3,IO=0,CCD=0},{NO=2,H=8, L=3,IO=1,CCD=1},{NO=1,H=7, L=3,IO=0,CCD=0},
{NO=1,H=8, L=3,IO=1,CCD=0},{NO=2,H=8, L=3,IO=0,CCD=0},{NO=2,H=9, L=3,IO=1,CCD=1},{NO=1,H=8, L=3,IO=0,CCD=0},
{NO=1,H=9, L=3,IO=1,CCD=0},{NO=2,H=9, L=3,IO=0,CCD=0},{NO=2,H=10,L=3,IO=1,CCD=1},{NO=1,H=9, L=3,IO=0,CCD=0},
{NO=1,H=10,L=3,IO=1,CCD=0},{NO=2,H=10,L=3,IO=0,CCD=0},{NO=2,H=11,L=3,IO=1,CCD=1},{NO=1,H=10,L=3,IO=0,CCD=0},
{NO=1,H=11,L=3,IO=1,CCD=0},{NO=2,H=11,L=3,IO=0,CCD=0},{NO=2,H=1, L=4,IO=1,CCD=1},{NO=1,H=11,L=3,IO=0,CCD=0},
--------------------------------------------------第 4 列 11 行-------------------------------------------------
{NO=1,H=1, L=4,IO=1,CCD=0},{NO=2,H=1, L=4,IO=0,CCD=0},{NO=2,H=2, L=4,IO=1,CCD=1},{NO=1,H=1, L=4,IO=0,CCD=0},
{NO=1,H=2, L=4,IO=1,CCD=0},{NO=2,H=2, L=4,IO=0,CCD=0},{NO=2,H=3, L=4,IO=1,CCD=1},{NO=1,H=2, L=4,IO=0,CCD=0},
{NO=1,H=3, L=4,IO=1,CCD=0},{NO=2,H=3, L=4,IO=0,CCD=0},{NO=2,H=4, L=4,IO=1,CCD=1},{NO=1,H=3, L=4,IO=0,CCD=0},
{NO=1,H=4, L=4,IO=1,CCD=0},{NO=2,H=4, L=4,IO=0,CCD=0},{NO=2,H=5, L=4,IO=1,CCD=1},{NO=1,H=4, L=4,IO=0,CCD=0},
{NO=1,H=5, L=4,IO=1,CCD=0},{NO=2,H=5, L=4,IO=0,CCD=0},{NO=2,H=6, L=4,IO=1,CCD=1},{NO=1,H=5, L=4,IO=0,CCD=0},
{NO=1,H=6, L=4,IO=1,CCD=0},{NO=2,H=6, L=4,IO=0,CCD=0},{NO=2,H=7, L=4,IO=1,CCD=1},{NO=1,H=6, L=4,IO=0,CCD=0},
{NO=1,H=7, L=4,IO=1,CCD=0},{NO=2,H=7, L=4,IO=0,CCD=0},{NO=2,H=8, L=4,IO=1,CCD=1},{NO=1,H=7, L=4,IO=0,CCD=0},
{NO=1,H=8, L=4,IO=1,CCD=0},{NO=2,H=8, L=4,IO=0,CCD=0},{NO=2,H=9, L=4,IO=1,CCD=1},{NO=1,H=8, L=4,IO=0,CCD=0},
{NO=1,H=9, L=4,IO=1,CCD=0},{NO=2,H=9, L=4,IO=0,CCD=0},{NO=2,H=10,L=4,IO=1,CCD=1},{NO=1,H=9, L=4,IO=0,CCD=0},
{NO=1,H=10,L=4,IO=1,CCD=0},{NO=2,H=10,L=4,IO=0,CCD=0},{NO=2,H=11,L=4,IO=1,CCD=1},{NO=1,H=10,L=4,IO=0,CCD=0},
{NO=1,H=11,L=4,IO=1,CCD=0},{NO=2,H=11,L=4,IO=0,CCD=0},{NO=2,H=1, L=5,IO=1,CCD=1},{NO=1,H=11,L=4,IO=0,CCD=0},
--------------------------------------------------第 5 列 11 行-------------------------------------------------
{NO=1,H=1, L=5,IO=1,CCD=0},{NO=2,H=1, L=5,IO=0,CCD=0},{NO=2,H=2, L=5,IO=1,CCD=1},{NO=1,H=1, L=5,IO=0,CCD=0},
{NO=1,H=2, L=5,IO=1,CCD=0},{NO=2,H=2, L=5,IO=0,CCD=0},{NO=2,H=3, L=5,IO=1,CCD=1},{NO=1,H=2, L=5,IO=0,CCD=0},
{NO=1,H=3, L=5,IO=1,CCD=0},{NO=2,H=3, L=5,IO=0,CCD=0},{NO=2,H=4, L=5,IO=1,CCD=1},{NO=1,H=3, L=5,IO=0,CCD=0},
{NO=1,H=4, L=5,IO=1,CCD=0},{NO=2,H=4, L=5,IO=0,CCD=0},{NO=2,H=5, L=5,IO=1,CCD=1},{NO=1,H=4, L=5,IO=0,CCD=0},
{NO=1,H=5, L=5,IO=1,CCD=0},{NO=2,H=5, L=5,IO=0,CCD=0},{NO=2,H=6, L=5,IO=1,CCD=1},{NO=1,H=5, L=5,IO=0,CCD=0},
{NO=1,H=6, L=5,IO=1,CCD=0},{NO=2,H=6, L=5,IO=0,CCD=0},{NO=2,H=7, L=5,IO=1,CCD=1},{NO=1,H=6, L=5,IO=0,CCD=0},
{NO=1,H=7, L=5,IO=1,CCD=0},{NO=2,H=7, L=5,IO=0,CCD=0},{NO=2,H=8, L=5,IO=1,CCD=1},{NO=1,H=7, L=5,IO=0,CCD=0},
{NO=1,H=8, L=5,IO=1,CCD=0},{NO=2,H=8, L=5,IO=0,CCD=0},{NO=2,H=9, L=5,IO=1,CCD=1},{NO=1,H=8, L=5,IO=0,CCD=0},
{NO=1,H=9, L=5,IO=1,CCD=0},{NO=2,H=9, L=5,IO=0,CCD=0},{NO=2,H=10,L=5,IO=1,CCD=1},{NO=1,H=9, L=5,IO=0,CCD=0},
{NO=1,H=10,L=5,IO=1,CCD=0},{NO=2,H=10,L=5,IO=0,CCD=0},{NO=2,H=11,L=5,IO=1,CCD=1},{NO=1,H=10,L=5,IO=0,CCD=0},
{NO=1,H=11,L=5,IO=1,CCD=0},{NO=2,H=11,L=5,IO=0,CCD=0},{NO=2,H=1, L=6,IO=1,CCD=1},{NO=1,H=11,L=5,IO=0,CCD=0},
--------------------------------------------------第 6 列 11 行-------------------------------------------------
{NO=1,H=1, L=6,IO=1,CCD=0},{NO=2,H=1, L=6,IO=0,CCD=0},{NO=2,H=2, L=6,IO=1,CCD=1},{NO=1,H=1, L=6,IO=0,CCD=0},
{NO=1,H=2, L=6,IO=1,CCD=0},{NO=2,H=2, L=6,IO=0,CCD=0},{NO=2,H=3, L=6,IO=1,CCD=1},{NO=1,H=2, L=6,IO=0,CCD=0},
{NO=1,H=3, L=6,IO=1,CCD=0},{NO=2,H=3, L=6,IO=0,CCD=0},{NO=2,H=4, L=6,IO=1,CCD=1},{NO=1,H=3, L=6,IO=0,CCD=0},
{NO=1,H=4, L=6,IO=1,CCD=0},{NO=2,H=4, L=6,IO=0,CCD=0},{NO=2,H=5, L=6,IO=1,CCD=1},{NO=1,H=4, L=6,IO=0,CCD=0},
{NO=1,H=5, L=6,IO=1,CCD=0},{NO=2,H=5, L=6,IO=0,CCD=0},{NO=2,H=6, L=6,IO=1,CCD=1},{NO=1,H=5, L=6,IO=0,CCD=0},
{NO=1,H=6, L=6,IO=1,CCD=0},{NO=2,H=6, L=6,IO=0,CCD=0},{NO=2,H=7, L=6,IO=1,CCD=1},{NO=1,H=6, L=6,IO=0,CCD=0},
{NO=1,H=7, L=6,IO=1,CCD=0},{NO=2,H=7, L=6,IO=0,CCD=0},{NO=2,H=8, L=6,IO=1,CCD=1},{NO=1,H=7, L=6,IO=0,CCD=0},
{NO=1,H=8, L=6,IO=1,CCD=0},{NO=2,H=8, L=6,IO=0,CCD=0},{NO=2,H=9, L=6,IO=1,CCD=1},{NO=1,H=8, L=6,IO=0,CCD=0},
{NO=1,H=9, L=6,IO=1,CCD=0},{NO=2,H=9, L=6,IO=0,CCD=0},{NO=2,H=10,L=6,IO=1,CCD=1},{NO=1,H=9, L=6,IO=0,CCD=0},
{NO=1,H=10,L=6,IO=1,CCD=0},{NO=2,H=10,L=6,IO=0,CCD=0},{NO=2,H=11,L=6,IO=1,CCD=1},{NO=1,H=10,L=6,IO=0,CCD=0},
{NO=1,H=11,L=6,IO=1,CCD=0},{NO=2,H=11,L=6,IO=0,CCD=0},{NO=2,H=1, L=7,IO=1,CCD=1},{NO=1,H=11,L=6,IO=0,CCD=0},
--------------------------------------------------第 7 列 11 行-------------------------------------------------
{NO=1,H=1, L=7,IO=1,CCD=0},{NO=2,H=1, L=7,IO=0,CCD=0},{NO=2,H=2, L=7,IO=1,CCD=1},{NO=1,H=1, L=7,IO=0,CCD=0},
{NO=1,H=2, L=7,IO=1,CCD=0},{NO=2,H=2, L=7,IO=0,CCD=0},{NO=2,H=3, L=7,IO=1,CCD=1},{NO=1,H=2, L=7,IO=0,CCD=0},
{NO=1,H=3, L=7,IO=1,CCD=0},{NO=2,H=3, L=7,IO=0,CCD=0},{NO=2,H=4, L=7,IO=1,CCD=1},{NO=1,H=3, L=7,IO=0,CCD=0},
{NO=1,H=4, L=7,IO=1,CCD=0},{NO=2,H=4, L=7,IO=0,CCD=0},{NO=2,H=5, L=7,IO=1,CCD=1},{NO=1,H=4, L=7,IO=0,CCD=0},
{NO=1,H=5, L=7,IO=1,CCD=0},{NO=2,H=5, L=7,IO=0,CCD=0},{NO=2,H=6, L=7,IO=1,CCD=1},{NO=1,H=5, L=7,IO=0,CCD=0},
{NO=1,H=6, L=7,IO=1,CCD=0},{NO=2,H=6, L=7,IO=0,CCD=0},{NO=2,H=7, L=7,IO=1,CCD=1},{NO=1,H=6, L=7,IO=0,CCD=0},
{NO=1,H=7, L=7,IO=1,CCD=0},{NO=2,H=7, L=7,IO=0,CCD=0},{NO=2,H=8, L=7,IO=1,CCD=1},{NO=1,H=7, L=7,IO=0,CCD=0},
{NO=1,H=8, L=7,IO=1,CCD=0},{NO=2,H=8, L=7,IO=0,CCD=0},{NO=2,H=9, L=7,IO=1,CCD=1},{NO=1,H=8, L=7,IO=0,CCD=0},
{NO=1,H=9, L=7,IO=1,CCD=0},{NO=2,H=9, L=7,IO=0,CCD=0},{NO=2,H=10,L=7,IO=1,CCD=1},{NO=1,H=9, L=7,IO=0,CCD=0},
{NO=1,H=10,L=7,IO=1,CCD=0},{NO=2,H=10,L=7,IO=0,CCD=0},{NO=2,H=11,L=7,IO=1,CCD=1},{NO=1,H=10,L=7,IO=0,CCD=0},
{NO=1,H=11,L=7,IO=1,CCD=0},{NO=2,H=11,L=7,IO=0,CCD=0},{NO=2,H=1, L=1,IO=1,CCD=1},{NO=1,H=11,L=7,IO=0,CCD=0},
}
return tb
]]--

猜你喜欢

转载自blog.csdn.net/iss_mk_gmbh/article/details/79224680