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

正文內(nèi)容

小型移動(dòng)機(jī)器人遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)(完整版)

  

【正文】 情況,發(fā)送指令,Xavier接受指令后可以在樓內(nèi)各層房間進(jìn)行簡(jiǎn)單的文件傳送,敲門,說話等活動(dòng)。該項(xiàng)目設(shè)計(jì)了三個(gè)WEB接口用于控制向?qū)C(jī)器人以及它和人群的互動(dòng)。目前,嵌入式系統(tǒng)產(chǎn)品的研制和應(yīng)用已經(jīng)成為我國(guó)信息化帶動(dòng)工業(yè)化、工業(yè)化促進(jìn)信息化發(fā)展的新的國(guó)民經(jīng)濟(jì)增長(zhǎng)點(diǎn)。這已逐漸成為嵌入式系統(tǒng)開發(fā)的一個(gè)發(fā)展方向。3. WinCEWinCE是Microsoft公司推出的嵌入式操作系統(tǒng),支持眾多的硬件平臺(tái),其最主要的特點(diǎn)是擁有與桌面型Windows系列一致的程序開發(fā)界面。國(guó)內(nèi)也有不少的單位在Linux方面做了卓有成效的工作,如中科紅旗、拓林思等。且商業(yè)操作系統(tǒng)下建立一個(gè)開發(fā)工具鏈,除了要為操作系統(tǒng)本身付費(fèi)之外,還要為組成工具鏈的應(yīng)用軟件工具包支付大量的使用費(fèi)用。移植到新微處理器ARM家族的Linux內(nèi)核運(yùn)行起來也非常穩(wěn)定。本文主要研究如何將移動(dòng)機(jī)器人與Internet結(jié)合,構(gòu)建一個(gè)易于移植、可擴(kuò)展、開放的、可重構(gòu)的系統(tǒng)控制框架。主要包括機(jī)器人運(yùn)動(dòng)控制的實(shí)現(xiàn)、內(nèi)部傳感器信息的獲取、攝像頭圖像采集,以及同上位機(jī)的通訊接口設(shè)計(jì)等。在C/S模式中,客戶端需要操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議、客戶機(jī)軟件和應(yīng)用軟件等幾層軟件,而在服務(wù)器端只有單純的數(shù)據(jù)庫(kù)服務(wù)器。Telerobot 的Internet 服務(wù)器由三部分組成:Web 服務(wù)程序、用戶數(shù)據(jù)庫(kù)和Winsock 通訊程序,是一臺(tái)擁有靜態(tài)IP 地址的服務(wù)器;它在Windows NT4. 0 下運(yùn)行Apache 3. 12 HTTP 服務(wù)程序。網(wǎng)絡(luò)攝像頭圖像服務(wù)器本地PCInternet遠(yuǎn)端用戶HTTP服務(wù)器無線通訊Pioneer 2移動(dòng)機(jī)器人圖22 基于B/S模式的多機(jī)器人遠(yuǎn)程控制系統(tǒng)結(jié)構(gòu) 系統(tǒng)體系結(jié)構(gòu)如上文所述,現(xiàn)有移動(dòng)機(jī)器人的遠(yuǎn)程控制系統(tǒng)采用專門的工控PC機(jī)作為機(jī)器人的控制服務(wù)器,并與機(jī)器人本體分離。多個(gè)機(jī)器人間則也可通過網(wǎng)絡(luò)控制服務(wù)進(jìn)行通訊,實(shí)現(xiàn)信息共享。 機(jī)器人運(yùn)動(dòng)控制與傳感信息采集機(jī)器人運(yùn)動(dòng)控制與傳感信息采集主要完成對(duì)移動(dòng)機(jī)器人驅(qū)動(dòng)電機(jī)的控制、圖像信息采集,以及內(nèi)部傳感器(指機(jī)器人自身攜帶的各式傳感器,如超聲波傳感器、電子羅盤和光敏傳感器等)信息的獲取。同時(shí)提供這兩種服務(wù),融合了C/S模式的高度靈活性和B/S模式的簡(jiǎn)單、便捷性。ARM920T處理器核實(shí)現(xiàn)了內(nèi)存管理功能(MMU),AMBA BUS和Harvard高速緩沖體系結(jié)構(gòu)。USB HOST1USB HOST2JTAG以太網(wǎng)口電 源串口2串口1串口0FLASHSDRAMS3C2410主控制芯片圖25 主控制板硬件框圖 運(yùn)動(dòng)控制與內(nèi)部傳感單元系統(tǒng)將機(jī)器人的運(yùn)動(dòng)控制與一內(nèi)部傳感器信息采集集成在一塊控制板中。運(yùn)動(dòng)控制與內(nèi)部傳感單元與主控制板通過串口連接,并使用自定義的一套命令接口進(jìn)行通訊,實(shí)現(xiàn)底層硬件操作的封裝。武漢理工大學(xué)碩士學(xué)位論文第3章 機(jī)器人控制系統(tǒng)平臺(tái)構(gòu)建隨著嵌入式處理器不斷發(fā)展,以及嵌入式軟件的不斷進(jìn)步,嵌入式設(shè)備的計(jì)算能力和功能得到了極大的提升。通常的嵌入式系統(tǒng)的軟件開發(fā)采用一種交叉編譯調(diào)試的方式。 宿主機(jī)目標(biāo)板網(wǎng)線串口線HUB網(wǎng)線圖31 宿主機(jī)和目標(biāo)板連接示意圖另外,還需在宿主機(jī)上配置NFS服務(wù)TFTP服務(wù):(1) NFS服務(wù)的配置: 首先必須關(guān)閉Linux系統(tǒng)的防火墻,然后在REDHAT LINUX PC機(jī)上shell提示符[root….]中執(zhí)行setup,彈出菜單界面后, 選中System services,回車進(jìn)入系統(tǒng)服務(wù)選項(xiàng)菜單,在其中選中 [*]nfs ,然后退出setup界面返回到命令提示符下,執(zhí)行vim /etc/exports ,將這個(gè)默認(rèn)的空文件修改為只有如下一行內(nèi)容: / (rw) //即根目錄可讀寫,/和(rw)之間要留空格 然后保存退出(:wq),再執(zhí)行/etc/。嵌入式Linux系統(tǒng)中常用的Bootloader有armboot、redboot、blob、uboot等。,它用匯編語言寫成,主要完成以下幾部分工作:(1) 定義入口。stage2代碼使用C語言編寫,lib_arm/( )是整個(gè)啟動(dòng)代碼中C語言的主函數(shù),該函數(shù)主要完成如下操作:(1) 調(diào)用一系列的初始化函數(shù)。將下載的源代碼解壓后,可以看到有很多的文件和目錄,其中和移植相關(guān)的文件夾有:(1) CPUCPU相關(guān)文件,其中的子目錄都是以u(píng)boot所支持的CPU為名,比如有子目錄arm920t、mips、mpc8260和nios等。 uboot的移植過程由于uboot已經(jīng)支持了S3C2410微處理器,所以CPU目錄下的文件不需要專門去編寫,而與主控制板相關(guān)的代碼也可以參照board/smdk2410目錄中的文件進(jìn)行開發(fā)。在本系統(tǒng)中,F(xiàn)LASH使用的是Intel的E28F128系列芯片大小為16M字節(jié)。由于像 ARM 這樣的嵌入式 CPU 通常都是在統(tǒng)一的地址空間中尋址 Flash 等固態(tài)存儲(chǔ)設(shè)備的,因此從 Flash 上讀取數(shù)據(jù)與從 RAM 單元中讀取數(shù)據(jù)并沒有什么不同,用一個(gè)簡(jiǎn)單的循環(huán)就可以完成從 Flash 設(shè)備上拷貝映像的工作。我們用這樣一個(gè)命令行參數(shù)字符串console=ttyS0,115200n8來通知內(nèi)核以 ttyS0 作為控制臺(tái),且串口采用 115200bps、無奇偶校驗(yàn)、8位數(shù)據(jù)位這樣的設(shè)置。(2) /drivers包含了內(nèi)核中所有的設(shè)備驅(qū)動(dòng)程序。(7) /kernel包含了主內(nèi)核代碼。此時(shí)主要的工作,就是根據(jù)需要對(duì)內(nèi)核進(jìn)行裁剪和編譯:(1) 修改Linux源代碼根目錄下的makefile,指定目標(biāo)板處理器類型,即“ARCH=arm” ,并指定交叉編譯器的路徑“CROSS_COMPILE = /opt/host/armv4l/bin/armv4lunknownlinux” ;(2) 配置內(nèi)核:make menuconfig;(3) 創(chuàng)建內(nèi)核依賴關(guān)系:make dep;(4) 創(chuàng)建內(nèi)核鏡像文件:make zImage;(5) 創(chuàng)建內(nèi)核模塊:make modulesmake,modules_install。這種模塊化的特點(diǎn)使得Linux驅(qū)動(dòng)程序的編寫非常簡(jiǎn)單,因此內(nèi)核驅(qū)動(dòng)程序的數(shù)目也迅速增長(zhǎng),目前已有成百上千的驅(qū)動(dòng)程序可用。(3) USB設(shè)備類驅(qū)動(dòng):是最終與應(yīng)用程序交互的軟件模塊,其主要實(shí)現(xiàn)的功能有:訪問特定的USB設(shè)備、為應(yīng)用程序提供訪問接口等。目前,該項(xiàng)目對(duì)基于Intersil Prism Prism3 芯片的PCMCIA、PCI和 USB無線網(wǎng)卡的支持比較好。其中“ssid=sensorrobot”是無線路由器的ID,“authtype=opensystem”表示沒有安全密碼設(shè)置。攝像頭屬于視頻類設(shè)備。具體的移植過程如下:1) 打補(bǔ)丁。此時(shí),在主控制板的USB HOST2口插入攝像頭,在主控制板的控制臺(tái)執(zhí)行“insmod /application/”,即可以看到攝像頭被成功驅(qū)動(dòng)的信息,如圖36所示。為實(shí)現(xiàn)這些底層操作對(duì)上層的封裝,系統(tǒng)為其定義了一套命令接口。在該函數(shù)中,要根據(jù)傳入的參數(shù)來修改速度緩存區(qū)中對(duì)應(yīng)通道的速度值,若是第一次調(diào)用該函數(shù),還需初始化定時(shí)器3,如設(shè)置定時(shí)器工作模式,中斷使能等。中變化,因此采用數(shù)字接口來檢測(cè)該傳感器的值。 // 13通道接的是電子羅盤currentangle=sensor_buf[13]。 motor(4,170)。 while(1) { sensor(6,13)。其中mand_h代表傳感器的類型;mand_l代表該傳感器所在的傳感器通道號(hào)。圖41是該部分控制的程序流程圖。當(dāng)上位機(jī)有數(shù)據(jù)到達(dá)時(shí),首先判斷其是高級(jí)控制命令,還是狀態(tài)信息查詢、停止運(yùn)行或繼續(xù)運(yùn)行,若是狀態(tài)信息查詢,則直接將保存在緩沖區(qū)中機(jī)器人狀態(tài)信息發(fā)送回上位機(jī);若是停止運(yùn)行命令,則需要停止定時(shí)器3的運(yùn)行,并將其中斷關(guān)掉,這樣電機(jī)的控制信號(hào)就能停止輸出,從而使電機(jī)停止轉(zhuǎn)動(dòng);若是繼續(xù)運(yùn)行命令,則只需重新啟動(dòng)定時(shí)器3,并將其中斷使能;若是高級(jí)控制命令,則需將接收模式標(biāo)志置1,準(zhǔn)備接收二級(jí)命令,當(dāng)三個(gè)字節(jié)接收完畢后,要將接收模式標(biāo)志置0,然后根據(jù)二級(jí)命令的數(shù)值調(diào)用相應(yīng)的處理函數(shù),當(dāng)處理函數(shù)執(zhí)行完畢時(shí),需向上位機(jī)返回一個(gè)命令執(zhí)行完畢標(biāo)志。文中詳細(xì)說明了在移植過程中筆者遇到的問題及相應(yīng)的解決方法。此時(shí)會(huì)有錯(cuò)誤出現(xiàn)。這個(gè)標(biāo)準(zhǔn)定義了一套接口,內(nèi)核、驅(qū)動(dòng)、應(yīng)用程序以這個(gè)接口為標(biāo)準(zhǔn)進(jìn)行交流。設(shè)置無線網(wǎng)卡的IP地址。具體的步驟如下:(1) 執(zhí)行make config,選擇for usb,指定Linux的源代碼所在路徑(在編譯過程中會(huì)用到內(nèi)核的一些文件),指定交叉編譯器路徑; (2) 執(zhí)行make進(jìn)行編譯。Linux定義了通用的數(shù)據(jù)結(jié)構(gòu)URB用來在USB設(shè)備類驅(qū)動(dòng)和USBD,USBD和HCD間進(jìn)行數(shù)據(jù)傳輸。塊設(shè)備驅(qū)動(dòng)程序和字符設(shè)備驅(qū)動(dòng)程序的主要區(qū)別是:在對(duì)字符設(shè)備發(fā)出讀寫請(qǐng)求時(shí),實(shí)際的硬件I/O一般緊接著就發(fā)生了,塊設(shè)備則不然,它利用一塊系統(tǒng)內(nèi)存作為緩沖區(qū),當(dāng)用戶進(jìn)程對(duì)設(shè)備請(qǐng)求能滿足用戶的要求時(shí),就返回請(qǐng)求的數(shù)據(jù),如果不能就調(diào)用請(qǐng)求函數(shù)來進(jìn)行實(shí)際的I/O操作。圖34是移植的Linux系統(tǒng)啟動(dòng)時(shí)的畫面。(9) /net包含了和網(wǎng)絡(luò)相關(guān)的代碼。(4) /include包含了建立內(nèi)核代碼時(shí)所需的大部分庫(kù)文件,這個(gè)模塊利用其他模塊重建內(nèi)核。調(diào)用 Linux 內(nèi)核的方法是直接跳轉(zhuǎn)到內(nèi)核的第一條指令處,即執(zhí)行“theKernel (0, bdbi_arch_number, bdbi_boot_params)”。Linux 以后的內(nèi)核都期望以標(biāo)記列表(tagged list)的形式來傳遞啟動(dòng)參數(shù)。7. 實(shí)現(xiàn)網(wǎng)口芯片DM9000的驅(qū)動(dòng),主要是在drivers/ , 主要包括以下函數(shù):int eth_init (bd_t *bd),初始化網(wǎng)絡(luò)設(shè)備; void eth_halt (void),關(guān)閉網(wǎng)絡(luò)設(shè)備; int eth_send (volatile void *packet,int len),發(fā)送數(shù)據(jù)包; int eth_rx (void) 接收數(shù)據(jù)包;最后在drivers/。在include/configs/。其中,、設(shè)置指令Cache和數(shù)據(jù)Cache等;,比如快速中斷、開關(guān)中斷、時(shí)鐘中斷、軟件中斷、預(yù)取中止和未定義指令等;,它主要是設(shè)置系統(tǒng)堆棧和工作方式,為進(jìn)入C程序奠定基礎(chǔ);s3c24x0和at91rm9200等子目錄下的文件則是對(duì)那些集成了arm920t核的微處理器相關(guān)的代碼,、。(3) 初始化系統(tǒng)內(nèi)存分配函數(shù)。(2) 設(shè)置異常向量(Exception Vector)。它可對(duì)PowerPC、MPC、ARM、MIPS、X86等架構(gòu)的處理器提供支持,支持的嵌入式操作系統(tǒng)有Linux、VxWorks、NetBSD、QNX、LynxOS等,主要用來開發(fā)嵌入式系統(tǒng)初始化代碼Bootloader。 最后,退出setup,執(zhí)行如下命令以啟動(dòng)TFTP服務(wù): service xinetd restart 在具體的開發(fā)過程中,宿主PC 機(jī)上運(yùn)行mini 作為目標(biāo)板的顯示終端,在目標(biāo)板上通過NFS (網(wǎng)絡(luò)文件系統(tǒng)) 來mount宿主機(jī)硬盤,讓應(yīng)用程序直接運(yùn)行在目標(biāo)板上進(jìn)行調(diào)試。 開發(fā)時(shí)使用宿主機(jī)上的交叉編譯、匯編及連接工具形成能在目標(biāo)板上執(zhí)行的二進(jìn)制代碼,然后把可執(zhí)行文件下載到目標(biāo)機(jī)上運(yùn)行[37]。嵌入式Linux系統(tǒng)支持各種標(biāo)準(zhǔn)的通訊協(xié)議,能為服務(wù)器提供完備的網(wǎng)絡(luò)環(huán)境。無線傳感器網(wǎng)絡(luò)能對(duì)環(huán)境進(jìn)行大范圍的、連續(xù)的監(jiān)測(cè),可以彌補(bǔ)機(jī)器人感知能力的不足。PIC系列單片機(jī)是由Microchip公司開發(fā)的微控制器,其突出的特點(diǎn)是低功耗,非常適用于各種低功率要求的應(yīng)用。S3C2410處理器集成的外圍器件主要有外部存儲(chǔ)控制器(SDRAM控制和片選邏輯)、 LCD控制器(最大支持4K色STN和256K色TFT)、3通道UART和兩通道SPI、2個(gè)USB主機(jī)端口和1個(gè)USB設(shè)備端口() 、117個(gè)通用I/O口和24通道外部中斷源、觸摸屏接口等。 客戶端客戶端,即用戶的操作平臺(tái),可以由一臺(tái)聯(lián)網(wǎng)的PC機(jī),或任何具備上網(wǎng)功能的PDA、智能手機(jī)等嵌入式終端來實(shí)現(xiàn)。為適應(yīng)小型移動(dòng)機(jī)器人的要求,系統(tǒng)在實(shí)現(xiàn)過程中,將內(nèi)部傳感器信息的采集和機(jī)器人運(yùn)動(dòng)控制合成在一塊控制板上,這樣不斷可以滿足一般的運(yùn)動(dòng)控制和傳感信息采集,還可以將一些簡(jiǎn)單的行為控制(如轉(zhuǎn)向、尋光等)放到該塊控制板上完成,提高了機(jī)器人控制的效率,以及靈活性。 機(jī)器人控制系統(tǒng)平臺(tái)隨著嵌入式處理器不斷發(fā)展,以及嵌入式軟件的不斷進(jìn)步,嵌入式設(shè)備的計(jì)算能力和功能得到了極大的提升。隨著集成電路技術(shù)和軟件業(yè)的飛速發(fā)展,實(shí)現(xiàn)嵌入式系統(tǒng)直接接入Internet 已經(jīng)變?yōu)榭赡?。這種兩層服務(wù)器結(jié)構(gòu)可以很好地分離網(wǎng)絡(luò)信息處理部分和機(jī)器人硬件控制部分,提高了系統(tǒng)的安全性和靈活性。B/S模式簡(jiǎn)化了客戶端軟件,只需要安裝上瀏覽器作為客戶端應(yīng)用的運(yùn)作平臺(tái),而將所有的開發(fā)、維護(hù)和升級(jí)工作集中在服務(wù)器端。主要包括機(jī)器人網(wǎng)絡(luò)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)、嵌入式Web服務(wù)器及CGI控制程序、基于網(wǎng)頁(yè)的傳感信息與圖像信息的發(fā)布等。論文的主要研究?jī)?nèi)容如下: (1) 怎樣構(gòu)建一個(gè)基于嵌入式系統(tǒng)的、開放的、可擴(kuò)展的機(jī)器人控制系統(tǒng)平臺(tái);(2) 如何實(shí)現(xiàn)移動(dòng)機(jī)器人的運(yùn)動(dòng)控制與傳感器信息的采集,以及底層硬件對(duì)上層控制器的封裝;(3) 如何實(shí)現(xiàn)機(jī)器人與Internet的通訊,以及通訊接口的標(biāo)準(zhǔn)化;(4) 怎樣實(shí)現(xiàn)機(jī)器人的遠(yuǎn)程監(jiān)控系統(tǒng)。一般開發(fā)嵌入式操作系統(tǒng)的程序調(diào)試和跟蹤都是使用仿真器來實(shí)現(xiàn)的,而使用Linux系統(tǒng)做原型的時(shí)候,可以饒過這個(gè)障礙,直接使用內(nèi)核調(diào)試器來做操作系統(tǒng)的內(nèi)核調(diào)試和查錯(cuò)。Linux下有同樣遵循GPL規(guī)定的C,C++,Java等一系列的軟件工具開發(fā)包,從功能角度
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1