You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行中Docker镜像内自定义ROS包无法被rospack识别问题求助(无人机控制)

解决ROS包编译后rospack无法识别的问题

核心路径排查

  • 确认你的tii_pkg包必须放在catkin工作空间的src子目录下,正确路径示例:~/catkin_ws/src/tii_pkg,别误放到catkin_ws根目录或其他位置。
  • 编译完成后,务必在catkin工作空间根目录执行:source devel/setup.bash(用zsh则替换为setup.zsh)。执行echo $ROS_PACKAGE_PATH验证,输出里必须包含你的catkin_ws路径/devel/share,比如/home/user/catkin_ws/devel/share:/opt/ros/noetic/share。

编译线程数无关问题说明

编译时自动用-j8 -l8是catkin_make根据CPU核心数自动选择的线程配置,和rospack找不到包没有直接关联。如果需要指定-j4 -l4,编译时直接执行catkin_make -j4 -l4即可,不影响包的识别。

强制更新ROS包索引

如果路径验证无误仍找不到包,执行rospack profile命令,它会重新扫描所有ROS包路径并更新索引。之后再运行rospack find tii_pkg,确认是否能正常找到包。

Docker环境额外注意事项

  • 每次进入Docker容器后,都需要重新sourcesetup.bash,或者把source命令写入容器的~/.bashrc:执行echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc,下次进入容器会自动生效。
  • 确保你的catkin工作空间位于容器的持久化挂载目录中,避免容器重启后编译生成的文件丢失,导致包无法被识别。

自定义脚本配合PX4的验证步骤

等rospack能正常找到tii_pkg后,按以下步骤验证:

  • 脚本中引用包路径时,用$(rospack find tii_pkg)获取绝对路径,避免硬编码路径出错。
  • 先启动PX4相关节点(比如Gazebo仿真、MAVROS节点),再运行自定义脚本/节点,确保节点间通信正常。

内容的提问来源于stack exchange,提问作者KyôroWTD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:40:35