999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Multi Agent的嵌入式六足機器人系統設計

2018-02-12 12:24:56瑚琦夏志遷雷航汪敏
軟件導刊 2018年12期

瑚琦 夏志遷 雷航 汪敏

摘要:針對目前集中結構和多層式架構控制系統實時性較低、容錯能力較弱等問題,根據六足機器人系統對控制性能的要求,提出一種將多智體概念應用于嵌入式六足機器人控制系統的設計方法。該方法利用多智體相關概念分析、求解分布式多處理器機器人控制問題。與傳統體系結構相比,基于MAS建立的分布式控制結構機器人系統有容錯性強、集成能力強、可擴展性強等優點。智能體以嵌入式微控制器ARM為硬件核心,以μC /OS-Ⅱ和Linux操作系統為軟件平臺,各智能體通過CAN總線實現互連和信息交互,共同協調完成控制任務,實現無線控制與視頻傳輸功能。經實驗證明,該設計可以有效提高機器人控制性能,并且具有可移植性、可靠性及實時性強等優點,為多處理器復雜控制系統提供了一種將系統功能定義到具體實現的有效解決方案。

關鍵詞:多智體;六足機器人;嵌入式系統;CAN總線;操作系統

Design Method of Embedded Hexapod Robot System Based on Multi?Agent

HU Qi, XIA Zhi?qian, LEI Hang, WANG Min

(School of Optical?Electrical Information and Computer Engineering, University

of Shanghai for Science and Technology, Shanghai 200093, China)

Abstract:According to the requirements of six?legs robot system for control performance,we present a new design to solve the problem that traditional centralized architecture and multi?layer robot architecture are poor in real?time performance and weak fault tolerance. The new design is based on multi?agent system (MAS) concept , which uses the multi?agent concept to analyze and solve the distributed multi?processor robot control problem. Compared with the traditional centralized architecture and multi?layer robot architecture, the MAS?based distributed control structure has strong fault tolerance, integrated ability, scalability and other advantages. The agent takes the micro?controller ARM as the hardware core, the embedded real?time operating system μC/OS?Ⅱ and Linux as the software platform. The agents can realize the interconnection and information interaction through the CAN bus, coordinate and complete the control tasks, and realize the wireless control and video transmission function. Experimental results prove that the design can improve the robot control performance effectively, and has the advantages of portability, reliability and real?time. The paper also provides an effective solution for the design of complex embedded controllers from the definition of system functions to the realization of platform construction.

Key Words:Multi?Agent; six?legged robot; embedded system; CAN bus; operating system

0?引言

機器人有廣闊的應用前景,可應用于太空探索[1?2]、防災救援[3]、反恐排爆[4]及在人類不能到達的或對人體有危害的作業環境中替代人類工作。相較于常見的輪式機器人和履帶式輪式機器人,多足步行機器人可留下離散運動軌跡,運動時可在地面上選擇最佳支撐點,對崎嶇地形適應性強,因此關于多足步行機器人的研究蓬勃發展。傳統多足機器人的集中結構和多層式系統模型的設計,受限于機器人精確建模困難、計算量大、實時性和魯棒性弱等問題,機器人整體控制性能較差[5?8]。

基于多處理器結構的嵌入式系統可實現復雜控制的應用,特別是作為多自由度系統的六足機器人,然而由于受到關鍵系統功能需求和約束,實際系統設計的難度也超出原先預期。多智能體(Multi-Agent)是分析和求解該類分布式控制問題的有效方法。智能體最早由計算機科學家馬文·明斯基(Marvin Lee Minsky)提出,被認為是一個自治物理或抽象的實體,能夠感知自身周圍環境因素,經過思考作出反應,達到預期目的?;诙嘀悄荏w方法構造的集散控制結構機器人系統有顯著優勢:控制任務劃分清晰、控制系統魯棒性強、系統功能易擴展、開發難度降低[9]。

