專利名稱:分布式仿人機器人通用控制系統的制作方法
技術領域:
本發明涉及一種分布式仿人機器人通用控制系統,實現仿人機器人控制系統模 塊的標準化和通用化,涉及機器人、計算機工程、人機接口技術等領域。
背景技術:
近年來,仿人機器人已成為機器人領域研究的熱點。仿人機器人具有其他類型 機器人無法比擬的優勢,便于融入人類日常生活和工作環境中,協助人類完成具體 的任務。然而仿人機器人作為一個復雜的具有30多個自由度的系統,需要有效利 用自身多傳感信息來感知外界環境及自身狀態變化,并對其運動執行機構進行調 整,因此要求其控制系統需要有很高的可靠性和實時性。
以往采用的集中式控制系統,控制功能高度集中,具有較快的數據傳輸速度和 精度,但局部的故障就可能造成系統的整體失效。因此,韓國的K服-2、美國的Guroo 等先進系統都是采用了基于CAN (Controller Area Network)總線的分布式的體系結 構,該結構可以簡化機器人控制系統的布線,提高了系統的可擴展性。
早先的機器人控制系統的設計中,較多使用的是Windows、 DOS等分時操作系 統。這種操作系統追求系統整體平均性能的優化,操作界面友好,系統成熟,便于 開發調試;但卻無法保證特定的任務在限定的時間內得到響應,不能滿足高實時性 的要求,從而無法保證多關節的實時協調運動。因此,對于仿人機器人的穩定行走, 實時操作系統是不可或缺的。目前許多機器人都采用實時操作系統進行運動控制, 如日本的ASIMO、德國的Johnnie等。然而實時操作系統對于機器人多媒體性能支 持較差,編程繁瑣及用戶界面不友好,因此增加了仿人機器人系統整體調試的難度。
發明內容
本發明的目的在于針對現有技術的不足以及仿人機器人自身的特點,提出一種分布式仿人機器人通用控制系統,可以獨立于仿人機器人平臺,各功能模塊標準化 通用化,提高系統可靠性、穩定性、實時性,實現整體性能的優化。
為實現上述目的,本發明設計的分布式仿人機器人通用控制系統采用雙主機的 控制結構作為相應的主控層方案,并使用智能體作為基本的協調執行層控制單元, 主控層與協調執行層之間的信息傳輸通過通信層實現。雙主機的主控層結構中,基 于Windows系統的主機主要負責仿人機器人的調試和多媒體信息的處理,基于實時 系統的主機負責仿人機器人實時運動控制。每個智能體具有自己的光電信號處理 器、關節控制器和關節驅動電路。每個智能體都具有一定的自主性,不僅可以將相 應傳感器的數據轉換為機器人的實際狀態,而且可以直接對機器人的一些異常情況 進行處理,以提高系統處理突發事件的實時性。
本發明的仿人機器人通用控制系統的核心是三個相互獨立的子系統主控層、 協調執行層和通信層。
本發明的主控層負責產生機器人關節運動序列,協調各個關節完成指定的動 作,接收協調執行層發出的反饋信號并進行相應處理。主控層由兩臺主控計算機組 成, 一臺工作于實時系統下,完成機器人的步態規劃與行走控制;另一臺工作于 Windows系統下,進行機器人關節電機的調試、電機發送信號的檢查、傳感信息的 獲得以及用于例外情況的緊急處理。
本發明的協調執行層由若干個獨立的智能體構成,負責仿人機器人關節伺服控 制。每個智能體由l個關節控制器、若干個關節驅動電路和相應的光電信號處理器 構成;關節控制器向驅動電路發送信號,再由驅動電路控制電機運動,光電信號處 理器接收光電編碼器信號,再將光電編碼器信號傳回關節控制器。基于智能體的分 層控制系統通過充分發揮智能體的智能性來提高仿人機器人控制系統的穩定性和 實時性。
本發明所述通信層主要負責主控層和協調執行層之間信息的傳輸交換,為了實 現實時性的要求,采用了雙總線分布式的控制方法,詳見上海交通大學申請的"仿人機器人分布式雙總線運動控制系統"專利(專利申請號200810038844. X)。主 控計算機將控制指令封裝為CAN數據包后,通過CAN接口卡將CAN數據包放入通信層, 然后通過CAN總線傳送至協調執行層的各個智能體,由智能體增加進行數據的接收 與處理,并對電機進行控制;同時智能體將接收到的光電編碼器信號封裝為CAN數 據包后再通過CAN總線傳回主控計算機。
本發明的有益效果表現在通過使用分布式的系統結構,使整個控制系統具有 高可靠性,易于維護,開放性和靈活性高等特點,從而能更好地滿足仿人機器人運 動控制的要求。通過使用基于通用的操作系統的主控層,基于通用現場總線的傳輸 層,降低了整個系統的開發難度和成本,縮短了系統的開發周期,便于移植和改進。 使用雙主機雙系統的主控層,既保留了 Windows操作系統的優點,又利用實時系統 滿足了仿人機器人運動的高穩定性和高實時性的要求。使用雙總線分布式的控制方 法,大大降低了CAN總線上的數據的傳輸量,滿足系統對于高實時性的要求。使用 智能體作為執行層的基本單元,提高仿人機器人控制系統的穩定性和實時性,特別 是遇到異常情況時的穩定性和實時性。
圖1為本發明分布式仿人機器人通用控制系統的結構示意圖。 圖2為本發明中的智能體結構圖。
圖3為本發明實施例1基于Windows的主控計算機控制系統結構示意圖。 圖4為本發明實施例2工作于實時系統的主控計算機控制系統結構示意圖。
具體實施例方式
以下結合附圖和具體的實施例對本發明的技術方案作進一步詳細描述。以下實 施例不構成對本發明的限定。
圖l是本發明分布式仿人機器人通用控制系統的結構示意圖。整個控制系統采 用集中管理分散控制的方式,按照控制系統的結構和功能劃分為三層主控層、通 信層、協調執行層。所述主控層采用雙主機結構,產生機器人關節運動序列,協調各個關節完成指 定的動作。主控層由兩臺主控計算機組成, 一臺工作于實時系統下,實時系統具有 可靠的穩定性和實時性,所以該主控計算機主要完成機器人的步態規劃與行走控 制。另一臺工作于Windows系統下,由于在Windows下能更直觀的顯示各個關節電機 的工作情況,對于多媒體傳感信息的支持更好,因此方便進行機器人關節電機的調 試,電機發送信號的檢査,傳感信息的獲得以及用于例外情況的緊急處理。兩臺主 控計算機既可以同時合作控制機器人的運動,也可以相互獨立操作機器人的調試與 運動控制。
所述協調執行層主要負責機器人關節伺服控制。為了提高機器人的實時性和穩 定性,本發明提出用若干個獨立的智能體來實現協調執行層的功能。 一方面,智能 體通過關節控制器接收主控層發送的關節運動序列,對關節電機進行伺服控制;另 一方面,智能體接收傳感器信息,協同主控層直接處理仿人機器人的異常情況。基 于智能體的分層控制系統通過充分發揮智能體的智能性來提高機器人控制系統的 穩定性和實時性。
圖2所示為協調執行層中智能體的組成結構。各個智能體之間是獨立的,每個 智能體由l個關節控制器、若干個關節驅動電路和相應的光電信號處理器構成;關 節控制器向驅動電路發送信號,再由驅動電路控制電機運動,光電信號處理器接收 光電編碼器信號,再將光電編碼器信號傳回關節控制器。
本發明所述通信層主要負責主控層和協調執行層之間信息的傳輸。主控計算機 與電機控制器之間通過CAN總線進行通信。CAN總線與一般通信總線相比,它的數據 通信具有較強的可靠性、實時性和靈活性。具體連接方式為主控計算機通過CAN 總線接口卡連接到通信總線上,各運動控制器也都通過總線收發器掛接到總線上, 而且可以根據實際情況增減數目,而不會對系統本身產生影響。
主控計算機將控制指令封裝為CAN數據包后,通過CAN接口卡將封裝后的數據放 入通信層,然后通過CAN總線,傳送至智能體,由智能體進行數據接收并對電機進行控制。同時智能體將接收到的光電編碼器信號封裝為CAN數據包后,再由CAN總線 傳回主控計算機。
在本發明的實施例l中,本發明基于Windows的主控計算機控制系統組成結構如 圖3所示,根據其功能,可將主控計算機的整個軟件系統分為表示層、數據層、業 務層。整個系統在VC6.0環境下,采用面向對象的方法進行編寫,便于模塊改寫、 升級以及系統移植。
表示層作為仿人機器人人機交互界面,用戶可以設置系統參數和運行模式,實 時監測仿人機器人當前的狀態,提供環境信息的動態顯示功能。
數據層負責保存和設置各種數據和環境信息,包括傳感器數據,步態規劃數據等。
業務層包括命令處理,任務處理,軌跡生成,運動控制功能以及傳感信號的采 集與處理等。
其中,業務層是三層模式的核心,它對動態變化的環境信息進行處理,向機器 人發送關節步態規劃運動序列數據。任務處理模塊是調度中心,負責協調業務層各 個模塊工作,它接受來自命令處理模塊的用戶命令,來自全局信息模塊的環境信息, 以及讀取數據層的歷史數據。運動控制模塊負責產生機器人關節步態規劃運動序 列,將關節電機信號封裝為CAN數據包并通過CAN設備發送。傳感信號采集及處理模 塊負責仿人機器人各關節傳感信息數據的采集和處理,并根據用戶要求,將其有選 擇地顯示至狀態序列圖上。
表示層接收用戶操作之后,將用戶指令放入業務層,由業務層對命令進行解釋, 然后轉化為具體任務實現。業務層將接收到的傳感器數據轉化為用戶可見的數據。 所有的數據信息存儲至數據層。
在本發明實施例2中,工作于實時系統下的主控計算機的控制系統結構組成如 圖4所示。該系統由用戶操作模塊,仿人機器人運動控制模塊以及CAN設備驅動模塊 組成。由于RT-Lirmx是一個源碼開放的實時操作系統,便于開發研究,且能夠提供更多的功能,比如網絡TCP/IP協議等,因此選用RT-Linux作為仿人機器人的實時操
作系統。用戶操作模塊主要負責用戶界面,用戶消息接收等。
用戶操作模塊為非實時任務模塊,負責用戶界面、用戶消息接收等。 CAN設備驅動模塊和仿人機器人運動控制模塊構成實時任務模塊。其中,CAN設
備驅動模塊提供應用程序與CAN總線設備的接口,實現基本的CAN數據的發送和接收功能。
仿人機器人實時控制模塊運行于RT-Linux內核空間,是軟件的核心部分,該模 塊實現了關節電機轉角數據發送、傳感數據接收,控制算法實現等功能,并通過調 用設備驅動模塊的接口函數實現CAN協議棧。
用戶操作模塊接收到用戶操作指令后將指令放入RT-FIFO中,再由仿人機器人 實時控制模塊讀取RT-FIFO的指令,將控制信號通過CAN設備驅動模塊,作為CAN數 據包發送。同時由CAN設備驅動模塊接收CAN信號,再由仿人機器人實時控制模塊將 接收到的信息放入RT-FIFO中,由用戶操作模塊顯示給用戶。
采用本發明分布式仿人機器人通用控制系統進行仿人機器人的研究開發,實驗 表明,研發的仿人機器人系統具有很高的實時性與穩定性。系統設計遵循通用、標 準的原則,便于系統的擴展,升級和移植。各個系統模塊,包括硬件和軟件,都采 用統一規范的接口,便于用戶進行修改和替換,而不需要修改系統整體構架,大大 提高了研發效率,節約了成本和研發人力的投入,縮短了整個控制系統的研發周期。
權利要求
1、一種分布式仿人機器人通用控制系統,由主控層、協調執行層和通信層構成,其特征在于采用雙主機的主控層結構和基于智能體的協調執行層結構;所述主控層由兩臺主控計算機組成,一臺工作于實時系統下,完成機器人的步態規劃與行走控制;另一臺工作于Windows系統下,進行機器人關節電機的調試、電機發送信號的檢查、傳感信息的獲得以及用于例外情況的緊急處理;所述協調執行層由若干個獨立的智能體構成,負責仿人機器人關節伺服控制;每個智能體由1個關節控制器、若干個關節驅動電路和相應的光電信號處理器構成;關節控制器向驅動電路發送信號,再由驅動電路控制電機運動,光電信號處理器接收光電編碼器信號,再將光電編碼器信號傳回關節控制器;所述通信層采用CAN總線實現主控層和協調執行層之間信息的傳輸;主控計算機將控制指令打包為CAN數據包后,通過CAN接口卡將數據放入通信層,然后通過CAN總線傳送至協調執行層的各個智能體,由智能體進行數據接收并對電機進行控制;同時智能體接收到的光電編碼器信號再由CAN總線傳回主控計算機。
2、 根據權利要求1的分布式的仿人機器人通用控制系統,其特征在于工作于Windows系統下的主控計算機的軟件系統分為表示層、數據層、業務層;表示層作為仿人機器人人機交互界面,由用戶設置系統參數和運行模式,實時監測仿人機器人當前的狀態,提供環境信息的動態顯示功能;表示層接收用戶操作之后,將用戶指令放入業務層,由業務層對命令進行解釋,然后轉化為具體任務實現;業務層將接收到的傳感器數據轉化為用戶可見的數據信息存儲至數據層。
3、 根據權利要求l的分布式的仿人機器人通用控制系統,其特征在于工作于實時系統下的主控計算機的軟件系統由用戶操作模塊、仿人機器人運動控制模塊以及CAN設備驅動模塊組成;用戶操作模塊為非實時任務模塊,負責用戶界面、用戶消息接收;CAN設備驅動模塊和仿人機器人運動控制模塊構成實時任務模塊;CAN設備驅動模塊提供應用程序與CAN總線設備的接口 ,實現基本的CAN數據的發送和接收功能;仿人機器人實時控制模塊實現關節電機轉角數據發送、傳感數據接收,控制算法實現,并通過調用CAN設備驅動模塊的接口函數實現CAN協議棧。
全文摘要
本發明涉及一種分布式仿人機器人通用控制系統,采用雙主機的主控層結構和基于智能體的協調執行層結構,主控層的兩臺主控計算機分別工作于實時系統和Windows系統下,完成機器人的步態規劃與行走控制,機器人關節電機調試、電機發送信號的檢查、傳感信息的獲得及例外情況的緊急處理。協調執行層由若干個獨立的智能體構成,負責仿人機器人關節伺服控制;每個智能體由1個關節控制器、若干個關節驅動電路和相應的光電信號處理器構成;關節控制器向驅動電路發送信號,再由驅動電路控制電機運動,光電信號處理器接收光電編碼器信號并傳回關節控制器。主控層和協調執行層之間信息傳輸采用CAN總線實現。本發明分布式的系統結構具有高可靠性、靈活性及易于維護等特點。
文檔編號G05B19/418GK101592951SQ20091005432
公開日2009年12月2日 申請日期2009年7月2日 優先權日2009年7月2日
發明者劉成剛, 斌 楊, 蘇劍波 申請人:上海交通大學