国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS的智能代步車(chē)嵌入式運(yùn)動(dòng)控制系統(tǒng)

2016-05-14 08:11史小露鄭友勝張磊
軟件工程 2016年6期

史小露 鄭友勝 張磊

摘 要:針對(duì)目前智能代步車(chē)運(yùn)動(dòng)控制系統(tǒng)功耗高、體積大和開(kāi)發(fā)成本高和工作量大等不足,提出一種基于機(jī)器人操作系統(tǒng)(Robot Operating System,ROS)的智能代步車(chē)嵌入式運(yùn)動(dòng)控制系統(tǒng)。該運(yùn)動(dòng)控制系統(tǒng)將ROS移植到arm嵌入式板卡,將arm作為中央處理器,運(yùn)用ROS中的導(dǎo)航功能包實(shí)現(xiàn)智能代步車(chē)的地圖建立、路徑規(guī)劃、室內(nèi)外自主導(dǎo)航、運(yùn)動(dòng)控制等功能,最后通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了該運(yùn)動(dòng)控制系統(tǒng)的可行性。

關(guān)鍵詞:機(jī)器人操作系統(tǒng);智能代步車(chē);嵌入式運(yùn)功控制系統(tǒng)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):2096-1472(2016)-06-48-03

Abstract:In view of some outstanding problems of intelligent electronic scooters,such as the high power consumption,the huge size,the high development costs and heavy workload,the paper proposes an embedded motion control system based on the Robot Operating System(ROS)for intelligent electronic scooters the ROS was ported to the arm embedded board which is used as the central processor in the embedded motion control system.Functions like map building,route planning,indoor and outdoor autonomous navigation and motion control are implemented through the ROS navigation function package.At the end of the paper,the feasibility of the motion control system is verified through the simulation experiments.

Keywords:ROS;intelligent electronic scooters;embedded motion control systems

1 引言(Introduction)

隨著社會(huì)的發(fā)展和人類(lèi)文明程度的提高,人們特別是殘疾人愈來(lái)愈需要運(yùn)用現(xiàn)代高新技術(shù)來(lái)改善他們的生活質(zhì)量和生活自由度。智能代步車(chē)的出現(xiàn)提高了老年人和殘障人士的行動(dòng)自由度,受到了社會(huì)的普遍關(guān)注,將機(jī)器人技術(shù)[1-4]應(yīng)用于智能代步車(chē)提高智能代步車(chē)的智能化、安全化、實(shí)用化程度具有廣泛的應(yīng)用前景。然而,機(jī)器人技術(shù)的復(fù)雜性和多任務(wù)性給智能代步車(chē)運(yùn)動(dòng)控制系統(tǒng)程序的編寫(xiě)帶來(lái)很大的困難。傳統(tǒng)的智能代步車(chē)運(yùn)動(dòng)控制系統(tǒng)都是開(kāi)發(fā)者單獨(dú)設(shè)計(jì),在不同的平臺(tái)間移植需要很大的工作量。機(jī)器人操作系統(tǒng)[5,6](Robot Operating System,ROS)起源于2007年斯坦福大學(xué)人工智能實(shí)驗(yàn)室與機(jī)器人技術(shù)公司的項(xiàng)目合作,ROS是一種分布式處理架構(gòu),為機(jī)器人系統(tǒng)的開(kāi)發(fā)提供了一個(gè)很好的框架,擁有用于機(jī)器人的各種功能包,這些功能包單獨(dú)設(shè)計(jì),在運(yùn)行時(shí)松散耦合,提高了代碼復(fù)用率。

控制系統(tǒng)作為智能代步車(chē)的核心部分,其性能好壞和開(kāi)發(fā)周期直接決定著智能代步車(chē)的智能化程度、安全性能和使用成本,如何簡(jiǎn)單快速地為智能代步車(chē)構(gòu)建運(yùn)動(dòng)控制系統(tǒng)是一個(gè)值得深入研究的問(wèn)題。本文針對(duì)智能代步車(chē)提出了一種基于ROS的嵌入式運(yùn)動(dòng)控制系統(tǒng),應(yīng)用ROS提供的功能包實(shí)現(xiàn)智能代步車(chē)的定位、導(dǎo)航與控制。

2 運(yùn)動(dòng)控制系統(tǒng)硬件設(shè)計(jì)(Hardware design of motion control system)

智能代步車(chē)本體為電動(dòng)輪椅車(chē),在此基礎(chǔ)上進(jìn)行改裝,增加必要的傳感器和嵌入式arm開(kāi)發(fā)板,針對(duì)不同的任務(wù)需求,在智能代步車(chē)本體上安裝相應(yīng)的傳感器,如圖1所示。

