久久亚洲春色中文字幕久久久_亚洲另类春色偷拍在线观看_精品www_精品免费国产一区二区三区四区介绍_日韩在线中文_国产区在线看

 
當前位置: 首頁 » 行業資訊 » 機器人»【知識】機器人操作系統ROS(二)
   

【知識】機器人操作系統ROS(二)

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

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

  △gmapping建立二維地圖

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

  △robot_localization示意圖

  Navigation:基于Dijkstra、A*算法(全局規劃器)和動態窗口法DWA(局部規劃器)的移動機器人路徑規劃模塊,可以在二維地圖上實現機器人導航。

  △navigation示意圖

  MoveIt:這個是專注于移動機械臂運動規劃的模塊,下次講運動規劃入門的時候再詳細介紹它。

  △MoveIt對UR5進行運動規劃

  當然,除了這些最先進算法外,ROS還有各種機器人、傳感器驅動等內容。
  5、是一個最活躍的機器人開發交流平臺

  個人認為,這應該是最重要的一點。除了ROS外,現在有需要其他的項目可以代替或者部分代替ROS的功能:OpenRave運動規劃,V-rep仿真。但是這些項目的社區遠沒有ROS活躍。

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

  為什么

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

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

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

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

  △使用ROS的機器人

  再者,機器人是一個復雜且涉及面極廣的學科,從下往上包括機械設計、電機控制、傳感器、軌跡規劃、運動學與動力學、運動規劃、機器視覺、定位導航、機器學習、高級智能等等。一個研究生基本不可能在幾年時間內掌握所有領域。

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

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

  最后,就是對于創業或者參加比賽的人來說,ROS可以幫助你快速搭建原型樣機。原型樣機出來了,自然比只有設計說明書的人有優勢。

  為防止做廣告嫌疑,創業的例子就不說了,就拿我們去年參加的一個創業大賽來講。我們組四個人用了不到兩個月時間完成了下面這個超市購物機器人的軟硬件設計與制作,功能包括避障、防跌、人員跟隨、藍牙校正(跟蹤對的人)、手勢識別、商品自動計價、自動支付等。

  嗯,我的公眾號Nao(qRobotics)的頭像就是在這個項目時設計的。

  △去年參加某創業大賽的作品MarketBot

  如何

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

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

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

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

  △SDA5F雙臂機器人與其URDF模型

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

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

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

  結尾

  很多人在爭論是否應該使用ROS、是否應該在產品上使用ROS、是否應該在工業中使用ROS。但是從我個人的角度上看,ROS對于服務機器人上層算法開發和研究而言是一個很棒的工具,作為學術研究使用的話,可以大大加快實驗平臺搭建過程。

 
 
 
[ 行業資訊搜索 ]  [ 加入收藏 ]  [ 告訴好友 ]  [ 打印本文 ]  [ 關閉窗口 ]
 
 
展會更多+
視頻更多+
點擊排行
 
網站首頁 | 網站地圖 | 排名推廣 | 廣告服務 | 積分換禮 | 網站留言 | RSS訂閱
主站蜘蛛池模板: 一区二区三区高清视频在线观看 | 在线国产视频观看 | 山岸逢花在线观看无删减 | 国内精品久久久久久久97牛牛 | 成人在线免费观看小视频 | 色免费视频| 亚洲精品一区二区在线观看 | 国产一区二区久久 | 中文字幕日韩在线 | 中文字幕国产视频 | 男女羞羞网站 | 人人射在线观看 | 91视频网址| 国产91亚洲精品 | 曰韩一级鸥美一级 | 亚洲性片| 中文字幕第二十六页页 | 免费h| 黄色a一级电影 | 国产精品大片 | 欧美福利| 日韩成人一区二区 | 欧美不卡在线 | 国产在线三区 | 亚洲第一成人在线 | 国产精品a久久久久 | 亚洲成人三区 | 国产一级黄色大片 | 国产精品久久久久永久免费观看 | 亚洲一区视频在线 | 美女爽到呻吟久久久久 | 日韩国产一区二区 | 国产精品伦一区二区三级视频 | 精品日韩视频 | 欧美成人激情视频 | 午夜在线观看视频网站 | 欧美日日| 91精品国产综合久久精品 | 久久久久久久久久久亚洲 | 高清国产一区二区三区四区五区 | 午夜成人免费视频 |