我有一个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不太熟悉,所以不知道如何运行这个节点。有帮助吗
谢谢
2条答案
按热度按时间6mw9ycah1#
您是否在容器中找到了安装文件?
无论包源代码位于何处,都需要运行source ./install/setup.bash
y53ybaqx2#
在使用ros2 run运行包之前,必须获取正确的工作空间。否则,无法使用自动完成
tab
查找任何包,因此无法运行任何包为此:
cd
到工作区的根路径colcon build
您的工作区(您的包应该在src
目录下)1.运行此行以获取其源代码
source install/setup.bash
1.您可以使用
echo $COLCON_PATH_PREFIX
进行检查,以查看路径来源是否正确1.尝试重新运行ros2命令以启动节点