經過50多年的發展,人工智能已形成極廣泛的研究領域,并且取得了許多令人矚目的成就[1]。人工智能也稱機器智能,是一門研究人類智能機理和如何用計算機模擬人類智能活動的學科。智能機器人技術綜合了計算機、控制論、機構學、信息和傳感技術、人工智能、仿生學等多學科而形成的高新技術,集成了多學科的發展成果,代表高技術的發展前沿[2]。智能機器人的研究,大大促進了人工智能思想和技術的進步,漸漸成為一個備受關注的分支領域,各種智能機器人比賽也成為國內外廣泛推廣和發展的一種競技項目。
智能機器人滅火比賽由美國三一學院于1994年創辦,目前已成為全球規模最大、普及程度最高的全自主智能機器人大賽之一。硬件電路是智能滅火機器人整體的核心骨架,其參數性能及設計的合理性直接決定了智能滅火機器人的性能。本文完成了基于ARM9內核[3]的智能滅火機器人的硬件電路的設計與實現。
1 硬件電路的總體設計
滅火比賽的任務是在一封閉房間模型中,隨機在其中一個房間里放置蠟燭代替的火源,要求機器人在盡可能短的時間里無碰撞地找到火源并完成滅火。
根據比賽要求及功能需要,滅火機器人的總體結構如圖1所示,主要由控制器、傳感器輸入、驅動輸出等模塊組成。
2 硬件電路的主要部件分析與設計
2.1嵌入式系統
為實現機器人高速精確地按照規定路徑行走,要求機器人的CPU能夠實時迅速地讀取多個傳感器端口數值,并在較短的時間內完成對各端口數值的存儲、運算和輸出等多種任務。由于嵌入式微處理器對實時任務具有很強的支持能力,能夠完成多任務并且具有較短的中斷響應,因此在設計過程中選用以嵌入式微處理器ARM9為核心的控制器,其內部采用哈佛結構,每秒可執行一億一千萬條機器指令。
為提高端口數值讀取速度,使機器人能對周圍環境信息做出迅速判斷,本設計在主芯片上設置了ADC0~ADC7(P4.0~P4.7)8路數據輸入端口,每秒可實現50萬次數據采集;另外又設置20路數據輸入端口,通過ATMEGA816-PC輔助單片機連接到主芯片上,用以讀取遠紅外傳感器組及檢測端口的數值,每秒可實現1 000次數據采集。本設計還設置了4路PWM控制信號輸出端口,用以驅動4路大功率直流電機,實現對轉速的精確調節;此外,還設置了7路Do數字輸出端口,用以驅動伺服電機、蜂鳴器、繼電器、發光二極管等。為了給龐大和復雜的程序提供更多的執行空間,本設計附加設置了100 KB的數據存儲器(RAM)和512 KB的程序存儲器(Flash ROM),用以存儲更多的數據和命令。
2.2 電源和驅動電路設計
(1)電源及采樣電路
電源是保證機器人穩定、可靠運行的關鍵部件,它直接影響著機器人性能的好壞。由于本機器人電機驅動和控制器采用兩種不同等級電壓的電源,為避免2個電源相互干擾,本機器人采用雙電源供電系統:電機電源采用高放電倍率聚合物鋰電池,容量為2 500 MAH,工作電壓為24 V,能提供40 A的穩定供電電流,是普通電池的10倍;控制器電源采用8.4 V鋰電池,并提供電壓采樣端口,以供電池檢測,電路圖如圖2所示。
為獲得CPU各端口電路所需要的不同等級的電壓,本設計采用1個LM317T三端穩壓器和2個AMS1117低壓差線性電壓調整器,并通過其附屬電路,得到精確穩定的5 V、3.3 V、1.8 V 三種電壓;采用1個發光二極管LD1和限流電阻R5作為電源指示燈,以顯示電源開關的狀態;為實時采樣電源電壓,防止鋰電池過放或過充,設計中通過R1、R2分壓,引出AD19端口作為電源采樣端口。
(2)直流電機驅動電路
由于競技比賽的需要,機器人要在避免碰撞的前提下盡可能提高速度,因此要求具有更大功率的驅動器和更靈敏的控制方式。為此本文采用的電機驅動電源電壓為16.8 V,電流為20 A;采用占空比范圍為0~95%的4路PWM信號控制直流電機,以實現精確的調速[4]。
由于電機功率較大,并要求能實現雙向、可調速運行,本文設計了半橋式電力MOSFET管,成功實現了對電機的控制。如圖3所示,2路PWM信號通過IR2104半橋驅動器(half-bridge driver)和相應保護電路連接至型號為IRF2807 的MOSFET管,控制電源與電動機連接線路的通與斷,達到控制電機速度的目的。當PWM信號占空比較大時,線路導通時間長,電機速度大;相反,當PWM占空比較小時,線路導通時間短,電機速度小。4個MOSFET管在不同時刻導通組合,實現控制電機轉動方向:當MSFET管1和4導通時,電機端口1為正、2為負,電機正轉;當MOSFET管2和3導通時,電機端口2為正、1為負,電機反轉。
2.3 傳感器
(1)紅外測距傳感器
紅外測距傳感器[5-6]是機器人的“視覺器官”,通過不斷讀取其數值并進行判斷,才能確定機器人所處位置環境,以確定機器人下一步該執行什么命令才不致碰撞,并按照理想的路線行走。依據比賽場地規格,本機器人采用SHARP公司的GP2D12PSD傳感器(后面簡稱PSD傳感器),其有效測距范圍為10 cm~80 cm。其原理如圖4(a)所示。
該傳感器采用三角測量的原理,如圖4(b)所示紅外發光二極管發出紅外線光束,當紅外光束遇到前方的障礙物時,一部分反射回來,通過透鏡聚焦到后面的線性電性耦合器件CCD(Charge Coupled Device)上,根據紅外光線在CCD上聚焦的位置,可知道光線的反射角,進一步折算出物體的距離。由于PSD傳感器輸出電壓和實際距離是非線性關系,可以通過線性插值運算得出其轉換近似公式。
根據比賽的需要,機器人應該能夠測量不同方向的障礙物的距離,理論上8個方位均應設置紅外測距傳感器;在滿足比賽要求前提下,考慮經濟性,本設計采用了6個紅外測距傳感器,其安放位置如圖4(c)所示。通過1個或多個傳感器數值可以較精準地確定機器人的位置和墻壁的關系。例如,當正前傳感器和左前傳感器數值同時很大(距離很小)時,說明機器人處在一個角落上,前方和左側均是墻壁,此時可以執行右拐命令,從而走出角落。
(2)遠紅外火焰傳感器組
為能完成滅火任務,機器人必須能確定火焰的大致位置,并能對火焰是否被撲滅做出判斷。本文設計了由28個紅外接收管組成的2個遠紅外火焰傳感器組,前后每個方位各有14個紅外接收管組成,每2個并聯并指相同一個方向,2個傳感器組共指向14個方向,可以覆蓋360°范圍。如圖5(a)所示,14個端口通過CD4051八路轉換開關連接至ATMEGA8—16PC單片機,其中SCK、MISO、MOSI為位選擇端口。此外,本設計還可以通過對14路讀取數據進行比較,從而確定其最大最小值及相應端口值,方便火源方位的確定。
通過對遠紅外傳感器組的不同端口值的比較,還可以確定機器人和火源的相對位置,以判斷前進方向,完成趨光動作。當機器人與火源相對位置如圖5(b)所示時,可以讀取端口2和端口4的值,并進行作差,端口2的值大于端口4(說明2更靠近火源),則執行左拐命令,使其差值在一定范圍內,然后執行直行命令趨近火源。
(3)地面灰度傳感器
比賽規定,機器人起始位置是直徑為30 cm的白色圓,每個房間入口有一條3 cm寬的白線,其他地面均為黑色。機器人的啟動和停止及進房間的標志都要依靠對地面灰度的判斷,因此需使用能對地面反射光線的強弱做出反應的傳感器。本機器使用一對地面灰度傳感器,放置在前后兩端的底座上。地面顏色越深,其值越大,地面顏色越淺,其值越小。
如圖6所示,地面灰度傳感器通過發光二極管LED照亮地面,地面的反射光線被光敏三極管接收,當地面顏色為黑色時,反射的光線比較弱,則光敏三極管的基極電流越小,集電極電流也相應較小,1端口電壓值較高,其測量值較大;反之當地面為白色時,反射的光線較強,集電極電流越大,1端口電壓值較小,測量值也較小。
本文研究并設計了基于ARM9嵌入式系統的一種智能滅火機器人,具有以下5個創新點:(1)采用了嵌入式系統內核,大大提高了機器人處理信號的能力;(2)雙電源供電系統引入,使機器人的運行更加穩定可靠;(3)采用PWM信號控制大功率直流電機,在速度和精度方面有了很大的改進;(4)通過合理選擇PSD測距傳感器的個數和安放位置,既滿足比賽要求,又能節約成本;(5)本文設計的遠紅外火焰傳感器組,很好地完成了對火源的精確定位任務,提高了滅火可靠性和快速性。
實測證明,本文設計的機器人能夠很好地完成比賽任務,并且在可靠性和速度方面都有了大幅度的提高,具有很強的應用價值。
參考文獻
[1] NISSON N J.Artificial intelligence: a new synthesis[M].Beijing: China Machine Press, 2006: 72-95.
[2] NORTIOMO T, OKADA M, YAMAMOTO H. A joint antenna and post-DFT combining diversity scheme in OFDM receiver[C] Wireless Communication Systems,? The 1st International Symposium, 2004: 140-143.
[3] 張小偉.ARM9嵌入式系統設計原理與開發實例[M].北京:電子工業出版社,2008.
[4] 王水平.PWM控制與驅動器使用指南及應用電路[M].西安:西安電子科技大學出版,2004.
[5] 曹小松, 唐鴻儒, 楊炯. 移動機器人多傳感器信息融合測距系統設計[J]. 自動化儀表,2009,24(5):4-8.
[6] 梁毓明, 徐立鴻.移動機器人多傳感器測距系統研究與設計[J]. 計算機應用,2008, 28(6):340-343.
智能機器人滅火比賽由美國三一學院于1994年創辦,目前已成為全球規模最大、普及程度最高的全自主智能機器人大賽之一。硬件電路是智能滅火機器人整體的核心骨架,其參數性能及設計的合理性直接決定了智能滅火機器人的性能。本文完成了基于ARM9內核[3]的智能滅火機器人的硬件電路的設計與實現。
1 硬件電路的總體設計
滅火比賽的任務是在一封閉房間模型中,隨機在其中一個房間里放置蠟燭代替的火源,要求機器人在盡可能短的時間里無碰撞地找到火源并完成滅火。
根據比賽要求及功能需要,滅火機器人的總體結構如圖1所示,主要由控制器、傳感器輸入、驅動輸出等模塊組成。
2 硬件電路的主要部件分析與設計
2.1嵌入式系統
為實現機器人高速精確地按照規定路徑行走,要求機器人的CPU能夠實時迅速地讀取多個傳感器端口數值,并在較短的時間內完成對各端口數值的存儲、運算和輸出等多種任務。由于嵌入式微處理器對實時任務具有很強的支持能力,能夠完成多任務并且具有較短的中斷響應,因此在設計過程中選用以嵌入式微處理器ARM9為核心的控制器,其內部采用哈佛結構,每秒可執行一億一千萬條機器指令。
為提高端口數值讀取速度,使機器人能對周圍環境信息做出迅速判斷,本設計在主芯片上設置了ADC0~ADC7(P4.0~P4.7)8路數據輸入端口,每秒可實現50萬次數據采集;另外又設置20路數據輸入端口,通過ATMEGA816-PC輔助單片機連接到主芯片上,用以讀取遠紅外傳感器組及檢測端口的數值,每秒可實現1 000次數據采集。本設計還設置了4路PWM控制信號輸出端口,用以驅動4路大功率直流電機,實現對轉速的精確調節;此外,還設置了7路Do數字輸出端口,用以驅動伺服電機、蜂鳴器、繼電器、發光二極管等。為了給龐大和復雜的程序提供更多的執行空間,本設計附加設置了100 KB的數據存儲器(RAM)和512 KB的程序存儲器(Flash ROM),用以存儲更多的數據和命令。
2.2 電源和驅動電路設計
(1)電源及采樣電路
電源是保證機器人穩定、可靠運行的關鍵部件,它直接影響著機器人性能的好壞。由于本機器人電機驅動和控制器采用兩種不同等級電壓的電源,為避免2個電源相互干擾,本機器人采用雙電源供電系統:電機電源采用高放電倍率聚合物鋰電池,容量為2 500 MAH,工作電壓為24 V,能提供40 A的穩定供電電流,是普通電池的10倍;控制器電源采用8.4 V鋰電池,并提供電壓采樣端口,以供電池檢測,電路圖如圖2所示。
為獲得CPU各端口電路所需要的不同等級的電壓,本設計采用1個LM317T三端穩壓器和2個AMS1117低壓差線性電壓調整器,并通過其附屬電路,得到精確穩定的5 V、3.3 V、1.8 V 三種電壓;采用1個發光二極管LD1和限流電阻R5作為電源指示燈,以顯示電源開關的狀態;為實時采樣電源電壓,防止鋰電池過放或過充,設計中通過R1、R2分壓,引出AD19端口作為電源采樣端口。
(2)直流電機驅動電路
由于競技比賽的需要,機器人要在避免碰撞的前提下盡可能提高速度,因此要求具有更大功率的驅動器和更靈敏的控制方式。為此本文采用的電機驅動電源電壓為16.8 V,電流為20 A;采用占空比范圍為0~95%的4路PWM信號控制直流電機,以實現精確的調速[4]。
由于電機功率較大,并要求能實現雙向、可調速運行,本文設計了半橋式電力MOSFET管,成功實現了對電機的控制。如圖3所示,2路PWM信號通過IR2104半橋驅動器(half-bridge driver)和相應保護電路連接至型號為IRF2807 的MOSFET管,控制電源與電動機連接線路的通與斷,達到控制電機速度的目的。當PWM信號占空比較大時,線路導通時間長,電機速度大;相反,當PWM占空比較小時,線路導通時間短,電機速度小。4個MOSFET管在不同時刻導通組合,實現控制電機轉動方向:當MSFET管1和4導通時,電機端口1為正、2為負,電機正轉;當MOSFET管2和3導通時,電機端口2為正、1為負,電機反轉。
2.3 傳感器
(1)紅外測距傳感器
紅外測距傳感器[5-6]是機器人的“視覺器官”,通過不斷讀取其數值并進行判斷,才能確定機器人所處位置環境,以確定機器人下一步該執行什么命令才不致碰撞,并按照理想的路線行走。依據比賽場地規格,本機器人采用SHARP公司的GP2D12PSD傳感器(后面簡稱PSD傳感器),其有效測距范圍為10 cm~80 cm。其原理如圖4(a)所示。
該傳感器采用三角測量的原理,如圖4(b)所示紅外發光二極管發出紅外線光束,當紅外光束遇到前方的障礙物時,一部分反射回來,通過透鏡聚焦到后面的線性電性耦合器件CCD(Charge Coupled Device)上,根據紅外光線在CCD上聚焦的位置,可知道光線的反射角,進一步折算出物體的距離。由于PSD傳感器輸出電壓和實際距離是非線性關系,可以通過線性插值運算得出其轉換近似公式。
根據比賽的需要,機器人應該能夠測量不同方向的障礙物的距離,理論上8個方位均應設置紅外測距傳感器;在滿足比賽要求前提下,考慮經濟性,本設計采用了6個紅外測距傳感器,其安放位置如圖4(c)所示。通過1個或多個傳感器數值可以較精準地確定機器人的位置和墻壁的關系。例如,當正前傳感器和左前傳感器數值同時很大(距離很小)時,說明機器人處在一個角落上,前方和左側均是墻壁,此時可以執行右拐命令,從而走出角落。
(2)遠紅外火焰傳感器組
為能完成滅火任務,機器人必須能確定火焰的大致位置,并能對火焰是否被撲滅做出判斷。本文設計了由28個紅外接收管組成的2個遠紅外火焰傳感器組,前后每個方位各有14個紅外接收管組成,每2個并聯并指相同一個方向,2個傳感器組共指向14個方向,可以覆蓋360°范圍。如圖5(a)所示,14個端口通過CD4051八路轉換開關連接至ATMEGA8—16PC單片機,其中SCK、MISO、MOSI為位選擇端口。此外,本設計還可以通過對14路讀取數據進行比較,從而確定其最大最小值及相應端口值,方便火源方位的確定。
通過對遠紅外傳感器組的不同端口值的比較,還可以確定機器人和火源的相對位置,以判斷前進方向,完成趨光動作。當機器人與火源相對位置如圖5(b)所示時,可以讀取端口2和端口4的值,并進行作差,端口2的值大于端口4(說明2更靠近火源),則執行左拐命令,使其差值在一定范圍內,然后執行直行命令趨近火源。
(3)地面灰度傳感器
比賽規定,機器人起始位置是直徑為30 cm的白色圓,每個房間入口有一條3 cm寬的白線,其他地面均為黑色。機器人的啟動和停止及進房間的標志都要依靠對地面灰度的判斷,因此需使用能對地面反射光線的強弱做出反應的傳感器。本機器使用一對地面灰度傳感器,放置在前后兩端的底座上。地面顏色越深,其值越大,地面顏色越淺,其值越小。
如圖6所示,地面灰度傳感器通過發光二極管LED照亮地面,地面的反射光線被光敏三極管接收,當地面顏色為黑色時,反射的光線比較弱,則光敏三極管的基極電流越小,集電極電流也相應較小,1端口電壓值較高,其測量值較大;反之當地面為白色時,反射的光線較強,集電極電流越大,1端口電壓值較小,測量值也較小。
本文研究并設計了基于ARM9嵌入式系統的一種智能滅火機器人,具有以下5個創新點:(1)采用了嵌入式系統內核,大大提高了機器人處理信號的能力;(2)雙電源供電系統引入,使機器人的運行更加穩定可靠;(3)采用PWM信號控制大功率直流電機,在速度和精度方面有了很大的改進;(4)通過合理選擇PSD測距傳感器的個數和安放位置,既滿足比賽要求,又能節約成本;(5)本文設計的遠紅外火焰傳感器組,很好地完成了對火源的精確定位任務,提高了滅火可靠性和快速性。
實測證明,本文設計的機器人能夠很好地完成比賽任務,并且在可靠性和速度方面都有了大幅度的提高,具有很強的應用價值。
參考文獻
[1] NISSON N J.Artificial intelligence: a new synthesis[M].Beijing: China Machine Press, 2006: 72-95.
[2] NORTIOMO T, OKADA M, YAMAMOTO H. A joint antenna and post-DFT combining diversity scheme in OFDM receiver[C] Wireless Communication Systems,? The 1st International Symposium, 2004: 140-143.
[3] 張小偉.ARM9嵌入式系統設計原理與開發實例[M].北京:電子工業出版社,2008.
[4] 王水平.PWM控制與驅動器使用指南及應用電路[M].西安:西安電子科技大學出版,2004.
[5] 曹小松, 唐鴻儒, 楊炯. 移動機器人多傳感器信息融合測距系統設計[J]. 自動化儀表,2009,24(5):4-8.
[6] 梁毓明, 徐立鴻.移動機器人多傳感器測距系統研究與設計[J]. 計算機應用,2008, 28(6):340-343.
評論
查看更多