《鴻蒙機(jī)器人編程》12-ROS課程總結(jié)與行業(yè)展望教案_第1頁(yè)
《鴻蒙機(jī)器人編程》12-ROS課程總結(jié)與行業(yè)展望教案_第2頁(yè)
《鴻蒙機(jī)器人編程》12-ROS課程總結(jié)與行業(yè)展望教案_第3頁(yè)
《鴻蒙機(jī)器人編程》12-ROS課程總結(jié)與行業(yè)展望教案_第4頁(yè)
《鴻蒙機(jī)器人編程》12-ROS課程總結(jié)與行業(yè)展望教案_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ROS課程總結(jié)與展望

?課程內(nèi)容:

1,根據(jù)課程框架總結(jié)20個(gè)課時(shí)的課程內(nèi)容,回顧并梳理各個(gè)知識(shí)點(diǎn);

2,根據(jù)ROS開(kāi)源社區(qū)相關(guān)資料對(duì)課程進(jìn)一步展望;

3,了解未來(lái)存在的挑戰(zhàn),攻克技術(shù)難題。

1課程總結(jié)

1.1課程的框架結(jié)構(gòu)

ROS基本概念和應(yīng)用

ROS外接設(shè)蓄

基礎(chǔ)

機(jī)器視覺(jué)ROS進(jìn)階工具

結(jié)

構(gòu)

圖1.課程框架結(jié)構(gòu)

在前面章節(jié)中我們主要介紹了ROS從入門(mén)到進(jìn)階的相關(guān)核心內(nèi)容。課程框架如圖1

所示,主要包括ROS基礎(chǔ)概念(topic,service概念,node的編寫(xiě)和通信等),ROS官

方支持的外設(shè)(提供驅(qū)動(dòng)以及基礎(chǔ)案例,方便開(kāi)發(fā)加快項(xiàng)目進(jìn)度),機(jī)器視覺(jué)基礎(chǔ),ROS

的進(jìn)階工具(顯示工具,調(diào)試工具以及Gazebo仿真系統(tǒng)),機(jī)器人導(dǎo)航(室內(nèi)導(dǎo)航是

服務(wù)機(jī)器人最核心的模塊,非常具有產(chǎn)業(yè)價(jià)值),語(yǔ)音交互等。希望通過(guò)系列課程讓

大家掌握ROS開(kāi)發(fā)的基本能力以及當(dāng)前機(jī)器人領(lǐng)域的核心技術(shù),并能夠快速地上手搭

建原型。

前五個(gè)章節(jié)課程主要圍繞ROS基本概念和應(yīng)用基礎(chǔ)展開(kāi),如圖2所示。通過(guò)這幾個(gè)

章節(jié)的學(xué)習(xí)期望大家掌握ROS的基本概念,并能夠初步編寫(xiě)節(jié)點(diǎn)并通過(guò)topic和service

實(shí)現(xiàn)節(jié)點(diǎn)間的通信。ROS機(jī)器人操作系統(tǒng)的優(yōu)勢(shì)主要體現(xiàn)在如下幾個(gè)方面:

1)松散耦合的機(jī)制能夠極大方便機(jī)器人軟件框架的組織;

2)支持跨平臺(tái)跨語(yǔ)言,代碼的模塊化和重用性得到提高;

3)ROS提供非常便利的數(shù)據(jù)記錄和分析工具,方便調(diào)試;

4)開(kāi)源平臺(tái),方便學(xué)習(xí)和交流機(jī)器人當(dāng)前最先進(jìn)技術(shù)和算法;

r-------------------------------------------.

Imn培本?金利應(yīng)用堆破

I實(shí)踐課I

'_______________________________J

圖2.ROS基本概念和應(yīng)用基礎(chǔ)

接著,課程圍繞著ROS所支持的主流設(shè)備展開(kāi)講解。由于ROS支持的外部設(shè)備一

般都提供了驅(qū)動(dòng)以及基礎(chǔ)使用案例,所以在搭建機(jī)器人原型的時(shí)候盡量采用ROS支持

的外設(shè)能夠極大地提高效率,并且有豐富的資源去參考工在第六節(jié)課中講解的ROS所

支持的外設(shè)包含了下圖中的內(nèi)容。

