肖 剛,習佳俊,曹明恒,楊 龍,梁 彤,許圓圓
(寶雞文理學院 機械工程學院,陜西 寶雞 721016)
隨著已有公路使用年限的增加,我國大批公路即將進入養(yǎng)護階段。據(jù)有關(guān)數(shù)據(jù)統(tǒng)計,我國每年有12%的公路需要翻修和養(yǎng)護,舊瀝青廢棄量高達每年240萬噸之巨,而且這個數(shù)字以每年15%的速度增長。為了減少養(yǎng)護過程中的環(huán)境污染,2018年交通部和陜西省交通廳印發(fā)了《關(guān)于進一步加強公路養(yǎng)護工程項目環(huán)境保護工作的通知》陜交函〔2018〕1102號,通知明確要求采用機械化設(shè)備提高養(yǎng)護效率,養(yǎng)護過程嚴格按照“綠色、循環(huán)、低碳”的原則。2018年開始政府部門相繼推出了《服務機器人科技發(fā)展“十二五”專項規(guī)劃》《中國制造2025》《機械工業(yè)“十三五”質(zhì)量管理規(guī)劃綱要》《機器人產(chǎn)業(yè)發(fā)展規(guī)劃(2016-2020年)》等文件,文件提出將機器人相關(guān)產(chǎn)業(yè)列為未來重點攻關(guān)領(lǐng)域。
在此背景下,本文在查閱已有研究資料基礎(chǔ)上,首先通過UG建立公路養(yǎng)護機械臂裝置三維實體簡化模型,然后利用機械人相關(guān)理論中的D-H法建立了所設(shè)計機械臂的數(shù)學模型,在數(shù)學模型基礎(chǔ)上通過MATLAB軟件對機械臂末端運動軌跡進行分析與規(guī)劃,得到公路養(yǎng)護車機械臂裝置的最優(yōu)設(shè)計結(jié)果,最后,利用ARDUINO控制芯片、電機和繼電器等構(gòu)件搭建了機械臂及控制系統(tǒng)實物模型。
利用UG軟件建立的機械臂三維模型如圖1所示。機械臂工作主要承力支架由電機結(jié)構(gòu)支撐架7、8和可轉(zhuǎn)位養(yǎng)護設(shè)備支撐架14組成,由機械臂底座1固定在養(yǎng)護車的后承受板上,電機4用于控制可轉(zhuǎn)位養(yǎng)護設(shè)備在橫向的轉(zhuǎn)動,電機6用于控制可轉(zhuǎn)位養(yǎng)護設(shè)備在縱向的轉(zhuǎn)動,使可轉(zhuǎn)位設(shè)備到達工作區(qū)域,電機10、13控制可轉(zhuǎn)位設(shè)備的水平及其工作刀口方向運動,電機16安裝在支撐架14上,通過電機10、13來驅(qū)動設(shè)備精準到達工作區(qū)域,由錐形齒輪19傳輸電機18動力帶動銑刨切割刀具17工作。
1-機械臂底座;2,11,12-電機機槽;3-螺絲;4,5-水平運動電機;6,10,13-垂直運動電機;7,8-電機機械臂支架;9-機械臂支架螺母;14-可轉(zhuǎn)位養(yǎng)護設(shè)備支撐架;15-可轉(zhuǎn)位設(shè)備外罩;16,18-可轉(zhuǎn)位動力電機;17-銑刨、切割刀具;19-錐形齒輪
機械臂參數(shù)影響末端軌跡,末端軌跡關(guān)系到機械臂是否可以有效工作,因此進行末端軌跡分析主要是為了避免運動過程中的干涉,合理選擇參數(shù),就可確保機械臂具有較大的有效工作范圍,圖2為機械臂運動學模型。
圖2中,坐標系X0Y0Z0位于底座的回轉(zhuǎn)中心,X1Y1Z1為一節(jié)臂回轉(zhuǎn)中心,底座和一節(jié)臂之間通過圓柱銷鏈接,底座可以繞Z0轉(zhuǎn)動,s和h分別為兩個坐標系橫向和縱向之間的距離。
根據(jù)圖2,利用D-H法建立機械手末端相對于固定坐標系的位置方程:
圖2 機械臂運動學模型
(1)
其中:θ123=Φ3+Φ2-Φ1;θ12=Φ2-Φ1。
根據(jù)表1中的機械臂運動參數(shù),取轉(zhuǎn)臺擺動角度Φ0為-30°~30°,Φ1為30°~70°,Φ2為50°~130°,臂長l1=1.8 m,二節(jié)臂長l2=1.5 m,可得機械臂在XYZ空間的運動范圍,如圖3所示。
表1 機械臂運動參數(shù)
圖3 機械手末端運動軌跡
利用MATLAB設(shè)計的主程序如下:
clear all;clc;
s=0.2;h=0.8;L3=2.5;L1=1.8;L2=1.5;
v1=3*pi/18:pi/18:7*pi/18;v2=5*pi/18:2*pi/36:13*pi/18;
m1=length(v1);m2=length(v2);D=zeros(m1,m2);Z=zeros(m1,m2);
DX=zeros(m1,m2);DY=zeros(m1,m2);v0=-3*pi/18:pi/36:3*pi/18;
m3=length(v0);
for ii=1:m3
for i=1:m1
for j=1:m2
D(i,j)=s+L1.*cos(v1(i))+L2.*cos(v2(j)-v1(i));
DX(i,j)=cos(v0(ii)).*D(i,j);DY(i,j)=sin(v0(ii)).*D(i,j);
Z(i,j)=h+L1*sin(v1(i))-L2*sin(v2(j)-v1(i))-L3;
scatter3(DX(i,j),DY(i,j),Z(i,j),'r')
hold on
end
end
hold on
end
xlabel('X');ylabel('Y');zlabel('Z')
(1)機械臂舵機的初始化到等待狀態(tài)代碼:
void myservosetup()
{sea=myservoA.read();seb=myservoB.read();sec=myservoC.read();
sed=myservoD.read();see=myservoE.read();sef=myservoF.read();
myspeed=500;
for(pos=0;pos<=myspeed;pos+=1)
{myservoA.write(int(map(pos,1,myspeed,sea,66)));
myservoB.write(int(map(pos,1,myspeed,seb,90)));
myservoC.write(int(map(pos,1,myspeed,sec,50)));
myservoD.write(int(map(pos,1,myspeed,sed,90)));
myservoE.write(int(map(pos,1,myspeed,see,120)));
myservoF.write(int(map(pos,1,myspeed,sef,90)));
delay(1);}}
(2)控制程序主要定義引腳:
{Serial.begin(9600,SERIAL_8N1);
mycomflag=2;//機械臂默認上電狀態(tài)為:2 自動運行
myservoA.attach(3);//控制腰部(A)的端口是~3號
myservoB.attach(5);//控制大臂(B)的端口是~5號
myservoC.attach(6);//控制小臂(C)的端口是~6號
myservoD.attach(9);//控制小臂旋轉(zhuǎn)(D)的端口是~9號
myservoE.attach(10);//控制腕部(E)的端口是~10號
myservoF.attach(11);//控制腕部旋轉(zhuǎn)(F)的端口是~11號
myservoA.write(66);myservoB.write(90);myservoC.write(55);
myservoD.write(90);myservoE.write(120);myservoF.write(90);}
(3)壓力測控部分主程序代碼:
{long PRESS_AO =0;
int VOLTAGE_AO =0;int value =analogRead(pin);
DEBUGSerial.print("AD =");DEBUGSerial.print(value);
DEBUGSerial.print(" ,");
VOLTAGE_AO =map(value,0,1023,0,5000);
DEBUGSerial.print("V =");
DEBUGSerial.print(VOLTAGE_AO);DEBUGSerial.print(" mv,");
if(VOLTAGE_AO {PRESS_AO =0;}else if(VOLTAGE_AO >VOLTAGE_MAX) {PRESS_AO =PRESS_MAX;} else {PRESS_AO =map(VOLTAGE_AO,VOLTAGE_MIN,VOLTAGE_MAX,PRESS_MIN,PRESS_MAX);} return PRESS_AO;} 圖4為搭載在公路養(yǎng)護車上的機械臂,主要用于驅(qū)動可轉(zhuǎn)位養(yǎng)護設(shè)備。圖4中,1為機械臂的底座,主要用于機械臂的安裝;2為機械臂的水平旋轉(zhuǎn)電機,其作用是驅(qū)動機械臂進行水平旋轉(zhuǎn)移動;3為機械臂驅(qū)動可轉(zhuǎn)位設(shè)備的主要電機;4為機械臂驅(qū)動可轉(zhuǎn)位養(yǎng)護設(shè)備的主要承受臂;5為機械臂垂直移動輔助電機,其主要作用是配合電機3驅(qū)動機械臂進行垂直運動;6為機械臂驅(qū)動可轉(zhuǎn)位養(yǎng)護設(shè)備電機,其功能是驅(qū)動旋轉(zhuǎn)可轉(zhuǎn)位養(yǎng)護設(shè)備;7為可轉(zhuǎn)位養(yǎng)護設(shè)備的結(jié)構(gòu)控制機架;8為控制可轉(zhuǎn)位養(yǎng)護設(shè)備切換的電機。圖5為機械臂裝置實物圖,主要采用ARDUINO和繼電器控制。 1-機械臂底座;2-水平運動電機;3,5,6-垂直運動電機;4-機械臂支撐架;7-可轉(zhuǎn)位設(shè)備支撐架;8-可轉(zhuǎn)位電機 本文利用UG建立起吊裝置的三維簡化模型,設(shè)計機械臂控制系統(tǒng),對機械臂裝置進行運動軌跡規(guī)劃,通過對機械臂裝置進行參數(shù)化設(shè)計,得到公路養(yǎng)護車機械臂裝置的最優(yōu)設(shè)計結(jié)果,可為公路養(yǎng)護車機械臂裝置的設(shè)計和改進提供一定的參考。 1-機械臂支撐架;2,3,5-運動電機;4-可轉(zhuǎn)位設(shè)備支撐架;6-可轉(zhuǎn)位設(shè)備4 實物模型搭建
5 結(jié)論