freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm技術(shù)的遠(yuǎn)程機(jī)器人控制通信系統(tǒng)設(shè)計(jì)畢業(yè)論文-預(yù)覽頁

2025-07-16 12:57 上一頁面

下一頁面
 

【正文】 術(shù)已經(jīng)廣泛應(yīng)用到各個(gè)領(lǐng)域,包括工業(yè)控制領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)類電子產(chǎn)品、成像和安全產(chǎn)品等。(3)大量使用寄存器,指令執(zhí)行速度更快。 ARM微處理器系列目前,ARM推出的處理器內(nèi)核主要包括:ARMARMARM9E、ARM10E、ARM1Cortex和SecurCore等。圖 21 嵌入式系統(tǒng)軟件結(jié)構(gòu)圖 嵌入式操作系統(tǒng)簡介嵌入式操作系統(tǒng)是一種用途廣泛的系統(tǒng)軟件,其主要負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制協(xié)調(diào)并發(fā)活動(dòng);它必須體現(xiàn)其所在系統(tǒng)的特征,能夠通過裝卸某些模塊來達(dá)到系統(tǒng)所要求的功能。 嵌入式Linux操作系統(tǒng)簡介嵌入式Linux是在Linux操作系統(tǒng)的基礎(chǔ)上,為了能使其在嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行而進(jìn)行裁剪修改的一種操作系統(tǒng)。 機(jī)器人總體設(shè)計(jì)方案本文設(shè)計(jì)的遠(yuǎn)程機(jī)器人控制系統(tǒng),是基于ARM9嵌入式微處理器和嵌入式Linux操作系統(tǒng)的嵌入式系統(tǒng)平臺(tái)上實(shí)現(xiàn)的一個(gè)遠(yuǎn)程機(jī)器人控制系統(tǒng)設(shè)計(jì)方案,如圖 22所示。對(duì)于嵌入式手持終端,本設(shè)計(jì)是采用了一臺(tái)基于TI Omap3630嵌入式微處理器的Android平板電腦。圖 31 嵌入式系統(tǒng)硬件結(jié)構(gòu)圖核心處理器是嵌入式系統(tǒng)的核心部件,負(fù)責(zé)控制整個(gè)嵌入式系統(tǒng)的運(yùn)作。實(shí)際中,嵌入式設(shè)備的硬件配置非常靈活。Mini2440開發(fā)板是由廣州友善之臂計(jì)算機(jī)科技有限公司開發(fā)的一款基于三星S3C2440A微處理器的開發(fā)板。板載2M Nor Flash,掉電非易失。(D)1個(gè)100M以太網(wǎng)RJ45口(采用DM9000網(wǎng)卡)。COM0為RS232 DB9接口(亦引出TTL接口)。 機(jī)器人嵌入式硬件系統(tǒng)設(shè)計(jì)方案 機(jī)器人嵌入式硬件系統(tǒng)設(shè)計(jì)總述整個(gè)機(jī)器人就是一個(gè)典型的嵌入式系統(tǒng),其硬件的設(shè)計(jì)就是一個(gè)嵌入式硬件系統(tǒng)。本設(shè)計(jì)的機(jī)器人,主要需要設(shè)計(jì)的外圍電路主要是傳感器系統(tǒng)電路設(shè)計(jì)、動(dòng)力系統(tǒng)電路設(shè)計(jì)和無線通信系統(tǒng)電路設(shè)計(jì)。在本設(shè)計(jì)的遠(yuǎn)程機(jī)器人中,操作人員無法直接感知機(jī)器人所在地方的環(huán)境信息,這對(duì)于機(jī)器人來說,必須要求其具備一個(gè)對(duì)周圍環(huán)境信息采集的傳感器系統(tǒng)。具體連接圖如圖 33所示。在目前的實(shí)際應(yīng)用中,相當(dāng)多的機(jī)器人都是采用輪式移動(dòng)的方式,如火星車等機(jī)器人。該芯片采用15腳封裝。使用L298N芯片驅(qū)動(dòng)電機(jī),該芯片可以驅(qū)動(dòng)一臺(tái)兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī),也可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。本設(shè)計(jì)采用了目前成本比較低的WIFI方案,該方案有效通信距離可達(dá)300米左右,并且可以頻道無需付費(fèi)使用,滿足驗(yàn)證本設(shè)計(jì)的實(shí)驗(yàn)條件。所謂交叉編譯就是在一臺(tái)機(jī)器上編譯軟件,其生成的軟件在另一臺(tái)不同類型處理器的機(jī)器上運(yùn)行。 用Crosstoolng構(gòu)建交叉編譯工具鏈Crosstool是由美國人Dan Kegel開發(fā)的一套可以自動(dòng)編譯不同匹配版本的gcc和glibc,并作測試的腳本程序。(2) 修改交叉編譯器針對(duì)的構(gòu)架:(A)解壓源碼后,使用圖形化工具配置crosstoolng: make menuconfig(B)在出現(xiàn)的圖形界面中修改交叉編譯器選項(xiàng)以針對(duì)的ARM9構(gòu)架:Target options *** Target optimisations *** (armv4t) Architecture level (arm9tdmi) Emit assembly for CPU (arm920t) Tune for CPU(3) 編譯工具鏈:配置完后,在crosstoolng編譯目錄下執(zhí)行命令: ctng 。其作用就是在操作系統(tǒng)加載內(nèi)核運(yùn)行之前,完成對(duì)硬件的初始化。 Uboot移植Uboot是一個(gè)著名常用的開源Bootloader程序,支持X8ARM、MIPS和PowerPC等架構(gòu)的處理器。在Makefile中加上對(duì)mini2440板子的支持,將這個(gè)編譯項(xiàng)命名為robot2440:robot2440_config : unconfig$(MKCONFIG) $(:_config=) arm arm920t robot2440 NULL s3c24x0 各項(xiàng)的意思如下:arm:CPU的架構(gòu)(ARCH)arm920t:CPU的類型(CPU),其對(duì)應(yīng)于cpu/arm920t子目錄。(B)設(shè)置交叉編譯工具鏈,修改頂層Makefile的CROSS_COMPILE定義如下:CROSS_COMPILE=armlinux(C)以sbc2410x為模板例子,在/board目錄下建立robot2440文件夾,并在include/configs/中建立開發(fā)板的配置頭文件,拷貝sbc2410x的文件到robot2440和include/configs/中,并將sbc2410x命名的文件和定義改為robot2440。(6) 生成相應(yīng)平臺(tái)的uboot映像: make robot2440_config make 至此,適應(yīng)S3C2440A微處理器的uboot已經(jīng)成功編譯出來,將其用Jlink燒寫到NAND Flash中。與JFFS相比,它減少了一些功能,因此速度更快、占用內(nèi)存更少。本設(shè)計(jì)將廣州友善之臂計(jì)算機(jī)科技有限公司提供的Mini2440的yaffs2文件系統(tǒng)裁剪了QTOPIA 和QT EMBEDDED ,重新配置啟動(dòng)腳本,使之適應(yīng)本設(shè)計(jì)的運(yùn)行要求。圖 51 機(jī)器人中控軟件系統(tǒng)框架圖 機(jī)器人中控系統(tǒng)軟件整體程序設(shè)計(jì)機(jī)器人中控系統(tǒng)軟件在軟件實(shí)現(xiàn)上,采用Linux的多線程編程技術(shù)和網(wǎng)絡(luò)通信技術(shù),可以更好的滿足對(duì)機(jī)器人各個(gè)部件控制和網(wǎng)絡(luò)通信的實(shí)時(shí)要求。對(duì)V4L編程主要有以下幾個(gè)步驟:(1) 打開設(shè)備;(2) 設(shè)置設(shè)備的屬性;(3) 設(shè)定傳輸格式和傳輸方式;(4) 開始傳輸數(shù)據(jù);(5) 關(guān)閉設(shè)備。/*打開和初始化攝像頭*/int libCam_OpenCamera(char *camera_dev, int w_size, int h_size)/*獲取圖像函數(shù)*/int libCam_GetImage(char* image_data, int image_size) GPS數(shù)據(jù)采集本設(shè)計(jì)采用的GPS設(shè)備是支持串口傳輸?shù)?,Linux 操作系統(tǒng)從一開始就對(duì)串口提供了很好的支持。/*讀GPS數(shù)據(jù)*/int libGPS_ReadGPS(int fd, struct gpsData *data) 電子羅盤數(shù)據(jù)采集本設(shè)計(jì)采用的電子羅盤同樣是支持串口數(shù)據(jù)傳輸?shù)?,機(jī)器人中控系統(tǒng)讀取其數(shù)據(jù)只需調(diào)用功能函數(shù)libCom_ReadDegree往串口讀數(shù)據(jù)即可,函數(shù)返回值即為當(dāng)前地磁偏角的度數(shù)。分別給M1+、M1和M2+、M2加上低電平或者高電平,就能實(shí)現(xiàn)以下五個(gè)功能。 Socket編程簡介對(duì)于TCP協(xié)議數(shù)據(jù)通信,要先建立連接。當(dāng)客戶端通過connect()和服務(wù)器建立連接后就可以通過read()和write()傳送數(shù)據(jù)。為了處理這種情況,本設(shè)計(jì)采用了非阻塞的方式來進(jìn)行網(wǎng)絡(luò)通信??梢愿鶕?jù)這一特性,通過使用多路復(fù)用select來處理。tv),tv為等待的超時(shí)時(shí)間,但內(nèi)核的超時(shí)時(shí)間為75秒,故tv可以設(shè)置為少于75秒的時(shí)間,返回0表示connect超時(shí)。為了解決這樣的問題,本設(shè)計(jì)對(duì)網(wǎng)絡(luò)接收函數(shù)recv進(jìn)行了處理,通過在非阻塞的網(wǎng)絡(luò)連接中,使用多路復(fù)用select(fd_in + 1, amp。利用此方法接收數(shù)據(jù),直到接收到約定的一次接收數(shù)據(jù)的大小的即為完成一次數(shù)據(jù)接收。圖 53 機(jī)器人手持終端軟件框架圖 機(jī)器人手持控制終端軟件設(shè)計(jì)程序整體設(shè)計(jì)機(jī)器人手持控制終端軟件共建立了用于顯示界面和與操作人員進(jìn)行交互的主線程、用于處理機(jī)器人客戶端連接信息的網(wǎng)絡(luò)消息服務(wù)器線程和用于處理客戶端發(fā)送過來的消息的網(wǎng)絡(luò)消息處理線程等三條線程,如圖54所示。(2) 可以顯示圖像、經(jīng)緯度和運(yùn)動(dòng)方向等信息的UI圖像顯示模塊和UI狀態(tài)信息模塊。6 機(jī)器人控制通信系統(tǒng)協(xié)議及其實(shí)現(xiàn)分析 機(jī)器人控制通信系統(tǒng)總述機(jī)器人控制通信系統(tǒng)是整個(gè)機(jī)器人的核心部分,同時(shí)也是機(jī)器人和手持控制終端進(jìn)行信息交互的重要實(shí)現(xiàn)部分。接收方需要執(zhí)行接收消息包、解除消息包序列化、消息包解密、消息包解包、查找消息動(dòng)作、派發(fā)消息動(dòng)作和執(zhí)行消息動(dòng)作以及應(yīng)答發(fā)送方等八個(gè)工作流程。而手持控制終端只需要?jiǎng)?chuàng)建網(wǎng)絡(luò)消息服務(wù)器線程和網(wǎng)絡(luò)消息處理線程。struct PACKETDATA_st結(jié)構(gòu)體變量和數(shù)據(jù)指針data指向數(shù)據(jù)大小為size的內(nèi)存空間數(shù)據(jù)共同組成了完整的消息包內(nèi)容。DATAPACKET *pPacket = NULL。 //填充數(shù)據(jù)包大小變量數(shù)據(jù)同時(shí),在進(jìn)行了數(shù)據(jù)封包后,發(fā)送方還會(huì)將自己的發(fā)送信息和動(dòng)作加入到數(shù)據(jù)封包的消息包中。序列化的消息包格式如表62所示。機(jī)器人在一開始需要和手持控制終端建立數(shù)據(jù)通信的連接,在進(jìn)行通信之前,需要先發(fā)送登陸指令,登陸到手持控制終端。若機(jī)器人需要再次和手持控制終端通信,則需要再一次登陸。若雙方缺少回復(fù),則會(huì)認(rèn)為該次通信為無效通信。兩個(gè)8字節(jié)靜態(tài)密鑰如下:static char enHeadSeed[8] = { 0xae, 0x12, 0x3f, 0x5d, 0x6f, 0x97, 0xed, 0x10 }。 i 8。 j++) p[j * 8 + i] = p[j * 8 + i] ^ p[(j 1) * 8 + i] ^ randomkey。(2)解密時(shí),首先對(duì)尾部數(shù)據(jù)進(jìn)行解密:for( i = 0。 j N。 i++) p[i] = p[i] ^ enHeadSeed[i] ^ randomkey。如果在一定的時(shí)間內(nèi)無法接收到該數(shù)據(jù)包,則判斷為網(wǎng)絡(luò)失效,客戶端和服務(wù)器轉(zhuǎn)去執(zhí)行相應(yīng)的處理,如圖 62所示。Map實(shí)際上是一張哈希表,提供了一對(duì)一的數(shù)據(jù)處理能力,其中第一個(gè)稱為關(guān)鍵字,每個(gè)關(guān)鍵字只能在map中出現(xiàn)一次,第二個(gè)稱為該關(guān)鍵字的值。std::string是唯一的消息識(shí)別標(biāo)識(shí),clientMsgFuncPtr是對(duì)應(yīng)的消息處理函數(shù)指針。當(dāng)服務(wù)器線程上接收到客戶端的連接請(qǐng)求后,會(huì)建立一個(gè)新的socket連接,并將其插入到消息隊(duì)列中,同時(shí)喚醒網(wǎng)絡(luò)消息處理線程。queue_cond )。此時(shí),網(wǎng)絡(luò)消息處理線程又會(huì)將自己置于休眠狀態(tài)。 //處理消息 消息派發(fā)機(jī)制當(dāng)網(wǎng)絡(luò)消息處理線程需要處理消息包的時(shí)候,將會(huì)對(duì)消息包進(jìn)行解析。圖 63 消息派發(fā)流程圖 7 系統(tǒng)分析和總結(jié) 系統(tǒng)分析 系統(tǒng)分析方法簡述本設(shè)計(jì)為遠(yuǎn)程機(jī)器人設(shè)計(jì)了一個(gè)高效安全可靠的機(jī)器人控制通信系統(tǒng),對(duì)其進(jìn)行分析,只需要對(duì)其實(shí)施控制,在模擬的多種不同的使用環(huán)境下工作,判斷其工作狀況就可得知該控制通信系統(tǒng)的性能。在測試的無線網(wǎng)絡(luò)中1秒可達(dá)到20多次數(shù)據(jù)傳輸,在傳輸?shù)倪^程中,不斷點(diǎn)擊控制機(jī)器人移動(dòng)的按鈕,給機(jī)器人發(fā)送控制命令,該類命令數(shù)據(jù)大小為46字節(jié)。本測試主要模擬機(jī)器人在惡劣的網(wǎng)絡(luò)通信環(huán)境中工作,驗(yàn)證機(jī)器人的自救性。但是機(jī)器人終端的控制通信系統(tǒng)采用了心跳機(jī)制來檢測網(wǎng)絡(luò)的情況,并且在應(yīng)對(duì)惡劣的網(wǎng)絡(luò)環(huán)境也有一套處理機(jī)制。若一直連接不上,則會(huì)重復(fù)這個(gè)過程,直到連接到手持控制終端為止。8 總 結(jié) 本文初步探討了遠(yuǎn)程機(jī)器人的研究現(xiàn)狀和意義,設(shè)計(jì)了一個(gè)機(jī)基于ARM技術(shù)的遠(yuǎn)程機(jī)器人控制通信系統(tǒng)?;贏RM920T微處理器內(nèi)核的三星S3C2440A不但性能強(qiáng)大,而且提供了豐富的外圍接口,如USB接口,多路串口等,使得在機(jī)器人在硬件設(shè)計(jì)上簡單高效。這樣機(jī)器人的控制終端就變得具有多樣性。(2) 在無線控制方面,盡管已經(jīng)實(shí)現(xiàn)了在WIFI網(wǎng)絡(luò)下的遠(yuǎn)程控制,但由于WIFI網(wǎng)絡(luò)傳輸范圍比較小,并不足以支持大范圍內(nèi)的控制,必須要增大網(wǎng)絡(luò)傳輸和控制范圍,以后需要支持2G和3G網(wǎng)絡(luò)。*老師嚴(yán)謹(jǐn)?shù)膶W(xué)術(shù)態(tài)度,認(rèn)真負(fù)責(zé)的做事方法深深地影響著我,我從他那里不僅學(xué)到了豐富的專業(yè)知識(shí),也學(xué)到了終生受用的做人和做事方法。在此,我還要感謝與我一起生活了四年的P224室友們,正是你們的幫助和支持,正是你們的理解和關(guān)心,我才能克服一個(gè)又一個(gè)的困難,完成我的畢業(yè)論文。感謝他們最無私的愛,感謝他們最大的關(guān)懷與包容,沒有他們就沒有今天的我
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1