本文為實現嵌入式六足機器人控制系統,利用多智體方法設計一套基于多處理器的六足機器人控制系統。該系統與面向單處理器的六足機器人設計不同, 將控制智體概念應用于嵌入式控制器設計,可形成一套高效、清晰的解決方案。最后通過實驗測試該控制器體性能,并驗證基于多智體的方法在復雜嵌入式控制器軟硬件設計中的有效性。

1?基于多智能體的機器人系統設計與構建方法

在基于多智能體的機器人操作控制中,智能體作為自主控制單元,從傳感器獲取目標任務環境信息,獨立采取適當的控制行為,并可與其它智能體互相配合完成預定任務。從系統整體角度看,目標任務是智能體通過功能分布和并行執行完成。

構建基于多智能體的操作機器人控制系統時,首先考慮智能體定義,定義智能體指將所有需要實現的控制任務映射于智能體實體,進而實現機器人控制功能,智能體的定義需綜合考慮功能模塊劃分、軟硬件實現形式等因素,最后根據設計指標,給出恰當的控制系統架構。常見有基于關節結構和基于分層結構的定義方法,功能定義是否清晰決定控制系統成敗,實際多智能體控制系統應基于這兩種混合式系統;其次需考慮智能體之間的協同機制,智能體在完成目標任務的過程中,為使智能體群協同運作,必須進行同步通信并共享信息資源,消除之間的沖突。常見的協同機制有中心式(Centralized)和去中心式(Decentralized)。在中心式控制系統中,需要一個控制智能體協調其它智能體,去中心式通過完善的多主通信協議使各個智能體平等交互信息。

在具體實現中,需要軟硬件協同處理的方法[10]。硬件層次上,控制智體的實現需要相關物理結構的支持, 需要根據智體任務目標難易程度和實際情況,選擇合適的CPU計算資源、內存資源、傳感器和通信接口等;軟件層次上,控制智體的目標任務具體實現可借助實時操作系統(RTOS)多任務處理和任務間協調機制,增強智體任務處理實時性和并發性,根據任務實際情況分配獨立的任務堆棧和任務優先級,多智體實現流程如圖2所示。在實際開發中,多智體間通信協議接口也是需慎重考慮的因素,協議應匹配MAS系統特點,如分布式、魯棒性和易擴展性,好的協議簡單、容易實施。實際應用表明,CAN現場總線非常適用于多控制器機器人應用[11],CAN(Controller Area Network)是一種結構簡單、符合ISO國際標準化的串行通訊協議,由于其優秀的協議架構,在工業界得到了廣泛應用,適合迅速構建實時多主式分布式控制系統。

2?六足機器人系統架構

本系統中的六足機器人每條腿都有3個旋轉自由度,由直流舵機驅動,由于六足機器人每條腿都是一個相互獨立整體,結合仿生控制模型與多智能體方法,將控制系統總體設計為中心式協調機制的二級智體架構,一級智體為中央協調Agent , 二級智體由6個歸一化設計的運動伺服Agent組成,如圖1所示。

中央協調Agent負責處理復雜高級控制視覺信息任務及規劃具體工作任務等與運動控制無關的工作,盡量將更多涉及運動學、動力學及 PID 算法的運動控制功能放在腿部底層運動伺服Agent中,這樣各層控制器之間任務分配合理,可大幅提高機器人實時性。

中央協調Agent控制器通過無線通信接收操控者控制指令信息,并及時向操控者傳送機器人實時存儲的運行狀態數據,同時通過機身慣性測量 IMU 單元得到的數據進行姿態解算與調節,并接收來自運動伺服Agent通過CAN通信總線發送的關節信息及足部壓力信息[12],通過步態規劃、位置控制及阻抗控制等算法求解得到機器人關節序列,發送到運動伺服Agent。運動伺服Agent接收關節序列信息,結合自身對各個腿單元傳感器采集處理得到的數據,對驅動機構進行位置與力的伺服控制,并把采得的數據反饋給中央協調Agent。

