![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS2
文章平均质量分 90
拉斐尔在读论文
计算机博士,算法工程师,主要研究机器人和人工智能方面。
展开
-
机器人与计算机视觉实战系列(4):基于帧间差异的运动物体检测以及相机运动状态估计
这是机器人与计算机视觉实战系列的第4篇,将介绍如何基于前后图像帧之间的差异进行运动物体检测和相机运动状态的估计。这是一种简单而有效的方法,可以用于自动驾驶、无人机、视频监控等场景中,提取出图像中的动态信息,并判断相机是否处于静止、平移或旋转状态。原创 2023-04-05 22:40:05 · 1406 阅读 · 1 评论 -
机器人与计算机视觉实战系列(3):ROS2 基础入门
ROS2系统的核心部分是ROS网络 (ROS Graph) ,它是由一组相互通信的节点 (Node) 组成的。话题是一种基于发布/订阅模式的异步通信方式,一个节点可以发布一个话题,其他节点可以订阅这个话题,从而接收到发布者发送的消息。服务是一种基于请求/响应模式的同步通信方式,一个节点可以提供一个服务,其他节点可以请求这个服务,并得到提供者返回的响应。ROS2还保留了ROS1的优点,如发布/订阅模式、节点、话题、服务、参数等概念,以及丰富的软件包和工具。原创 2023-04-03 12:28:21 · 468 阅读 · 0 评论 -
机器人与计算机视觉实战系列(2):编程环境配置
这是机器人与计算机视觉实战系列第二篇:编程环境配置。本文将介绍如何配置VS Code,使得它可以连接已经安装好的WSL2中的ubuntu进行编程开发。原创 2023-04-03 11:57:31 · 110 阅读 · 0 评论 -
机器人与计算机视觉实战系列(1):环境介绍
实战机器人和计算机视觉的环境配置。包括ubuntu、WSL2的ubuntu、ROS2以及Pytorch2.0的安装和配置。原创 2023-04-03 11:47:33 · 173 阅读 · 0 评论 -
为ROS2编译实时Linux内核
这个教程是在一个刚安装完的干净的运行在Intel x86_64的Ubuntu 20.04.1 上进行的。同时,我在Ubuntu 18.04上也进行过测试,也是可以顺利安装的。实际的内核是5.4.0-54-generic,但是我们会安装最新的稳定的RT_PREEMPT版本。为了构建这个内核,你需要至少30GB的空闲磁盘空间。查看https://wiki.linuxfoundation.org/realtime/start,看看哪个最新的稳定版本,在写的时候是“Latest Stable Version 5.原创 2022-01-08 17:26:53 · 1213 阅读 · 0 评论 -
ROS 2 教程(入门级):创建一个launch文件
目标 创建一个launch文件来运行一个复杂的ROS 2系统。背景知识直到这个教程之前,你已经尝试过通过打开新的终端,运行新的节点。随着你创建越来越复杂的系统,系统中有越来越多需要同时运行的节点,打开多个终端并且重新输入设置就变得让人厌烦。Launch文件让你可以同时启动并配置多个多执行的ROS 2 节点。使用ros2 launch命令运行一个launch文件就可以一次性启动你的整个系统,包括全部的节点以及他们的配置文件。前提条件这个教程会用到rqt_graph以及turtlesim包。你也会翻译 2021-08-11 10:24:56 · 3420 阅读 · 1 评论 -
ROS2教程(入门级):创建ROS 2 package
目标 使用CMake或者Python创建你的第一个软件包,并且运行它的可执行文件。背景知识1. 什么是ROS 2 包?一个包可以被看做是你的ROS2的代码的容器。如果你想让你的代码可以安装或者分享给其他人,那么你将需要将它组织成一个包。通过软件包,你可以发布你的ROS 2 工作,同时其它人可以很容易地构建并使用它。在ROS 2 中,软件包是用ament作为编译系统,将colon作为编译工具。你可以使用CMake或者Python来创建一个包,这些是官方支持的,虽然也还有其它的编译的类型存在。2.翻译 2021-08-04 21:11:56 · 3003 阅读 · 0 评论 -
ROS2教程(入门级):创建ROS2工作空间
**目标:**创建一个工作空间并且学习如何为开发和测试设置上层工作空间(overlay)。背景知识工作空间指的是包含了ROS 2 应用包的文件夹。在使用ROS 2之前,需要在你将要进行工作的终端上,source你安装了ROS 2的工作空间。这使得ROS 2的应用包可以在所打开的终端上使用。你还有一个选择是source一个上层工作空间,也就是第二工作空间。第二工作空间指的是你添加了一些新的包,但是它跟已经有的ROS 2 工作空间不存在接口。你的基础工作空间必须要包含有你的上层工作空间所需要的全部依赖。你翻译 2021-07-16 07:03:52 · 4754 阅读 · 0 评论 -
ROS2教程(入门级):记录和回播数据
目标: 记录从话题发布出来的数据,以便我们可以随时回放和检查它。背景知识ros2 bag是一个用来记录你的系统中的话题所发布的数据的命令行工具。它可以收集任意多个话题所发布的数据,并且将数据保存在一个数据库中。你随后可以回播这些数据来复线你的测试结果以及实验结果。记录话题也是分享你的工作的重要方式,它允许其它人复现这个工作。前提条件备注对于ROS 2 Foxy的用户来说,如果需要一个性能更强的rosbag2,可以查看foxy-future branch of rosbag2。这是一个官方支持的分支翻译 2021-07-10 17:55:59 · 1241 阅读 · 1 评论 -
ROS2教程(入门级):ROS2中使用rqt_console
目标: 了解rqt_console这个可以用来查看log消息的工具。背景知识rqt_console 是ROS2中用来查看log消息的图形化界面。比较经典的情况是,log消息会出现在你的终端。通过rqt_console ,你可以采集这些数据,后续可以仔细的查看它,从里面过滤出你需要的消息,保存这些消息,甚至从保存的文件中将它们加载出来,再次对消息进行分析。节点通过log以多种多样的方式输出它关注的事件和状态的消息。为了方便用户,这些内容通常都是有信息量的。前提条件首先,你需要先安装rqt_conso翻译 2021-07-06 15:12:16 · 810 阅读 · 0 评论 -
ROS2教程(入门级):理解ROS 2的动作(action)
目标: 介绍ROS 2中的动作。背景知识动作是ROS 2 中用来沟通的类型之一。 他是为长时间运行的任务准备的。 它包括三个部分:目标,反馈以及结果。动作是在话题和服务的基础上构建的。 它的功能类似于服务,但是动作是可以抢占的,意思是, 你可以在节点运行时,取消动作。 他同时能够提供稳定的反馈,不像服务,每次都只返回一个回复。动作同样使用的是客户端+服务器的模式,类似于发布器与订阅器的模式。 一个动作的客户端节点发送一个目标到一个动作的服务器节点, 服务器节点会确认收到这个目标并且返回一个反馈流和一翻译 2021-07-05 21:46:53 · 935 阅读 · 0 评论 -
ROS2教程(入门级):理解ROS 2的参数(parameter)
目标: 学习如何在ROS 2 中获取、设置、保存以及重新加载参数。背景知识参数是节点的配置,也就是应用的设置。一个节点的参数可以是整型(int)、浮点数(float)、布尔类型(booleans)、字符串(string)以及列表(list)等。在ROS 2中,每个节点都有自己的参数。所有的参数都可以动态进行设置,并且可以跟ROS 2中的服务(service)建立起关系。前提条件这个教程,将会使用到turtlesim包,具体的安装过程可以看:turtlesim的安装。还是那句话,不要忘记在每一个新打开翻译 2021-06-26 08:48:16 · 1881 阅读 · 0 评论 -
ROS2教程(入门级):理解ROS 2的服务(service)
Understanding ROS 2 services目标: 使用命令行工具学习关于ROS 2 中的服务(services)的知识。背景知识服务(services)是ROS中用于节点之间沟通的另外一种方式。之所以说另外一种,之前发布的教程中就讲了一种,是通过话题(topic)进行沟通的,有兴趣的话,可以戳:理解ROS 2话题(topics)。服务是基于一种call-and-response(呼叫-回应)模型,而话题是publisher-subscriber(发布-订阅)模型。使用话题的时候,节点通翻译 2021-06-22 22:37:53 · 3512 阅读 · 0 评论 -
ROS2教程(入门级):理解ROS 2话题(topics)
目标: 使用rqt_graph和命令行工具讲解ROS 2 的话题(ROS 2 topic)。背景知识ROS 2将复杂的系统分见为许多模块化的节点。话题(topics)是ROS graph(图)中非常重要的的组成部分,它像交通工具一样,为各个节点交换信息。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kBOOIY2e-1624290284959)(https://docs.ros.org/en/foxy/_images/Topic-SinglePublisherandSi翻译 2021-06-21 23:48:14 · 1491 阅读 · 0 评论 -
ROS2教程(入门级):理解ROS 2的节点
目标: 学习ROS 2关于关于节点的功能,并且通过工具跟它交互。知识讲解ROS 2 图 (ROS 2 graph)经过前面的几个博客,我们通过rqt这个图形界面工具,以及turtlesim大致的了解到ROS 2 的一下核心的概念。这个核心的概念组成了ROS 2 graph(图)。如果你还没有浏览过之前的博客,可以到我的ROS 2专栏中翻一下。在接下来的几个教程,我们将会详细地学习到一系列关于ROS 2的核心概念。ROS 图(graph)是一个能够同时地共同进行数据处理的ROS 2的组件。它包含了全翻译 2021-06-19 11:26:57 · 2848 阅读 · 0 评论 -
ROS2教程(入门级):ROS 2 中的小海龟以及rqt的使用(2)
4. 安装rqt打开一个新的终端安装rqt以及它的插件:sudo apt updatesudo apt install ~nros-foxy-rqt*运行rqt:rqt5. 使用rqt第一次运行rqt的时候,窗口是空白的。不用担心,从顶部的菜单拦中选择Plugins > Services > Service Caller。备注rqt定位到它的所有插件可能会花费一些时间,如果你点击了Plugins,但是没有看到Services或者其它任何的选项,你需要关闭rqt,在你的终端翻译 2021-06-18 16:08:15 · 1427 阅读 · 0 评论 -
ROS2教程(入门级):ROS 2 中的小海龟以及rqt的使用(1)
目标: 安装并使用 turtlesim 包以及 rqt,为接下来的教程做准备。本篇博客依然是跟着官方文档来的,有兴趣直接阅读官方文档的可以看这个。背景Turtlesim是一个学习ROS 2的轻量级模拟器。它从最基本的层面上解释ROS 2是干什么的,让你知道未来应该怎么操作一个真实的或者仿真的机器人。rqt是ROS 2的一个GUI工具。所有rqt可以做的事情,都可以使用命令行来完成,但是它提供了一个更容易,更有好的操作ROS 2的组件的方式。这个教材会让你接触到ROS 2的核心概念,比如节点的分离,话翻译 2021-06-17 11:03:53 · 3352 阅读 · 0 评论 -
ROS2教程(入门级):Ubuntu 20.04 设置 ROS 2 Foxy 环境
Ubuntu 20.04 设置 ROS 2环境目标: 这个博客讲述的是如何在Ubuntu上设置ROS 2 foxy的环境。官网地址:Configuring your ROS 2 environment背景知识ROS 2 依赖的工作空间是通过终端的环境来配置的。“工作空间”是ROS 2中指代你开发ROS 2所在的系统的位置。ROS 2的核心工作空间叫做"the underlay",大概是基础或者地基;本地工作空间的子序列都叫"overlay",大概就是覆盖物的意思。还是蛮形象的,本地子工作空间都是核心工原创 2021-06-16 07:51:20 · 2036 阅读 · 0 评论 -
Ubuntu 20.04 安装ROS2 foxy
禁止非授权直接转载。本次安装主要根据官网介绍的Debian packages按照方法进行。其他方法,请参考官网。https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.htmlROS 2 Foxy Fitzroy 的Debian packages 在 Ubuntu Focal,也就是Ubuntu 20.04上是可以获取的了。设置语言环境(Set locale)确保你的语言环境能支持UT...原创 2021-06-15 11:47:22 · 9261 阅读 · 9 评论