衛馳+宋家賓+黃家盛+尚曉宇+陳健超



【摘 要】本文針對多舵機協同操作的蜘蛛機器人設計,提出蜘蛛機器人的行走與避障方案,利用紅外傳感器,實現了蜘蛛機器人的穩定行走與避障。
【關鍵詞】機器人;傳感器算法;機械臂控制
引言
隨著科技的進步以及人類對于智能化的需求,智能科學和機器視覺成為近些年研究的熱點。機器人相比于人工操作有著巨大的優勢。首先,機器人將人類從繁雜的任務中解放出來,且機器人的效率更高,效果更好,成本更低;其次,某些領域的工作可能會有一定的危險,使用機器人可以有效地避免人類受到傷害。
而小型機器人可以為驗證大型機器人的相關算法提供平臺,因此全球各地涌現出了大批機器人粉,通過機器人實現了很多奇思妙想。而市面上已有的機器人產品,多為輪式或履帶式機器人。這兩種類型的機器人的運動功能實現起來較為簡單,但是遇到階梯、沙地等非常規場地時,行動會受到極大限制。為此,我們小組在仿生學的基礎上,通過對蜘蛛運動的觀察,決定設計出一款六足機器人,并以此機器人為平臺,利用紅外傳感器,實現蜘蛛機器人的避障功能。
1.控制方案
蜘蛛機器人的運動控制是通過觀察并模仿蜘蛛行走時的腿部運動姿態,用單片機輸出特定的 PWM波形傳給18個舵機,以實現蜘蛛機器人六條腿的相互配合工作使得蜘蛛機器人的穩定行走。控制系統的軟件設計基于IAR Embedded Workbench編程環境,單片機使用飛思卡爾公司K64F芯片,程序使用C 語言實現。
2.行走方案
自然界中,六足昆蟲在行走時大部分都不是六條腿同時前進,而是將六條腿分為兩組,用穩定的三角型支撐結構,互相交替前進,其中三角步態最為常見。蜘蛛在運動過程中始終保持一邊一條腿和另一邊的兩條腿同時著地,形成穩定的三角形結構,保持身體平衡。
如圖1所示,我們標定蜘蛛的左邊三條腿從前到后的順序分別為左一、左二、左三,右邊三條腿從前到后的順序分別為右一、右二、右三。蜘蛛直行時的腿部運動為,步驟一:左一、左三、右二下部關節向內轉動抬起,左二、右一、右三支撐身體,左一、左三、右二上部關節正向轉動使腿向前,然后下部關節向下轉動落地;步驟二、左二、右一、右三下部關節向內轉動抬起,左一、左三、右二支撐身體,同時上部關節反向轉動將蜘蛛身體重心前移,左二、右一、右三下部關節向外轉動落地。,步驟一步驟二如此反復,依靠上部關節前后劃動來實現直行過程;蜘蛛橫向運動時與直行時抬腿順序一致,依靠中部關節左右轉動實現橫向運動,模仿了最典型的三角步態的行走方式,重心低,穩定性好。
蜘蛛機器人的每條腿由三個舵機和若干支撐桿組成,一個蜘蛛機器人裝有六條腿,每條腿上有3個舵機。通過18個舵機的偏轉來模仿蜘蛛腿的邁動以實現機器人的運動功能。蜘蛛機器人腿部關節示意圖如圖2所示。
3.避障方案
我們在機器人四個方向均安裝一個紅外傳感器來實現避障功能。在這里我們選用了GP2Y0A02YK0F紅外距離測量傳感器單元,由PSD集成組合(位置敏感探測器) 、IRED(紅外發光二極管)和信號處理電路。各種物體反射利率,對環境溫度和運行時間不易受到影響的距離檢測。由于采用三角測量方法,該裝置輸出對應的電壓檢測距離,所以這種傳感器還可以用來作為接近傳感器。紅外傳感器檢測到的值與障礙物之間的距離之間的關系如圖3所示。
這里存在一個問題,從曲線上來看一個電壓值會對應兩個距離值。但由于左半邊的上升曲線斜率過大,電壓變化速度過快,在實際測試過程中發現在此段距離內采集到的電壓數據很不穩定,所以為了避免采集到的電壓數據出現在曲線峰值左半邊的情況,在機械設計時只考慮利用曲線峰值的右半邊,通過簡單的加減換算,就能將采集到的電壓數據對應到唯一的距離上,故當返回電壓值大于2v 時我們可以判斷前方有障礙物,從而讓蜘蛛機器人進行橫向運動。
4.評測結果
經過調試,蜘蛛機器人可以穩定的運行并完成前進后退左右移動等動作。在前方30cm左右遇到障礙物,可以識別出前方的障礙物,若左右兩側無障礙物,則向左移動直到前方無障礙物繼續前行,同時檢測右側,直到右側無障礙物,向右移動回到原定路線繼續前行。
5.結論
該蜘蛛機器人使用飛思卡爾K64F單片機作為核心控制單元,編寫了蜘蛛機器人的控制和避障程序,最終實現了目標。
參考文獻:
[1]陳懇等.機器人技術與應用[M].北京:清華大學出版社,2006.
[2]林良明.仿生機械學[M].上海:上海交通大學出版社,1991,4:21-23.
[3]GP2Y0A02YK0F DATASTEET,2006.
[4]錢晉武.六足步行機靜態穩定的必要性與充分性[J].上海科技大學學報,1992 Voll5 No4:200-203.
[5]蔡自興.機器人學[M].北京:清華大學出版社,2000.
[6]馬惠欽.昆蟲與仿生學淺談[J].昆蟲知識.2003,03:12-13.endprint