# 5.2 RViz
## 5.2.1 簡介
本節課介紹的是我們在ROS開發中非常常用的一個工具,基本上的調試和開發都離不開這個工具——RViz(the Robit Visualization tool)機器人可視化工具,可視化的作用是直觀的,它極大的方便了監控和調試等操作。

## 5.2.2 演示
依然打開教材的模擬場景,輸入`roslaunch robot_sim_demo robot_spawn_launch`,之后在命令行打開新的終端直接輸入`$ rviz` 打開工具。
和Gazebo一樣,也會顯示出一個3D環境,不過操作上有所不同,具體操作如下:
* 平移:鼠標滾輪中鍵
* 旋轉:鼠標左鍵
* 放縮:鼠標滾輪
* 左側控制面板,可以添加插件
RViz的插件種類繁多功能強大,非常適合我們開發調試ROS程序。
## 5.2.3 差異
雖然從界面上來看,RViz和Gazebo非常相似,但實際上兩者有著很大的不同,Gazebo實現的是仿真,提供一個虛擬的世界,RViz實現的是可視化,呈現接收到的信息。左側的插件相當于是一個個的subscriber,RViz接收信息,并且顯示。所以RViz和Gazebo有本質的差異。
## 5.2.4 小結
RViz和Gazebo是我們常用的ROS工具,更好的利用這些工具是我們ROS進階的基礎。具體的操作和使用可以參考我們的官方演示視頻,跟著視頻去實戰演練,熟悉這兩個工具。
- 前言
- 第一章 ROS簡介
- 機器人時代的到來
- ROS發展歷程
- 什么是ROS
- 安裝ROS
- 安裝ROS-Academy-for-Beginners教學包
- 二進制與源碼包
- 安裝RoboWare Studio
- 單元測試一
- 第二章 ROS文件系統
- Catkin編譯系統
- Catkin工作空間
- Package軟件包
- CMakeLists.txt
- package.xml
- Metapacakge軟件元包
- 其他常見文件類型
- 單元測試二
- 第三章 ROS通信架構(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常見msg類型
- 單元測試三
- 第四章 ROS通信架構(二)
- Service
- Srv
- Parameter server
- Action
- 常見srv類型
- 常見action類型
- 單元測試四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 單元測試五
- 第六章 roscpp
- Client Library與roscpp
- 節點初始、關閉與NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 時鐘
- 日志與異常
- 第七章 rospy
- Rospy與主要接口
- Topic in rospy
- Service in rospy
- Param與Time
- 第八章 TF與URDF
- 認識TF
- TF消息
- tf in c++
- tf in python
- 統一機器人描述格式
- 附錄:TF數學基礎
- 三維空間剛體運動---旋轉矩陣
- 三維空間剛體運動---歐拉角
- 三維空間剛體運動---四元數
- 第九章 SLAM
- 地圖
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附錄:Navigation工具包說明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery