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

python - 如何使用 ROS2 创建 service-on-request 包程序?

系统配置:操作系统 - Ubuntu 18.04 (Bionic Beaver) ROS - ROS2 Bouncy Language - Python

问题 - 所以我有一个程序,它应该只在向程序发送请求时运行并返回值。如何使用 ROS2 py 创建这样的包

我尝试修改 demo_node_cpp,但没有达到预期的效果。

0 投票
2 回答
8815 浏览

ros - 如何在 ROS2 中启动带参数的节点?

将 ros1 包迁移到 ros2,但不知道如何使用 ros2 中的参数启动。

使用 ros1 我有一个引用配置文件的启动文件,并且从 cpp 代码中我使用 node.getParam

启动文件:

配置文件:

cpp代码:

我的问题是这将如何转化为 ROS2?

0 投票
1 回答
44 浏览

ros2 - 在 ROS2 上向不同接口发布消息

我有 2 个以太网端口和 10 个主题。是否可以在 1 个端口上发布主题 1 3 5 7 9,其余主题 2 2 6 6 10 在端口 2 上发布,这样连接到第二个端口的计算机只能查看和读取主题 2 4 6 8 中的数据10. 连接到端口 1 的计算机可以查看和读取主题 1 3 5 7 9 的数据。我使用 OpenSplice 的 DDS。

0 投票
0 回答
488 浏览

c++ - C++ creating stream function like ROS_INFO_STREAM(var1 << var2 <<...)

i am working with ROS and my task is to migrate existing Projects from ros1 to ros2. In ros1 stream functions like

exist but not in ros2, because they are not implemented yet in the rclcpp. My idea is to write a function in c++ that works with these operators and works like std::cout. But i really don't know how to implement a function like this.

Does anyone have an idea or approach?

Solution: A possible solution is to define a macro like this

in a separate headerfile and include it wherever it is needed.

0 投票
1 回答
334 浏览

c++ - 使用 ROS2 环境变量创建 C++ 项目

我有以下问题:我编写了一个简单的ROS2 / Qt5(机器人操作系统)项目来展示 GUI 中的发布者和订阅者。该项目编译得很好,在将所有 Qt5 和 ROS dll 复制到可执行文件的目录后,应用程序启动但很快关闭/崩溃而没有给我任何错误。

尝试 2:打开控制台并获取 ROS2 安装源(通过运行我认为将环境变量加载到控制台的批处理脚本,对吗?)。如果我现在从 ROS2 控制台中启动可执行文件,一切正常。

所以我的假设是,当我编译我的项目并尝试启动它时,它会丢失所有环境变量然后崩溃。

有没有办法可以避免启动 ROS2 控制台?

用于获取 ROS2 安装的批处理脚本对我来说似乎也很复杂。A 无法真正理解它加载了什么样的变量。有没有办法使用该批处理脚本并将其“挂钩”到我的可执行文件中,这样我就不必找出该脚本的具体作用?这是批处理脚本:

0 投票
2 回答
522 浏览

c++ - 使用动态库 qpOASES 和 CMakeList.txt 时未定义对 qpOASES 的引用

我正在 ROS2 中构建一个包。当undefined reference to我想在头文件中包含动态库 qpOASES 时发生错误。

qpOASES 安装在~. 我试过了find_package(qpOASES REQUIRED)。但我得到了错误

在我使用的头文件#include <qpOASES.hpp>中。在我使用的 CMakeList.txt 文件target_link_libraries(my_node Eigen3::Eigen ~/qpOASES-3.2.1/bin/libqpOASES.so)中。但是当我编译它时,出现了以下错误。

有谁知道如何解决这个错误?

0 投票
2 回答
3218 浏览

ros - catkin 如何与 ROS2 一起使用?

我目前正在使用一个名为 smach 的 ros 包和旋律。但是,现在我需要将我的旋律版本升级到水晶以支持 ROS2,因为该项目使用 DDS。SMACH 包依赖于 catkin。是否可以用水晶(ROS2)创建一个柳絮工作区?我尝试了以下方法:

该命令给出以下结果

即使在使用命令安装 python-catkin-pkg 后,此错误仍然存​​在

我还尝试在 Ubuntu 上消除 catkin 的依赖

sudo apt-get install cmake python-catkin-pkg python-empy python-nose libgtest-dev

0 投票
1 回答
559 浏览

c++ - ROS2 colcon 构建未在 Windows 中显示任何错误消息

使用colconbuild 在 windows 上构建 ROS2 发布器时,没有显示调试错误消息,仅显示失败或完成。

我曾尝试使用“ colcon --log-level info build”或“ colcon --log-level debug build”,但仍然是徒劳的。

colcon如果我的代码中有一些错误,有什么方法可以让构建显示错误消息?

0 投票
1 回答
3942 浏览

ubuntu-18.04 - 带有 ROS 包的“gpg:密钥服务器接收失败:连接被拒绝”

我正在尝试在 Ubuntu 18.04 上安装 ROS2。

以下命令给出了没有公钥的错误。

错误:

我尝试了以下方法来获取密钥:

和 y-ppa-manager(“尝试导入所有丢失的 GPG 密钥”)

以上所有方法都给出以下错误

我在 Windows 7 主机上使用虚拟机运行 Ubuntu 18.04。

如何使用密钥服务器?

0 投票
1 回答
225 浏览

python - ROS2 动作执行回调永远不会退出

我正在尝试实现示例仓库中给出的 ROS2 操作客户端和服务器:https ://github.com/ros2/examples/tree ...(server.py 和 client.py)。一切似乎都正常,但在客户端'get_result_callback' 永远不会被调用。在服务器端,我正在使用以下不退出执行回调的函数。

结果:

我没有更改代码中的任何内容**

这里可能是什么问题?