ROS外接設(shè)備

圖3.ROS所支持的外接設(shè)備

機(jī)器視覺(jué)是當(dāng)前非常熱門(mén)的領(lǐng)域,比如通過(guò)視覺(jué)進(jìn)行動(dòng)態(tài)目標(biāo)的跟蹤和行為分析和

無(wú)人機(jī)自主著陸等相關(guān)工作。在機(jī)器視覺(jué)初步的課程中向大家介紹了基本概念(opcncv

等),攝像機(jī)驅(qū)動(dòng)的安裝,顯示攝像機(jī)圖像,攝像頭標(biāo)定以及深度攝像頭的使用等方面。

通過(guò)實(shí)踐課程讓大家掌握USB攝像頭實(shí)現(xiàn)圖像采集和識(shí)別功能。

1機(jī)器視覺(jué):

S<如

&9H

標(biāo)

iR川

圖4.機(jī)器視覺(jué)初步

隨后課程介紹了ROS進(jìn)階工具,主要包含了ROS下的調(diào)試和可視化工具,包含rviz,

rqt_bag,rqjplot和坐標(biāo)轉(zhuǎn)換體系TF等,以上工具為ROS開(kāi)發(fā)提供了極大地便利,在

調(diào)試、數(shù)據(jù)記錄以及坐標(biāo)轉(zhuǎn)換等方面不用重復(fù)代碼。除此之外還介紹了Gazebo仿真系

統(tǒng)的入門(mén),通過(guò)Gazebo可以快速地對(duì)算法進(jìn)行驗(yàn)證。

ROS進(jìn)階工具】

圖5.ROS進(jìn)階工具

機(jī)器人導(dǎo)航是目前機(jī)器人領(lǐng)域中最受關(guān)注的技術(shù),其a的是使移動(dòng)機(jī)器人通過(guò)傳感

器感知環(huán)境和自身狀態(tài),實(shí)現(xiàn)在有障礙物的環(huán)境中向目標(biāo)自主運(yùn)動(dòng)。在服務(wù)機(jī)器人領(lǐng)域,

SLAM技術(shù)有著非常普遍的需求,掌握并能實(shí)現(xiàn)基于ROS的基本導(dǎo)航功能機(jī)器人算法

工程師的基本素質(zhì)要求。在13-18課中,課程針對(duì)使用ROS的導(dǎo)航基礎(chǔ)、定位基礎(chǔ)以及

SLAM原理做了初步介紹(如圖6所示)。如有興趣深入掌握機(jī)器人SLAM算法,向

大家推薦OpenSLAM開(kāi)源網(wǎng)站,(/),該網(wǎng)站囊括了當(dāng)前大部分

最優(yōu)秀的激光和視覺(jué)SLAM方案,例如ORB-SLAM,RGBD-SLAM以及仿生Rat-SLAM

等,從中可以學(xué)到更加專(zhuān)業(yè)的SLAM知識(shí)。

機(jī)器人導(dǎo)航

屜F

阿凡

機(jī)

達(dá)

礎(chǔ)

MAM圖

導(dǎo)

a人

UIRh

梟13IX集

)

圖6.機(jī)器人導(dǎo)航

語(yǔ)音交互是一類(lèi)非常重要的交互方式,隨著深度學(xué)習(xí)等人工智能技術(shù)的發(fā)展,語(yǔ)音

識(shí)別和TTS技術(shù)逐漸完善和成熟,使得語(yǔ)音交互技術(shù)已經(jīng)成為當(dāng)前非常主流的交互方式。

在兩個(gè)課時(shí)中,課程圍繞語(yǔ)音識(shí)別與TTS的語(yǔ)音交互功能做簡(jiǎn)單介紹。除此之外,我們

還期望機(jī)器人具備多模態(tài)交互信息的理解和生成,遠(yuǎn)程操作時(shí)還能提供高臨場(chǎng)感的反饋

信息,最終能夠像正?!叭恕币?樣理解人的情感和肢體動(dòng)作,能夠合成符合人類(lèi)易于理

解的語(yǔ)音、表情和動(dòng)作。

]

語(yǔ)音交互

并執(zhí)

圖7.語(yǔ)音交互

