控制器在一段時(shí)間內(nèi)仍將是工業(yè)機(jī)器人行業(yè)主要的運(yùn)動(dòng)控制器類型。半導(dǎo)體行業(yè)PC-based運(yùn)動(dòng)控制市場(chǎng)發(fā)展穩(wěn)定,增速在17%左右。物流行業(yè)對(duì)機(jī)器視覺功能的需求增加,導(dǎo)致PC-based比例也逐步增加。在傳統(tǒng)印刷機(jī)械上仍然以PLC運(yùn)動(dòng)控制器為主,PC-based運(yùn)動(dòng)控制器的應(yīng)用剛剛起步,在新興的數(shù)碼印刷機(jī)械上使用較多,未來將小幅增長。
ROS(Robot OperatingSystem)是開源的機(jī)器人系統(tǒng)平臺(tái)。使用這個(gè)之后,機(jī)器人就可以看見東西、測(cè)繪、導(dǎo)航,或是以的算法作用于周圍的環(huán)境當(dāng)中。假如想要制造復(fù)雜的機(jī)器人,已經(jīng)準(zhǔn)備好的ROS程序代碼就能派上用場(chǎng)。ROS能在低限度下運(yùn)用。這可以透過Raspberry Pi等級(jí)的計(jì)算機(jī)安裝。
做為ROS的入門篇我們來看看如何控制伺服機(jī)。伺服機(jī)的缺點(diǎn)是會(huì)盡快遵照指令運(yùn)轉(zhuǎn),因此頭部常常會(huì)突然活動(dòng),以至于失去平衡。不過使用ROS之后,就可以進(jìn)行正弦曲線運(yùn)動(dòng),讓機(jī)器人保持穩(wěn)定。由于可以在ROS當(dāng)中進(jìn)行這項(xiàng)操作,因此無須改寫控制用的程序代碼。另外,連接伺服機(jī)和ROS的程序代碼,以及伺服機(jī)的硬件都無須變更。再者,程序代碼還可以任意使用。
ROS很適合用在Ubuntu或Debian上,無須編譯。建置時(shí)要在Linux機(jī)器上執(zhí)行Ubuntu,使用業(yè)余用伺服機(jī)、Arduino和普通的導(dǎo)線。ROS要在Ubuntu機(jī)器上啟動(dòng),訊息則透過USB傳送到Arduino。只要安裝二進(jìn)制的ROS套件,就會(huì)在主控臺(tái)程序(像是gnome-terminal或konsole)追加以下指令,這樣Arduino系統(tǒng)就能辨識(shí)ROS函式庫。
cd~/sketchbook/libraries
rm-rf ros_lib
rosrunrosserial_arduino make_l ibraries.py .
Arduino的程序
接下來要將程序代碼上傳到Arduino當(dāng)中,執(zhí)行低階的伺服機(jī)控制,以便能從Linux機(jī)器操作。這時(shí)要以限制范圍內(nèi)的百分比(0.0~1.0)伺服機(jī)的位置。之所以使用百分比而不是寫明角度,是因?yàn)锳rduino的程序代碼限制了正確的角度,要避免在角度時(shí)發(fā)生沖突。
A06B-0123-B077 A06B-0501-B205 A06B-6078-H211
A06B-0123-B575 A06B-0501-B206
A06B-0123-B675 A06B-0501-B751 A06B-6078-H230
A06B-0126-B077 A06B-0502-B001 A06B-6078-H415
A06B-0126-B177 A06B-0502-B002 A06B-6078-K001
A06B-0126-B577 A06B-0502-B004 A06B-6078-K214
A06B-0126-B677 A06B-0502-B005
A06B-0127-B075 A06B-0502-B062 A06B-6078-K811
A06B-0127-B077 A06B-0502-B072 A06B-6078-k840
A06B-0127-B175 A06B-0502-B074 A06B-6079-H103
A06B-0127-B177 A06B-0502-B172 A06B-6079-H104
A06B-0127-B575 A06B-0502-B202 A06B-6079-H106IC200UDR040完整IC200UDR040完整IC200UDR040完整
A06B-0127-B577 A06B-0502-B205 A06B-6079-H201
A06B-0127-B588 A06B-0502-B272 A06B-6079-H203
A06B-0127-B677 A06B-0502-B374 A06B-6079-H206