1.前言(Introdution) 隨著當今科技的不斷發展,機器人應用領域的不斷擴展,人們對機器人的控制越來越想方便、快捷。基于PC 的機器人控制系統極大的促進了機器人的遙操作技術。基于VC++.NET的機器人控制平臺的設計,提高了系統的人機交互性和可擴展性。 本文將 PC 機與單片機結合,綜合應用了兩者的優勢,互補了彼此的缺陷,設計了一套機器人控制系統。上位機(PC 機)主要采用VC++.NET 設計了可視化的機器人控制平臺,簡潔明了,控制快捷;下位機(單片機控制系統)主要采用PIC 單片機和PSC(Parallax ServoController)電機控制器,采用模塊化遞階控制技術融合傳感器技術,運用匯編語言,通過鍵盤控制,完成了機器人的各種行走功能,同時還通過液晶顯示芯片1602 來顯示機器人當前的工作狀態;本研究采用的試驗移動機器人是德普施科技有限公司的DRROB 系列高級機器人產品——六足機器人。 2.系統硬件設計(The design of system hardware) 2.1 系統硬件的總體設計: 基于前言部分所描述機器人控制系統功能,初步分析該系統由以下幾個模塊組成:單片機最小系統模塊(PIC 單片機為核心,擴展了一片EEPROM 芯片24LC16B),串行通信模塊,直流伺服電機驅動模塊,鍵盤控制模塊,液晶顯示模塊及傳感器檢測模塊等。列出部分主要模塊電路圖。其控制系統總體框圖如圖1 所示。 圖1 控制系統總體結構 2.2 通信電路模塊: 采用 MAX232 實現電平轉換,其連接采用簡單的零調制三線經濟型。其電路如圖2 所示。 圖2 通信電路 2.3 電機驅動電路模塊: 采用 PSC 電機控制器作為電機驅動模塊的硬件基礎,此控制器采用數據分配器芯片一個、信號接收端口一個、復位按鈕一個、單刀雙擲開關一個,+5V 伺服電源入口一個。PSC電機控制器是一個1/16 線的數據分配器,通過串口通信將接收來的控制信息分成16 路,經譯碼后可發送給16 個電機驅動器芯片,在這里我們使用其中12 個端口。六足機器人的基本動作是由12 個直流伺服電機協同動作完成,伺服電機采用減速裝置,旋轉電位計和H 橋實現精確的位置半閉環控制。Serial(信息接收端口)與PIC 微控制器的P15 端口相連,接受控制信號。其電路如圖3 所示。 圖 3 電機驅動模塊 2.4 機器人紅外避障模塊: 采用了一個簡單但應用普遍的電路。在該電路中采用了常用的紅外發射管D1 和接收管Q1,通過改變電阻R1 可以調節發射管的功率,通過測量D1 的電壓可以計算出機器人距離目標或者障礙物的距離。其電路圖略。 2.5 液晶顯示模塊: 采用 1602 液晶顯示模塊,該模塊內部的字符發生存儲器(CGROM)已經存儲了160 個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。此模塊的作用是可以顯示當前的狀態,實現機器人的人機交互顯示功能。其電路略。 3.系統軟件設計(The design of system software) 該系統的軟件設計分為兩個部分:上位機軟件和下位機軟件。上位機采用高級語言VC++.NET 來實現,而下位機采用匯編語言來實現。 3.1 上位機軟件實現 在 WINDOWS 環境下,用戶不能直接對PC 的串行端口進行操作。Visual C++.NET 中,通過使用微軟公司提供的Microsoft Comm Control 控件(簡稱MSComm),可以方便地實現PC 與外部設備之間的串行通信,編程工作量相對較少。串行通信控件MSComm 有二種處理通信的工作方式:事件驅動方式和查詢工作方式。事件驅動方式是指:當串行端口接收或發送完指定數量數據以及發生通信錯誤等情況時,MSComm 控件觸發OnComm 事件,作出相應處理。查詢工作方式是指:通過查詢控件的某些屬性值(如InBufferCount 屬性)來作出進一步的處理。本設計實現采用事件驅動方式來發送接收數據。上位機程序主要包括初始化程序,控制代碼發送程序,機器人各種動作控制程序等。(代碼略) 3.2 下位機軟件實現 下位機程序主要由:主程序,機器人各動作的子程序,數據(控制字)傳送子程序,來自上位機的信號接受程序,延時程序等。其中最重要的就是機器人的各動作子程序(六足機器人涉及到12 個電機):使用PIC 單片機的擴展芯片EEPROM 數據存儲區存儲機器人每個動作對應的各電機的輸入脈沖寬,建立一個數據指針ptrEEPROM,采用查表方式讀取,然后通過串行通信寫入PSC 電機控制器。控制系統主程序流程圖如圖4 所示。 圖 4 系統主程序流程圖 4.系統試驗機器人樣機及最終硬件實物圖(The robot’s sketch map for test and the final systemhardware photo) 該系統采用的機器人結構:以一曲柄搖桿機構和連桿機構作為腿部和六足,以12 個直流伺服電機作為驅動元件。利用德普施科技有限公司的六足機器人包搭接出的機器人。機器人機構示意圖及設計最終的下位機硬件圖如圖5 所示。 a.六足機器人機構示意圖 b.系統下位機的硬件圖 圖5 機器人最初和最終狀態圖 系統上位機控制界面如圖6 所示(通過鍵盤發送相應控制狀態或點擊機器人動作演示中相應的動作按鈕,使機器人動作,同時在接受數據窗口可以顯示出當前機器人的運動狀態)。 圖 6 系統上位機控制界面 5.結論(Conclusion) 本文完成所有的軟、硬件設計并對機器人樣機進行調試后,能夠使機器人很好地完成各種預設的動作,運動靈活、可靠。 由論文工作可得:控制系統的電機驅動電路采用一片數據分配器芯片,提高了控制的精確性;運用PIC 單片機技術,并綜合紅外傳感技術,增強了機器人研究領域的環境感知和人機交互功能;采用新型的VC++.NET 平臺編寫程序,突出了機器人研究領域的通信技術功能,相對VC++.6.0 更加提高了控制系統的擴展性,同時也更好地提高了工業控制的自動化水平。有很好的推廣價值。 本文作者創新點:控制系統的電機驅動電路采用一片數據分配器芯片,提高了控制的精確性;采用新型的VC++.NET 平臺編寫程序,相對VC++.6.0 更加提高了控制系統的擴展性,同時也更好地提高了工業控制的自動化水平。有很好的推廣價值。 |