新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式智能尋跡機器人設計

        一種嵌入式智能尋跡機器人設計

        作者: 時間:2009-12-25 來源:網絡 收藏

          3.3 直流電機驅動電路與電源模塊

          直流電機通過主板的P5接口連接到主板的驅動模塊上。本文采用L298作為電機的驅動芯片,L298的5、7、10、12四個引腳連接到單片機上,通過對單片機的編程就可以實現兩組直流電機的正反轉等功能。由于單片機的電壓在4.8V左右,故采用VFM升壓型電源芯片,為單片機及外圍電路提供5V左右的電壓。


          4 軟件模塊

          4.1 軟件開發環境與搜索算法

          本文采用Keil U Version2 作為系統的開發環境,在程序中采用C語言和匯編語言混合編程。在軟件算法上,考慮到深度優先搜索算法的時空效率和迷宮地形的復雜程度成正比,即迷宮越復雜,搜索出口的時間就越長。本文采用了一種稱為左手(或右手)法則的迷宮路徑搜索策略,即在迷宮中一直沿著左側(或右側)的墻尋找,就可以找到出口。

          相對于深度優先搜索法,左手(或右手)法則的空間占用與迷宮復雜程度無關,搜索路徑的選擇只與當前結點有關,不需要回溯。同時,硬件的制造精度要求不高,不需要精確的控制的移動距離和移動方向,方便了驅動。為便于算法的實現,本文設定了如下約束條件:

          1.在算法中不管迷宮地形有多么復雜,均由直線、死路、丁字形、十字形、轉角形和終點七個基本地形構成。


          2.按分岔的多少將分岔口分為二岔口和三岔口(一般沒有四岔口),而將分岔口前面的岔路按從右到左的順序分別稱為第一岔路、第二岔路、第三岔路(十字型才有)。二岔路有三種不同的形式,第一種是前進的路線右邊出現一條岔路(右邊的岔路稱為第一岔路、前方稱為第二岔路);第二種是在前進的路線左邊出現一條岔路(前方稱為第一岔路、左邊的岔路稱為第二岔路);第三種是丁字路口(右邊的岔路稱為第一岔路、左邊的岔路稱為第二岔路)。對于這三種情況,算法對應的程序由主程序、走直線子程序、左轉子程序、右轉子程序和校正子程序組成。主程序起到導向和決策的功能,決定什么時候該做什么。機器人的其他功能通過調用具體的子程序來實現。

          4.2 算法流程圖描述

          本文所采用的迷宮搜索算法流程如圖3所示。接通電機和傳感器電源后,單片機在程序的控制下,根據傳感器檢測到的值,決定電機的正轉和反轉。當P0.7=1時,表示左方沒有障礙物,依據“右手”遍歷算法,機器人將調用右轉子程序;當P0.7=0并且P0.5=0時,機器人將調用左轉子程序;否則機器人直線前進,如此反復檢測并調整機器人的動作,直至機器人走出迷宮為止。

        迷宮搜索算法流程

          5 結論及其創新點

          本文對基于AT89S52的尋跡機器人的硬件架構進行了探討,將左手(或右手)法則用于尋跡機器人行走路線搜索,重點討論了基于AT89S52的光電傳感器模塊、直流電機驅動模塊、電源模塊等的電路實現技術,經過反復測試,機器人能夠在軟件的控制下,無需任何外界力量就可以地完成從迷宮入口走到出口的尋跡任務。創新點在于通過光電傳感器自動感知障礙物,并利用軟件控制機器人左/右轉以及直線行走,對復雜路徑探測是一種嘗試,特別適合人無法到達的環境路徑探測,系統成本低,可靠性高,反應靈敏,對玩具的設計與開發也具有一定的參考價值。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 靖边县| 微博| 满城县| 宁强县| 石泉县| 萍乡市| 潮安县| 米林县| 藁城市| 佳木斯市| 吉隆县| 丰镇市| 家居| 中山市| 天峨县| 舟曲县| 台东市| 兴仁县| 梁平县| 仪征市| 于田县| 安乡县| 临邑县| 大兴区| 太白县| 南陵县| 民和| 涟水县| 佛学| 民权县| 阿克陶县| 彭州市| 青铜峡市| 夹江县| 财经| 卓资县| 临江市| 舒城县| 固始县| 仲巴县| 迭部县|