女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式Linux移動機器人控制系統(tǒng)

倩倩 ? 來源:lq ? 2019-06-12 14:29 ? 次閱讀

以嵌入式Linux開發(fā)平臺為基礎,根據(jù)模糊控制算法進行機器人路徑規(guī)劃,同時將兩自由度云臺和超聲波測距模塊相結合,擴大了障礙物檢測范圍。根據(jù)測試,移動機器人可以根據(jù)操作人員的語音指令,實現(xiàn)前進、后退、測量距離等動作,并通過MP3播放功能播放出所測量到的距離值和機器人當前的運行狀態(tài)。在運行過程中,機器人可以自動檢測方位并修正,實現(xiàn)無碰撞行駛。

隨著科學技術的發(fā)展和社會的需要,移動機器人技術得到了迅速發(fā)展,正在滲透到各行各業(yè)中,使人們的生活更加便利?,F(xiàn)今以單片機為核心的移動機器人存在處理數(shù)據(jù)量有限、控制系統(tǒng)速度低、人機交互機制單一等缺點,不能滿足機器人多任務的要求。系統(tǒng)中增加協(xié)處理器的系統(tǒng)結構也得到了廣泛應用,雖然可以管理多種傳感器,但這種結構卻增加了硬件的冗余度和復雜度

移動機器人屬于能夠自動執(zhí)行工作任務的機器,不但能夠按照事先編譯的程序運行,同時人類還可對其指揮。當前主要被運用在生產(chǎn)業(yè)、建筑業(yè)以及航空航天領域,而該領域的發(fā)展情況直接關系到國家綜合實力的提升速度,對此加強對移動機器人控制系統(tǒng)的發(fā)展情況,以及未來發(fā)展方向的研究勢在必行。?

國內外常見的移動機器人控制系統(tǒng)??

相對于國內在移動機器人的研究狀況,能夠看出國外在該領域的研究是較早的,其中具有代表性的有Saphira、TeamBots以及ISR。而在國內方面,代表性的有OSMOR、ZJMR以及Agent。下面,便對較為常用的控制系統(tǒng)進行介紹:??

1.1?國外移動機器人控制系統(tǒng)????

1.1.1?Saphira控制系統(tǒng)??

Saphira控制系統(tǒng)是移動機器人領域中最早的系統(tǒng),是有SRI國際人工智能中心在1990年所研發(fā)的,此系統(tǒng)是基于本地感知空間的共享內存與黑板,來實現(xiàn)協(xié)調與通信進程。由于Saphira是采用C語言來進行開發(fā)的,同時支持Windows與Unix系統(tǒng),因此具有文檔資料相對完整、系統(tǒng)資源占用少等特征。但是需注意的是,由于Saphira系統(tǒng)在定位方面無法達到當前的實際需求,因此運用是相對較少的。???

1.1.2?TeamBots控制系統(tǒng)??

本系統(tǒng)是基于Java包與Java應用程序而構建的,經(jīng)過20余年的發(fā)展后,此系統(tǒng)截止到目前已經(jīng)被運用到多種類型的機器人平臺當中。除此之外,在適用的操作系統(tǒng)方面,其中具有代表性的有Windows、MacOS以及Linux等,因此其運用的范圍是更加廣泛的。???

1.1.3?ISR控制系統(tǒng)??

ISR是基于行為的控制模式,其中是有任務執(zhí)行層、反映層以及推理層所構成的,是有CAS研究中心所研發(fā)的。其中,任務執(zhí)行層的作用是執(zhí)行推理層所傳輸?shù)闹噶?;反映層其中包含資源、控制器以及行為;推理層的功能是根據(jù)用戶的指令來對決策進行制定。此外,ISR控制系統(tǒng)僅能夠在Linux中進行操作,并且沒有公開化使用。???

1.2?國內移動機器人控制系統(tǒng)??

OSMOR是我國首個機器人系統(tǒng),此系統(tǒng)在傳感器處理方面具有明顯的優(yōu)勢,并且為了能夠防止出現(xiàn)數(shù)據(jù)處理的復雜性與傳感器多樣性的影響,本控制系統(tǒng)將傳感器數(shù)據(jù)的處理劃分為單獨結構當中。但是需注意的是,OSMOR屬于沈陽自動化研究所的實驗室自主開發(fā)的機器人系統(tǒng),因此被沒有得到廣泛的運用。??

