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