上一节介绍了在脱离ros环境后,引入和使用Rosbag,并进行传感器数据的读写。
本节就将介绍在自己的工程中,使用cartographer的接口进行功能实现。
事实上,这部分是仿照cartographer_ros进行实现:通过使用MapBuilderInterface和TrajectoryBuilderInterface实现对应的建图,存储和定位。
目录
1:定义和实现接口指针以及参数文件
#include "cartographer/mapping/map_builder.h"
std::unique_ptr<MapBuilderInterface> map_builder_;
std::unique_ptr<TrajectoryBuilderInterface> trajectory_builder_;
proto::MapBuilderOptions map_builder_options_;
proto::TrajectoryBuilderOptions trajectory_builder_options_;
int trajectory_id_;
void MyMapBuilder::MyMapBuilder()
{
const std::string kMapBuilderLua = R"text(
include "my_map_builder.lua"
return MAP_BUILDER)text";
auto map_builder_parameters = cartographer::mapping::slamhelper::ResolveLuaParameters(kMapBuilderLua);
map_builder_options_ = CreateMapBuilderOptions(map_builder_parameters.get());
const std::string kTraje