韓根源 張凱 李文軒 何鑫
摘要:設計了基于STC5l單片機為主控芯片的六足仿生機器人系統,機器人的行走是學習了穩定性最好的三角步態方式進行規劃,設計其構造框架和軟件程序,使用單片機控制18路舵機的旋轉角度實現機器人的行走。通過紅外傳感器結合單片機控制舵機實現了自動避障功能。實驗表明 51單片機對六足機器人進行控制是完全可行的,程序設計與硬件構造合理。
關鍵詞:六足機器人;51 單片機;舵機;PWM
中圖分類號:Q811;TP242文獻標識碼:A文章編號:1672-9129(2020)13-0056-01
在現實生活中經常存在一些我們無法到達的地方以及有可能有危險的場合。例如:地震搶險救災,洪水救援和礦洞坍塌等,如何在這些危險環境中進行救援和研已是當今社會以及科學研究的重要話題。這些環境幾乎都擁有不規則的地形使在以往的輪式移動方式變得不再適合行駛,所以履帶式機器人從此誕生,但它在不規則地面上的行駛仍然很差以及產生嚴重的機械晃動,這將會導致機器變得容易損壞和大大縮短其壽命。而與這些移動工具相比六足機器人在不規則的地形中具有良好的穩定性。隨著單片機的日益進步,六足機器人的研究迅速發展起來。
1系統框架設計
系統框架主要是由單片機最小系統、pvc材料板構成的主體支架、遠程藍牙控制設備組成。其中單片機負責收發和處理數據。機器人主體則接受單片機發送的命令并做出相應的動作。遠程控制設備則是手機上下載的藍牙助手,用來在手機上給仿生機器人發送命令。
1.1外部結構設計。機器人主體實物由單片機開發板、18路舵機六足、紅外避障系統、藍牙模塊和電池模塊組成。其中單片機開發板作為機器人的信息處理核心,具有非常重要的作用。18路舵機六足給機器人的移動提供了基礎條件。藍牙模塊相當于機器人的眼睛和耳朵,負責接收信息。電池模塊相當于機器人的“食物”,為機器人提供源源不斷的動力。六足機器人的運動部件為對稱的六腳螞蟻腿結構,機器人整體長:13.5 cm;寬:9 cm;高:4 cm;機器人載重平臺高:10 cm。單足長度為:寬13cm;完全伸展狀態下足長:13cm。每一個腳均裝有三個數字舵機,可以實現高度靈活的運動控制。
1.2控制邏輯設計。控制邏輯可劃分為3個主要部分,分別是單片機最小系統接收與處理;紅外避障傳感器的中斷處理;藍牙模塊的遠程無線串口通信。單片機最小系統通過讀取接受的數據,來控制機器人完成相應的動作。紅外避障傳感器模塊通過發送紅外線來得知前方是否有障礙物,如果存在障礙也就是說紅外線被發射回來,則避障模塊向最小系統傳送有效電平,最小系統收到信號后則控制舵機驅動電路輸出pwm信號的占空比實現控制轉向,最終以達到避障的目標。方向控制指令的接收與處理模塊用的是用藍牙技術來實現的。在手機上下載并安裝藍牙串口助手APP,然后打開手機藍牙,最后編輯按鈕名稱和發送的命令。然后點擊相應的按鈕,藍牙助手給最小系統發送相應的指令,機器人做出相應的動作。機器人的行動可以根據控制程序設定好的行動方式來實現自動控制,也可以通過藍牙串口助手發送預設的指令來進行人工控制。
1.3機器人控制核心程序。在機器人的控制程序中收集了完成各種動作的過程中各個舵機的角度數據,通過將這些數據轉化為對應的PWM信號來對對應的舵機進行驅動。這些封裝好的數據可以支持機器人自動移動以及人工控制移動。程序還在移動過程 中通過感應模塊檢測移動路徑是否可行,如果會發生意外就會及時產生中斷信號,阻止進一步的行動或者改變路徑。
1.4藍牙控制設備設計。藍牙控制設備設計是通過手機端的一個app來完成的。使用藍牙模塊實現機器人與手機端的通信,可以在機器人附近通過手機進行遙控。給動作組的數據編號,當藍牙模塊收到手機發來的數據會改變產生PWM信號函數的參數,改變現在正在進行的動作。
2功能實現方案
六足機器人步態設計分為前進、后退、左平行、右平行步態設計與旋轉步態設計。其中步態設計為三角行走步態,在所有六足機器人步態中三角步態具有很高的穩定性,也是行走速度最快是我一種其它步態或多或少無法解決機器人的搖擺問題,但三角步態可以使機器人的重心始終不變,從而避免了搖晃問題。
3實驗結果與分析
3.1六足步態測試。機器人步態的穩定性測試內容分為前進步態測試、旋轉步態測試和避障步態測試,在帶有格子線的地面上測試,待機器人行走5M后,測試偏移距離。
3.2自動避障測試。我們在實驗室搭建了模仿自然環境的小型模擬室來測試機器人的自動避障能力。將機器人放入模擬室內并調節六足機器人為自動駕駛模式,模擬時主要觀察機器人的碰撞情況和行走流暢度,為了更好地模仿自然環境我們使用了海綿路面來測試機器人的穩定性,經過一系列測試證明在一些輪式機器人無法行走的路面上,六足機器人具有很好的適應性。
4結束語
本設計充分利用單片機最小系統及藍牙串口與紅外測距各自的優勢,基于51單片機實現了能前進、后退、轉彎、站立、下蹲、自動避障的六足仿生機器人。該機器人是以STC89C51單片機為控制基礎,采用舵機控制其轉動移動,該系統還采用了舵機驅動板來間接驅動舵機,使單片機只需在舵機改變角度時發送命令即可,大大的提高了舵機的控制效率。并安裝了紅外避障模塊,實現的自動駕駛防撞功能:當紅外裝置感應到前方存在障礙使,就會向單片機發送有效電平,單片機接受后會控制舵機驅動板從而間接驅動舵機進行左轉彎或右轉彎從而避開障礙物繼續前行。其核心代碼的大小也控制在51單片機能接受存儲的范圍內并實現了所有功能。整個設備擁有電路簡單、性價比高、穩定性強以及優秀的可擴展性等優點,具有非常廣闊的市場前景。
參考文獻:
[1]牟海軍. C語言進階重點、難點與疑點解析,機械工業出版社,2012年,17-22.