與此同時,我國各個高校也加大了對移動機器人的研究力度。其中,浙江大學構建了ZJMR系統(tǒng);中南大學研究了室外自主導航系統(tǒng);南京理工大學經(jīng)過研究后,提出了Agent系統(tǒng)。河海大學提出了集控式足球機器人系統(tǒng);東北大學研發(fā)了基于自主式足球機器人的底層控制系統(tǒng);清華大學是基于多機器人協(xié)作的層面為核心,并構建了系統(tǒng)框架,由于此框架不夠成熟,因此并沒有運用到市場中。???

基于嵌入式Linux的移動機器人控制系統(tǒng)

1 控制系統(tǒng)硬件設計

控制系統(tǒng)選用兩輪獨立驅動小車為移動式機器人平臺,后輪為一個尼龍萬向輪。處理器為三星公司的S3C2440,系統(tǒng)主頻最高可達533 MHz,外接512 MB的NAND Flash和64 MB的SDRAM,支持SPI、I2C、UART接口,滿足移動機器人控制系統(tǒng)的需求,如圖1所示。

圖1 系統(tǒng)硬件組成

整個控制系統(tǒng)工作過程如下:語音識別芯片LD3320通過SPI總線接口接人ARM 處理器,處理器可以對識別的結果進行分析和匯總,并通過查表提取出操作人員的命令碼;同時,處理器通過串口讀取機器人當前的航向信息;超聲波測距和紅外線地面檢測模塊由處理器的GPIO 引腳控制;通過控制兩自由度的云臺,可以進行多方位的超聲波障礙物檢測,利用LD3320模塊的MP3播放功能播放所檢測到的障礙物距離和路況信息??刂葡到y(tǒng)根據(jù)傳感器的數(shù)據(jù)和所識別的操作人員的命令碼,利用信息融合技術提取環(huán)境特征,通過路徑規(guī)劃技術作出決策,控制電機狀態(tài),最終控制機器人的姿態(tài)。

2 控制系統(tǒng)軟件設計

在軟件設計中,將系統(tǒng)中所有要處理的任務劃分為不同的、相互獨立的任務模塊。根據(jù)系統(tǒng)的性能指標和技術要求,可將任務劃分為:語音識別、航向測量與計算、超聲波測距、電機控制、信息處理等任務。

2.1 進程的創(chuàng)建與狀態(tài)轉換

移動機器人控制系統(tǒng)在初始化完成后,利用系統(tǒng)調用fock機制分別為語音識別、航向測量與計算和超聲波測距等任務產(chǎn)生相應的子進程,實現(xiàn)方式如圖2所示。進程創(chuàng)建成功后,操作系統(tǒng)會根據(jù)調度算法進行進程調度,這使系統(tǒng)在行駛過程中,能夠及時響應語音命令。

圖2 系統(tǒng)多進程設計的實現(xiàn)方式

2.2 進程間通信機制

在信息處理進程中,需要對不同任務返回的有效數(shù)據(jù)進行信息處理和融合。由于不同進程的數(shù)據(jù)段、堆棧段是相互隔離的,因此,采用共享內存的進程間通信方式,在程序中可以使用shmget從系統(tǒng)中取出一塊未使用的物理內存并映射到用戶空間,如圖3所示。

圖3 共享內存機制示意圖 在兩個進程之間建立共享內存的具體實現(xiàn)步驟如下:

① 在調用fock()前,使用shmget創(chuàng)建新的共享內存,返回值為共享內存標識碼:

shmid = shmget(IPC_PRIVATE,1,PERM)

//申請一個字節(jié)共享內存

② 調用fock()函數(shù),創(chuàng)建子進程,根據(jù)fock()的返回值區(qū)分父進程和子進程,并分別在兩個進程中使用shmat映射一塊共享內存,即允許當前進程訪問創(chuàng)建的共享內存:

if(fock()) p_addr= shmat(shmid,0,0);

//將共享內存映射到父進程

else{c_addr=shmat(shmid,0,0);}//將共享內存映射到子進程

其中,shmid為shmget()函數(shù)的返回值,即共享內存標識碼。

從用戶的角度看,在父進程中可以對p_addr進行讀寫操作,實際訪問的是申請的共享內存。子進程則可以對c_addr進行讀寫,從而實現(xiàn)兩個進程間的通信。共享內存的映射和進程之間的關系,如圖4所示。

圖4 進程和共享內存映射關系

2.3 系統(tǒng)控制流程

