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

Ubuntu20.04下Handeye-Calibration-ROS编译报错求解决方案

解决Ubuntu 20.04下Handeye-Calibration-ROS编译错误的方案

一、Ceres库ParameterDims::Parameters不存在错误修复

Ubuntu 20.04默认安装的Ceres(1.14.x版本)调整了内部API,移除了ceres::internal::ParameterDims::Parameters类型定义,按以下步骤修改:

  • 定位代码中引用该类型的文件(多为自动微分相关的校准核心文件,如handeye_calibration.cpp)
  • 将所有ceres::internal::ParameterDims::Parameters替换为std::vector<int>,新版Ceres中该内部类型的本质就是整数向量
  • 确保文件头部包含<vector>头文件,未添加则补充#include <vector>

二、PCL库lambda参数类型不匹配错误修复

该错误源于遍历PCL点云字段时lambda参数类型声明错误,修复步骤:

  • 找到报错的lambda代码段(通常在点云字段解析逻辑中)
  • 将lambda参数的const int&修改为const pcl::PCLPointField&,匹配遍历容器的元素类型
  • 检查lambda内部逻辑,若之前直接用参数作为索引,需改为param.index(param为修改后的参数名)

验证修复

在catkin工作空间根目录执行以下命令重新编译:

catkin_make clean
catkin_make

若仍有问题,确认本地Ceres(1.14.0)、PCL(1.10.0)版本与Ubuntu 20.04默认版本一致,或检查是否有遗漏的代码修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:39:17