RViz是ROS的三維可視化工具。它的主要目的是以三維方式顯示ROS消息,可以將 數據進行可視化表達。例如,可以無需編程就能表達激光測距儀(LRF)傳感器中的傳感 器到障礙物的距離,RealSense、Kinect或Xtion等三維距離傳感器的點雲數據(PCD, Point Cloud Data),從相機獲取的圖像值等。
另外,利用用戶指定的多邊形(polygon)支持各種表現形式,交互標記 (Interactive Markers)可以表達接收來自用戶節點的命令和數據並互交的過程。在 ROS中,機器人以URDF(Unified Robot Description Format,統一機器人描述格 式)描述,它可以表示爲三維模型,並且每個模型可以根據自由度進行移動或驅動,因 此可以用於仿真或控制。例如,如圖所示,可以顯示移動機器人模型,同時可以通過 接收來自LDS(激光距離傳感器)的距離值,並用於導航。而且,安裝在機器人上的照相 機的圖像可以如左下方那樣顯示。另外,如圖所示,可以從Kinect、LRF 和RealSense等各種傳感器獲取數據,並以三維圖像顯示。
1.RViz安裝與運行
以“ros- [ROS_DISTRO] -desktop-full”命令安裝ROS時,RViz會默認被安裝。如 果未安裝“desktop-full”或未安裝RViz,請使用以下命令進行安裝。
RViz的運行命令如下。就像任何其他的ROS工具一樣,roscore必須運行。作爲參 考,您也可以使用節點運行命令“rosrun rviz rviz”運行它。
2.RViz畫面佈局
➊ 3D視圖(3D view): 指屏幕的黑色部分。它是可以用三維方式查看各種數據的主屏幕。3D視圖的背景顏 色、固定框架、網格等可以在左側顯示的全局選項(Global Options)和網格(Grid)項目中進行詳細 設置。
➋ 顯示屏(Displays): 左側的顯示屏是從各種話題當中選擇用戶所需的數據的視圖的區域。如果單擊屏幕4 左下方的[Add],選擇屏幕將如圖6-7所示。目前有大約30種不同的顯示屏可供選擇,我們將在下面的描述 中詳細介紹。
➌ 菜單(Menu): 菜單位於頂部。用戶可以選擇保存或讀取顯示屏狀態的命令,還可以選擇各種面板。
➍ 工具(Tools): 工具是位於菜單下方的按鈕,允許用戶用各種功能按鍵選擇多種功能的工具,例如 Interact、Move Camera、Select,Focus Camera、Measure、2D Pose Estimate、2D Navigation Goal 以及Publish Point等。
➎ 視圖(Views): 設定三維視圖的視點
■ Orbit:以指定的視點(在這裏稱爲Focus)爲中心旋轉。這是默認情況下最常用的基本視圖。
■ FPS(第一人稱):顯示第一人稱視點所看到的畫面。
■ ThirdPersonFollower:顯示以第三人稱的視點尾追特定目標的視圖。
■ TopDownOrtho:這是Z軸的視圖,與其他視圖不同,以直射視圖顯示,而非透視法。
■ XYOrbit:類似於Orbit的默認值,但焦點固定在Z軸值爲0的XY平面上。
➏ 時間(Time): 顯示當前時刻(wall time)、ROS Time以及他們各自經過的時間。這主要用於仿真,如 果需要重新啓動,請點擊底部的[Reset]按鈕。
3.RViz顯示屏
使用RViz的過程中最常用的菜單應該是顯示屏5菜單。該顯示屏菜單用於選擇三維視 圖(3D View)畫面所顯示的信息。