在程序初始化完成后,為每項任務創(chuàng)建了相應的進程,并建立了共享內存,如圖5所示。在每個進程中采用循環(huán)執(zhí)行方式,語音識別進程中利用select函數(shù)監(jiān)控是否有識別結果輸出,并將識別結果寫入到相應的共享內存區(qū)。

圖5 系統(tǒng)控制流程圖

航向測量和計算進程循環(huán)讀取陀螺儀的角度信息并存儲。超聲波測距進程在接收到信息處理進程的控制命令后進行測距并將數(shù)據(jù)返回至信息處理進程。信息處理進程融合了多傳感器的數(shù)據(jù),根據(jù)設定的路徑規(guī)劃方案,將控制信息傳輸?shù)?a target="_blank">電機控制進程,實現(xiàn)機器人姿態(tài)的調整。

2.4 語音識別

在系統(tǒng)運行過程中,語音識別進程獨立完成對語音模塊的初始化和讀取識別結果的任務,因此,能夠及時響應操作人員發(fā)出的語音指令。程序中使用了select()函數(shù)監(jiān)控read()是否可讀。當語音識別模塊LD3320有識別結果時,將在中斷引腳輸出高電平以觸發(fā)系統(tǒng)中斷,結束驅動程序中的等待狀態(tài),同時應用程序可以通過read()函數(shù)讀取LD332O的識別結果,并寫入到相應共享內存區(qū)M中。在沒有中斷時,read()函數(shù)將被阻塞,如圖6所示。

圖6 語音識別進程流程圖

使用select機制監(jiān)控是否語音識別結果,在超出等待時間后,會退出等待并重新初始化語音模塊LD3320,釋放公共資源,這樣也使得系統(tǒng)能夠及時響應LD332O的MP3播放功能,避免了在長時間沒有語音識別結果時,系統(tǒng)進入卡死狀態(tài)。

2.5 航向測量

為了使移動機器人能夠沿指定的方向行駛并能修正由外界干擾因素產(chǎn)生的航向偏差,系統(tǒng)采用陀螺儀航向測量模塊MPU - 6050,該模塊將其測量的模擬量轉換為可輸出的數(shù)字量,并通過串口發(fā)送到S3C2440.系統(tǒng)通過read(fd_uartl,bur,10)函數(shù)讀取相應串El,得到航向數(shù)據(jù)并寫人到共享內存區(qū)S中。

2.6 超聲波測距

本系統(tǒng)采用渡越時間法,超聲波測距模塊在收到發(fā)射控制信號時,換能器將發(fā)出40 kHz的連續(xù)脈沖信號。接收器的輸出高電平時間和距離成正比,同時觸發(fā)處理器的中斷,上升沿中斷開啟定時器,下降沿關閉定時器,利用處理器內部的定時器1測量出輸出信號的高電平的持續(xù)時間△T,經(jīng)過式(1)的計算,可得到檢測距離S: S- V × △T/2 (1) 式中,V 為超聲波的傳播速度,常溫下超聲波在空氣中的傳播速度是340 m/s.程序中根據(jù)所編寫的驅動程序,使用ioctl(fd_chao,SEND_BEGIN)、ioctl(fd_chao,SEND_STOP)控制GPIO以實現(xiàn)超聲波的發(fā)射和停止。系統(tǒng)中對某個方向連續(xù)測量5次,進行中值濾波并將濾波后數(shù)據(jù)傳遞到信息處理進程。

2.7 電機控制

移動平臺中采用L298驅動直流減速電機,平臺尚未安裝速度反饋單元,簡化了控制模式。程序通過ioctl()控制L298以實現(xiàn)電機的正反轉以及停止操作。

在電機驅動程序中定義了相應GPIO的輸入/輸出方式:ioctl(fd,TURN_LEFT)中,fd為驅動程序的文件描述符;TURN_LEFT 是命令掩碼CMD,驅動程序根據(jù)命令掩碼CMD對相應的GPIO賦值以控制L298的狀態(tài)。

3 路徑規(guī)劃和避障算法

根據(jù)模糊邏輯法,移動平臺能夠在不確定環(huán)境中實現(xiàn)局部路徑規(guī)劃和避障。

3.1 輸入輸出變量的模糊化

在路徑規(guī)劃過程中,信息分析模塊的輸入量為移動平臺的行駛方向信息、與障礙物之間的相對位移信息;輸出量為移動平臺的旋轉角度和平動位移信息。

