ROS2
dckwin
世界最不著名程序员之一
展开
-
ROS2 Quality of Service 服务质量 QoS 简介
ROS2 Quality of Service 服务质量 QoS 简介背景介绍QoS服务质量简介实例参考资料ROS在使用过程中最常用的消息之一就是sensor_msgs了,但是最近使用ROS2的过程中遇到一个问题,我要订阅一个消息类型为sensor_msgs/msg/LaserScan的话题scan,在代码中无法获取该消息,但是通过ros2 topic info /scan可以看到该话题被订阅了...原创 2020-05-03 22:20:34 · 4479 阅读 · 0 评论 -
ROS2解决服务嵌套、回调嵌套死锁问题
ROS2解决服务嵌套、回调嵌套死锁问题背景介绍基本概念代码实现总结以前做开发都是用ros1+c++开发,最近入手深度强化学习开始了ros2+Python的开发之旅,下面是记录一次死锁的解决过程。由于话题、定时器、服务、动作、参数服务器等方式都是通过回调函数触发,所以我们通过定时器嵌套服务的方式举例。背景介绍死锁问题,对于熟悉C++多线程开发使用mutex的朋友肯定不陌生,死锁问题是程序中比较...原创 2020-04-27 12:16:45 · 2455 阅读 · 0 评论 -
ROS2学习笔记之了解ros2doctor篇
ROS2学习笔记之了解ros2doctor篇背景前期准备学习内容1. 检查设置2. 检查整个机器人系统3. 得到一个完成的报告总结学习目标:学会使用ros2doctor工具分析出现的问题背景当ros2没有安装我们预期的设定运行的时候,我们可以用ros2doctor工具检查ros2的设置。ros2doctor对ros2全面的检查,包括平台、版本、连接情况、环境、运行的系统等等。然后给出可能的...原创 2020-02-21 18:24:01 · 696 阅读 · 0 评论 -
ROS2学习笔记之编写Python服务service和client节点篇
ROS2学习笔记之编写Python服务service和client节点篇背景前期准备学习内容1 创建包1.1 更新 package.xml1.2 更新 setup.py2. 编写服务service节点2.1 代码解释2.2 添加程序入口3 编写客户端client节点3.1 代码解释3.2 添加程序入口编译运行总结学习目标:用Python创建并运行简单的服务的客户端和服务端节点。背景当节点通过...原创 2020-02-21 16:43:36 · 2812 阅读 · 1 评论 -
ROS2学习笔记之编写C++服务service和client篇
ROS2学习笔记之编写C++服务service和client篇背景前期准备学习内容1. 创建包1.1 更新 package.xml2. 编写服务service节点2.1 代码解释2.2 让service生成可执行文件3 编写客户端client节点3.1 代码解释3.2 生成可执行文件编译运行总结学习目标:能够用C++编写服务的service和client背景当节点通过服务进行通讯的时候,发送...原创 2020-02-21 15:51:32 · 3527 阅读 · 1 评论 -
ROS2学习笔记之编写Python发布订阅节点篇
ROS2学习笔记之编写Python发布订阅节点篇背景前期准备学习内容1. 创建Python功能包2. 编写发布节点2.1 代码解释2.2 添加依赖2.3 添加发布者程序入口2.4 检查setup.cfg3. 编译订阅者3.1 代码解释3.2 添加订阅者程序入口4. 编译运行节点总结学习目标:通过Python实现编写并运行发布订阅节点背景在本篇教程当中,我们编写两个节点通过话题的方式进行字符串...原创 2020-02-21 14:16:51 · 5253 阅读 · 0 评论 -
ROS2学习笔记之C++编写简单发布订阅节点篇
ROS2学习笔记之C++编写简单发布订阅节点篇背景前期准备学习内容1. 为例程创建一个包2. 编写publisher发布者节点2.1 代码解释2.2 添加依赖2.3 CMakeLists.txt3. 编写subscriber订阅者节点4. 编译节点并运行总结学习目标:用C++创建并且运行订阅发布的简单节点背景节点是一个通过ROS网络进行数据交互的可执行文件的进程。在这篇教程当中,我们编写一个...原创 2020-02-21 10:02:03 · 11957 阅读 · 0 评论 -
ROS2学习笔记之创建自己的功能包
ROS2学习笔记之创建自己的功能包背景前期准备学习内容1. 创建一个包2. 编译新建的包3 Source工作空间的配置文件4 使用新建的包5. 查看包的内容6. 自定义 package.xml总结学习目标: 使用CMake或Python创建一个新的包,然后运行其可执行文件。背景什么是ROS2的一个包?一个包可以认为是一个存放我们ROS2代码的容器。当我们希望使用自己的代码或者将代码和他人...原创 2020-02-20 21:12:42 · 4744 阅读 · 0 评论 -
ROS2学习笔记之创建工作空间篇
ROS2学习笔记之创建工作空间篇背景前期准备学习内容1. Source ROS 2 环境变量2. 创建一个新的文件夹3. 下载一个简单的例子4. 解决依赖关系5. 使用colcon编译工作空间6. 加载新建的工作空间7. 修改新建的工作空间中的包总结学习目标:创建一个工作空间,并对如果进行开发和测试有一个全面的了解背景工作空间是一个包含ROS2功能包的一个文件夹。在我们使用ROS2的时候我们...原创 2020-02-20 17:00:17 · 5084 阅读 · 3 评论 -
ROS2学习笔记之rosbag篇
ROS2学习笔记之rosbag篇背景准备条件学习内容1. 准备活动2. 选择话题3. ros2 bag record3.1 记录多个话题4. ros2 bag info5. ros2 bag play总结后续学习目标:记录发布在话题上的消息,方便我们后期查看背景ros2 bag是一个命令行工具用于记录话题上发布的消息。他可以保存任意数量话题上的消息内容。我们可以通过数据回放实现实验场景的重现...原创 2020-02-20 12:11:51 · 6221 阅读 · 2 评论 -
ROS2学习笔记之创建启动文件篇
ROS2学习笔记之创建启动文件篇背景准备条件学习内容1. 准备操作2 编写启动文件2.1 启动文件详解3 ros2 launch用rqt_graph查看节点关系图总结学习目标:能够通过启动文件启动一个复杂的ROS系统背景在前面的教程当中我们每次都要打开两个终端去启动节点,今后我们会有越来越多的节点,这种操作将会变得十分无聊。启动文件可以同时启动多个节点,同时对他们进行配置。通过ros2 ...原创 2020-02-20 10:51:27 · 1002 阅读 · 0 评论 -
ROS2官网教程学习笔记使用rqt_console篇
ROS2官网教程学习笔记使用rqt_console篇背景准备条件学习内容1. 打开节点2. rqt_console上的消息3. 日志等级3.1 设置默认的消息等级总结学习目标:了解rqt_console背景rqt_console是一个用于查看ROS日志消息的GUI工具。通常日志的消息会显示在终端中。使用rqt_console的好处是,我们可以按照时间收集这些日志,以一个更有条理的方式查看日志...原创 2020-02-20 09:57:24 · 1363 阅读 · 3 评论 -
ROS2官网教程学习笔记理解ROS2 actions动作
ROS2官网教程学习笔记理解ROS2 actions动作背景准备条件学习内容1. 启动节点2. 使用 actions动作总结学习目标: 了解ROS2 actions动作背景actions动作是ROS2用于耗时比较长的一种通讯方式。主要由三部分组成: 目标(goal)、结果(result)、反馈(feedback)actions动作基于话题和服务,它的功能和服务类似,除了它是可以被抢占的...原创 2020-02-20 09:04:43 · 1377 阅读 · 0 评论 -
ROS2官网教程学习笔记理解ROS2参数服务器篇
ROS2官网教程学习笔记理解ROS2参数服务器篇背景准备条件学习内容1. 运行节点2. ros2 param list3. ros2 param get4. ros2 param set总结学习目标:了解如何获得、设置、保存修改参数背景参数是节点的配置参数值。你可以认为参数是节点配置的一部分。参数为整数,浮点数,布尔值,字符串和列表。在ROS2中,每个节点都有自己的参数。所有参数都是可动态重...原创 2020-02-19 20:17:58 · 1459 阅读 · 0 评论 -
ROS2官网教程学习笔记理解ROS2服务篇
ROS2官网教程学习笔记理解ROS2服务篇背景准备条件学习内容1. 运行节点2. ros2 service list3. ros2 service type3.1 ros2 service list -t4. ros2 service find5. ros2 interface show6. ros2 service call总结学习目标:了解ros2服务有关的命令行背景这一点和ros1一样...原创 2020-02-19 18:17:45 · 606 阅读 · 0 评论 -
ROS2官网学习笔记 理解ROS2话题篇
ROS2官网学习笔记 理解ROS2话题篇背景要准备的条件学习内容1. 启动节点2. rqt_graph3. ros2 topic list4. ros2 topic echo5. ros2 topic info6. ros2 msg show7. ros2 topic pub8. ros2 topic hz9. 关闭节点总结学习目标:使用rqt_graph和命令行工具查看ROS2的话题.背景...原创 2020-02-19 16:49:22 · 1291 阅读 · 0 评论 -
ROS2官网教程学习笔记理解ROS2节点篇
ROS2官网教程学习笔记理解ROS2节点篇背景1.ROS2网络(ROS2 graph)2.ROS2中的节点提前准备学习任务1.ros2 run2. ros2 node list2.1 重映射Remapping3 ros2 node info总结学习目标:了解ROS2中节点的功能以及进行交互的相关工具。背景以下内容主要对官网教程进行翻译1.ROS2网络(ROS2 graph)在ROS2中单...原创 2020-02-19 15:45:55 · 1493 阅读 · 0 评论 -
Ubuntu 18.04 安装ros2 Eloquent 版本
Ubuntu 18.04 安装ros2 Dashing 版本设置语言环境添加安装源按照ROS2配置环境测试安装安装ros1的桥本文参考官网教程个人进行翻译,记录安装过程设置语言环境首先我们要进行语言环境的设置,确保语言环境为UTF-8。对于一般电脑这一步基本上没有什么问题,但是如果使用的是docker这种,语言环境不是很完善,可能只支持POSIX(通常说的ASCII编码),这就可能造成乱码。...原创 2020-02-18 21:07:02 · 5193 阅读 · 0 评论