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