ROS的各個(gè)層級(jí)以及對(duì)應(yīng)的Package

代理層roscpproslisproslibjsgazebo_ros_pkgs

仿真

(語(yǔ)言)

rospyrosjavastage_ros

(3Dsensordrivers)diagnosticsPowersupplydriversEthercatdrivers

硬件接口層audio_coanonjoystick_driversrosserialcamera_driversros_canopen

Force/TorquesensordriversGPS/IMUdriversrangefinderdrivers

vision-opencvtfdynamic_reconfigurerobotwebtools開(kāi)發(fā)工具鏈

機(jī)器人應(yīng)用ros_realtimemavrosrobot_lcx;alizationrobot_model

框架ros_controlcalibrationrobot_pose_ekfiiaage_pipeline

robot_state_publisherindustrial_coreoctomap_mapping

cominon_msgs|rosbag|actionlibpluginlib

通信層rostopicrosserviceroslaunchrosnode

ros_consolerosparamrosmasterrosout

本次課程涵蓋的內(nèi)容僅是ROS中比較精髓的部分,還有很多需要大家去學(xué)習(xí)和關(guān)

注的!例如繼續(xù)學(xué)習(xí)ROS的核心算法包:navigationactionlib>executive_smach>

nodelets^Movelt!>ros_realtime>dynamic_reconfigure等,里面包含非常精妙

的機(jī)器人軟件技巧、經(jīng)驗(yàn)等。另一方面,可關(guān)注ROS2.0的設(shè)計(jì)過(guò)程以及新添加的特性:

/,通過(guò)對(duì)比知道當(dāng)前ROS存在什么樣的共性問(wèn)題,ROS2.0的未來(lái)

發(fā)展思路是什么樣的。最后,機(jī)器人技術(shù)非常注重實(shí)踐,如果有條件可以自己動(dòng)手做

一套簡(jiǎn)單機(jī)器人,能夠?qū)崿F(xiàn)SLAM、導(dǎo)航避隙等具體功能。

2課程展望

這一節(jié)扼要介紹前面章節(jié)未覆蓋的內(nèi)容,主要包括如下幾個(gè)方面:

1,掌握機(jī)器人框架體系構(gòu)建

2,學(xué)習(xí)先進(jìn)的機(jī)器人算法

3,跟蹤當(dāng)前最先進(jìn)的機(jī)器人硬件技術(shù)

4,把握技術(shù)潮流跟蹤技術(shù)前沿

如何合理有效地組織機(jī)器人軟硬件是設(shè)計(jì)機(jī)器人時(shí)需要思考的重要問(wèn)題,機(jī)器人框

架體系構(gòu)建這方面可以參考HRMRP機(jī)器人。這部分可以參考古月居或者易科機(jī)器人實(shí)

驗(yàn)室文章:ROS探索總結(jié)(十六)一一HRMRP機(jī)器人的設(shè)計(jì),ROS探索總結(jié)(十七)

——構(gòu)建完整的機(jī)器人應(yīng)用系統(tǒng).該機(jī)器人是古月在校期間和實(shí)驗(yàn)室同門(mén)從零開(kāi)始設(shè)計(jì)

并開(kāi)發(fā)的一款機(jī)器人平臺(tái),該機(jī)器人平臺(tái)具有軟硬件可編程、靈活性強(qiáng)、模塊化、易擴(kuò)

展、實(shí)時(shí)性強(qiáng)等特點(diǎn)。HRMRP具備豐富的傳感器和執(zhí)行器,在該平臺(tái)的基礎(chǔ)上,古月

他們?cè)O(shè)計(jì)并實(shí)現(xiàn)了機(jī)港人SLAM、自主導(dǎo)航、人臉識(shí)別、機(jī)械臂控制等功能??梢钥吹?/p>

HRMRP機(jī)器人機(jī)器人的框架體系分成四個(gè)部分,分別是系統(tǒng)層(OSlayer),驅(qū)動(dòng)層

(driverlayer)、硬件層(hardwarelayer)以及控制中心(controlcenter)。各層包含哪

些內(nèi)容,他們是怎么組織起來(lái)的,可以通過(guò)這個(gè)圖標(biāo)清晰地看出HRMRP層次化、模塊

化的思想。

