南京网站开发建设,本地建站教程,电脑制作ppt的软件叫什么,网站建设网站维护目录
1 DDS介绍
2. 工程介绍
4 构建工具colcon
5 启动一个节点 1 DDS介绍
DDS#xff0c;全称 Data Distribution Service (数据分发服务)。是由对象管理组 (OMG) 于 2003 年发布并于 2007 年修订的开分布式系统标准。通过类似于ROS中的话题发布和订阅形式来进行通信全称 Data Distribution Service (数据分发服务)。是由对象管理组 (OMG) 于 2003 年发布并于 2007 年修订的开分布式系统标准。通过类似于ROS中的话题发布和订阅形式来进行通信同时提供了丰富的服务质量管理来保证可靠性、持久性、传输设置等。DDS实现层其实就是对不同常见的DDS接口进行再次的封装让其保持统一性为DDS抽象层提供统一的API。
优势 发布/订阅模型简单解耦可以轻松实现系统解耦性能在发布/订阅模式中与请求/回复模式相比延迟更低吞吐量更高。远程参与者的自动发现此机制是 DDS 的主要功能之一。通信是匿名的、解耦的开发者不必担心远程参与者的本地化。丰富的 Qos 参数集允许调整通信的各个方面可靠性、持久性、冗余、寿命、传输设置、资源......实时发布订阅协议 ( RTPS )该协议几乎可以通过任何传输实现允许在 UDP、TCP、共享内存和用户传输中使用 DDS并实现不同 DDS 实现之间的真正互操作性。 劣势 API复杂DDS 的灵活性是以复杂性为代价的。系统开销相对较大社区支持问题 支持的通信 非零拷贝通信 话题服务参数行为零拷贝通信 2. 工程介绍
和其他代码开发一样首先建立一个工作空间一个工作空间下可以有多个功能包一个功能包可以有多个节点存在或者一个功能包只有一个节点
ROS2中功能包根据编译方式的不同分为三种类型 cmake: 适用于C。 ament_python: 适用于python程序。 ament_cmake: 适用于C程序是cmake的增强版。 功能包获取 直接安装sudo apt install ros-version-package_name 手动编译获取 功能包创建指令ros pkg: linuxlinux:~$ ros2 pkg usage: ros2 pkg [-h] Call ros2 pkg command -h for more detailed usage. ... Various package related sub-commands options: -h, --help show this help message and exit Commands: create Create a new ROS 2 package executables Output a list of package specific executables list Output a list of available packages prefix Output the prefix path of a package xml Output the XML of the package manifest or a specific tag Call ros2 pkg command -h for more detailed usage. ros2 pkg create package-name --build-type {cmake,ament_cmake,ament_python} --dependencies 依赖名字
4 构建工具colcon
ROS2中使用colcon进行代码的构建编译
colcon官方文档Installation — colcon documentation 安装colcon sudo apt-get install python3-colcon-common-extensions 编译 cd 工作空间 colcon build 基本命令 编译的结果在install文件夹中是以 package 为单位存放的 colcon build 将编译的结果进行合并安装如头文件都放在 install/include 目录下, 库文件都放在 install/lib 文件夹下等。 colcon build --merge-install 将编译的结果以软链接的方式进行安装 colcon build --symlink-install 指定编译的 ros package, colcon build --packages-select [PKG_NAME ...] 忽略编译指定的 ros package colcon build --packages-ignore [PKG_NAME ...] 在编译的时候指定特定的 cmake 变量的值 colcon build --cmake-args [* ...] 指定同时编译的最大线程数默认为 8 colcon build --parallel-workers 5 启动一个节点
ROS2中每一个节点负责一个具体的功能节点之间通信底层为DDS支持支持的通信方式参阅第一节DDS介绍 启动节点 source install/setup.bash ros2 run package_name executable_name 查看节点列表 ros2 node list 查看节点信息 ros2 node info node_name 无论你是初学者还是有经验的开发者希望我的博客能对你的学习之路有所帮助。如果你觉得这篇文章有用不妨点击点赞、收藏或者留下你的评论分享你的见解和经验也欢迎你对我博客的内容提出建议和问题。每一次的点赞、评论、分享和关注都是对我的最大支持也是对我持续分享和创作的动力。
阅读我的CSDN主页,解锁更多精彩内容:Tech Embedded-CSDN博客