智能代步車(chē)的底盤(pán)為兩輪驅(qū)動(dòng)結(jié)構(gòu),兩個(gè)驅(qū)動(dòng)輪安裝于車(chē)體后方,采用兩輪差速驅(qū)動(dòng)的方式實(shí)現(xiàn)智能代步車(chē)的運(yùn)動(dòng)。驅(qū)動(dòng)輪連接的電機(jī)配有兩個(gè)采集驅(qū)動(dòng)輪滾動(dòng)的圈數(shù)的光電編碼器,可實(shí)現(xiàn)對(duì)智能代步車(chē)運(yùn)行里程的計(jì)算。車(chē)體前方裝有萬(wàn)向輪用來(lái)控制智能代步車(chē)的運(yùn)動(dòng)方向,裝有hokuyo激光測(cè)距儀檢測(cè)障礙物與智能代步車(chē)的距離。智能代步車(chē)選用的定位傳感器為Stargazer和gps,選用的CPU模塊為飛思卡爾imx6q,選用的底層操作系統(tǒng)為ubuntu armhf系統(tǒng)和ROS。

3 運(yùn)動(dòng)控制系統(tǒng)軟件設(shè)計(jì)(Software design of motion control system)

在構(gòu)建運(yùn)動(dòng)控制系統(tǒng)軟件構(gòu)架時(shí),既要確??刂葡到y(tǒng)的高性能,還要保證控制系統(tǒng)易于擴(kuò)展和維護(hù),更要與ROS系統(tǒng)軟件體系結(jié)構(gòu)相融合。智能代步車(chē)軟件系統(tǒng)按程序?qū)崿F(xiàn)流程劃分,主要分為人機(jī)交互層、決策層、控制層、感知層,各層間相互關(guān)系如圖2所示。

智能代步車(chē)任務(wù)實(shí)現(xiàn)流程主要分為三個(gè)環(huán)節(jié):

(1)用戶(hù)通過(guò)人機(jī)交互層將任務(wù)傳達(dá)給智能代步車(chē)。

(2)決策層通過(guò)感知層傳達(dá)的數(shù)據(jù)信息確定機(jī)器人所處的外部環(huán)境狀態(tài)和代步車(chē)的運(yùn)動(dòng)狀態(tài),并據(jù)此做出決策。

(3)依據(jù)決策結(jié)果,由驅(qū)動(dòng)層選擇合適的控制策略,實(shí)現(xiàn)預(yù)定的工作任務(wù)。

任務(wù)執(zhí)行過(guò)程中,內(nèi)傳感器實(shí)現(xiàn)對(duì)智能代步車(chē)運(yùn)動(dòng)狀態(tài)的描述,外傳感器感知外部工作環(huán)境信息。感知層將所獲取的智能代步車(chē)運(yùn)動(dòng)狀態(tài)及工作環(huán)境狀態(tài)反饋給系統(tǒng)決策層并作為決策依據(jù)。從圖2中可知,人機(jī)交互系統(tǒng)與決策系統(tǒng)之間存在雙向信息傳播。一方面,操作者通過(guò)人機(jī)交互層向智能代步車(chē)傳送任務(wù)命令;另一方面,決策層實(shí)時(shí)向人機(jī)交互層傳送智能代步車(chē)運(yùn)行狀態(tài)及外部工作環(huán)境狀態(tài),并通過(guò)可視化技術(shù)在人機(jī)交互界面上顯示。在決策層與驅(qū)動(dòng)層之間同樣存在雙向信息傳遞:決策層把決策結(jié)果傳遞給驅(qū)動(dòng)層,作為驅(qū)動(dòng)層運(yùn)行的依據(jù);同時(shí),驅(qū)動(dòng)層將把執(zhí)行的結(jié)果反饋給決策層,供決策系統(tǒng)參考并做出相應(yīng)調(diào)整。

3.1 人機(jī)交互層

人機(jī)交互層與決策層通過(guò)以太網(wǎng)連接,可顯示決策層建立的室內(nèi)地圖和規(guī)劃的路徑。人機(jī)交互層的操作界面為一臺(tái)平板電腦,可實(shí)時(shí)監(jiān)控顯示智能代步車(chē)的運(yùn)行位置和運(yùn)行狀態(tài),用戶(hù)可通過(guò)觸屏的方式向智能代步車(chē)發(fā)送運(yùn)動(dòng)控制指令和導(dǎo)航指令,比如用戶(hù)可以通過(guò)人機(jī)交互層設(shè)定智能代步車(chē)的起始點(diǎn)、目標(biāo)點(diǎn)位置,系統(tǒng)會(huì)將該指令通過(guò)以太網(wǎng)傳輸給決策層,決策層經(jīng)過(guò)計(jì)算處理后得出路徑導(dǎo)航規(guī)劃方案,以實(shí)現(xiàn)對(duì)智能代步車(chē)的控制。當(dāng)出現(xiàn)緊急情況時(shí),用戶(hù)可通過(guò)人機(jī)交互層及時(shí)介入系統(tǒng)導(dǎo)航?jīng)Q策過(guò)程,以避免危險(xiǎn)事故的發(fā)生。圖3為導(dǎo)航過(guò)程在人機(jī)交互層的顯示。

