深入理解ROS技术 【2】ROS下的模块详解(66-128)
概述:
本篇以字典方式,列出所有的Ros下模塊,給出初步解釋。并針對其重要程度,用星級標(biāo)出重要性。這些概念解釋中,還列出其它文章的鏈接。
模塊表述:
65 interactive_marker_tutorials
ROS學(xué)習(xí)筆記(七)::RVIZ::Interactive Markers: Basic Controls_小溪流的足跡-CSDN博客
RViz學(xué)習(xí)筆記(四) - 交互式marker:開始 - 簡書 (jianshu.com)
66 interactive_markers
67 joint_limits_interface
Joint_limits_interface 包含表示關(guān)節(jié)限制的數(shù)據(jù)結(jié)構(gòu),從通用格式(如 URDF 和 rosparam)填充它們的方法,以及對不同類型的關(guān)節(jié)命令強(qiáng)制執(zhí)行限制的方法。控制器本身不使用joint_limits_interface(它不實(shí)現(xiàn)HardwareInterface),而是在控制器更新后在機(jī)器人抽象的write()方法(或等效方法)中運(yùn)行。強(qiáng)制限制將覆蓋控制器設(shè)置的命令,它不會在單獨(dú)的原始數(shù)據(jù)緩沖區(qū)上運(yùn)行。68 joint_state_controller
ros_control就是ROS為用戶提供的應(yīng)用與機(jī)器人之間的中間件,包含一系列控制器接口、 ... 其中還需要包含一個(gè)joint_state_controller,來控制發(fā)布每個(gè)關(guān)節(jié)的實(shí)時(shí)狀態(tài)。
ROS探索總結(jié)(三十一)——ros_control - 古月居
69 joint_state_publisher
70 joint_state_publisher_gui
這個(gè)包包含一個(gè)工具,用于為給定的 URDF 設(shè)置和發(fā)布聯(lián)合狀態(tài)值。71 kdl_conversions
KDL 和 geometry_msgs 類型之間的轉(zhuǎn)換函數(shù)。72 kdl_parser
運(yùn)動學(xué)和動力學(xué)庫 (KDL) 定義了一個(gè)樹結(jié)構(gòu)來表示機(jī)器人機(jī)構(gòu)的運(yùn)動學(xué)和動力學(xué)參數(shù)。 kdl_parser 提供了從 URDF 中的 XML 機(jī)器人表示構(gòu)造 KDL 樹的工具。 如果您想利用運(yùn)動學(xué)和動力學(xué)庫的強(qiáng)大功能,kdl 解析器提供了一種構(gòu)建完整 KDL 樹對象的簡單方法。從機(jī)器人的 URDF xml 描述或 Collada xml 描述開始,kdl 解析器會自動生成 KDL 樹。73 laser_assembler
提供節(jié)點(diǎn)以從 LaserScan 或 PointCloud 消息組裝點(diǎn)云 激光測距儀傳感器(例如 Hokuyo 的 UTM-30LX)通常會輸出一系列掃描,其中每次掃描都是傳感器平面中檢測到的物體(以極坐標(biāo)表示)的一組范圍讀數(shù)。許多機(jī)器人系統(tǒng),如 PR2 的傾斜激光平臺,連接激光測距儀以獲得世界的 3D 視圖。 Laser_assembler 包提供的節(jié)點(diǎn)可以偵聽掃描流,然后將它們組裝成更大的 3D 笛卡爾坐標(biāo) (XYZ) 點(diǎn)云。 用戶通過兩個(gè) ROS 節(jié)點(diǎn)與laser_assembler 包交互:Laser_scan_assembler:將 sensor_msgs/LaserScan 消息流組裝成點(diǎn)云point_cloud_assembler:有時(shí)由于一些預(yù)處理,激光掃描已經(jīng)被轉(zhuǎn)換成笛卡爾坐標(biāo)作為sensor_msgs/PointCloud 消息。該節(jié)點(diǎn)將這些 sensor_msgs/PointCloud 消息的流組合成更大的點(diǎn)云74 laser_filters
設(shè)計(jì)用于在使用 sensor_msgs/LaserScan 類型的 2D 平面激光掃描儀上運(yùn)行的各種過濾器。75 laser_geometry
該包包含一個(gè)類,用于從由 sensor_msgs/LaserScan 定義的二維激光掃描轉(zhuǎn)換為由 sensor_msgs/PointCloud 或 sensor_msgs/PointCloud2 定義的點(diǎn)云。特別是,它包含的功能可以解決移動機(jī)器人或傾斜激光掃描儀造成的歪斜。76 laser_pipeline
laser_pipeline/Tutorials/IntroductionToWorkingWithLaserScannerData - ROS Wiki
77 librviz_tutorial
顯示如何使用 RViz 顯示和功能編譯您自己的 C++ 程序的教程。
78 map_msgs
這個(gè)包定義了映射包中常用的消息。
79 media_export
占位符包支持媒體路徑的通用導(dǎo)出。80 message_filters
一組消息過濾器,根據(jù)過濾器需要滿足的條件,接收消息并在以后輸出這些消息。81 message_generation
對生成消息的語言綁定的構(gòu)建時(shí)依賴項(xiàng)進(jìn)行包建模。82 message_runtime
對消息語言綁定的運(yùn)行時(shí)依賴項(xiàng)進(jìn)行包建模。83 mk
.mk 包含文件的集合,用于構(gòu)建 ROS 架構(gòu)元素。大多數(shù)包作者應(yīng)該使用 cmake .mk,它調(diào)用 CMake 來構(gòu)建包。此包中的其他文件旨在用于在導(dǎo)入 3rdparty 代碼時(shí)主要出現(xiàn)的特殊情況。84 nav_msgs
nav_msgs 定義了用于與導(dǎo)航堆棧交互的通用消息。85 nodelet
nodelet 包旨在提供一種在同一進(jìn)程中運(yùn)行多個(gè)算法的方法,并在算法之間實(shí)現(xiàn)零拷貝傳輸。該包提供了實(shí)現(xiàn) nodelet 所需的 nodelet 基類,以及用于實(shí)例化 nodelet 的 NodeletLoader 類。86 nodelet_core
nodelet 包現(xiàn)在是 nodelet_core 的一部分。在以前的版本中,它們是 common 的一部分。有關(guān)使用 nodelet 的文檔,請參閱 nodelet 包。有關(guān)功能類似于 topic_tools 包的 nodelet 庫,請參閱 nodelet_topic_tools。87 nodelet_topic_tools
該軟件包包含常見的 nodelet 工具,例如 mux、demux 和油門。88 nodelet_tutorial_math
Nodelet 教程包。89 pcl_conversions
提供從 PCL 數(shù)據(jù)類型和 ROS 消息類型的轉(zhuǎn)換90 pcl_msgs
包含 PCL(點(diǎn)云庫)相關(guān) ROS 消息的包。91 pcl_ros
PCL(點(diǎn)云庫)ROS 接口堆棧。 PCL-ROS 是涉及 ROS 中 n-D 點(diǎn)云和 3D 幾何處理的 3D 應(yīng)用程序的首選橋梁。92 perception
ROS Perception (github.com)
93 perception_pcl
94 pluginlib
pluginlib 包提供了使用 ROS 構(gòu)建基礎(chǔ)架構(gòu)編寫和動態(tài)加載插件的工具。為了工作,這些工具需要插件提供者在他們包的 package.xml 中注冊他們的插件。95 pluginlib_tutorials
pluginlib_tutorials 包96 polled_camera
polled_camera 包含一個(gè)服務(wù)和 C++ 幫助程序類,用于實(shí)現(xiàn)輪詢的相機(jī)驅(qū)動程序節(jié)點(diǎn)并從中請求圖像。該軟件包目前供內(nèi)部使用,因?yàn)?API 仍在開發(fā)中。97 position_controllers
? ? 1)diff_drive_controller?? ? 2)effort_controllers?? ?3)force_torque_sensor_controller
? ?4)forward_command_controller?? ?5)gripper_action_controller?? ?6)imu_sensor_controller
? ?7)joint_state_controller?? ?8)joint_trajectory_controller?? 9)position_controllers
? 10)rqt_joint_trajectory_controller?? 11)velocity_controllers
?
98 python_qt_binding
此堆棧為 Qt 提供 Python 綁定。有兩個(gè)提供程序:pyside 和 pyqt。 PySide 是在 LGPL 下發(fā)布的。 PyQt 是在 GPL 下發(fā)布的。每個(gè)可用的提供程序都包含綁定和構(gòu)建綁定的工具。對于 PySide,它被稱為“Shiboken”。對于 PyQt,這稱為“SIP”。還提供了適配器代碼,使用戶的 Python 代碼獨(dú)立于實(shí)際使用的綁定提供程序,這使得在它們之間切換非常容易。99 qt_dotgraph
qt_dotgraph 提供了處理點(diǎn)圖的助手。100 qt_gui
qt_gui 為基于 Qt 的集成圖形用戶界面提供基礎(chǔ)設(shè)施。它可以使用基于 Python 和 C++ 的插件(在單獨(dú)的包中實(shí)現(xiàn))進(jìn)行擴(kuò)展,這些插件可以提供任意小部件。它需要 PyQt 或 PySide 綁定。100 qt_gui_cpp
qt_gui_cpp 為 qt_gui 的 C++ 綁定提供了基礎(chǔ),并為每個(gè)可用的生成器創(chuàng)建綁定。必須至少有一個(gè)特定的綁定才能使用 C++ 插件。101 qt_gui_py_common
qt_gui_py_common 為用 Python 編寫的 GUI 插件提供通用功能。102 qwt_dependency
這封裝了特定 ROS 發(fā)行版及其 Qt 版本的 Qwt 依賴項(xiàng)103 realtime_tools
包含一組可以從硬實(shí)時(shí)線程使用的工具,而不會破壞實(shí)時(shí)行為。104 resource_retriever
這個(gè)包從 http://、ftp://、package://、file:// 等 url 格式的文件中檢索數(shù)據(jù),并將數(shù)據(jù)加載到內(nèi)存中。 ros 包的 package:// url 被轉(zhuǎn)換為本地 file:// url。資源檢索器最初設(shè)計(jì)用于將網(wǎng)格文件加載到內(nèi)存中,但它可以用于任何類型的數(shù)據(jù)。資源檢索器基于 libcurl 庫。105 robot
擴(kuò)展 ros_base 并包含適用于任何機(jī)器人硬件的 ROS 庫的元包。它可能不包含任何 GUI 依賴項(xiàng)。106 robot_state_publisher
這個(gè)包允許你將機(jī)器人的狀態(tài)發(fā)布到 tf2。一旦狀態(tài)發(fā)布,系統(tǒng)中所有使用 tf2 的組件都可以使用它。該軟件包將機(jī)器人的關(guān)節(jié)角度作為輸入,并使用機(jī)器人的運(yùn)動學(xué)樹模型發(fā)布機(jī)器人鏈接的 3D 姿態(tài)。該包既可以用作庫,也可以用作 ROS 節(jié)點(diǎn)。這個(gè)包已經(jīng)過很好的測試,代碼是穩(wěn)定的。在不久的將來沒有計(jì)劃進(jìn)行重大更改。107 ros
108 ros_base
109 ros_comm
ROS 通信相關(guān)的包,包括核心客戶端庫(roscpp、rospy)和圖形自省工具(rostopic、rosnode、rosservice、rosparam)。110 ros_core
一個(gè)元包,用于聚合使用發(fā)布/訂閱、服務(wù)、啟動文件和其他核心 ROS 概念所需的包。111 ros_environment
該包提供了環(huán)境變量 `ROS_VERSION`、`ROS_DISTRO`、`ROS_PACKAGE_PATH` 和 `ROS_ETC_DIR`。112 ros_tutorials
ros_tutorials 包含演示 ROS 各種功能的包,以及幫助演示這些功能的支持包。113 rosbag
這是一組用于記錄和回放 ROS 主題的工具。它旨在實(shí)現(xiàn)高性能并避免消息的反序列化和重新序列化。114 rosbag_migration_rule
規(guī)則文件定義了一個(gè)或多個(gè) Python 類,這些類是 rosbagmigration.MessageUpdateRule 的子類并覆蓋適當(dāng)?shù)淖侄魏秃瘮?shù)。由于它們采用特定形式,我們使用擴(kuò)展名 .bmr(包遷移規(guī)則)代替典型的 .py 擴(kuò)展名。115 rosbag_storage
這是一套無需依賴 ROS 客戶端庫即可記錄和回放 ROS 消息的工具。116 rosbash
用于將 ros 與 bash 結(jié)合使用的各種 shell 命令。117 rosboost_cfg
包含 rosboost-cfg 工具用于確定 cflags/lflags/etc 的腳本。提升您的系統(tǒng)118 rosbuild
rosbuild 包含用于管理基于 CMake 的 ROS 構(gòu)建系統(tǒng)的腳本。119 rosclean
rosclean:清理文件系統(tǒng)資源(例如日志文件)。120 rosconsole
rosconsole_bridge 是一個(gè)與 console_bridge 和 rosconsole 結(jié)合使用的包,用于將基于 console_bridge 的日志記錄連接到基于 rosconsole 的日志記錄。121 rosconsole_bridge
rosconsole_bridge 是一個(gè)與 console_bridge 和 rosconsole 結(jié)合使用的包,用于將基于 console_bridge 的日志記錄連接到基于 rosconsole 的日志記錄。122 roscpp
roscpp 是 ROS 的 C++ 實(shí)現(xiàn)。它提供了一個(gè)客戶端庫,使 C++ 程序員能夠快速與 ROS 主題、服務(wù)和參數(shù)交互。 roscpp 是使用最廣泛的 ROS 客戶端庫,旨在成為 ROS 的高性能庫。123 roscpp_core
roscpp 消息的底層數(shù)據(jù)庫。124 roscpp_serialization
roscpp_serialization 包含 MessagesSerializationAndAdaptingTypes 中描述的序列化代碼。這個(gè)包是 roscpp 的一個(gè)組件。125 roscpp_traits
roscpp 消息的底層數(shù)據(jù)庫。126 roscpp_tutorials
這個(gè)包試圖一步一步地展示ROS的特性,包括使用消息、服務(wù)器、參數(shù)等。127 roscreate
roscreate 包含一個(gè)幫助創(chuàng)建 ROS 文件系統(tǒng)資源的工具。它提供: roscreate-pkg,它創(chuàng)建一個(gè)新的包目錄,包括適當(dāng)?shù)臉?gòu)建和清單文件。128 roseus
使用Euslisp(roseus)通過感知控制機(jī)器人行為。本教程展示了如何編寫基于感知的行為程序總結(jié)
以上是生活随笔為你收集整理的深入理解ROS技术 【2】ROS下的模块详解(66-128)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SLAM知识[7]:依赖项和安装
- 下一篇: 在Windows10上安装ROS并测试