① 定義移動平臺與左側障礙物的距離為DL、與右側障礙物的距離為DR、前方障礙物的距離為DF.模糊子集定義為{S,M,B},分別表示小、中、大,相應的距離隸屬度函數(shù)如圖7所示。

圖7 距離隸屬度函數(shù)

② 定義移動平臺和目標點之間夾角為了,模糊子集定義為{LB,LS,Z,RS,RB},分別表示左大、左小、零、有小和右大。相應的角度隸屬度函數(shù)如圖8所示。

③ 移動平臺的旋轉角度φ的模糊子集定義為{TIB,TLS,TZ,TRS,TRB}。分別表示左轉大、左轉小、不旋轉、右轉小、右轉大,相應的輸出隸屬度函數(shù)如圖9所示。

3.2 建立模糊控制規(guī)則

在移動機器人遠離障礙物或不存在障礙物的情況下,依據(jù)移動平臺的行駛軌跡,可以先對行駛方向進行調整。當檢測到障礙物接近移動平臺時,移動平臺應改變行駛軌跡,避免發(fā)生碰撞。移動平臺的部分模糊控制規(guī)則如表1所列。

圖8 角度隸屬度函數(shù)

圖9 輸出隸屬度函數(shù)

表1 模糊控制規(guī)則

3.3 模糊推理和解模糊化

根據(jù)距離隸屬度函數(shù),將超聲波測量得到的不同方位的距離數(shù)據(jù)轉換為模糊邏輯狀態(tài),再查找模糊控制規(guī)則,查表得到相應的輸出模糊量。

解模糊化是輸出模糊量映射到動作行為的過程。模糊控制器對移動平臺的動作進行了分解并編碼,將復雜的動作分解為一系列簡單動作的疊加,使得每一個輸出模糊量對應一套動作。

