ROS Noetic包同目录文件间ImportError问题求助
问题:ROS Noetic中导入semantic_sensor模块时出现ImportError
环境与背景
- 系统环境:Ubuntu 20.04 + ROS Noetic(Python 3.8)
- 代码来源:语义映射脚本基于SSMI项目,脚本目录下包含两个核心文件:
semantic_sensor.py:接收相机RGB、深度、语义信息,通过PCL实现SemanticPCLGenerator类,同时定义了PointType类型semantic_sensor_node.py:导入semantic_sensor中的类来生成语义地图
- 硬件状态:搭载RealSense D435的Husky机器人,RGB、深度、语义话题数据正常,可在RVIZ中查看消息
问题现象
启动ROS包时触发以下错误:
process[semantic_cloud-1]: started with pid [51614] process[semantic_octomap-2]: started with pid [51615] [ INFO] [1701269714.376682262]: Semantic octomap generated! Traceback (most recent call last): File "/home/s/test_f/devel/lib/semantic_octomap/semantic_sensor_node.py", line 15, in <module> exec(compile(fh.read(), python_script, 'exec'), context) File "/home/s/test_f/src/SSMI-Mapping/scripts/semantic_sensor_node.py", line 17, in <module> from semantic_sensor import PointType, SemanticPclGenerator ImportError: cannot import name 'PointType' from 'semantic_sensor' (/home/s/test_f/devel/.private/semantic_octomap/lib/semantic_octomap/semantic_sensor.py) [semantic_cloud-1] process has died [pid 51614, exit code 1, cmd /home/s/test_f/devel/lib/semantic_octomap/semantic_sensor_node.py __name:=semantic_cloud __log:=/home/s/.ros/log/ffe73552-8ec6-11ee-8488-cfc925150467/semantic_cloud-1.log]. log file: /home/s/.ros/log/ffe73552-8ec6-11ee-8488-cfc925150467/semantic_cloud-1*.log
已尝试的解决方法
- 手动运行脚本未出现该导入错误(但未生成语义地图)
- 在脚本目录添加
__init__.py文件 - 严格遵循ROS官方教程的包配置步骤
求助需求
需要解决启动ROS包时无法从semantic_sensor模块导入PointType的问题。
内容的提问来源于stack exchange,提问作者Alexander Topolnitskii
相关产品推荐
相关产品推荐

