首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ROS2 dashing中使用参数启动节点?

如何在ROS2 dashing中使用参数启动节点?
EN

Stack Overflow用户
提问于 2019-06-18 22:30:52
回答 1查看 988关注 0票数 1

当我在寻找解决方案的时候,我在这篇How to launch a node with a parameter in ROS2?上偶然发现了ROS2 crystal的一个解决方案。

不幸的是,这似乎在ROS2 dashing下不起作用。我创建了一个ROS2 realsense驱动程序(https://github.com/AndreasAZiegler/ros2_intel_realsense/tree/serial_no_param/realsense_ros2_camera)的分支,我的目标是能够通过参数传递序列号。使用

代码语言:javascript
复制
ros2 run realsense_ros2_camera realsense_ros2_camera  __params:=/paht/to/config/parameters.yaml

传递参数很好,但是当我使用启动python文件启动节点时

代码语言:javascript
复制
ros2 launch realsense_ros2_camera ros2_intel_realsense.launch.py

它会忽略该参数。parameters.yaml的路径是正确的(我在启动python脚本中打印它)。

EN

回答 1

Stack Overflow用户

发布于 2019-08-06 08:55:39

在启动文件中,将节点名更改为:node_name='realsense_ros2_camera'

但是,节点的默认名称以及您在配置文件中使用的名称是RealSenseCameraNode,这就是为什么当您从cmd行运行它(不传递新名称)时它会工作。

代码语言:javascript
复制
# RealSense parameters
---

RealSenseCameraNode_ns:
    RealSenseCameraNode:
      ros__parameters:
        serial_no: 845112070204

将其更改为

代码语言:javascript
复制
# RealSense parameters
---

RealSenseCameraNode_ns:
  realsense_ros2_camera:
    ros__parameters:
      serial_no: 845112070204

并且它应该可以工作(或者在启动文件中保留默认名称)。次要问题:我将yaml配置更改为每个新行只有2个空格,不确定这是否重要。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56651469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档