資料介紹
分享到:標簽:嵌入式Linux 模糊控制 共享內存 移動機器人
隨著科學技術的發展和社會的需要,移動機器人技術得到了迅速發展,正在滲透到各行各業中,使人們的生活更加便利。現今以單片機為核心的移動機器人存在處理數據量有限、控制系統速度低、人機交互機制單一等缺點,不能滿足機器人多任務的要求。系統中增加協處理器的系統結構也得到了廣泛應用,雖然可以管理多種傳感器,但這種結構卻增加了硬件的冗余度和復雜度,見參考文獻。為此,提出了以嵌入式處理器S3C2440為核心的多任務機器人控制系統。
1控制系統硬件設計
控制系統選用兩輪獨立驅動小車為移動式機器人平臺,后輪為一個尼龍萬向輪。處理器為三星公司的S3C2440,系統主頻最高可達533 MHz,外接512 MB的NAND Flash和64 MB的SDRAM,支持SPI、I2C、UART等接口,滿足移動機器人控制系統的需求,如圖1所示。
圖1系統硬件組成
整個控制系統工作過程如下:語音識別芯片LD3320通過SPI總線接口接人ARM處理器,處理器可以對識別的結果進行分析和匯總,并通過查表提取出操作人員的命令碼;同時,處理器通過串口讀取機器人當前的航向信息;超聲波測距和紅外線地面檢測模塊由處理器的GPIO引腳控制;通過控制兩自由度的云臺,可以進行多方位的超聲波障礙物檢測,利用LD3320模塊的MP3播放功能播放所檢測到的障礙物距離和路況信息。控制系統根據傳感器的數據和所識別的操作人員的命令碼,利用信息融合技術提取環境特征,通過路徑規劃技術作出決策,控制電機狀態,最終控制機器人的姿態。
2控制系統軟件設計
在軟件設計中,將系統中所有要處理的任務劃分為不同的、相互獨立的任務模塊。根據系統的性能指標和技術要求,可將任務劃分為:語音識別、航向測量與計算、超聲波測距、電機控制、信息處理等任務。
2.1進程的創建與狀態轉換
移動機器人控制系統在初始化完成后,利用系統調用fock機制分別為語音識別、航向測量與計算和超聲波測距等任務產生相應的子進程,實現方式如圖2所示。進程創建成功后,操作系統會根據調度算法進行進程調度,這使系統在行駛過程中,能夠及時響應語音命令。
圖2系統多進程設計的實現方式
2.2進程間通信機制
在信息處理進程中,需要對不同任務返回的有效數據進行信息處理和融合。由于不同進程的數據段、堆棧段是相互隔離的,因此,采用共享內存的進程間通信方式,在程序中可以使用shmget從系統中取出一塊未使用的物理內存并映射到用戶空間,如圖3所示。
圖3共享內存機制示意圖
在兩個進程之間建立共享內存的具體實現步驟如下:
①在調用fock()前,使用shmget創建新的共享內存,返回值為共享內存標識碼:
shmid = shmget(IPC_PRIVATE,1,PERM)
//申請一個字節共享內存
②調用fock()函數,創建子進程,根據fock()的返回值區分父進程和子進程,并分別在兩個進程中使用shmat映射一塊共享內存,即允許當前進程訪問創建的共享內存:
if(fock()) p_addr= shmat(shmid,0,0);
//將共享內存映射到父進程
else{c_addr=shmat(shmid,0,0);}//將共享內存映射到子進程
其中,shmid為shmget()函數的返回值,即共享內存標識碼。
隨著科學技術的發展和社會的需要,移動機器人技術得到了迅速發展,正在滲透到各行各業中,使人們的生活更加便利。現今以單片機為核心的移動機器人存在處理數據量有限、控制系統速度低、人機交互機制單一等缺點,不能滿足機器人多任務的要求。系統中增加協處理器的系統結構也得到了廣泛應用,雖然可以管理多種傳感器,但這種結構卻增加了硬件的冗余度和復雜度,見參考文獻。為此,提出了以嵌入式處理器S3C2440為核心的多任務機器人控制系統。
1控制系統硬件設計
控制系統選用兩輪獨立驅動小車為移動式機器人平臺,后輪為一個尼龍萬向輪。處理器為三星公司的S3C2440,系統主頻最高可達533 MHz,外接512 MB的NAND Flash和64 MB的SDRAM,支持SPI、I2C、UART等接口,滿足移動機器人控制系統的需求,如圖1所示。
圖1系統硬件組成
整個控制系統工作過程如下:語音識別芯片LD3320通過SPI總線接口接人ARM處理器,處理器可以對識別的結果進行分析和匯總,并通過查表提取出操作人員的命令碼;同時,處理器通過串口讀取機器人當前的航向信息;超聲波測距和紅外線地面檢測模塊由處理器的GPIO引腳控制;通過控制兩自由度的云臺,可以進行多方位的超聲波障礙物檢測,利用LD3320模塊的MP3播放功能播放所檢測到的障礙物距離和路況信息。控制系統根據傳感器的數據和所識別的操作人員的命令碼,利用信息融合技術提取環境特征,通過路徑規劃技術作出決策,控制電機狀態,最終控制機器人的姿態。
2控制系統軟件設計
在軟件設計中,將系統中所有要處理的任務劃分為不同的、相互獨立的任務模塊。根據系統的性能指標和技術要求,可將任務劃分為:語音識別、航向測量與計算、超聲波測距、電機控制、信息處理等任務。
2.1進程的創建與狀態轉換
移動機器人控制系統在初始化完成后,利用系統調用fock機制分別為語音識別、航向測量與計算和超聲波測距等任務產生相應的子進程,實現方式如圖2所示。進程創建成功后,操作系統會根據調度算法進行進程調度,這使系統在行駛過程中,能夠及時響應語音命令。
圖2系統多進程設計的實現方式
2.2進程間通信機制
在信息處理進程中,需要對不同任務返回的有效數據進行信息處理和融合。由于不同進程的數據段、堆棧段是相互隔離的,因此,采用共享內存的進程間通信方式,在程序中可以使用shmget從系統中取出一塊未使用的物理內存并映射到用戶空間,如圖3所示。
圖3共享內存機制示意圖
在兩個進程之間建立共享內存的具體實現步驟如下:
①在調用fock()前,使用shmget創建新的共享內存,返回值為共享內存標識碼:
shmid = shmget(IPC_PRIVATE,1,PERM)
//申請一個字節共享內存
②調用fock()函數,創建子進程,根據fock()的返回值區分父進程和子進程,并分別在兩個進程中使用shmat映射一塊共享內存,即允許當前進程訪問創建的共享內存:
if(fock()) p_addr= shmat(shmid,0,0);
//將共享內存映射到父進程
else{c_addr=shmat(shmid,0,0);}//將共享內存映射到子進程
其中,shmid為shmget()函數的返回值,即共享內存標識碼。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于DSP和USB總線的開放式移動機器人控制系統 20次下載
- 如何使用Matlab和VR技術實現移動機器人的建模和仿真 13次下載
- 使用Matlab和VR技術實現移動機器人的建模及仿真的方案說明 10次下載
- 如何進行非完整的約束輪式移動機器人控制系統的設計 4次下載
- 輪式移動機器人控制系統設計的設計論文資料免費下載 4次下載
- 如何使用Web移動機器人控制系統研究及Java實現資料說明 5次下載
- 全方位移動機器人運動模型及其系統設計方案 9次下載
- 移動機器人的分類與移動機器人技術研究現狀和未來發展的分析 13次下載
- 可載人自平衡移動機器人控制系統設計李京濤 0次下載
- 基于Arduino的移動機器人控制系統設計_彭攀來 5次下載
- 全自主移動機器人控制系統研究 0次下載
- 移動機器人及其控制系統研制 0次下載
- 基于ARM的嵌入式移動機器人控制系統的設計 20次下載
- 基于GSM和ARM的家庭服務移動機器人控制系統設計 46次下載
- 基于無線局域網的移動機器人遠程控制系統
- 用于ROS移動機器人高集成電源解決方案(一) 946次閱讀
- 基于51單片機的自動巡線輪式機器人控制系統 4138次閱讀
- 移動機器人是如何定位的 4398次閱讀
- 移動機器人控制系統的發展方向? 1411次閱讀
- 移動機器人控制系統設計與仿真 3433次閱讀
- 嵌入式Linux移動機器人控制系統 4433次閱讀
- 仙知機器人自主研發用于移動機器人應用專業級客戶端軟件Roboshop 6067次閱讀
- 移動機器人的機構與分類分析 8064次閱讀
- 如何區分機器人、協作機器人和移動機器人? 6827次閱讀
- 基于PLC的機器人伺服運動控制系統設計詳解 1.5w次閱讀
- 基于嵌入式的輪式移動機器人設計方案 3611次閱讀
- 自主移動機器人的定位與地圖創建(SLAM)關鍵性問題 1906次閱讀
- 基于LPC2119的自主式移動機器人設計 1529次閱讀
- 基于FPGA技術的全方位移動機器人運動控制系統的方案設計 1171次閱讀
- 小生境遺傳算法的移動機器人路徑優化技術 1218次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多