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

运行PyICP-SLAM报错:module 'minisam' has no attribute 'DiagonalLoss'

运行PyICP-SLAM时出现AttributeError: module 'minisam' has no attribute 'DiagonalLoss'

环境信息

  • 系统:Ubuntu 22
  • Python环境:3.7.14虚拟环境(venv)
  • 构建详情:基于commit a0fe89a323e20c42d3cecb590937eb7a06b8343a构建Sophus,同时完成PyICP、minisam仓库的构建

报错详情

执行命令:

python3 main_icp_slam.py

报错信息:

(venv) shubham@shubhamubuntu:~/Lidar_Slam/minisam$ python3 main_icp_slam.py  
Traceback (most recent call last): 
  File "main_icp_slam.py", line 50, in <module> 
    PGM = PoseGraphManager() 
  File "/home/shubham/Lidar_Slam/minisam/utils/PoseGraphManager.py", line 9, in __init__ 
    self.prior_cov = minisam.DiagonalLoss.Sigmas(np.array([1e-6, 1e-6, 1e-6, 1e-4, 1e-4, 1e-4]))  
AttributeError: module 'minisam' has no attribute 'DiagonalLoss'

排查建议

  • 核对minisam版本:PyICP-SLAM对minisam有版本依赖,确认你构建的minisam是否与PyICP-SLAM仓库指定的子版本一致,若不一致,拉取对应版本重新构建安装。
  • 检查minisam安装完整性:在虚拟环境的Python交互终端中执行import minisam; print(dir(minisam)),查看输出中是否包含DiagonalLoss。如果没有,说明minisam编译或安装不完整,重新执行编译安装步骤,确保过程无报错。
  • 验证Sophus兼容性:尝试重新构建Sophus,保证编译产物正确被minisam链接,避免因版本不匹配导致的符号缺失。
  • 隔离虚拟环境依赖:执行pip list查看虚拟环境内已安装包,确认没有全局安装的minisam混入,避免版本冲突。

内容的提问来源于stack exchange,提问作者Shubham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:35:36