3.2 決策層

決策層為飛思卡爾imx6q開(kāi)發(fā)板,軟件開(kāi)發(fā)系統(tǒng)環(huán)境為ubuntu armhf系統(tǒng)、ROS系統(tǒng),主要實(shí)現(xiàn)功能包括建立地圖、自主導(dǎo)航和運(yùn)動(dòng)控制[7-9]。當(dāng)智能代步車(chē)處于地圖創(chuàng)建模式時(shí),決策層調(diào)用ROS中的gmapping功能包,通過(guò)手動(dòng)控制模式控制智能代步車(chē)在未知環(huán)境中移動(dòng),在移動(dòng)過(guò)程中根據(jù)位置估計(jì)和地圖進(jìn)行自身定位,在自身定位的基礎(chǔ)上創(chuàng)建SLAM柵格地圖,并將地圖信息發(fā)布給人機(jī)交互層顯示;當(dāng)智能代步車(chē)處于運(yùn)動(dòng)控制模式時(shí),決策層從人機(jī)交互層讀取運(yùn)動(dòng)控制指令,并通過(guò)話(huà)題“cmd_vel”發(fā)布出去;當(dāng)智能代步車(chē)處于自主導(dǎo)航模式時(shí),決策層調(diào)用ROS中navigation功能包,并接收感知層采集到的傳感器信息,經(jīng)過(guò)一系列計(jì)算,輸出智能代步車(chē)的速度并通過(guò)cmd_vel”發(fā)布出去[9]。

決策層中的運(yùn)動(dòng)學(xué)模塊訂閱到“cmd_vel”發(fā)布的線速度和角速度后,根據(jù)運(yùn)動(dòng)學(xué)模型可計(jì)算出左右輪速度,如圖4所示。O1、O2分別是左、右驅(qū)動(dòng)輪的輪心,輪間距O1O2為l,C為O1O2的中心,、、分別為左、右驅(qū)動(dòng)輪及智能代步車(chē)中心的速度。

智能代步車(chē)做圓弧運(yùn)動(dòng)。

3.3 驅(qū)動(dòng)層

驅(qū)動(dòng)層主要由控制部分和被控制部分組成,如圖5所示。控制部分即控制器,被控部分即電機(jī)。圖中帶叉號(hào)的圓圈為比較環(huán)節(jié),用來(lái)將輸入與輸出相減,給出偏差信號(hào)??刂破魍ㄟ^(guò)接收決策層輸出的控制指令和智能代步車(chē)的實(shí)際速度計(jì)算偏差,再由偏差產(chǎn)生作用去消除偏差,對(duì)電機(jī)發(fā)出控制信號(hào)。電機(jī)在控制信號(hào)的作用下實(shí)現(xiàn)被控運(yùn)動(dòng),從而驅(qū)動(dòng)智能代步車(chē)以預(yù)定的速度運(yùn)行。

3.4 感知層

感知層主要包括外部激光傳感器、stargazer、gps和內(nèi)部的光電編碼器。激光傳感器用來(lái)獲取智能代步車(chē)周?chē)系K物的距離信息,為建立地圖和自主避障提供信息。stargazer通過(guò)對(duì)標(biāo)簽的識(shí)別實(shí)現(xiàn)室內(nèi)定位功能。室外多屬于公共場(chǎng)所,相比室內(nèi)環(huán)境復(fù)雜,因此采用GPS獲取自身所在的位置和航向角信息。光電編碼器可以檢測(cè)電機(jī)的轉(zhuǎn)過(guò)的圈數(shù),通過(guò)公式(5)—(7)實(shí)現(xiàn)里程計(jì)和速度的計(jì)算。

在車(chē)體不發(fā)生側(cè)滑的情況下,車(chē)體方位與左右輪運(yùn)動(dòng)速度和具有如下關(guān)系:

根據(jù)編碼器的采樣信息,將公式(5)—(7)兩邊積分,可實(shí)時(shí)計(jì)算出智能代步車(chē)車(chē)體方位。

4 仿真實(shí)驗(yàn)(Simulation experiment)

