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

ROS2 Foxy环境下laser_geometry模块未找到问题求助

ROS2 Foxy 中laser_geometry模块找不到的解决方法

报错信息

ROS2 Error: Modulenotfounderror: No module named 'laser_geometry'

相关代码

# ROS NODE import
import rclpy
from rclpy.node import Node

# Lidar Process(Point cloud)
from sensor_msgs.msg import LaserScan
from sensor_msgs.msg import PointCloud2
from laser_geometry import LaserProjection
from geometry_msgs.msg import Point

问题背景

在ROS2 Foxy版本中,已安装ros-foxy-laser-geometry包,但运行自定义Python脚本时仍提示找不到laser_geometry模块。由于硬件Jetson Nano仅兼容Foxy,无法升级到Humble(Humble自带该模块的Python脚本),重装包后问题依旧,需解决该依赖问题。

解决步骤

1. 确认包的安装状态

先检查laser_geometry的安装路径,执行命令:

rospack find laser_geometry

默认路径为/opt/ros/foxy/share/laser_geometry,查看该路径下是否存在python目录。Foxy版本的二进制laser_geometry包默认仅包含C++实现,没有Python模块,这是核心问题。

2. 从源码编译Python模块

  • 进入ROS2工作空间的src目录:
cd ~/ros2_ws/src
  • 克隆对应Foxy分支的源码:
git clone https://github.com/ros-perception/laser_geometry.git -b foxy-devel
  • 安装依赖:
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
  • 编译指定包:
colcon build --packages-select laser_geometry
  • 刷新环境变量:
source ~/ros2_ws/install/setup.bash

3. 验证模块导入

在终端执行以下命令测试:

python3 -c "from laser_geometry import LaserProjection; print('模块导入成功')"

无报错则说明模块已正确安装。

4. 修正自定义包的依赖配置

在自定义包的package.xml中添加依赖:

<depend>laser_geometry</depend>

在setup.py的install_requires中补充:

install_requires=['setuptools', 'laser_geometry'],

重新编译自定义包并刷新环境后,再运行脚本即可。

内容的提问来源于stack exchange,提问作者김동윤

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:21:06