3?六足機器人硬件設計

運動伺服Agent控制器硬件原理如圖3所示,采用ST公司生產的STM32F103RET6微控制器作為處理器,時鐘運行頻率可達72MHz,微控制器共有4個16位定時器,可產生驅動舵機的PWM波,同時芯片提供豐富的I2C、SPI外圍接口,方便連接外部傳感器模塊,且芯片內部集成2.0B的CAN控制器,無需外接獨立的控制器芯片,有利于減少制版面積,降低系統功耗,增強系統抗干擾能力,CAN電平信號收發由CAN驅動器TJA1050實現。

舵機驅動信號是微控制器配置定時器產生的PWM波,運動伺服Agent各產生3組PWM信號。STM32是低功耗芯片,PWM波最高電壓只有3.3V,而舵機所需的PWM波最高電壓是 4.5V~5.5V。所以,需將微處理器產生的PWM信號進行電壓轉換,電壓轉換模塊由TL291-4光耦芯片和SN74LS04反向器芯片組成,該電路優點是光耦可實現控制信號與驅動信號的電氣隔離,減少的對主控芯片的干擾;反相器可略去輸入信號紋波,使輸出驅動信號更加穩定。

為使機器人足部關節及時反饋舵機即時轉角,在六足機器人關節控制算法的實現中添加角度傳感器,舵機轉動時帶動角度傳感器運動,改變角度傳感器電位器滑頭位置,改變電位器輸出的電壓,控制器通過采集電位器對應的電壓得到此時舵機轉角。機器人足端設有壓力開關,當足端接觸地面并達到一定壓力時,會按下按鍵產生接觸信號,控制芯片通過檢測接觸信號,判斷機器人足端是否接觸到地面,增加足端接觸檢測可確保機器人在行走過程中機器人足端接觸地面牢靠,使機器人行走更加平穩。

中央協調Agent控制器硬件原理如圖4所示,本系統選擇SamsungARM Cortex-A9四核CPU的Exynos4412, 主頻達到1.4~1.6GHz,處理器提供豐富的外圍接口,如WLAN、藍牙、GPS、CMOS圖像傳感器等,并且芯片提供2D和3D圖形處理器、視頻處理和集成電源管理,可為系統后期視覺處理單元構建提供堅實硬件基礎。中央協調Agent控制器選擇獨立的CAN控制器MCP2515,主控芯片通過SPI接口與其通信, SN65HVD230是TI公司生產的配套CAN驅動器,負責CAN電平信號收發。為增強系統設備通用性,圖像模塊和無線傳輸模塊選擇USB接口設備。

4?軟件設計

4.1?六足機器人中央協調Agent

中央協調Agent軟件設計包括嵌入式平臺搭建、驅動設備移植、遠程視頻傳輸與無線控制。

本部分簡要介紹嵌入式平臺搭建。嵌入式平臺搭建包括4個要素:工具鏈、引導加載程序、內核和根文件系統[13]。工具鏈主要用于將源代碼編譯成目標設備運行,主要包括Binutils、GNU編譯器集合和C庫;引導加載程序(Boot Loader)是嵌入式設備在啟動后執行的第一段程序,作用是基本系統初始化和內核載入;內核是操作系統核心,負責管理資源及硬件接口的組件,在平臺搭建過程中,需根據項目需要進行內核裁剪,然后對應硬件平臺生成內核鏡像UImage;在根文件系統中,根目錄文件系統是系統默認的目錄結構,固定地將系統啟動時所需文件放在指定位置。

(1)驅動設備移植。本系統主要外圍硬件為USB攝像、USB無線網卡和CAN驅動。Linux系統USB攝像頭分為兩種:GSPCA標準和UVC標準。GSPCA是早期USB攝像頭的標準,需將攝像頭驅動加入內核后重新編譯;UVC是Microsoft和一些主流設備廠商共同定義的、為USB視頻捕獲設備的協議標準,Linux 2.6后的內核包含UVC驅動,并且默認配置UVC選擇,符合UVC規格硬件設備要求,支持免驅使用,本文選擇UVC標準的攝像頭。

