问题标签 [ros2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
15 浏览

client-server - ROS2 - 维护节点之间的服务器和客户端关系

我有一个 ros2 节点,它充当服务器并维护一些变量。而其他的ros2节点可以是客户端,可以修改服务器中的变量。但在修改任何可用变量之前,客户端需要在服务器节点中注册并要求控制一些变量。一旦授予控制权,则只有客户端可以修改变量。客户端可以根据需要保持授予的控制权。服务器还需要知道客户端节点何时死亡,以便放弃分配给该特定客户端的变量。

我不是怎么能做到的就是ros2。如何维护服务端和客户端的这种关系,知道客户端的生命周期。

关于这个或任何我可以从中获得灵感的 ros2 repo 有什么建议吗?

谢谢

0 投票
0 回答
122 浏览

logging - 如何将限制和轮换记录到 ROS2

我想对将保存在.ros/log. 人们在这里提到了这个问题,但我找不到任何示例/说明,因此任何想法/建议/示例都会有所帮助。目标 ROS 版本是 ROS2 Eloquent。

0 投票
0 回答
81 浏览

linux - 将 ROS 日志重定向/转发到 journald

我有一个 C/C++ 应用程序,它由 ROS2 eloquent 运行,具有不同的节点,每个节点都在.ros/log. 我的问题是有没有办法将 ROS 日志重定向/转发到 Linux 的日志服务(以便 ros 日志文件.ros/log为空或不生成)?

0 投票
0 回答
345 浏览

path - 设置 miniconda 后无法使用 colcon build

我的主机运行的是 Ubuntu 18.04,通过它我设置了一个运行 Ubuntu 20.04 的 LXC 容器。ROS2 安装在容器内,我按照 ROS2 教程使用了很多次,一切正常。

然后我需要安装 OpenCV 和 Dlib,为此我安装了 miniconda。现在我可以使用 OpenCV。

现在问题出在这里:

这两个命令,即使我不完全知道它们的作用,昨天也解决了我的问题

今天,他们返回一个巨大的错误消息,结尾是:

我怀疑$PATH需要修改,这是我所做的:

但仍然得到:

请指教,谢谢!

0 投票
1 回答
49 浏览

api - 在哪里可以找到任意 ROS2 包的文档?

正如标题所述:我在哪里可以找到包含在某个 ROS2 版本中的标准包的文档和 API(例如 foxy 的 message_filters)?

我在官方 ROS2 文档https://docs.ros.org/en/foxy/index.html中找不到它,虽然存储库包含一个 .dox 文件,但我找不到从中生成的输出。

0 投票
0 回答
280 浏览

c++ - 将 Azure Kinect 库链接到 ROS2 工作区

我使用 ROS 2 Foxy 在 Ubuntu 20.04 上工作。我正在尝试制作一个可以使用我之前安装的 Azure Kinect 库的节点。这些库位于/usr/include. 在编译我的代码时,我收到一个错误,告诉我 colcon build 找不到这些库。我在互联网上搜索,显然这是 Kinect 库的问题。但是,据我所知,没有运行 Azure Kinect 的 ROS 2 包的示例。因此,我正在尝试调整我找到的 ROS 1 包的内容 ( https://github.com/microsoft/Azure_Kinect_ROS_Driver )。当我通过 colcon build 编译我的改编时,我遇到了以下错误:

CMakeLists.txt 文件需要其他 CMake 文件,我在下面报告:

  • 我的CMakeLists.txt
  • Findk4a.cmake
  • FindModuleHelpers.cmakeFindk4a.cmake 中的调用

你可以帮帮我吗?由于无法正确调用函数,因此无法编码真的很令人沮丧。

0 投票
1 回答
39 浏览

windows - ROS2 在 Windows 上功能齐全吗?

我知道 ROS 可以部分用于 windows 或 mac。但是更新的变体 ROS2 可以完全在 Windows 中使用吗?

0 投票
0 回答
464 浏览

python - ROS2 从订阅者回调中重复调用服务

我在订阅者回调中实现异步服务调用时遇到问题。我在 ROS Answers 上找到了一篇关于这样做的帖子:

https://answers.ros.org/question/302037/ros2-how-to-call-a-service-from-the-callback-function-of-a-subscriber/

但是,此处答案中的示例仅在执行服务调用之前打印订户接收到的数据,而不是其他任何内容,然后在其他地方查找响应。简而言之,我在回调中想要完成的是以下内容:

我仍然调用rclpy.spin(node)我的main()函数,当我运行它时,它挂起rclpy.spin_once。我意识到这可能是因为 rclpy 已经从main()函数中旋转了,但是我还能如何启动节点呢?我尝试在发布的链接中创建一个内部 spin() 函数,但它再次挂起rclpy.spin_once

任何想法或帮助将不胜感激。我的处理方式可能会朝着完全错误的方向前进,因此我愿意接受所有建议。

我正在使用 ROS2 Dashing 和 Python

0 投票
0 回答
29 浏览

python-3.x - 查找 cv2 图像的文件格式

我正在编写一个 ROS2 项目。我从相机中获取图像并希望将其直播到网页。为此,我必须对其进行 Base64 编码并将其发送到网页。目前我这样做:

我可以使用 CV 命令找到 self.frame 的图像格式吗?imgmsg_to_cv2转换成什么?我想知道我是否必须将 imencode 转换为 jpg(它已经是 jpg 格式了吗?)。

当我type(self.frame)得到<class 'numpy.ndarray'>(在 imencode 之前和之后)时,有没有办法从中获取格式?

它不像查找魔术字节那么容易,因为该文件仍在 np.ndarray 中。然而,后来编码的图像也是一个 np.ndarray,这意味着这些数组表示 jpg、png 等,没有魔法字节,而是原始数据。请停止将我链接到解释魔术字节的文章。

格式是指 jpg、png、bmp 等。

0 投票
0 回答
442 浏览

ros2 - /move_base_simple/goal PoseStamped 消息已发布,但机器人不移动

ROS2狡猾的问题:

我正在通过 ros2-web-bridge 从 Web 客户端将 PoseStamped 发布到 Gazebo。发布主题 /move_base_simple/goal,并回显正确的 PoseStamped 消息。

但是,机器人不动。

frame_id 是否正确?

ROS2 Foxy 是否支持move_base_simple/goal?