圖8.HRMRP的總體架構(gòu)

機(jī)器人核心傳感器的選擇上,HRMRP使用了高性?xún)r(jià)比、高集成度的微軟

Kinect傳感器。除此還裝配有超聲波、加速度、驅(qū)動(dòng)層的主要工作是采集或預(yù)處理硬

件層的數(shù)據(jù),下發(fā)操作系統(tǒng)層的指令,為底層硬件與上層功能模塊提供相應(yīng)的數(shù)據(jù)傳輸

通道。由于我們采用的“ARM+FPGA”異構(gòu)控制平臺(tái),為配合硬件層硬件功能,驅(qū)動(dòng)層

也分為兩部分,分別放置于硬件的PS端和PL端。里程計(jì)、陀螺儀等多種傳感器。PS

端主要驅(qū)動(dòng)連接到ARM處理器的外設(shè),例如通過(guò)PS中的OpenNI驅(qū)動(dòng)Kinect,并且

提供PL端到PS端的接口。而在PL端中,利用可編程硬件的靈活性和并行處理能力,

來(lái)進(jìn)行I/O擴(kuò)展與算法的硬件加速,如圖所示。

可編程邏輯(PI

數(shù)據(jù)格式數(shù)據(jù)格式

速度參考PID控制器機(jī)械臂

轉(zhuǎn)換轉(zhuǎn)換

PV5M

控制器

硬件電

PID參數(shù)速度計(jì)算

正交解碼驅(qū)動(dòng)機(jī)

偏差計(jì)算”_____-

速度獲取模塊

寄存器組里程計(jì)

速度閉環(huán)

I/。擴(kuò)展(SPLI2C.GPIO)

寄存器組

數(shù)

計(jì)數(shù)器據(jù)

坐標(biāo)

原始數(shù)據(jù)模塊式有效數(shù)據(jù)

計(jì)鐮

轉(zhuǎn)

K-R換(X、Y、Z)

三維信息延時(shí)模塊

Kinect數(shù)據(jù)預(yù)處理

圖9.HRMRP驅(qū)動(dòng)框架

在機(jī)器人導(dǎo)航部分,HRMRP機(jī)器人平臺(tái)采用嵌入式系統(tǒng)作為主控,對(duì)于機(jī)器人導(dǎo)

航等復(fù)雜算法的處理能力有限,于是我們將應(yīng)用的處理在服務(wù)器端實(shí)現(xiàn),機(jī)器人將采集

到的周?chē)h(huán)境信息和自身傳感器信息發(fā)布,由服務(wù)器訂閱消息并完成處理和顯示,再向

下發(fā)布控制指令。數(shù)據(jù)的處理流程如下圖所示。

KinectData

PreprocessingImageVisualization

KinectDepthandImage

Position

UltrasonicDistance

Sensor

Depth

Data

Acquisition

AccelerometerAngularVelocitySLAM

IMU,Position,PositioningMotor

VelocityandController

GyroLinearAccelerationData

NavigationRobot

Conversion

AndFusion

OdometerLinearVelocity

I/OExpansion

time

圖10.HRMRP導(dǎo)航框架

根據(jù)ROS中公布現(xiàn)有的頂尖機(jī)器人總體架構(gòu),去學(xué)習(xí)別人是怎么構(gòu)建機(jī)器人的,需

要考慮到哪些方面,需要設(shè)計(jì)哪幾個(gè)層次,只有具備這樣的大局觀后才能勝任一個(gè)優(yōu)秀

的機(jī)器人工程師。在ROS開(kāi)源社區(qū)里,當(dāng)前具有非常多商業(yè)的或者學(xué)術(shù)的頂尖機(jī)器人

值得我們?nèi)W(xué)習(xí),尤其是它們的系統(tǒng)構(gòu)架,往往比我們自己考慮的東西要全面很多。例

如,通過(guò)ROSindustrial和優(yōu)傲機(jī)械臂提供的源碼區(qū)學(xué)習(xí)工業(yè)機(jī)器人的系統(tǒng)架構(gòu)。這對(duì)

于期望沿著工業(yè)機(jī)器人方向發(fā)展的朋友來(lái)說(shuō)是個(gè)非常好的指引。

圖11.ROSindustrial層級(jí)劃分

