6.1 可視化簡介
6.1 可視化簡介
場景
對于機器人操作系統(tǒng)而言,無論是程序的開發(fā)、調(diào)試還是項目的最終落地應(yīng)用,人機交互在其中都占有舉足輕重的地位,是最重要的功能模塊之一。所謂人機交互是指人與計算機之間的數(shù)據(jù)交換,具體到機器人領(lǐng)域,調(diào)用者會給機器人下達一些指令,反之機器人也會給調(diào)用者反饋一些信息,這是一種數(shù)據(jù)雙向傳輸?shù)倪^程,比如,以機器人導航為例:
1.調(diào)用者可以給機器人下發(fā)導航的目的地、途徑點等數(shù)據(jù);
2.機器人則會給調(diào)用者反饋當前機器人模型、導航規(guī)劃的路徑、車輛里程計、雷達采集的障礙物信息、圖像信息等數(shù)據(jù)。
那么在人機交互的過程中,應(yīng)該以何種方式實現(xiàn)數(shù)據(jù)交換呢?按照之前介紹,我們可以在終端啟動程序時下發(fā)數(shù)據(jù),程序運行中通過命令行工具來獲取機器人發(fā)布的數(shù)據(jù),這也是前面程序開發(fā)調(diào)試時我們普遍采用的一種方式,但是這種人機交互的方式不夠直觀,尤其時面向一般用戶時更是不夠“友善”,一種理想的策略應(yīng)該是使用圖形化的方式實現(xiàn)人機交互。正是基于這種考量,在 ROS2 中提供了 rviz2 這一圖形化用戶接口,通過該接口調(diào)用者可以以一種“可視化”的方式與機器人交互。
概念
RViz?是 ROS Visualization Tool 的縮寫,直譯為ROS的三維可視化工具。它的主要目的是以三維方式顯示ROS消息,可以將數(shù)據(jù)進行可視化表達。例如:可以顯示機器人模型、激光雷達數(shù)據(jù)、三維點云數(shù)據(jù)、從相機獲取的圖像值等。
機器人建模也是可視化實現(xiàn)中的比較重要的一部分內(nèi)容,ROS2 中的建模是由 URDF 實現(xiàn)的。
URDF是 Unified Robot Description Format 的首字母縮寫,直譯為統(tǒng)一(標準化)機器人描述格式,可以以一種 XML 的方式描述機器人的部分結(jié)構(gòu),比如:底盤、攝像頭、激光雷達、機械臂以及不同關(guān)節(jié)的自由度等,該文件可以被 C++ 內(nèi)置的解釋器轉(zhuǎn)換成 rviz 或仿真環(huán)境中的可視化機器人模型。
作用
毋庸置疑的,“可視化”的人機交互方式更方便、快捷、美觀大方,可以大大提高程序的開發(fā)調(diào)試效率。并且對于非專業(yè)人員而言也更加友好。

B站有完整的ros系列教程視頻,可以觀看完整內(nèi)容ros課程ROS2理論與實踐
更多內(nèi)容將在猛獅知識星球社區(qū)更新最新課程,后續(xù)將推出更多優(yōu)質(zhì)內(nèi)容——詳情可關(guān)注猛獅集訓營公眾號和猛獅集訓營官方網(wǎng)站