AMR ROS2光達搬運機器人 -使用NVIDIA Orin Nano-入門操作篇
簡介
本文是接續之前AMR ROS2光達搬運機器人的功能介紹篇,內容涵蓋上一篇文章中展示的部分基礎功能,將會透過動圖簡單講解如何從啟動環境到實際在地面進行移動的操作步驟,還有說明導航地圖介面的操作與操作時的常見問題 AMR ROS2光達搬運機器人 規劃貨品搬運路線-使用NVIDIA Orin Nano-功能介紹篇 https://blog.cavedu.com/2024/03/08/amr-ros2-nvidia-orin-nano-introduction/| 撰寫/攝影 | 楊子賢 | ||
| 時間 | 1小時 | 材料表 |
|
| 難度 | 2(滿分5) | ||
軟硬體背景
NVIDIA Jetson Orin Nano Jetpack 5.1.1 L4T 35.3.1 Ubuntu 20.04 LTS如何啟動環境
在啟動前需要先關閉MobaXterm的X11擴充功能RANDR,否則可能會遇到像是下面訊息中的XCB錯誤,修改後會要求重啟X11伺服器,按下"是"後就能開始使用 [pastacode lang="python" manual="QXcbConnection%3A%20XCB%20error%3A%20145%20(Unknown)%20..." message="MobaXterm的X11擴充功能RANDR" highlight="" provider="manual"/]
使用時需要先建立一個docker容器,使用docker可以保持系統環境的一致性,避免受到之前的操作影響,指令執行完成後就會進入docker環境內,開啟時會自動載入設定檔,要離開環境時輸入"exit”即可
[pastacode lang="python" manual=".%2Frun_docker.sh" message="遠端Terminal指令" highlight="" provider="manual"/]
遇到需要在docker執行其他程式的情況時,可以開另外一個終端機,使用以下指令連接到docker環境並載入ROS2設定檔就可以正常操作
[pastacode lang="python" manual=".%2Frun_docker.sh%0Asource%20ros_entrypoint.sh" message="開另外一個終端機,遠端Terminal指令" highlight="" provider="manual"/]
如何執行遙控程式
首先要開啟docker環境,如果看到命令列最前方的使用者是root,就代表已經在docker環境內了 [pastacode lang="python" manual=".%2Frun_docker.sh" message="遠端Terminal指令" highlight="" provider="manual"/]
接著執行有底盤操控功能的程式,這邊用最簡單的溝通程式當範例,繪製地圖與導航程式也同樣有遙控的功能,看到畫面不再跳出訊息代表已經準備好了
[pastacode lang="python" manual="ros2%20launch%20ugv_bringup%20base.launch.py" message="遠端Terminal指令" highlight="" provider="manual"/]
這時再開啟另外一個終端機連接到docker環境,並載入設定檔
[pastacode lang="python" manual=".%2Frun_docker.sh%0Asource%20ros_entrypoint.sh" message="開另外一個終端機,遠端Terminal指令" highlight="" provider="manual"/]
執行遙控程式並等待程式啟動完成後,就能夠以鍵盤輸入遙控機器人:
前進: i
後退: ,
原地左轉: j
原地右轉: l
前進左轉: u
前進右轉: o
後退左轉: m
前進左轉: .
[pastacode lang="python" manual="ros2%20run%20ugv_teleop%20ugv_teleop" message="" highlight="" provider="manual"/]
如何執行地圖繪製程式
剛上面一樣要先開啟docker環境,如果看到命令列最前方的使用者是root,就代表已經在docker環境內了,不用重複執行 [pastacode lang="python" manual=".%2Frun_docker.sh" message="" highlight="" provider="manual"/]
執行地圖繪製程式,等待程式啟動完成就會跳出操作視窗
[pastacode lang="python" manual="ros2%20launch%20ugv_bringup%20carto.launch.py" message="" highlight="" provider="manual"/]
這時候再開啟另外一個終端機,進到docker環境並載入設定檔
[pastacode lang="python" manual=".%2Frun_docker.sh%0Asource%20ros_entrypoint.sh" message="" highlight="" provider="manual"/]
執行遙控程式後,就可以操控著機器人到處繪製地圖
[pastacode lang="python" manual="ros2%20run%20ugv_teleop%20ugv_teleop" message="" highlight="" provider="manual"/]
如何執行導航程式
跟上面一樣要先開啟docker環境,如果看到命令列最前方的使用者是root,就代表已經在docker環境內了,不用重複執行 [pastacode lang="python" manual=".%2Frun_docker.sh" message="" highlight="" provider="manual"/]
執行導航程式,等待程式啟動完成後就會跳出操作視窗,進行導航時請務必要關閉遙控程式,否則會影響到導航的移動
[pastacode lang="python" manual="ros2%20launch%20ugv_bringup%20nav2.launch.py" message="" highlight="" provider="manual"/]
地圖介面的功能簡介
導航面板的功能簡介
如何設定導航點及路徑
首先在docker環境內執行導航程式,等待操作視窗出現 [pastacode lang="python" manual="ros2%20launch%20ugv_bringup%20nav2.launch.py" message="" highlight="" provider="manual"/] 開啟後會處於單點導航模式,選擇設定導航點功能,然後在地圖內容上按住左鍵,這個位置代表想要移動到的座標,接著將箭頭拖曳到想要的方向,這代表最後停車時的方向,放開左鍵後車子會立刻尋找通往目標路徑開始導航移動
若是處於多點導航模式,放開左鍵後會留下一個標記,再次選擇設定導航點功能就能再設定下一個導航點,設定完所有的導航點後,按下導航點導航就會照著設定的導航點尋找路徑依序移動,移動完成後所有的標記點就會消失
如何臨時取消設定導航點
在設定多點導航模式的導航點時,如果想要取消現在已經的設定的導航點,可以先切換至單導航點導航,再點擊切換到多導航點導航,就可以重新設定導航點
留言 💬 (0)
還沒有留言,來當第一個。