對(duì)于服務(wù)機(jī)器人而言,可參考學(xué)習(xí)當(dāng)前最先進(jìn)的兩款服務(wù)機(jī)器人:PR2和care-o-bot

4,可以看看他們所具備的技術(shù)特征。與此同時(shí),學(xué)習(xí)他們的機(jī)器人系統(tǒng)框架,對(duì)于我

們自己的服務(wù)機(jī)器人也有很多的啟發(fā)意義。

Care-O-bot4

圖12.服務(wù)機(jī)器人可參考PR2和care-o-bot4機(jī)器人

同樣,還包括目前比較火的多旋翼飛行器,或者稱(chēng)為飛行機(jī)器人。當(dāng)前飛控己經(jīng)不

再是行業(yè)所追求的終極目標(biāo),而視覺(jué)處理和智能能力的提升才是當(dāng)前該行業(yè)最關(guān)注的方

向。學(xué)習(xí)AscTec和Crazynie和ROS是怎么結(jié)合的,并反過(guò)來(lái)將ROS里的東西應(yīng)用到

四旋翼上是個(gè)非常好的選擇。

Crazyflie

AscTec

圖13.開(kāi)源無(wú)人機(jī)AscTec和Crazyflie

地面移動(dòng)車(chē)輛機(jī)器人Husky和Hamsler等。通過(guò)學(xué)習(xí)和參考對(duì)應(yīng)的或者類(lèi)似的機(jī)器

人系統(tǒng)構(gòu)建體系,對(duì)自己的機(jī)器人設(shè)計(jì)能力會(huì)有很好的提升。事實(shí)上,除了掌握框架體

系之外,還可以去學(xué)習(xí)很多細(xì)節(jié),比如通過(guò)底層碼盤(pán)數(shù)據(jù)得到機(jī)器人移動(dòng)速度,一般需

要對(duì)數(shù)據(jù)做窗口平滑處理;又比如,具有非常好機(jī)動(dòng)能力的機(jī)器人,怎么去設(shè)計(jì)加減速,

符合S曲線還是符合指數(shù)增長(zhǎng)規(guī)律等等細(xì)節(jié)問(wèn)題。

圖14.Husky地面移動(dòng)機(jī)器人

圖15.Hamster地面移動(dòng)機(jī)器人

除此之外,通過(guò)對(duì)比ROS社區(qū)中多款機(jī)器人的硬件技術(shù),會(huì)發(fā)現(xiàn)一些共性的技術(shù),

例如庫(kù)卡機(jī)器人、Pr2機(jī)器人、Shadow機(jī)械于、Amigo服務(wù)機(jī)器人等他們都不約而同的

使用了Ethercat工業(yè)實(shí)時(shí)以太網(wǎng)現(xiàn)場(chǎng)總線作為機(jī)器人的系統(tǒng)總線。事實(shí)上,如果說(shuō)ROS

是機(jī)器人未來(lái)的標(biāo)準(zhǔn)軟件平臺(tái)的話(huà),那么Ethercat極有可能成為未來(lái)標(biāo)準(zhǔn)的硬件接口,

類(lèi)似于PC的主板一樣的功能。庫(kù)卡通過(guò)使用Ethercat能夠使用更少的硬件,這意味著

可以延長(zhǎng)MTBF(平均無(wú)故障時(shí)間)以及降低開(kāi)發(fā)成本、單價(jià)及物流成本。根據(jù)他們的

數(shù)據(jù),使用Ethercat使得所需的硬件組件的數(shù)量減少了33%,使用的插頭連接器和電

纜數(shù)量減少了50%之多cEthercat具備工業(yè)級(jí)別的穩(wěn)定性,而眾所周知對(duì)于機(jī)器人而

言魯棒和穩(wěn)定是非常重要的。庫(kù)卡自2010年以后的系列產(chǎn)品都將Ethereal作為了系統(tǒng)

總線,shadow甚至直接基于Ethercat芯片的機(jī)器人專(zhuān)用總線系統(tǒng)Ronex并直接支持ROS。

由此可見(jiàn),該項(xiàng)技術(shù)具備非常好的前景。

PR2凱4人

圖16.這些機(jī)器人都是用Ethercat作為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論