Linux下無線網卡分為SDIO-WiFi和USB無線網卡,相較于USB網卡,SDIO-WiFi生產商很少,資料也較少,不利于系統快速開發,本系統選擇一款USB無線網卡雷凌3070,芯片型號ralink3070。

移植步驟包括:①進行內核配置,將Ralink driver support選型設為M,把Ranlink相關選型設置為空,下載雷凌最新USB驅動,拷備到Linux目錄并解壓,進入該目錄,打開Makefile,芯片ID設為與其對應的CHIPSET = 3070,修改config.mk文件,令編譯源碼HAS_WPA_SUPPLICANT=y,把RT2870STA.dat、rt3070sta.ko拷貝到/etc/Wireless/RT2870STA目錄下, 并在啟動文件中加載該驅動,執行ifconfig ra0 up 啟動無線網卡;②再執行ifconfig ra0 192.168.1.230 netmask 255.255.255.0,為網卡設置IP地址和子網掩碼。執行iwlist ra0 scan進行掃描無線網絡,執行iwpriv ra0 SSID="xxx"連接到SSID為“XXX”的AP中,執行route add default gw 192.168.1.1,添加網卡,即完成機器人無線接入。

本文使用SPI子系統注冊MCP2515 CAN總線驅動[14],MCP2515在Linux內核中實現了Socket CAN驅動,只要通過配置MCP2515芯片內核選項,即可使用MCP2515 CAN總線進行Socket編程。 Socket CAN是在Linux下實現的一種CAN協議, Socket CAN使用Socket接口和Linux網絡協議棧,該方法允許CAN設備驅動程序通過網絡接口進行調用。

(2)視頻監控與控制功能。視頻監控與控制功能采用B/S架構,上位機通過瀏覽器獲取機器人狀態信息和下達命令。網頁視頻監控需搭建基于HTTP協議的Web服務器,本系統使用BOA作為嵌入式的Web服務器,BOA本身不支持視頻服務,故選用Mjpg-streamer作為視頻服務軟件;控制功能通過CGI應用程序與Web頁面交互,CGI程序將控制命令通過CAN向運動伺服Agent發送指令,運動伺服Agent定時上傳機器人狀態,并發布到網頁端。

Mjpg-streamer視頻服務器是一個輕量級視頻服務器軟件,可用于基于IP的網絡中,從攝像頭獲取并傳輸JPEG圖像到瀏覽器或客戶服務端。Mjep-streamer依賴于JPEG庫,因此,移植Mjep-streamer需要先移植Libjpeg庫。移植步驟[15?16]包括:①移植Libjpeg庫。解壓代碼并進入該目錄,使用命令 ./configure –host=arm-linux –prefix=/usr&&make , 將頭文件jerror.h、jmorecfg.h、jpeglib.h、jconfig.h復制到交叉編譯工具鏈的include目錄中,將動態庫“.libs/libjepg.so”復制到交叉編譯工具鏈用戶庫目錄中,將動態庫復制到開發板文件系統中;②移植Mjep-streamer。解壓代碼并進入該目錄,修改頂層Makefile文件和plujins目錄的各層級Makefile文件,將文件中所有CC=gcc變更為CC=arm-linux-gcc,執行make命令進行編譯,復制相關庫文件到開發板,執行如下命令:#cp *.so /nfs/rootfs/usr/lib -d?#cp mjep-steamer /nfs/rootfs/usr/bin

