ros2 run的查找路径为install/<package_name>/lib,但是python包的ament_python build type默认把可执行文件安装到install/<package_name>/bin.
同时$PATH里注册的查找路径也是install/<package_name>/bin。
所以如果不是非得用ros2 run的话,直接命令行敲可执行文件名调用也是可以的。
如果想用ros2 run,可以在setup.cfg中配置可执行文件安装路径:

[develop]
script_dir=$base/lib/<pkg_name>
[install]
install_scripts=$base/lib/<pkg_name>

然后重新colcon build, source install/setup.bash,就可以用ros2 run调用了。

不过这样的话原本的install/<package_name>/bin下面就没有可执行文件了,没办法直接用可执行文件名不用ros2调用了,不知道会不会有什么后续问题?

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