Professional Documents
Culture Documents
3.ROS系統通訊機制的應用 - Turtlesim
3.ROS系統通訊機制的應用 - Turtlesim
Turtlesim – 經典的教學範例
目 錄
3 ROS 與 Turtlesim
3-1 新增 ROS 專案空間
3-2 操作 Turtlesim
3-0-1-1. 詳細的操作步驟,按鍵類型皆會以
【按鍵】表示(實體按鍵或是
圖形化介面按鍵)
3-0-1-2. 請注意此操作步驟,有些步驟需要
根據實際情況做彈性調整
操作範例圖示
3-1-1-3. 點擊圖示【啟動】
3-1-3-2. 可點選桌面左方工具列選項中的資料夾,
開啟主目錄資料夾視窗後,找尋剛剛自行
手動建立的資料夾。
3-1-4-1. 輸入本頁指令,請檢查專案名稱
是否正確。本教學範例使用
「ros_tutorial」
3-1-4-2. 指令輸入正確後,將會切換目錄
3-1-5-1. 輸入本頁指令,其中
「catkin_create_package」: 為 ROS 中協助使用者建立 Package 的必要指令
「package_name」 : 為想要的 package 名稱,本教學範例使用 「practice」
「dependency1 …」 : 為 package 需要使用到的依賴,本教學範例使用
「roscpp、rospy、std_msgs、geometry_msgs」
4個依賴
3-1-6-1. 請先檢查目前目錄是
否在 ../src 資料夾的目錄底下
3-1-6-2. 輸入本頁指令
3-1-6-4. 請先檢查目前目錄是否
在自行設定的 ../package
資料夾的目錄底下,本教
學範例的 package 名稱為
practice
3-1-6-5. 輸入本頁指令,注意資料夾
名稱,後續教學會使用到
python檔案與 launch 文件,
因此本教學範例新增 「script」
與 「launch」資料夾
3-1-7-1. 輸入本頁指令切換當
前目錄,本教學範例
的 ROS 專案名稱為
「ros_tutorial 」。
3-1-7-4. 需要注意的是,若節點的設計使
用的是靜態語言(如 C 語言),每
次修改或新建立節點都需要重新
建立 ROS 專案的工作空間
3-1-7-5. 輸入本頁指令後,發現無
法找尋到 package – practice。
在下一步驟 3-1-7-6 中,我們
將解決這個問題。
使用者 Shell
1.使用者下達指令 6.Shell 將結果顯示
給使用者 我們必須要『輸入』一個指令之後,
Shell 「硬體」才會透過你下達的指令來工。
作那麼硬體如何知道你下達的指令呢?
2.Shell 將指令 5.Kernel 管理硬體傳 那就是 kernel (核心) 的控制工作了。
傳給Kernel 回後的結果,再傳給
Shell 因此我們必須要透過「 Shell 」將我們
Kernel
輸入的指令與 Kernel 溝通,好讓
3.Kernel 根據指令 4.硬體工作完後,回傳結果 Kernel 可以控制硬體來正確無誤的工作。
控制硬體工作 給 Kernel
硬體
3-1-7-7. 輸入作業系統的密碼,
在 ubuntu 系統中,密
碼不會產生字樣
3-1-7-11. 使用滑鼠左鍵,點擊右上方的按鍵
【Save】
3-1-7-12. 使用滑鼠左鍵,點擊按右上方的
圖示【關閉】
3-1-7-13. 輸入本頁指令,或者
直接重新開啟一個新
的 Terminal 視窗
3-1-7-14. 顯示現在的作業系統
所取得的 IP 位址
3-1-7-15. 輸入本頁指令
3-1-7-16. 成功切換當前路徑,
表示 Terminal 已可
正常使用
package - practice
3-2-1-1. 按下鍵盤的快捷鍵
【ctrl】+【alt】+【t】,
開啟新的Terminal 視窗
3-2-1-2. 輸入本頁指令
3-2-2-1. 確認是否在當前
的Terminal 視窗
3-2-2-2. 按下快捷鍵後,即可
在當前的 Terminal
視窗,開啟一個新的
分頁型 Terminal 視窗
3-2-4-1. 確認在當前的
Terminal 視窗中後,
按下 【ctrl】+
【shift】+【t】,開
啟新的Terminal 分頁
型視窗
3-2-4-2. 輸入本頁指令
3-2-4-3. 開始按下鍵盤上的方向鍵後,遙控
Turtlesim 。請注意,一定要在
Terminal 視窗中按下方向鍵,才可以
遙控 Turtlesim。
3-2-5-2. 輸入本頁指令
3-2-8-2. 輸入本頁指令
3-2-8-5. 若要停止監控,在監控視窗按下
按鍵【ctrl】+【c】即可
3-2-9-3. 輸入本頁指令
3-2-9-6. 將滑鼠移至箭頭上方的文字,
即會顯現出不同顏色之文字
藍色 : Publisher Node
紅色 : Topic
綠色 : Subscriber
3-2-10-2. 輸入本頁指令
3-2-11-1. 輸入本頁指令,本教學範例使用
service 「/spawn」
3-2-12-1. 輸入本頁指令,本教學範例
使用 srv 「turtlesim/Spawn」