husky rqt
<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畫面如下 

husky rqt


同時,gazebo中的Husky畫面如下

husky gazebo

---
參考資料 :

#ROS #rqt #dashboard #儀表板 #gazebo #plot #RobotSteering #RqtBag

0 留言