深入理解ROS技术 【1】ROS下的模块详解(1-65)
ROS初探--意義、基本模塊_Peace-CSDN博客
概述:
初學(xué)者要想快速入門,必須對于眾多的ROS模塊初步有個認(rèn)識,需要主動地、有計劃地查閱。本篇以字典方式,列出所有的Ros下模塊,給出初步解釋。并針對其重要程度,用星級標(biāo)出重要性。這些概念解釋中,還列出其它文章的鏈接。
模塊表述:
1 actionlib? ? ?(*****)
關(guān)于通信支持向量機的模型包。
actionlib的身世之謎 - 青丘鳳九 - 博客園 (cnblogs.com)
2 actionlib_msgs??(*****)
關(guān)于消息的模型包。
ROS common_msgs-----actionlib_msgs簡介及使用_倔強不倒翁的博客-CSDN博客
3 actionlib_tutorials??(* *)
關(guān)于教程的模型包。
actionlib_tutorials - ROS Wiki
4 angles? ? ? ? ? ? ? ? ? (***)
關(guān)于角度的包。
5 bond? ? ? ? ? ? ? ? ? ? ?(****)
bond的存在是為了確保兩個進程可以監(jiān)控彼此的終止。這在幾種情況下都很有用。
6?bond_core? ? ? ? ? ? ? (****)
一個鍵允許兩個進程A和B知道另一個進程何時終止,可以是干凈終止,也可以是崩潰終止。該鍵保持連接,直到明確斷開或心跳超時。
7 bondcpp? ? ? ? ? ? ? ? ? ?(****)
是bond在roscpp下的包,是C++語言完成。同樣若用Python包,則在rospy下的bondpy對應(yīng)。
8?bondpy(見7)
9?camera_calibration? ? (****)
相機標(biāo)定。ROS官方提供了用于單目或者雙目標(biāo)定的camera_calibration包。這個包是使用opencv里的張正友標(biāo)定法,所以如果你有使用opencv標(biāo)定的經(jīng)驗,可以直接標(biāo)定,而不使用官方的程序。
10?camera_calibration_parsers?(****)
相機標(biāo)定參數(shù)。
11?camera_info_manager?(****)
如果加入此模塊,執(zhí)行:
?sudo apt-get install ros-noetic-camera-info-manager
12?catkin
低級別構(gòu)建ROS的系統(tǒng)宏和基礎(chǔ)架構(gòu)。(***)
13 class_loader? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(****)
動態(tài)加載程序。
ROS class loader動態(tài)加載原理剖析 - 知乎 (zhihu.com)
14?cmake_modules? ? ? ? ? ? ? ? ? ? ? ? ? ?(****)
CMake模塊的公共存儲庫,不隨CMake一起分發(fā),但通常由ROS軟件包使用。
15?common-lisp? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??(*)
16 common_msgs? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(****)
common_MSG包含其他ROS包廣泛使用的消息。這些信息包括操作(actionlib_MSG)、診斷(diagnostic_MSG)、幾何圖元(geometry_MSG)、機器人導(dǎo)航(nav_MSG)和常見傳感器(sensor_MSG)的信息,如激光測距儀、相機、點云。
17 common_tutorials? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(**)
包含常用教程的元包
18? compressed_depth_image_transport? ? ?(***)
Compressed_depth_image_transport提供了一個到image_transport的插件,用于使用PNG壓縮透明地發(fā)送深度圖像(原始、浮點)。
19??control_msgs? ? ? ? ? ? ? ? ? ??(****)
control_msgs包含用于控制機器人的基本消息和操作。它提供控制器設(shè)定點、關(guān)節(jié)和笛卡爾軌跡的表示。
20 control_toolbox? ? ? ?(****)
控制工具箱包含對所有控制器都有用的模塊。
21 controller_interface? ? ? ? ? ? ? ? ?(****)
控制器的接口基類。
22 controller_manager? ? ? ? ? ? ?(*****)
controller_manager提供了一個硬實時兼容的回路來控制機器人機構(gòu),該回路由hardware_interface::RobotHW實例表示(請參閱hardware_interface package)。控制器管理器提供加載、卸載、啟動和停止控制器的基礎(chǔ)結(jié)構(gòu)。
加載控制器時,控制器管理器將使用控制器名稱作為所有控制器特定參數(shù)的根,最重要的是,該類型標(biāo)識要加載的插件。
?23 controller_manager_msgs? ? ? ? ? ? ? ? ? ? ? ? ?(****)
控制器管理器的消息和服務(wù)。
24 cpp_common? ? ? ? ??(****)
CppyCub包含C++代碼,用于執(zhí)行不一定與ROS相關(guān)的事情,但對于多個包有用。這包括諸如ROS_DEPRECATED和ROS_FORCE_內(nèi)聯(lián)宏,以及用于獲取回溯的代碼。該軟件包是roscpp的一個組成部分。
25 cv_bridge
這包含CvBridge,它在ROS圖像消息和OpenCV圖像之間進行轉(zhuǎn)換。
26 depth_image_proc? ? ? ??(****)
包含用于處理深度圖像(如OpenNI相機生成的深度圖像)的節(jié)點。功能包括創(chuàng)建視差圖像和點云,以及將深度圖像注冊(重新投影)到另一個相機幀中。
depth_image_proc - ROS Wiki
27 desktop? ??(**)
桌面,如ros-noetic-desktop-full
28?desktop_full? ? ? ??(**)
29 diagnostic_aggregator? ? ? ??(****)
diagnostic_聚合器包含一個ROS節(jié)點,即聚合器_節(jié)點,用于偵聽關(guān)于/diagnostics主題的diagnostic_msgs/diagnostics Array消息,對數(shù)據(jù)進行處理和分類,并在/diagnostics_agg上重新發(fā)布。聚合器_節(jié)點加載“Analyzer”插件以執(zhí)行診斷處理和分類。每個診斷聚合器的配置和設(shè)置特定于每個機器人,可由用戶或開發(fā)人員確定。
diagnostic_aggregator - ROS Wiki
30 diagnostic_analysis??(***)
診斷分析包可以將診斷數(shù)據(jù)日志轉(zhuǎn)換為一系列CSV文件。Robot日志由rosbag記錄,可以使用此包中的腳本脫機處理。
diagnostic_analysis - ROS Wiki
31 diagnostic_common_diagnostics
通常的診斷,包括硬件診斷、NTP時鐘診斷、傳感器診斷、TF幀同步診斷。
32 diagnostic_msgs?(****)
該包包含診斷消息,為ROS中的診斷和運行時監(jiān)控系統(tǒng)提供標(biāo)準(zhǔn)化接口。這些消息目前由診斷堆棧使用,診斷堆棧為設(shè)置和訪問消息的簡單方法以及處理診斷數(shù)據(jù)的自動化方法提供了庫。這些消息用于長期日志記錄,除非有非常重要的原因,否則不會更改。
33 diagnostic_updater? ?(****)
diagnostic_updater包含用于輕松更新診斷的工具。它通常在設(shè)備驅(qū)動程序中用于跟蹤輸出主題的狀態(tài)、設(shè)備狀態(tài)等。
34 diagnostics? ??(****)
診斷工具鏈圍繞/diagnostics主題構(gòu)建。 在此主題上,系統(tǒng)通過diagnostic_msgs/DiagnosticArray類型的消息(定義如下)發(fā)布設(shè)備的各種狀態(tài),每個狀態(tài)都關(guān)聯(lián)相應(yīng)的診斷任務(wù)。
ROS中的diagnostics模塊_TensorME-CSDN博客
35 diff_drive_controller? ??(*****)
差速驅(qū)動輪系統(tǒng)控制器。控制以速度命令的形式進行,速度命令被拆分,然后發(fā)送到差速器驅(qū)動軸距的兩個車輪上。里程計根據(jù)硬件的反饋進行計算,并發(fā)布。
diff_drive_controller - ROS Wiki
36 dynamic_reconfigure? ?(*****)
dynamic_reconfigure包提供了一種在運行時更新參數(shù)的方法,而無需重新啟動節(jié)點。
37 eigen_conversions? ??(*****)
-本征值和KDL-本征值和幾何值之間的轉(zhuǎn)換函數(shù)。
38 executive_smach? ?(*****)
當(dāng)您希望機器人執(zhí)行一些復(fù)雜的計劃時,SMACH非常有用,其中可以明確描述所有可能的狀態(tài)和狀態(tài)轉(zhuǎn)換。這基本上是將不同的模塊整合在一起,使像移動機器人這樣的系統(tǒng)做有趣的事情。
39 filters? ? ? ? ? ? ? ?(*****)
給數(shù)據(jù)加濾波器。
40?forward_command_controller? ??(*****)
一組軟件包,包括控制器接口、控制器管理器、傳輸和硬件接口。
ros_control - ROS Wiki
41 gazebo_dev? ? ? ? ?(*****)ackermann_steering_controller
gazebo是三維物理模型庫。為ROS發(fā)行版的Gazebo默認(rèn)版本提供cmake配置。
gazebo入門教程(一) 安裝,UI介紹_LiuZ的博客-CSDN博客
42 gazebo_msgs? ? ?(*****)
用于與來自ROS的Gazebo交互的消息和服務(wù)數(shù)據(jù)結(jié)構(gòu)。
gazebo是一種適用于復(fù)雜室內(nèi)多機器人和室外環(huán)境的仿真環(huán)境。它能夠在三維環(huán)境中對多個機器人、傳感器及物體進行仿真,產(chǎn)生實際傳感器反饋和物體之間的物理響應(yīng)。
Gazebo使用筆記(8) —— ros與gazebo的通信_羅伯特祥的博客-CSDN博客
43 gazebo_plugins? ? ?(*****)
獨立于機器人的Gazebo插件,用于傳感器、電機和動態(tài)可重構(gòu)組件。
44 gazebo_ros? ? ? ? ? ? ?(*****)
gazebo是一種適用于復(fù)雜室內(nèi)多機器人和室外環(huán)境的仿真環(huán)境。它能夠在三維環(huán)境中對多個機器人、傳感器及物體進行仿真,產(chǎn)生實際傳感器反饋和物體之間的物理響應(yīng)。
ROS學(xué)習(xí)筆記十二:使用gazebo在ROS中仿真 - fengMisaka - 博客園 (cnblogs.com)
45?gazebo_ros_control? ??(*****)
46 gazebo_ros_pkgs? ? ? ? ?(*****)
ROS與Gazebo模擬器的接口
47 gencpp? ? ? ? ?(****)
gen_主要是消息生成器;C++ ROS消息和服務(wù)生成器。
48 geneus
49 genlisp? ? ? ? ?(**)
gen_主要是生成器;Lisp 的ROS消息和服務(wù)生成器
50 genmsg? ? ? ? ? ??(****)
用于為各種語言生成ROS消息和服務(wù)數(shù)據(jù)結(jié)構(gòu)的獨立Python庫。
51 gennodejs? ? ? ? ? ?(***)
Javascript 的ROS消息和服務(wù)生成器
52 genpy? ? ? ? ? ? ? ? ??(***)
python的ROS消息和服務(wù)生成器
53 geometry? ? ? ? ? ?(*****)
幾何體庫套件的元包。包括:angles,bullet(子彈類物理模型)、kdl?- A kinematics and dynamics package(運動學(xué)和動力學(xué)軟件包)、tf?- A coordinate transform library(坐標(biāo)轉(zhuǎn)換庫)、tf_conversions(tf、kdl和特征數(shù)據(jù)類型之間的一組轉(zhuǎn)換函數(shù))
54 geometry_msgs? ? ?(*****)
geometry_msgs為常見幾何圖元(如點、向量和姿勢)提供消息。這些原語旨在提供通用數(shù)據(jù)類型并促進整個系統(tǒng)的互操作性。
55 geometry_tutorials? ?(*****)
幾何教程的元包。
navigation/Tutorials/RobotSetup/TF - ROS Wiki
56 gl_dependency? ??(*****)
這封裝了特定ROS分布及其Qt版本的GL依賴關(guān)系
57 hardware_interface? ?(*****)
硬件接口類。
58 image_common? ? ? ? ?(*****)
在ROS中處理圖像的通用代碼
59 image_geometry
“IMAGE幾何”包含C++和Python庫,用于幾何解釋圖像。它將sensor_msgs/CameraInfo消息中的校準(zhǔn)參數(shù)與OpenCV功能(如圖像校正)進行接口,就像cv_bridge將ROS sensor_msgs/image與OpenCV數(shù)據(jù)類型進行接口一樣。
60 image_pipeline? ? ?(****)
圖像處理管道填補了從相機驅(qū)動程序獲取原始圖像和高級視覺處理之間的空白。
61 image_proc? ? ? ? ? ?(*****)
單幅圖像的校正和色彩處理。
62 image_publisher? ? ? ??(*****)
包含從單個圖像文件或avi運動文件發(fā)布圖像流的節(jié)點。
63 image_rotate? ? ? ? ??(*****)
包含一個節(jié)點,該節(jié)點以最小化某個任意幀中的向量與攝影機幀中的向量之間的角度的方式旋轉(zhuǎn)圖像流。傳出圖像的幀由節(jié)點發(fā)布。
此節(jié)點旨在允許以比物理相機的硬件約束方向更直觀的方向顯示相機圖像。例如,這特別有助于以一致的向上方向顯示來自PR2前臂相機的圖像,盡管在操縱過程中前臂需要以任意方式旋轉(zhuǎn)。
不建議將此節(jié)點的輸出用于進一步計算,因為它插值源圖像,引入黑色邊框,并且不輸出相機信息。
image_rotate - ROS Wiki
64 image_transport? ? ? ? ? ?(*****)
圖像傳輸應(yīng)始終用于訂閱和發(fā)布圖像。它為以低帶寬壓縮格式傳輸圖像提供透明支持。示例(由單獨的插件包提供)包括JPEG/PNG壓縮和Theora流視頻。
65 image_transport_plugins? ?(*****)
一組插件,用于以非原始像素數(shù)據(jù)的表示形式發(fā)布和訂閱sensor_msgs/圖像主題。例如,對于從robot上觀看圖像流,視頻編解碼器將提供更低的帶寬和延遲。對于高清晰度圖像的低幀速率傳輸,您可能更喜歡以JPEG或PNG壓縮格式發(fā)送它們。
66 image_view? ? ? ? ? ? ? ? ? ?(*****)
ROS圖像主題的簡單查看器。包括用于立體+視差圖像的專用查看器。
?
總結(jié)
以上是生活随笔為你收集整理的深入理解ROS技术 【1】ROS下的模块详解(1-65)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROS知识 【6】Ubuntu20.04
- 下一篇: SLAM知识[7]:依赖项和安装