韩国主播福利视频一区二区三区,欧美视频二区36p,欧美日韩一区在线,亚洲字幕一区二区

 
當(dāng)前位置: 首頁 » 行業(yè)資訊 » 機(jī)器人»【知識】機(jī)器人操作系統(tǒng)ROS(二)
   

【知識】機(jī)器人操作系統(tǒng)ROS(二)

 46.1K
     [點(diǎn)擊復(fù)制]
放大字體  縮小字體 發(fā)布日期:2016-09-09   瀏覽次數(shù):519
核心提示:PCL:一個開源點(diǎn)云處理庫,原本是從ROS中發(fā)展起來的,后來由于太受歡迎,為了讓非ROS用戶也能用,就單獨(dú)立了一個PCL的項(xiàng)目。  
         PCL:一個開源點(diǎn)云處理庫,原本是從ROS中發(fā)展起來的,后來由于太受歡迎,為了讓非ROS用戶也能用,就單獨(dú)立了一個PCL的項(xiàng)目。

  Gmapping:這其實(shí)是在OpenSlam項(xiàng)目繼承過來的(后來發(fā)展和改動較大),利用gmapping可以實(shí)現(xiàn)laser-basedSLAM,快速建立室內(nèi)二維地圖。

  △gmapping建立二維地圖

  Localization:基于擴(kuò)展卡爾曼濾波(EKF)和無跡卡爾曼濾波(UKF)的機(jī)器人定位算法,可以融合各種傳感器的定位信息,獲得較為準(zhǔn)確的定位效果。

  △robot_localization示意圖

  Navigation:基于Dijkstra、A*算法(全局規(guī)劃器)和動態(tài)窗口法DWA(局部規(guī)劃器)的移動機(jī)器人路徑規(guī)劃模塊,可以在二維地圖上實(shí)現(xiàn)機(jī)器人導(dǎo)航。

  △navigation示意圖

  MoveIt:這個是專注于移動機(jī)械臂運(yùn)動規(guī)劃的模塊,下次講運(yùn)動規(guī)劃入門的時候再詳細(xì)介紹它。

  △MoveIt對UR5進(jìn)行運(yùn)動規(guī)劃

  當(dāng)然,除了這些最先進(jìn)算法外,ROS還有各種機(jī)器人、傳感器驅(qū)動等內(nèi)容。
  5、是一個最活躍的機(jī)器人開發(fā)交流平臺

  個人認(rèn)為,這應(yīng)該是最重要的一點(diǎn)。除了ROS外,現(xiàn)在有需要其他的項(xiàng)目可以代替或者部分代替ROS的功能:OpenRave運(yùn)動規(guī)劃,V-rep仿真。但是這些項(xiàng)目的社區(qū)遠(yuǎn)沒有ROS活躍。

  ROS版本定期更新、主要模塊有專人維護(hù)、問答區(qū)活躍、各maillists也非常活躍、開發(fā)者非常熱衷交流分享。如果深入到ROS社區(qū),可以學(xué)到很多東西。

  為什么

  首先,用過工業(yè)機(jī)器人的人肯定知道,不同工業(yè)機(jī)器人的開發(fā)系統(tǒng)基本都不一樣,示教、編程方法也不同,一個熟練使用Motoman的工程師很可能并不會使用Kuka機(jī)械臂。就算是同種機(jī)器人,由于固件版本的更新?lián)Q代,也可能造成程序的不兼容(我在UR上就遇到過這個問題)。這就大大影響了機(jī)器人的推廣普及。

  △左:不同機(jī)器人的示教器;右:UR固件版本不兼容

  對此,ROS可以用統(tǒng)一的方式來封裝機(jī)器人(URDF模型+機(jī)器人驅(qū)動),用戶只需要在ROS中編寫應(yīng)用程序,并不用關(guān)心機(jī)器人的控制方式。如果所有機(jī)器人都采用了這種方式,那么機(jī)器人必將得到更廣泛地應(yīng)用(對系統(tǒng)集成商的要求會降低)。

  其次,現(xiàn)在越來越多機(jī)器人廠商開始嘗試使用ROS,包括占據(jù)最多工業(yè)市場份額的機(jī)器人四大家族和各種流行的研究型機(jī)器人;甚至有如Rethink的Baxter,只能使用ROS控制。研究機(jī)器人的如果不去學(xué)習(xí)ROS的話,以后可能就會面臨不會使用機(jī)器人的問題。

  △使用ROS的機(jī)器人

  再者,機(jī)器人是一個復(fù)雜且涉及面極廣的學(xué)科,從下往上包括機(jī)械設(shè)計(jì)、電機(jī)控制、傳感器、軌跡規(guī)劃、運(yùn)動學(xué)與動力學(xué)、運(yùn)動規(guī)劃、機(jī)器視覺、定位導(dǎo)航、機(jī)器學(xué)習(xí)、高級智能等等。一個研究生基本不可能在幾年時間內(nèi)掌握所有領(lǐng)域。

  對于一個做上層規(guī)劃的研究生,如果不用ROS的話,往往需要花費(fèi)非常長時間用于搭建實(shí)驗(yàn)系統(tǒng),從而大大擠壓了真正用在發(fā)明新知識的時間。例如,我做運(yùn)動規(guī)劃,就必須先把機(jī)械臂運(yùn)動學(xué)正逆解、物體識別算法、碰撞檢測算法等完成才有可能開始做運(yùn)動規(guī)劃。造輪子的事就交給專業(yè)造輪子的人做吧。

  所以,對于科研人員來說,ROS可以幫助你快速搭建機(jī)器人軟件系統(tǒng),同時其模塊化的設(shè)計(jì)可以讓你方便地用自己的算法替換其中某一模塊,讓你專注于自己的研究點(diǎn)。

  最后,就是對于創(chuàng)業(yè)或者參加比賽的人來說,ROS可以幫助你快速搭建原型樣機(jī)。原型樣機(jī)出來了,自然比只有設(shè)計(jì)說明書的人有優(yōu)勢。

  為防止做廣告嫌疑,創(chuàng)業(yè)的例子就不說了,就拿我們?nèi)ツ陞⒓拥囊粋€創(chuàng)業(yè)大賽來講。我們組四個人用了不到兩個月時間完成了下面這個超市購物機(jī)器人的軟硬件設(shè)計(jì)與制作,功能包括避障、防跌、人員跟隨、藍(lán)牙校正(跟蹤對的人)、手勢識別、商品自動計(jì)價、自動支付等。

  嗯,我的公眾號Nao(qRobotics)的頭像就是在這個項(xiàng)目時設(shè)計(jì)的。

  △去年參加某創(chuàng)業(yè)大賽的作品MarketBot

  如何

  這方面已經(jīng)可以找到很多答案了,但是學(xué)習(xí)這種東西只能靠自己多練習(xí)了,我只簡單從我個人角度給出幾個建議吧。

  首先,就是要先了解ROS的基本架構(gòu)和開發(fā)方式。我個人是強(qiáng)烈推薦直接看ROS官網(wǎng)上的教程ROS/Tutorials的BeginnerLevel(多看幾遍),同時充分使用ROS的問答社區(qū)ROSAnswers與各模塊的MailLists,很多基礎(chǔ)問題可能前人都遇到過。

  其次,在了解ROS的基本架構(gòu)與開發(fā)方式后,就可以有針對性地看自己所關(guān)心的部分了。如做移動機(jī)器人的同學(xué)就去看Navigation教程;做物體識別的就去看ORK教程;做運(yùn)動規(guī)劃的就去看MoveIt教程。這一步最好能跟有實(shí)際機(jī)器人練手(如果沒有的話,就用gazebo仿真)。由于一些模塊的教程不夠清楚(如MoveIt),一定要多練習(xí),甚至是去看部分源碼,先保證自己會用ROS實(shí)現(xiàn)一些功能。

  對于ROS與實(shí)際機(jī)器人的連接,建議仔細(xì)看看action(編寫機(jī)器人驅(qū)動package)、URDF(機(jī)器人描述文件)的教程(或者ros_control)。如下圖,我為SDA5F機(jī)器人編寫了URDF文件,并修改了motoman_driver中的action,使得在ROS環(huán)境中用MoveIt規(guī)劃控制雙臂機(jī)器人運(yùn)動。

  △SDA5F雙臂機(jī)器人與其URDF模型

  最后,就是進(jìn)階階段了。我要強(qiáng)調(diào)一句“ROS只是一個工具”,你會用ROS做SLAM并不能說明你會做SLAM。對于自己研究的內(nèi)容,必須沉下心去看教材和論文,去理解每種算法背后的原理,知道如何調(diào)整算法參數(shù)、如何改進(jìn)算法,最終能夠自己編寫某部分代碼,并替換ROS的相應(yīng)模塊(如自己寫運(yùn)動學(xué)正逆解替代KDL等)。

  做研究,交流非常重要。如果你改進(jìn)ROS某一算法后,最好能與package的原作者交流,將自己的修改merge到原項(xiàng)目中,在交流中提高自己與package的水平。當(dāng)然,如果對算法有疑問,也可以直接咨詢作者,ROS里的貢獻(xiàn)者大都非常愿意分享和交流。

  當(dāng)然,在問別人之前,請一定要保證自己充分熟悉了官方Tutorials,而不是朝別人發(fā)一堆編譯錯誤截圖,然后問這是怎么回事。提問的藝術(shù)真的非常重要,有時候不是對方不愿意跟你交流,而是對方不愿意手把手帶你過Tutorials。

  結(jié)尾

  很多人在爭論是否應(yīng)該使用ROS、是否應(yīng)該在產(chǎn)品上使用ROS、是否應(yīng)該在工業(yè)中使用ROS。但是從我個人的角度上看,ROS對于服務(wù)機(jī)器人上層算法開發(fā)和研究而言是一個很棒的工具,作為學(xué)術(shù)研究使用的話,可以大大加快實(shí)驗(yàn)平臺搭建過程。

 
 
 
[ 行業(yè)資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關(guān)閉窗口 ]
 
 
展會更多+
視頻更多+
點(diǎn)擊排行
 
網(wǎng)站首頁 | 網(wǎng)站地圖 | 排名推廣 | 廣告服務(wù) | 積分換禮 | 網(wǎng)站留言 | RSS訂閱
主站蜘蛛池模板: 永德县| 文水县| 广州市| 滨海县| 玉环县| 临沧市| 宝应县| 兰溪市| 伊宁县| 永定县| 漯河市| 寿阳县| 休宁县| 吴川市| 龙川县| 牟定县| 青海省| 东乡族自治县| 政和县| 通化市| 汤原县| 台湾省| 黄大仙区| 京山县| 南京市| 永寿县| 太康县| 乌拉特前旗| 汶川县| 麻阳| 云安县| 鹰潭市| 蒲江县| 南皮县| 上蔡县| 桂阳县| 碌曲县| 雅安市| 宁陕县| 尉犁县| 方山县|