BOA網頁服務器是一個小巧高效的Web服務器,是一個在Unix或Linux上運行的單任務HTTP服務器,支持CGI,適用于嵌入式系統。具體移植步驟如下:①從官網獲得源碼包后解壓并進入源碼目錄,使用命令 ./configure 生成Makefile文件,修改Makefile文件,找到CC=gcc后改為CC = arm-linux-gcc , 再找到CPP = gcc -E ,將其改為CPP= arm-linux-gcc -E,修改生成config.h,注釋以下兩行:#define HAVE_TM_GMTFF 1 #define HAVE_TM_ZONE 1;使用命令make編譯源碼,將BOA復制到開發板根文件系統的/usr/sbin目錄下;②完成BOA配置,使其能夠支持CGI程序執行。先在開發板的/etc目錄下建立Boa目錄,把Boa的配置文件boa.conf復制到該目錄中。

4.2?運動伺服Agent 軟件設計

μC/OS II是一個可基于 ROM運行的實時多任務操作系統 [17]。該系統控制移植了μC/OS II操作系統,用以管理整體片上資源和多任務運行。運動伺服Agent控制器軟件任務主要包括:腿部狀態上傳任務、任務命令解析任務、運動控制任務、傳感信息采集、空閑任務等,程序流程如圖5所示。

運動控制任務是 50ms 周期任務,作為運動控制系統核心任務,其主要功能是按照操控下達的控制命令,根據當前系統狀態和控制策略,生成底層單足控制系統所需的關節角度控制量;任務命令解析主要負責接收CAN消息時,并解析控制命令,通過消息隊列將信息發送給運動控制任務;傳感器采集任務時需收集關節角度信息和壓力信息,通過消息隊列給腿部狀態上傳任務,由上傳任務上傳機器人腿部信息;空閑任務是操作系統空閑任務,當沒有其它任務運行時,執行該任務。

5?實驗結果

根據六足機器人軟硬件研究和設計,制作出機器人樣機(見圖6),并對機器人控制系統的功能和控制算法進行驗證,結果顯示控制系統具有良好的可靠性與實時性,該實驗結果驗證了機器人系統良好的運動性能,該性能是實現后續復雜功能的基礎和保障。

6?結語

本文從軟硬件協同的角度,將多智體方法應用于多處理器系統設計與實現,總結基于多智體的設計流程,借助多處理架構和實時操作系統,實現機器人控制系統從設計方法到實際構建的轉換與分布式智能結構及具有并行計算能力的機器人控制系統,對多智體方法應用于其它領域具有重要理論和實際意義。

參考文獻:

[1]?BARES J E, HEBERT M, KANADE T, et al. Ambler: an autonomous rover for planetary exploration[J]. Computer, 1989,22(6):18?26.

[2]?OBLAK J, CIKAJLO I, MATJACIC Z. Universal haptic drive: a robot for arm and wrist rehabilitation[J]. IEEE Transactions on Neural Systems & Rehabilitation Engineering, 2010,18(3):293.

[3]?FLANNIGAN W C, NELSON G M, QUINN R D. Locomotion controller for a crab?like robot[C]. IEEE International Conference on Robotics and Automation, 1998(1):152?156.

[4]?NONAMI K, HUANG Q J, KOMIZO D, et al. Humanitarian mine detection six?legged walking robot[C]. Proceedings of the third international conference on climbing and walking robots, 2000,3:861?868.

[5]?韓建海,趙書尚,張國躍,等.基于PIC單片機的六足機器人制作[J].機器人技術與應用,2003(6):29?32.

[6]?莊嚴,宋鳴,張劭鳳,等.基于51單片機的六足機器人控制系統設計與制作[J].價值工程,2013,32(30):51?53.

[7]?王洪斌,李程,王躍靈,等.基于Arduino和藍牙技術的六足機器人控制系統設計[J].黑龍江大學自然科學學報,2015,32(4):533?537.

[8]?伍立春,王茂森,黃順斌.基于STM32的六足機器人控制系統設計[J].機械制造與自動化,2014,43(5):150?153+161.

[9]?張傳清,陳懇,趙正大,等.操作機器人控制的多智能體方法研究綜述[J].機械設計與制造,2011(10):142?144.

