问题标签 [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 投票
6 回答
11633 浏览

python - 在 Python 3 中导入 Rosbag

我正在尝试从 Python 3 读取 rosbag 文件。
我安装了 ROS2(Eloquent Elusor),它应该支持 Python 3。

当我跑

从 Python 2.7 开始,它可以工作。
当我在 Python 3 中尝试相同的操作时,我得到:

我也尝试过类似的东西:和sudo apt install python-rosbag,但它们没有帮助。sudo apt install python3-rospkgpip3 install rospkg

我应该怎么做才能从 Python 3 打开一个 rosbag 文件?

[编辑]
这是调用后的输出pip3 install rospkg

0 投票
1 回答
2188 浏览

c++ - 如何在ros2中从rosbag2读取数据

我正在编写一个程序来直接从 rosbag 读取数据而不在 ros2 中播放它。示例代码片段如下。该代码的目的是检查 ros2 主题并仅获取该主题中的消息。我无法从包中获取数据。打印时,控制台正在打印十六进制值。

在这方面的任何帮助都将是可观的。

0 投票
0 回答
368 浏览

c++ - ROS2动态消息模板

我有一个关于 ROS2 消息或可能只是标准 C++ 的问题,也许你们中的一个人以前尝试过类似的东西,或者可以告诉我我想要完成的事情不起作用。

我要创建的是一个库,可用于快速创建 ROS2 节点,在启动节点之前根据情况动态添加发布者和/或订阅者。我面临的问题是 ROS2 使用像std_msgs::msg::String. 示例源代码可以在github上找到。源使用以下代码创建订阅者:

我想创建一个可以使用给定消息类型创建订阅者的函数,即:

这将允许我使用相同的功能,同时仍然能够使用不同的消息,例如:

无需为每种消息类型创建新函数。我似乎找不到create_subscribtion<>()函数中使用的模板类型,我只能找到每条消息都创建自己的类型。 std_msgs::msg::String将返回std_msgs::msg::String_<std::allocator<void>>类型。

有没有办法让我完成这项工作?

0 投票
1 回答
461 浏览

powershell - '<' 运算符保留供将来使用命令 powershell

我正在尝试在我的计算机上安装 ROS 2,我需要运行以下命令:

但是,当我运行它时收到的消息是:

  • 巧克力
  • ~ 运算符 '<' 保留供将来使用
    • CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    • FullyQualifiedErrorId : 重定向不支持

有谁知道如何解决它?我很迷茫,所以我只是按照他们给我的指示去做,但我被困在这里。

0 投票
1 回答
346 浏览

dockerfile - 构建一个 docker 镜像 ros2 ,当尝试 tu run 。在 dockerfile 中安装/setup.bash 无效

我有下一个问题:

我尝试使用 ros2 构建一个 docker 映像,其中下载了一个代码包,该代码包将使用 colcon 构建方法构建。

但是当我试图跑到最后的时候。install / setup.bash 对我不起作用。

我已经尝试将它放在脚本中并将其复制到 dockerfile 但它不起作用

有任何想法吗

在这里我留下 docker 文件

注意:mobilidad.sh 是一个从 github 下载 de 代码的脚本,这很好用

0 投票
0 回答
623 浏览

cmake - 无法编译包含 tf2_ros 标头的 C++ 程序

我已经安装了 ros2 dashing diademata。我使用 C++14 编写了一个 ROS2 节点。我想static_tf通过创建缓冲区来阅读TransformListener

包含时出现以下错误,#include "tf2_ros/buffer.h"如果不包含,则不会出现任何错误。

错误如下

CMakeLists.txt如下

看起来错误来自 tf 库。在这方面的任何帮助都将是可观的。

0 投票
1 回答
1393 浏览

python - ROS2 + Qt:有什么好的解决方案吗?

我已经从代码(不是从 Qt 编辑器,所以我不使用 qml 文件)在 python 中构建了一个 Qt GUI。我希望它能够订阅 ROS2 主题并根据收到的消息更新 GUI,并在单击按钮时发布数据。问题是Qt需要app.exec(),ROS需要node.spin()运行,两者都是无限循环。网上好像有一些关于ROS+Qt的教程,但是都是针对ROS1的。我找不到 ROS2 + Qt 的任何示例代码。

如何将我的 Qt GUI 与 ROS2 集成?

0 投票
1 回答
185 浏览

ros - 如何知道我是否安装了 DDS?

我对 ROS2 有点陌生,我开始了解 DDS 协议及其在 RO​​S2 上的实现。到目前为止,我已经读到 ROS2 已经带有 eProsima Fast RTPS,但是,我想确定它是否真的安装了。我怎样才能确认这一点?是否有终端命令或我可以做些什么来测试它?

谢谢!

0 投票
2 回答
190 浏览

ubuntu-18.04 - 如何使用 Web 界面控制物理机器人

我想知道如何使用 Web 界面控制物理机器人的运动。例如,我创建了一个带有四个运动按钮(前、后、左、右)的 Web 界面,但不知道如何将该界面连接到物理机器人并控制其运动。我有使用 ROSBRIDGE 和 SimpleHTTPServer 在笔记本电脑上本地控制模拟 Turtlebot(在 Gazebo 中)的经验。我是否也必须使用这些来控制物理机器人?

我正在运行 ROS2 Crystal,Ubuntu 18.04。谢谢!

0 投票
3 回答
1210 浏览

ros - ROS2与ROS共存

如果我在我的 linux 机器上安装了 ROS,我可以安装 ROS2 并毫无问题地使用两者吗?

我已经安装了 ROS,我正在使用它来学习这个概念,但我最终必须在其中工作的系统是在 ROS2 中。