(轉載)Rviz三維可視化

Rviz三維可視化

一、安裝

添加ROS源:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加ROS源祕鑰:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

更新源

sudo apt-get update

安裝ROS完整版:(由於使用Rviz,PCL等模塊,請務必安裝完整版)

sudo apt-get install ros-kinetic-desktop-full
sudo apt-cache search ros-kinetic

初始化ROS:

sudo rosdep init
rosdep update

添加環境變量

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

更新ROS環境變量

source /opt/ros/kinetic/setup.bash

測試ROS是否成功安裝:
開啓一個新的Teminnal,輸入:

roscore

測試Rviz
開啓一個新的Teminnal,輸入:

rviz

成功顯示rviz界面如下:
在這裏插入圖片描述

二、安裝並運行rviz

rviz已經集成在桌面完整版的ROS系統當中,如果已經成功安裝了桌面完整版的ROS,可以直接跳過這一步驟,否則,請使用如下命令進行安裝:

sudo apt-get install ros-kinetic-rviz

安裝完成後,在終端中分別運行如下命令即可啓動ROS系統和rviz平臺:

roscore

rosrun rviz rviz

啓動成功的rviz主界面如下圖所示:

在這裏插入圖片描述

該界面主要包含以下幾個部分:

    0 :3D視圖區,用於可視化顯示數據,目前沒有任何數據,所以顯示黑色
    1 :工具欄,提供視角控制、目標設置、發佈地點等工具
    2 :顯示項列表,用於顯示當前選擇的顯示插件,可以配置每個插件的屬性
    3 :視角設置區,可以選擇多種觀測視角
    4 :時間顯示區,顯示當前的系統時間和ROS時間

rviz的運行已經沒問題了,那麼如何將數據在rviz中可視化顯示呢?

三、數據可視化

進行數據可視化的前提當然是要有數據,假設需要可視化的數據以對應的消息類型發佈,我們在rviz中使用相應的插件訂閱該消息即可實現顯示。

首先,需要添加顯示數據的插件。點擊rviz界面左側下方的“Add”按鍵,rviz會將默認支持的所有數據類型的顯示插件羅列出來,如下圖所示:

在這裏插入圖片描述

在列表中選擇需要的數據類型插件,然後在“DisplayName”裏填入一個唯一的名稱,用來識別顯示的數據。例如顯示兩個激光傳感器的數據,可以分別添加兩個LaserScan類型的插件,命名爲Laser_base和Laser_head進行顯示。

添加完成後,rviz左側的Dispaly中會列出已經添加的顯示插件;點擊插件列表前的加號,可以打開一個屬性列表,根據需求設置屬性。一般情況下,“Topic”屬性較爲重要,用來聲明該顯示插件所訂閱的數據來源,如果訂閱成功,在中間的顯示區應該會出現可視化後的數據。

在這裏插入圖片描述

如果顯示有問題,請檢查屬性區域的“Status”狀態。Status有四種狀態:OK、Warning、Error和Disabled,如果顯示的狀態不是OK,那麼請查看錯誤信息,並詳細檢查數據發佈是否正常。

在這裏插入圖片描述

四、插件擴展機制

rviz是一個三維可視化平臺,默認可以顯示下表所示的通用類型數據,其中包含座標軸、攝像頭圖像、地圖、激光等數據。

在這裏插入圖片描述

但作爲一個平臺,rviz可以顯示的數據不僅僅如此。rviz支持插件擴展機制,以上這些數據的顯示都基於默認提供的相應插件。如果需要添加其他數據的顯示,也可以通過編寫插件的形式進行添加。關於rviz插件機制的使用,可參考以下鏈接:http://www.guyuehome.com/945

轉載自:http://www.guyuehome.com/2213

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章