第1题

题目:实现基于优化器的点到点ICP、点到线ICP。

1.1 点到点ICP的g2o实现

主要修改以下内容:

  1. 在g2o_types.h文件中添加边的定义EdgeSE2Point2Point。
  2. 在icp_2d.cc文件中实现函数bool Icp2d::AlignGaussNewtonWithg2o(SE2& init_pose) {}。
  3. 在test_2d_icp_s2s.cc文件中修改,调用g2o实现的点到点ICP。

1.2 点到线ICP的g2o实现

主要修改以下内容:

  1. 在g2o_types.h文件中添加边的定义EdgeSE2Point2Plane。
  2. 在icp_2d.cc文件中实现函数bool Icp2d::AlignGaussNewtonPoint2PlaneWithg2o(SE2& init_pose) {}。
  3. 在test_2d_icp_s2s.cc文件中修改,调用g2o实现的点到线ICP。

第2题

题目:实现对似然场图像进行插值后进行scan matching的算法。

修改likelihood_field.cc文件中的如下内容,

在这里插入图片描述

第3题

题目:基于直线拟合方法,讨论并实现对单个Scan退化检测的算法。

主要修改以下内容:

  1. 增加test_detect_degrade_scene.cc文件,实现遍历scan,调用检测函数。
  2. 在icp_2d.cc文件中,新增加静态函数static int detect_degrade_scene(Scan2d::Ptr scan, std::string origin_dir_path, std::string good_dir_path, std::string bad_dir_path); ,实现退化场景检测功能。
  3. 修改icp_2d.h文件。
  4. 修改CMakeLists.txt文件。

典型退化场景如下,

在这里插入图片描述

第4题

题目:讨论在实际机器人中,如何处理悬空物体和低矮物体(开放问题)。

(1)使用RGBD相机作为补盲。
(2)增加障碍物的先验位置信息。

Logo

聚焦RDK与具身智能,汇集机器人开发教程、开源案例和技术交流

更多推荐