為了驗(yàn)證運(yùn)動(dòng)控制系統(tǒng)的有效性,在rviz仿真平臺(tái)上結(jié)合ROS對(duì)建立的運(yùn)動(dòng)控制系統(tǒng)進(jìn)行了仿真實(shí)驗(yàn),對(duì)其運(yùn)動(dòng)性能進(jìn)行了分析。實(shí)驗(yàn)首先運(yùn)行核心節(jié)點(diǎn)roscore,然后啟動(dòng)已經(jīng)創(chuàng)建好的智能代步車(chē)自主導(dǎo)航節(jié)點(diǎn),并在rviz中導(dǎo)入已有的環(huán)境地圖,通過(guò)rviz窗口最頂端“2D Pose Estimate”和“2D Nav Goal”設(shè)置智能代步車(chē)的初始位置和目標(biāo)位置。通過(guò)圖6可以看出,在地圖中任意選擇一個(gè)目標(biāo)點(diǎn),智能代步車(chē)都能夠規(guī)劃出一條最優(yōu)路徑完成并到達(dá)指定位置。圖6中黃色的箭頭表示智能代步車(chē)前進(jìn)的方向,綠色的實(shí)線代表ROS規(guī)劃的路徑。

5 結(jié)論(Conclusion)

本文提出的基于ROS的智能代步車(chē)嵌入式運(yùn)動(dòng)控制系統(tǒng)具備室內(nèi)外定位導(dǎo)航功能,體積小、功耗低,運(yùn)用ROS中基于擴(kuò)展卡爾曼濾波器同時(shí)定位與地圖創(chuàng)建方法構(gòu)建定位系統(tǒng)和SLAM地圖,依靠ROS中已有的Dijkstra最優(yōu)路徑算法計(jì)算出智能代步車(chē)到達(dá)目標(biāo)位置的最優(yōu)路徑,通過(guò)兩輪差速的驅(qū)動(dòng)方式實(shí)現(xiàn)從當(dāng)前位置安全到達(dá)地圖中其它指定位置。

本文提出的嵌入式運(yùn)控制系統(tǒng)利用了ROS的軟件架構(gòu)和導(dǎo)航功能包,開(kāi)發(fā)人員只需要少量的編程工作即可構(gòu)建一套較為完整的運(yùn)動(dòng)控制系統(tǒng),使得軟件搭建工作更方便,效率更高。

參考文獻(xiàn)(References)

[1] Liangwen Wang,et al.A geometric approach to solving the stable workspace of quadruped bionic robot with hand foot-integrated function[J].Robotics and Computer Integrated Manufacturing,2016:13.

[2] Hong Zhang,et al.Adaptive incremental learning of image semantics with application to social robot[J].Neurocomputing,2016:173.

[3] Rai-Wung Park.Nonlinearity Estimation and Compensation for Robust Paths and Forces Control of Robot[J].British Journal of Applied Science & Technology,2015,7(2):224-236.

[4] Maciej Petko,Grzegorz Karpiel,Konrad Gac,Grzegorz Góra,Konrad kobus,Janusz Ochoński.Trajectory tracking controller of the hybrid robot for milling[J].Mechatronics,2016,8:100-111.

[5] 張建偉,等.開(kāi)源機(jī)器人操作系統(tǒng)ROS[M].北京科學(xué)出版社,2012:9-24.

[6] 馬丁內(nèi)斯.劉品杰,譯.ROS機(jī)器人程序設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2014.

[7] http://wiki.ros.org/navigation/Tutorials/RobotSetup.

[8] http://wiki.ros.org/gmapping.

[9] 高雅,李曉娟,關(guān)永.運(yùn)用定理證明器ACL2驗(yàn)證機(jī)器人操作系統(tǒng)ROS節(jié)點(diǎn)間通信[J].小型微型計(jì)算機(jī)系統(tǒng),2014,35(9):2126-2130.

作者簡(jiǎn)介:

史小露(1987-),女,碩士,設(shè)計(jì)師.研究領(lǐng)域:機(jī)器人操作系統(tǒng),嵌入式開(kāi)發(fā).

鄭友勝(1982-),男,博士,高級(jí)工程師.研究領(lǐng)域:機(jī)器人操作系統(tǒng),智能控制系統(tǒng).

張 磊(1986-),男,碩士,工程師.研究領(lǐng)域:飛機(jī)航空電子總體設(shè)計(jì).

大渡口区| 金平| 仙居县| 古蔺县| 揭阳市| 盐城市| 兰坪| 瑞昌市| 积石山| 资兴市| 白山市| 岳池县| 英吉沙县| 汝阳县| 和硕县| 大兴区| 邹城市| 乃东县| 杨浦区| 南靖县| 南乐县| 衡阳县| 蒙自县| 茂名市| 东源县| 高青县| 时尚| 鹤山市| 梅河口市| 阿合奇县| 青铜峡市| 乡城县| 信阳市| 交口县| 青海省| 呼玛县| 沐川县| 梁山县| 十堰市| 双流县| 兴安县|