亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ROS的救援船體機器人控制系統(tǒng)設(shè)計

        2018-02-26 07:34:22吳志鵬廖志青冼嘉媚曾奕雄
        裝備制造技術(shù) 2018年12期
        關(guān)鍵詞:功能系統(tǒng)

        吳志鵬,廖志青,冼嘉媚,曾奕雄,何 威

        (華南理工大學(xué)廣州學(xué)院,廣東 廣州 515000)

        0 前言

        中國南方地區(qū)夏季多雨,特別是長江流域容易發(fā)生洪災(zāi);東南沿海地區(qū)還會受到臺風(fēng)的影響,容易引發(fā)洪水、泥石流等次生災(zāi)害;夏季城市容易發(fā)生內(nèi)澇。由于洪澇災(zāi)害的危害性很大,它不僅對經(jīng)濟(jì)造成嚴(yán)重的損失,而且還奪取了人類的生命。為了解決這個問題,設(shè)計了救援船體機器人,由第一代清潔船體機器人(圖1)迭代升級,將垃圾清潔裝置改為機械臂、拋射器和收繩器,由拋射器加機械臂的結(jié)構(gòu)精準(zhǔn)拋射出救生圈,對溺水人員實施救援。

        本救援船體機器人中的控制系統(tǒng)有效地解決了救援船體的控制問題,致力于更好的后期算法開發(fā)。系統(tǒng)使用基于Linux操作系統(tǒng)上的ROS機器人操作系統(tǒng),下位機使用基于Cortex-M3內(nèi)核的32位高性能微控制器STM32F103ZET6為主控制芯片,為底層電機等運動原件提供控制[1]。救援船體機器人所要求的功能為救援動作的實施,如救生圈拋置、機器手拋擲、船體運動、圖像傳輸、路徑處理等功能,通過對各項功能進(jìn)行分析得出將ROS機器人操作系統(tǒng)移植到救援船體機器人上的方案是可以實施的,并且將大大降低對執(zhí)行機構(gòu)信息處理的要求,轉(zhuǎn)為對微型電腦的要求。

        對于救援船體機器人使用ROS機器人操作系統(tǒng),一是便于搭建框架整體,二是便于日后升級迭代產(chǎn)品[2],使救援船體機器人可以與時俱進(jìn),增添不同模塊,適用于不同水域不同情況。下面對設(shè)計過程進(jìn)行闡述。

        圖1 初代清潔船

        1 救援船硬件系統(tǒng)設(shè)計

        為了救援船實現(xiàn)圖片傳輸、路徑規(guī)劃、船體控制和機械臂控制等功能,下位機芯片使用STM32F103ZET6控制芯片??刂品绞绞峭ㄟ^上位機PC端發(fā)出協(xié)議擬定的命令到下位機STM32串口,下位機STM32已經(jīng)寫好指定動作,如收到0x7F010X120103BCC的串口數(shù)據(jù)則螺旋槳正轉(zhuǎn)等,同過上位機發(fā)送不同的指令,實現(xiàn)對清潔船體控制。

        1.1 下位機芯片STM32F103ZET6的開發(fā)

        圖2所示為STM32F103ZET6開發(fā)系統(tǒng)圖,該芯片具有64KB SRAM、512KB FLASH、2個基本定時器、4個通用定時器、2個高級定時器、2個DMA控制器(共 12個通道)、3個 SPI、2個 IIC、5個串口、1個USB、1個 CAN、3個 12位 ADC、1個 12位 DAC、1個SDIO接口、1個FSMC接口以及112個通用IO口[3]。

        STM32特點:外設(shè)豐富,STM32擁有包括FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等眾多外設(shè)及功能,具有極高的集成度;優(yōu)異的實時性能,84個中斷,16級可編程優(yōu)先級,并且所有的引腳都可以作為中斷輸入;杰出的功耗控制。STM32各個外設(shè)都有自己的獨立時鐘開關(guān),可以通過關(guān)閉相應(yīng)外設(shè)的時鐘來降低功耗;支持SWD和JTAG兩種調(diào)試口。SWD調(diào)試可以為你的設(shè)計帶來跟多的方便,只需要2個IO口,即可實現(xiàn)仿真調(diào)試。該開發(fā)板的部分參數(shù)如下:

        (1)板子外形 10 mm×8 mm;

        (2)主芯片 STM32F103RCT6(64腳);

        (3)電源RTC后備電池座;

        (4)2個USB取電口;

        (5)5 V電源接口;

        (6)3.3 V電源接口;

        外擴8MB SPI FLASH(W25Q65)和外擴EEPROM 24CO2 SPI;

        主芯片 STM32F103RCT6(64腳);

        芯片 FLASH:256K和芯片SRAM:48K.

        圖2 STM32 F103開發(fā)系統(tǒng)圖

        1.2 硬件總體框圖設(shè)計

        為了更好地闡述救援船硬件部分內(nèi)容,將救援船系統(tǒng)劃分為幾大系統(tǒng)。救援船體系統(tǒng)由上位機系統(tǒng)、下位機主控系統(tǒng)、機械臂控制器、船體運動控制器組成的控制系統(tǒng),系統(tǒng)總體框圖如圖3所示。在下位機各個系統(tǒng)配置了多種編碼器、傳感器,用于船體、機械臂等。并且設(shè)置遠(yuǎn)程遙控器和圖傳模塊,以便進(jìn)行人機交互的功能。

        圖3 硬件總框架

        2 機械結(jié)構(gòu)設(shè)計

        在對機器人的設(shè)計研究的過程中,主要是根據(jù)機器人所要實現(xiàn)的三個功能進(jìn)行設(shè)計,分別是:拋射救生圈功能、回收救生圈、遠(yuǎn)程遙控功能。

        在初代清潔船的基礎(chǔ)上將傳送帶等清潔功能移除,改為一個三軸機械臂,再在機械臂上安裝一個拋射器,拋射器安裝有一個氣壓發(fā)射裝置,通過觸動開關(guān),拋射一個帶有繩子的救生圈,通過機械臂關(guān)節(jié)的移動來改變拋射器的拋射角度,從而達(dá)到精準(zhǔn)救援,再在救援船底部安裝一個由直流無刷電機組成的收繩器,通過電機正轉(zhuǎn),達(dá)到收繩的功能。

        船體左右對稱分布,船架則為支撐整個船體,船架通過六個定點連接兩側(cè)浮筒,限制多個自由度,防止上下左右出現(xiàn)松動情況,更加穩(wěn)固。對于受力負(fù)荷過強的部分船架(如:傳動機構(gòu)板塊、調(diào)節(jié)機構(gòu)板塊)采用三角形定理,增加支架,使得承受負(fù)載增大不易變形。船架材料采用硬鋁為主,合金鋼為輔(部分高強度部位),用以減輕整體船重,同時長時間在水中作業(yè)要避免被腐蝕。螺旋槳動力部分負(fù)責(zé)驅(qū)動機器人前進(jìn)(如圖4),螺旋槳的轉(zhuǎn)向由另一個直流無刷電機負(fù)責(zé),動力部分安裝有伺服驅(qū)動、16位絕對式編碼器、霍爾傳感器來確保轉(zhuǎn)向準(zhǔn)確。

        圖4 動力系統(tǒng)

        3 控制系統(tǒng)軟件設(shè)計

        在操作者控制下,操作者通過遠(yuǎn)程攝像頭了解方位與救援需求,通過遠(yuǎn)程遙控器發(fā)射指定信號到PC端,經(jīng)過ROS信號觸發(fā),發(fā)布消息到串口節(jié)點,再由串口節(jié)點發(fā)送指令到STM32控制板中,實現(xiàn)控制精準(zhǔn)拋投器拋射救生圈。通過攝像頭判斷出溺水人員已經(jīng)成功抓牢救生圈時,通過遠(yuǎn)程遙控器發(fā)送指令到PC端,再由PC端發(fā)布消息到串口節(jié)點,由串口節(jié)點發(fā)送電機回收指令,使收繩器啟動,回收救生圈。

        3.1 控制系統(tǒng)初始化

        當(dāng)PC機啟動時,預(yù)先寫好在Service文件中的launch文件會啟動,即ROS各個節(jié)點程序啟動,開始于下位機通訊,發(fā)送指令初始化下位機stm32,包括:時鐘、GPIO、串口、LCD、中斷及其分組、延時函數(shù)、定時器、字庫等的初始化。后等待遙控器的指令,啟動救援船體機器人。

        3.2 串口通信

        通信部分主要由USART利用STM32內(nèi)部串口的資源來實現(xiàn)PC端ROS操作系統(tǒng)和下位機的數(shù)據(jù)傳遞指令的下達(dá),搖桿遙控帶接收器采用433通訊傳輸方式發(fā)送數(shù)據(jù)到PC端ROS操作系統(tǒng)。在linux系統(tǒng)上使用ROS平臺進(jìn)行上層與下層通訊,使用編程語言C++為基礎(chǔ),調(diào)用serial庫與下位機STM32進(jìn)行串口通訊。定義發(fā)送至下位機的信息,即x、y軸的速度以及方向角,從ROS中的cmd_vel主題獲取發(fā)布速度以及方向角,并將方向角轉(zhuǎn)化為四元數(shù),將以上所有信息加上兩個停止位存儲至列表。初始化串口信息,設(shè)置端口號、波特率、通信字節(jié)位數(shù)等。首先測試是否能成功連接串口,若成功則將存儲速度以、方向四元數(shù)以及停止位的列表發(fā)送至下位機,如不成功則拋出響應(yīng)問題。接收下位機傳輸至上位機的信息,對其信息進(jìn)行解析,可以初略得出救援船體機器人當(dāng)前所在位置,使用其他傳感器更加精確定位。

        3.3 圖傳模塊功能實現(xiàn)

        圖傳模塊功能,通過5.8 G,200 mW圖傳發(fā)射器,發(fā)送攝像頭接收到的圖片數(shù)據(jù),該發(fā)射器有40個頻點,頻率范圍在5.645 GHz~5.945 GHz,電壓輸入范圍7~24 V.圖傳接收器4.3寸接收顯示一體機,內(nèi)置靈敏度5.8 G接收器,接收頻率范圍為5.645 GHz~5.945 GHz,32頻點與5.8 G圖傳發(fā)射器匹配,要求攝像頭的圖像制式為NTSC內(nèi)置天線電池。

        3.4 船體控制功能、機械臂控制功能實現(xiàn)

        船體控制功能,下位機已經(jīng)封裝好各個不同執(zhí)行機構(gòu)的動作,如螺旋槳正轉(zhuǎn)反轉(zhuǎn)、機械臂旋轉(zhuǎn)、拋射器發(fā)射等,通過遙控器和圖傳模塊進(jìn)行遠(yuǎn)程人機交互操控,操控手柄選擇螺旋槳旋轉(zhuǎn)等不同動作,操控手柄發(fā)送信號到PC端ROS機器人操控系統(tǒng)通過USART通訊將人機交互結(jié)果發(fā)送至下位機STM32實現(xiàn)船體的位移。

        STM32接收程序部分如下:

        void USART1_IRQHandler(void)//′串口1中斷程序

        {

        u8 Res;

        if(USART_GetITStatus(USART1 , USART_IT_RXNE)!=RESET) //接收中斷

        {

        Res=USART_ReceiveData(USART1); //讀取

        if(Res==1)

        {

        ZX0=0;

        ZX1=1;

        }

        else if(Res==2)

        {

        ZX0=1;

        ZX1=0;

        }

        else if(Res==3)

        {

        }

        else if(Res==4)

        {

        POWER=0;

        OUT0=1;

        YEL=0;

        BLU=0;

        OUT1=0;

        YEL_K=1;

        BLU_K=1;

        OUT1_K=1;

        POWER=1;

        }

        3.5 路徑規(guī)劃功能實現(xiàn)

        路徑規(guī)劃功能,因為救援船體上安裝要激光雷達(dá)等多個傳感器,可以檢測出湖面礁石、障礙物等,通過傳感器下位機stm32串口返回的數(shù)據(jù),救援船體機器人傳感器模塊ROS節(jié)點,使用GPS、imu以及下位機傳輸上來的里程計能進(jìn)行更加精確的位置定位,使用激光雷達(dá)可以進(jìn)行躲避障礙物的功能。安裝GPS,imu相對應(yīng)的驅(qū)動,使用C++編寫ROS節(jié)點,發(fā)布節(jié)點消息,使用ekf算法對GPS、imu以及里程計發(fā)布的消息進(jìn)行融合得到更加精確的位置定位。激光雷達(dá)進(jìn)行避障,在確定目標(biāo)位置時使用global_costmap對總路徑進(jìn)行規(guī)劃,并不斷更行,local_costmap本地路徑規(guī)劃,在救援船體機器人運行時出現(xiàn)障礙物的時候能及時規(guī)劃躲避路徑,完成躲避障礙物的功能。使用攝像頭進(jìn)行圖像傳輸,安裝響應(yīng)節(jié)點,打開攝像頭,并且使用SSH遠(yuǎn)程連接,則可以進(jìn)行遠(yuǎn)程圖像傳輸??梢詫崟r的對水面以及救援船體機器人進(jìn)行實況轉(zhuǎn)播,能及時了解船體以及水面當(dāng)前情況。通過ROS節(jié)點處理,可以輕松避開障礙物等阻礙船體運行的物體,實現(xiàn)路徑規(guī)劃的功能。主要通過激光雷達(dá)實現(xiàn)即時的規(guī)劃躲避障礙物,防止救援船體與障礙物相撞,損壞船體。ROS有自帶navigation導(dǎo)航包,通過調(diào)用導(dǎo)航包,可以檢測出船體附件環(huán)境等,通過節(jié)點反饋,避開路障實現(xiàn)路徑規(guī)劃的功能如圖5所示。

        圖5 避障測試

        救援船體機器人平臺將運行ROS的PC作服務(wù)器端,主要負(fù)責(zé)復(fù)雜的計算和路徑規(guī)劃等復(fù)雜程度不一的任務(wù)。救援船體機器人由二級功能節(jié)點和任務(wù)控制等模塊組成,這樣系統(tǒng)可以在智能化和可靠性上都能滿足救援船體機器人的需求。ROS機器人操作系統(tǒng)平臺可用于開發(fā)一系列機器人系統(tǒng),也可用于開發(fā)多機器人系統(tǒng)和非工業(yè)機器人系統(tǒng),如足球機器人系統(tǒng)、服務(wù)類機器人系統(tǒng)、無人機系統(tǒng)等。

        4 結(jié)束語

        救援船體機器人用STM32下位機和機器人開源操作系統(tǒng)ROS設(shè)計了一個救援船體機器人系統(tǒng)。該系統(tǒng)首先由機器人平臺主控制器對多種傳感器進(jìn)行信息采集和整合,通過STM32各傳感器采集數(shù)據(jù)向上位機發(fā)送當(dāng)前數(shù)據(jù)然后利用串口通信傳輸,并能遠(yuǎn)程控制救援船體機器人進(jìn)行精確移動,最后對救援船體機器人進(jìn)行了系統(tǒng)調(diào)試和測試,通過對救援船體機器人進(jìn)行參數(shù)校核和完善程序等過程,使機器人系統(tǒng)達(dá)到了預(yù)期的設(shè)計要求。

        猜你喜歡
        功能系統(tǒng)
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        關(guān)于非首都功能疏解的幾點思考
        懷孕了,凝血功能怎么變?
        媽媽寶寶(2017年2期)2017-02-21 01:21:24
        “簡直”和“幾乎”的表達(dá)功能
        日本第一影院一区二区| 日韩AV有码无码一区二区三区 | 国产黑色丝袜在线观看下| 亚洲九九夜夜| 国产二区中文字幕在线观看| 欧美精品欧美人与动人物牲交 | av在线不卡免费中文网| 初尝人妻少妇中文字幕| 久久发布国产伦子伦精品| 国产午夜激情视频自拍| 一区二区日本免费观看| 日本护士xxxxhd少妇| 成熟丰满熟妇高潮xxxxx视频| 在线观看亚洲AV日韩A∨| 亚洲一区二区日韩在线| 亚洲av无码专区国产乱码4se| 久久亚洲色www成人欧美| 亚洲电影一区二区三区| 极品新娘高清在线观看| 大地资源网在线观看免费官网 | 无码日韩精品一区二区三区免费| 亚洲熟妇色xxxxx欧美老妇| 日本人妖一区二区三区| 黄片大全视频在线播放| 东北老女人高潮疯狂过瘾对白 | 蜜桃视频在线免费观看一区二区| 日韩亚洲一区二区三区四区| 国产深夜男女无套内射| 亚洲AV无码成人品爱| 国产一区二区三区探花| 日韩久久无码免费毛片软件| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 26uuu欧美日本在线播放| 午夜精品久久99蜜桃| 专干老肥熟女视频网站300部| 国产免费一级高清淫日本片| 中文字幕久久国产精品| av天堂午夜精品一区| 无遮挡边吃摸边吃奶边做| 少妇高潮无码自拍| 美女用丝袜脚玩我下面|