ROS
[ROS Husky主題實作] 單元3 : 蒐集與可視化Husky Car的資訊 : CREATING A RQT DASHBOARD
<source : RQT中的模擬截圖>
一、前言
本篇文章以創建 rqt 儀表板為主。而這儀表板是由許多不同功能的模組所組成,將資訊可視化,以利後續的機器人開發。
rqt 儀表板的設定可以用互動式方式調整,使用者最偏好的設定可設置為 "Perspective",當作下次使用的預設介面。
二、RQT安裝步驟
步驟一 : 安裝 RQT
$ sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins ros-kinetic-rqt-robot-plugins
步驟二 : 啟動 RQT
$ roscore
步驟三 : 開啟 RQT 視窗
$ rqt
當你看到 rqt 呈現空空如也的狀態,請別擔心,並非你的安裝步驟錯誤或是出現其他預期外的事。
你只要將滑鼠移到 Default-rqt 那行深灰色的色塊,點滑鼠右鍵,就會出現選單了。
三、RQT應用實例解說
步驟一 : 安裝 Husky 模擬器
$ sudo apt-get install ros-kinetic-husky-simulator
$ export HUSKY_GAZEBO_DESCRIPTION=$(rospack find husky_gazebo)/urdf/description.gazebo.xacro
步驟二 : 啟動 husky_gazebo相關的launch檔
$ roslaunch husky_gazebo husky_playpen.launch
步驟三 : 設定 RQT
$ rqt
開啟後,第一次的畫面會是空白的。所以將滑鼠移到 Default-rqt 那行深灰色的色塊,點滑鼠右鍵,就會出現選單了。在本練習需要的 Plugins如下 :
- Rviz (Visualization >> Rviz)
- Plot x2 (Visualization >> Plot)
- Bag (Logging >> Bag)
- Robot Steering (Robot Tools >> Robot Steering)
完成後,畫面如下圖 :
將此設定設為Default,選單的操作方式 Perspectives > Create Perspective
若要輸出perspective設定檔,選單操作方式為 Perspectives > Export
若要載入perspective設定檔,指令如下 :
$ rqt --perspective-file "$(rospack find 套件包名稱)/config/檔名.perspective"
範例
$ rqt --perspective-file "$(rospack find my_ros_rqt_package)/config/my_dashboard.perspective"
如果你的畫面出現 "[rospack] Error: package 'random_husky_driver' not found"。
記得重新編譯 catkin_ws,再更新環境變量。
實際步驟如下 :
1. 進入工作空間中指定套件的資料夾中
$ cd ~/catkin_ws/random_husky_driver
2.建立"config"資料夾並把 perspective檔案放入
3.回到catkin_ws並重新編譯
$ cd ~/catkin_ws && catkin_make
4.更新環境變量
$ source ~/catkin_ws/devel/setup.bash
5.載入perspective檔
$ rqt --perspective-file "$(rospack find random_husky_driver)/config/husky.perspective"
步驟4 : 載入 Husky Car 的 RVIZ檔案
在 rqt 的 rviz plugin,選擇 "openconfig",再到以下路徑開啟 robot.rviz檔案。
/opt/ros/kinetic/share/husky_viz/rviz/view_robot.rviz
依據這個RVIZ檔案,可以看到模擬的雷射與在Gazebo環境中的Husky移動路徑。
步驟5 : 其他Plugins簡介
Plot :
對於那些即時的Topic,Plot是一個很好用的繪圖工具。舉例而言,我們要繪製里程計的命令Topic與模擬里程間的對應,我們只要在分別的視窗添加以下Topic即可。
/odometry/filtered/twist/twist/angular/z
和
/husky_velocity_controller/odom/twist/twist/angular/z
Robot Steering :
此工具提供一個簡單的方法來讓我們手動操作 Husky Car。只要指定接受速度指令的Topic,即可移動 Husky Car。在這個實作中,Topic為 /cmd_vel
Rqt bag :
是一個用來查看 log(登錄)檔的工具。在這裡,藉由點擊按鈕,即可用rqt bag紀錄 husky 移動的資訊,或是選擇那些需要紀錄的Topic。依據實際需求,隨時可終止紀錄。
上述設定完畢後,rqt畫面如下
---
參考資料 :
#ROS #rqt #dashboard #儀表板 #gazebo #plot #RobotSteering #RqtBag
0 留言