一. ros學習思路
ros的學習基本上可以從一下這條路走下去:
urdf->tf->gazebo->roscontroll->moveit,淡然,在學習ros的的urdf和tf當中,肯定還會用到rviz。rviz可以穿插在最前面兩個當中學習,其實你學完了前兩個,rviz既然而然也就略知一二了,如果覺得還有必要繼續深入學習rviz的話,可以再加以學習。
學習資料:1.ros維基
2.ros小課堂(優酷網)
3.ros交流區(ros機器人俱樂部)
4.電子書(ROS機器人程式設計)
首推的當然是官網了,就是ros維基,從安裝ros作業系統開始教。但是維基裡面有些文章并不提供翻譯,英語不是很好的剛開始看會有些吃力,但是看幾天以後,你也就大概能看懂講的啥了,說來說去就那麼幾個專業名詞。
其次,就是ros小課堂,視訊也是根據ros維基來做的,講的用的是中文,如果覺得自己可以讀懂維基,我覺得跟着維基來學更快,如果覺得不得行的話,那就跟着小課堂來學,跟着主講人的思路走,效果也是一樣的。
再者,就是一些其他的東西了,說實話QQ群和書目前還沒有怎麼用上,特别QQ群感覺沒啥用,有什麼問題問了得不到解決,最多的就是賣學習資料的。
二. ros作業系統
首先,ros是一個作業系統,是一個化平台子產品化軟體通訊機制。
ros用節點表示一個應用程式,不同node之間通過事先定義好的消息( Topic)服,務(service),動作(action)來實作連接配接。
ros常用功能
1.rviz:3D可視化工具
2.tf:坐标轉換系統
3.gazebo:實體仿真環境
1.ROS檔案系統
功能包集(stack):将某些共呢個的功能包組織在一起
軟體包(package):ROS應用程式代碼的組織單元
package.xml:清單檔案
Cmakelist.txt:編譯配置檔案,使用cmake進行程式編譯的時候,會根據Cmakelist.txt這個檔案進行一步步的處理,然後生成makefile檔案,系統再根據這個檔案進行程式的編譯。
2.建立和編譯ROS軟體包
建立工作空間,其實就是建立一個檔案夾
編譯catkin_make,會生成build和devel目錄
進入src目錄,建立軟體包
修改環境變量
編寫測試代碼
編譯軟體包:主要修改一下Cmakelist.txt
運作:rosrun ……
注意點:第一點:如果編寫測試代碼的時候用到了建立軟體包時候未加入的的軟體包,那麼在修改Cmakelist.txt的時候必須要在find中加上包的名字,否則在catkin_make的時候會提示你找不到任何未加入包所包含的函數。
第二點:ros作業系統有點類似于一個主機,N個叢集的性質。是以在運作任何東西之前,必須先把他老爹叫出來,運作roscore.
三.建構ROS機器人可視化模型urdf
1.urdf(unified Robot Description Format):統一機器人描述格式
對于這一部分的描述,部落格和維基中都給出了很多的解釋,很多的例子,在這裡就不贅述了,分享一個部落格,上面有有關于urdf的一些東西。
(http://www.360doc.com/content/16/0812/18/7821691_582768083.shtml)
2.joint的連結方式
固定連接配接:fixed joint
彈簧連接配接:spring joint
角色關節連接配接character joint
可配置連接配接:configurable joint 萬能的
revolute:旋轉關節
continuous:旋轉關節,無位置限制
prismatic:滑動關節
fixed:虛拟(固定)關節,關機不可運動
可用用如下指令檢車.urdf穩健是否有文法錯誤:
check_urdf xxx.urdf
tag:用于描述子產品的視覺效果
tag:用于描述子產品的形狀和大小
tag:用于描述子產品的位置
四:ROS轉換tf功能
《ros小課堂》
tf_echo:列印出位置
view_frames:生成pdf文檔
rqt_tf_tree:動态可視化看關系
确定一個物體的位置可以用歐拉角,四元素,矩陣轉換等。
分享一個博文:
三種方法介紹
五。moveit學習
廢話不多說,有wiki中文翻譯版,上連結
MoveIt!入門教程-簡介
未完待續。。。。。。。。。