【问题标题】:How to run a ROS2 node inside docker image?如何在 docker 镜像中运行 ROS2 节点?
【发布时间】:2023-01-30 11:19:10
【问题描述】:

我有一个 ros2 包并成功地创建了它的 docker 镜像。然后当我在容器内时,我只想运行 ros2 包的一个节点。所以首先使用PATH=$PATH:/home/user/.local/bin创建环境,然后是vcs import . <system_integration/ros.repos,然后是docker pull ghcr.io/test-inc/base_images:foxy。我正在运行并执行 docker

docker run --name test -d --rm -v $(pwd):/home/ros2/foxy/src ghcr.io/company-inc/robot1_vnc_ros2:foxy

docker exec -it test /bin/bash

然后当我在 docker 里面时,我用

colcon build --symlink-install --event-handlers console_cohesion+ --cmake-args -DCMAKE_BUILD_TYPE=发布 --packages-up-to system_integration

所以现在我在 root@1942eef8d977:~/ros2/foxy 的 docker 里面,想运行一个 python 节点。但是 ros2 run package_name node_name 行不通吧?我对 docker 不太熟悉,所以不确定如何运行该节点。任何帮助

谢谢

【问题讨论】:

    标签: python docker ros2


    【解决方案1】:

    您是否在容器中获取了安装文件?

    无论包源位于何处,您都需要运行 source ./install/setup.bash

    【讨论】:

      【解决方案2】:

      在你可以使用 ros2 run 运行包之前,你必须找到正确的工作空间。否则你无法使用自动完成tab 来查找任何包。

      为此:

      1. cd 进入你工作区的根路径
      2. colcon build你的工作区(你的包应该在src目录下)
      3. 运行此行以获取它source install/setup.bash
      4. 您可以使用echo $COLCON_PATH_PREFIX 检查它以查看路径是否正确来源
      5. 尝试重新运行 ros2 命令以启动您的节点

      【讨论】:

        猜你喜欢
        • 2022-10-15
        • 2021-11-06
        • 1970-01-01
        • 2018-10-04
        • 2023-02-21
        • 1970-01-01
        • 2017-03-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多