例如在檢測到前方有障礙物并確定左轉時,可以將機器人動作分解為:后退(左轉,即先后退,再左轉。這樣可以減小機器人觸碰到前方障礙物的概率。

4 實驗測試

使用menuconfig命令為嵌入式Linux系統(tǒng)內核配置添加相應驅動程序后,進行make編譯生產(chǎn)zImage文件。啟動移動機器人系統(tǒng)并進入BIOS模式,將配置好的內核通過Supervivi工具燒寫到NAND Flash.在系統(tǒng)啟動后,配置Linux目錄中的/etc/init.d文件,使系統(tǒng)啟動后,自動運行所設計的程序。

如果系統(tǒng)初始化正常,將聽到由語音模塊發(fā)出的提示聲:“校準完成”。此時,操作人員可以下達“前進”、“后退”或“測距”等設計好的語音指令,機器人將按照操作人員的指令完成相應的動作,還可以通過語音模塊播放出測量到的距離。

結語

系統(tǒng)利用了Linux系統(tǒng)支持多任務和可裁剪的特點,結合處理器豐富的接口資源,實現(xiàn)了多方位超聲波測距、電機控制等功能,通過對多傳感器信息的融合和分析,為模糊邏輯法進行路徑規(guī)劃提供了判斷依據(jù)。語音識別功能使得機器人和操作人員之間的人機交互變得更靈活方便。在此基礎上,可以利用Linux操作系統(tǒng)強大的網(wǎng)絡功能,為進一步研究服務機器人、機器人聯(lián)網(wǎng)、機器人與機器人通信等提供了一種方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制系統(tǒng)

    關注

    41

    文章

    6752

    瀏覽量

    111795
  • Linux
    +關注

    關注

    87

    文章

    11457

    瀏覽量

    212772
  • 移動機器人
    +關注

    關注

    2

    文章

    784

    瀏覽量

    34001
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于嵌入式Linux移動機器人控制系統(tǒng)

    隨著科學技術的發(fā)展和社會的需要,移動機器人技術得到了迅速發(fā)展,正在滲透到各行各業(yè)中,使人們的生活更加便利?,F(xiàn)今以單片機為核心的移動機器人存在處理數(shù)據(jù)量有限、控制系統(tǒng)速度低、人機交互機制單一等缺點,不能滿足
    發(fā)表于 09-30 10:30 ?2133次閱讀

    一種小型移動機器人控制系統(tǒng)研究

    一種小型移動機器人控制系統(tǒng)研究
    發(fā)表于 08-20 15:53

    移動機器人運動控制系統(tǒng)設計及控制算法研究

    移動機器人運動控制系統(tǒng)設計及控制算法研究
    發(fā)表于 08-20 15:54

    Labview My RIO 移動機器人

    初次使用 NI MyRIO控制器開發(fā)四輪全向移動機器人,由四個全向輪和直流電機與增量編碼器和NI 9001控制器組成,安裝了紅外距離和光電傳感器。驅動板由官方提供的H橋驅動板。NI
    發(fā)表于 08-21 12:20

    如何利用ARM研究嵌入式服務機器人控制器?

    其設計是機器人研究的核心。該控制系統(tǒng)通常以MCU、 DSP等為核心,采用上、下位機二級分布結構。其中上位機一般為PC機,下位機為單片機或DSP等微控制器。但隨著
    發(fā)表于 07-30 07:02

    基于FPGA怎么實現(xiàn)三輪全方位移動機器人運動控制系統(tǒng)?

    研究了一種用FPGA技術實現(xiàn)三輪全方位移動機器人運動控制系統(tǒng)的方法,與雙DSP結構,DSP+CPLD結構,以及DSP+專用集成電路結構等相比,該方法具有簡單可靠,擴展性強等特點。且FPGA設計簡單,使用方便,開發(fā)周期短,能夠實現(xiàn)真正的SOPC
    發(fā)表于 10-22 07:35

    如何實現(xiàn)移動機器人的設計?

    的滿足實時性快速性的特點。  隨著ARM處理器的出現(xiàn)和發(fā)展以及嵌入式系統(tǒng)的發(fā)展,移動機器人的實時性快速性要求便能得到很好滿足,現(xiàn)在該技術已經(jīng)在多種領域得到有效的應用。本文是以SAMSUNG公司一款
    發(fā)表于 11-23 15:08

    基于RTX51的排爆機器人嵌入式控制器軟硬件開發(fā)怎么樣?

    本文概述了上海交通大學機器人研究所研制的新型遙控移動式排爆機器人PBJ-1的嵌入式控制系統(tǒng)固件的情況。利用
    發(fā)表于 06-07 06:11

    什么是移動機器人軟硬件系統(tǒng)問題

    的實踐經(jīng)驗,來系統(tǒng)的梳理一下什么是移動機器人軟硬件系統(tǒng)問題。文中涉及到的開源項目網(wǎng)站地址如下:開源項目網(wǎng)站Handsfree
    發(fā)表于 08-06 06:13

    怎樣去設計一個基于嵌入式Linux移動機器人控制系統(tǒng)

    識別結果時,系統(tǒng)進入卡死狀態(tài)。本文引用地址: 航向測量為了使移動機器人能夠沿指定的方向行駛并能修正由外...
    發(fā)表于 12-20 07:16

    智能輪式移動機器人嵌入式控制系統(tǒng)設計

    智能輪式移動機器人嵌入式控制系統(tǒng)設計 引言 智能移動機器人集成了機械、電子、計算機、自動控制、人工智能等多學科的研究成果,在當前
    發(fā)表于 03-01 08:59 ?2183次閱讀
    智能輪式<b class='flag-5'>移動機器人</b><b class='flag-5'>嵌入式</b><b class='flag-5'>控制系統(tǒng)</b>設計

    PLC的漿液下移動機器人控制系統(tǒng)

    PLC的漿液下移動機器人控制系統(tǒng)   摘要:結合漿液下移動機器人系統(tǒng)的功能要求及PLC的特點,構建了槳液下移動機器人
    發(fā)表于 04-21 17:58 ?876次閱讀
    PLC的漿液下<b class='flag-5'>移動機器人</b><b class='flag-5'>控制系統(tǒng)</b>

    基于ARM的嵌入式移動機器人控制系統(tǒng)的設計

    基于ARM的嵌入式移動機器人控制系統(tǒng)的設計
    發(fā)表于 12-23 15:00 ?21次下載

    移動機器人控制系統(tǒng)設計與仿真

    移動式機器人控制系統(tǒng)的作用是生成控制信息,控制機器人的執(zhí)行機構進行運動。跟蹤設定軌跡是設計
    發(fā)表于 06-12 14:49 ?3872次閱讀
    <b class='flag-5'>移動機器人</b><b class='flag-5'>控制系統(tǒng)</b>設計與仿真

    基于嵌入式移動機器人無線通訊系統(tǒng)的實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式移動機器人無線通訊系統(tǒng)的實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-13 09:16 ?0次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>移動機器人</b>無線通訊<b class='flag-5'>系統(tǒng)</b>的實現(xiàn)