
ROS 2
文章平均质量分 81
ROS 2 HUMBLE HAWKSBILL
MAVER1CK
zhaoliangcheng.blog.youkuaiyun.com
展开
-
ubuntu:22.04_amd64_ros2humble
【代码】ubuntu:22.04_amd64_ros2humble。原创 2024-01-18 17:56:23 · 692 阅读 · 0 评论 -
ubuntu:22.04_arm64_ros2humble
镜像来释放磁盘空间。由于新导入的镜像名称也为此时名称已经变为<none>,需要先执行。如果是导出为tar包再导入为镜像,那么可以删除旧的。想导出镜像为tar包,可以执行命令。,然后关闭容器,根据ID删除镜像。可以删除tar包节省空间。原创 2024-05-06 19:25:27 · 1454 阅读 · 0 评论 -
在 Ubuntu (Debian) 中安装 ROS 2 Humble
有三种包可以安装,分别是Desktop、ROS-Base和Development tools,只需安装一个即可,但是,如果您使用其他支持 UTF-8 的语言环境,应该没问题。如果您处于最小环境(例如 docker 容器)中,则语言环境可能是最小的,例如。ROS-Base:包括通信库、消息包、命令行工具,没有 GUI 工具。Development tools:编译器和其他构建ROS包的工具。您需要将 ROS 2 apt 存储库添加到您的系统。设置存储库后更新您的 apt 存储库缓存。确保您的语言环境支持。原创 2023-06-20 20:38:35 · 2088 阅读 · 2 评论 -
使用Systemd设置ROS 2节点开机自启
Systemd 是 Linux 系统工具,用来启动守护进程。pm2、supervisor等也是守护进程工具,但不是系统工具。原创 2023-04-07 22:58:36 · 2494 阅读 · 1 评论 -
解决zsh中无法补全ROS 2、Colcon相关命令
首先安装python3-argcomplete。,然后就可以补全命令了。原创 2023-04-07 17:02:21 · 1691 阅读 · 3 评论 -
Using colcon to build packages:使用colcon来构建软件包
colcon是ROS构建工具catkin_make、catkin_make_isolated、catkin_tools和ament_tools的迭代。关于colcon设计的更多信息,请参见。源代码可以在GitHub组织colcon中找到。原创 2023-03-18 21:49:52 · 1183 阅读 · 1 评论 -
Recording and playing back data:录制和播放数据
ros2 bag 是一个命令行工具,用于记录在你的系统中的话题上发布的数据。它积累了在任何数量的话题上传递的数据,并将其保存在一个数据库中。然后你可以重放这些数据来重现你的测试和实验的结果。记录主题也是分享你的工作并允许他人重现的一个好方法。原创 2023-03-18 20:14:38 · 677 阅读 · 0 评论 -
Launching nodes:启动节点
在大多数介绍性教程中,你一直在为你运行的每个新节点打开新终端。随着你创建的系统越来越复杂,同时运行的节点越来越多,打开终端和重新输入配置细节变得很乏味。启动文件允许你同时启动和配置一些包含ROS 2节点的可执行文件。用 ros2 launch 命令运行一个单一的启动文件将一次性启动你的整个系统——所有节点和它们的配置。原创 2023-03-18 19:31:27 · 666 阅读 · 0 评论 -
Using rqt_console to view logs:使用rqt_console查看日志
rqt_console 是一个GUI工具,用于查看ROS 2中的日志信息。通常情况下,日志信息会显示在你的终端。使用rqt_console,你可以收集这些信息,以一种更有组织的方式查看、过滤、保存它们,以及加载保存的日志文件来进行查看。节点使用日志以各种方式输出有关事件和状态的消息。为了用户,它们的内容通常是信息性的。原创 2023-03-18 18:56:21 · 817 阅读 · 0 评论 -
Understanding actions:理解动作(Action)
动作(Action)是ROS 2中的通信类型之一,旨在用于长期运行的任务。它们由三部分组成:目标(goal)、反馈(feedback)和结果(result)。动作是建立在话题和服务之上的。它们的功能类似于服务,只是动作可以被取消。它们也提供稳定的反馈,而服务只返回单一的响应。行动使用一个客户端-服务器(client-server)模型,类似于发布者-订阅者(publisher-subscriber)模型(在Understanding topics:理解话题(Topic)教程中讲过)。原创 2023-03-18 16:49:05 · 788 阅读 · 0 评论 -
Understanding parameters:理解参数(Parameter)
你可以把参数看成是节点的设置。这与你启动 turtlesim 时使用的命令相同,但增加了标志 --ros-args 和 --params-file ,后面是你要加载的文件。如果你对 background_r 和 background_b 运行同样的命令,你将分别得到69和255的数值。根据它们的名字,看起来 /turtlesim 的参数使用RGB颜色值来确定turtlesim窗口的背景颜色。你会看到节点命名空间,/teleop_turtle 和 /turtlesim ,后面是每个节点的参数。原创 2023-03-18 16:08:36 · 517 阅读 · 0 评论 -
Understanding services:理解服务(Service)
服务是基于调用和响应(call-and-response)的模式,而不是话题的发布者-订阅者(publisher-subscriber)模式。在ROS 2中,几乎每个节点都有这些基础设施服务,而参数是建立在这些服务之上的。现在,让我们把注意力集中在针对海龟的服务上,/clear ,/kill ,/reset , /spawn , /turtle1/set_pen , /turtle1/teleport_absolute , 和 /turtle1/teleport_relative。原创 2023-03-16 18:14:57 · 454 阅读 · 0 评论 -
Understanding topics:理解话题(Topic)
你可以看到通过 ros 2 topic pub 命令启动的节点(/_ros2cli_3704)正在通过 /turtle1/cmd_vel 话题发布消息,而 /turtlesim 节点和通过 ros2 topic echo 命令启动的节点(/_ros2cli_3839)正在从这个话题接收消息。/teleop_turtle 节点正在向 /turtle1/cmd_vel 话题发布数据(你为移动乌龟而输入的按键),而 /turtlesim 节点被订阅到该话题以接收数据。ROS 2将复杂的系统分解成许多模块节点。原创 2023-03-15 22:17:14 · 441 阅读 · 0 评论 -
Understanding nodes:理解节点(Node)
ROS中的每个节点应该负责一个单一的、模块的目的(例如,一个节点负责控制车轮马达,一个节点负责控制激光测距仪,等等)。ros2 node info 返回一个与该节点交互的订阅者(subscribers)、发布者(publishers)、服务(services)和行动(actions)(ROS图连接)的列表。当你想与某个节点进行交互时,或者当你有一个运行着许多节点的系统,需要跟踪它们时,这一点特别有用。在接下来的几个教程中,你将学习一系列ROS 2的核心概念,这些概念构成了所谓的 “ROS(2)图”。原创 2023-03-15 13:16:32 · 252 阅读 · 0 评论 -
Using turtlesim and rqt:使用 turtlesim 和 rqt
Turtlesim是一个用于学习 ROS 2 的轻量级模拟器。它说明了 ROS 2 在最基本的层面上做了什么,让你了解你以后将用真实的机器人或机器人仿真做什么。rqt是 ROS 2 的GUI 工具。在 rqt 中所做的一切都可以在命令行上完成,但它提供了一种更简单、更用户友好的方式来操作 ROS 2 元素。本教程涉及核心 ROS 2 概念,例如节点(nodes)、主题(Topic)和服务(Service)的分离。所有这些概念将在后面的教程中详细说明;现在,您只需设置工具并感受一下。原创 2023-03-15 11:19:07 · 637 阅读 · 0 评论 -
ROS_LOCALHOST_ONLY变量
默认情况下,ROS 2 通信不限于本地主机。ROS_LOCALHOST_ONLY环境变量允许您将 ROS 2 通信限制为仅本地主机。这意味着您的 ROS 2 系统及其主题(Topic)、服务(Service)和操作(Action)对本地网络上的其他计算机不可见。在某些环境中使用ROS_LOCALHOST_ONLY很有帮助,例如教室,多个机器人可能会发布到同一主题,从而导致奇怪的行为。您可以使用以下命令设置环境变量。原创 2023-03-14 15:40:38 · 1130 阅读 · 0 评论 -
查看ROS2环境变量
在使用ROS2的过程中,若想查看执行 source /opt/ros/humble/setup.bash 等设置环境变量的命令后,ROS2的相关环境变量的具体内容,可以输入。查看Linux系统内所有已设置的环境变量的命令是。对于Windows系统,命令是。对于macOS系统,命令是。原创 2023-03-13 22:10:58 · 671 阅读 · 0 评论 -
ROS_DOMAIN_ID(ROS2域ID)
如其他地方所述,ROS 2 用于通信的默认中间件是 DDS。在 DDS 中,让不同逻辑网络共享物理网络的主要机制称为域 ID。同域的 ROS 2 节点可以自由发现和相互发送消息,而不同域的 ROS 2 节点则不能。默认情况下,所有 ROS 2 节点都使用域 ID 0。为避免在同一网络上运行 ROS 2 的不同组计算机之间的干扰,应为每个组设置不同的域 ID。原创 2023-03-13 21:49:18 · 5948 阅读 · 3 评论