[10]?托馬斯·布勞恩.嵌入式機器人學[M].劉錦濤,辛巧,陳睿,譯.西安交通大學出版社,2012.

[11]?史久根,張培仁,陳真勇.CAN現場總線系統設計技術[M].北京:國防工業出版社,2004.

[12]?張赫.具有力感知功能的六足機器人及其崎嶇地形步行控制研究[D].哈爾濱:哈爾濱工業大學,2014.

[13]?VENKATESWARAN S.精通Linux設備驅動程序開發[M].宋寶華,何昭然,史海賓,等,譯.人民郵電出版社,2016.

[14]?馮巍.基于嵌入式Linux下的CAN總線智能節點的設計[D].杭州:杭州電子科技大學,2011.

[15]?范展源,劉韜.深度實踐嵌入式Linux系統移植[M].北京:機械工業出版社, 2015.

[16]?唐人財,劉連浩.基于嵌入式Linux遠程圖像監控系統的設計[J].計算機與現代化,2010(11):31?34.

[17]?王田苗.嵌入式系統設計與實例開發:基于ARM微處理器uC/OS?Ⅱ實時操作系統[M].北京:清華大學出版社,2002.

主站蜘蛛池模板: 呦系列视频一区二区三区| 国产一区二区三区在线观看视频| 国产第四页| 亚洲人成亚洲精品| 久久久久人妻一区精品色奶水| 日本人妻丰满熟妇区| 中日无码在线观看| 国产第二十一页| 亚洲无码一区在线观看| 无码内射在线| 亚洲制服丝袜第一页| 狠狠色狠狠综合久久| 亚洲欧美日韩另类在线一| 99热这里只有精品在线播放| 日韩天堂网| 亚洲欧美自拍一区| 亚洲国产精品日韩欧美一区| 嫩草影院在线观看精品视频| 国产91成人| 亚洲三级影院| 免费女人18毛片a级毛片视频| 中国国产高清免费AV片| 亚洲人成网18禁| 久久国产精品影院| 亚洲水蜜桃久久综合网站| 天堂av高清一区二区三区| 一本一道波多野结衣av黑人在线| 99久久精彩视频| 国产91麻豆视频| 男人天堂伊人网| 亚洲精品图区| 久久久久人妻一区精品| 国产精品无码AⅤ在线观看播放| 波多野结衣在线se| 欧美日本激情| 国产精品手机在线观看你懂的| 亚洲美女一区二区三区| 久久99国产乱子伦精品免| 日韩高清一区 | 中国国产A一级毛片| 国产成人综合日韩精品无码首页 | 色综合成人| 久久性妇女精品免费| 女人18一级毛片免费观看| 亚洲精品另类| 久热这里只有精品6| 日韩a级毛片| 日本高清在线看免费观看| yy6080理论大片一级久久| 国产h视频在线观看视频| 久久久久中文字幕精品视频| 国产精品真实对白精彩久久| 99re热精品视频国产免费| 欧美一区中文字幕| 亚洲无码免费黄色网址| 五月天久久婷婷| 亚洲国产精品一区二区第一页免| 成年午夜精品久久精品| 国产无吗一区二区三区在线欢| 国产精品自在自线免费观看| 孕妇高潮太爽了在线观看免费| 亚洲色欲色欲www在线观看| 中文字幕天无码久久精品视频免费| 三级毛片在线播放| 国产浮力第一页永久地址 | 国产一级做美女做受视频| 狠狠综合久久| 无码中文AⅤ在线观看| 亚洲无码熟妇人妻AV在线| 又爽又大又黄a级毛片在线视频| v天堂中文在线| 99久久成人国产精品免费| 视频二区中文无码| 91精品国产91久无码网站| 日韩少妇激情一区二区| 欧美成人免费午夜全| 国产成人综合日韩精品无码首页 | 日韩欧美中文字幕在线韩免费| 亚洲成a人在线观看| 午夜福利视频一区| 国产玖玖视频| 美女内射视频WWW网站午夜 |