如何在Docker镜像中运行ROS2节点?

rqqzpn5f  于 2023-02-03  发布在  Docker
关注(0)|答案(2)|浏览(340)

我有一个ros 2包,并成功地创建了它的docker映像。然后,当我在容器中时,我只想运行ros 2包的一个节点。因此,首先使用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

然后,当我在码头我建立包
colcon build --符号链接安装--事件处理程序控制台内聚+ --cmake-args -DCMAKE_BUILD_TYPE=发布--软件包直至系统集成
所以现在我在root@1942eef8d977:~/ros2/foxy的docker里面,想要运行一个python节点。但是ros2 run package_name node_name不能正常工作吗?我对docker不太熟悉,所以不知道如何运行这个节点。有帮助吗
谢谢

6mw9ycah

6mw9ycah1#

您是否在容器中找到了安装文件?
无论包源代码位于何处,都需要运行source ./install/setup.bash

y53ybaqx

y53ybaqx2#

在使用ros2 run运行包之前,必须获取正确的工作空间。否则,无法使用自动完成tab查找任何包,因此无法运行任何包
为此:

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

相关问题