C++ Cartographer怎么加载配置文件


这篇文章主要介绍了C++Cartographer怎么加载配置文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++Cartographer怎么加载配置文件文章都会有所收获,下面我们一起来看看吧。在node_main.cc文件中,有如下代码std::tie作用是同时对多个变量赋值,但是只能个从元组tuple赋值,在node_options.cc中有如下定义:这返回值为元组tuple.ps:vector初始化:要注意“()”和“{}”这样的初始化情况,比如:std::vector nVec(10,1);    // 包含10个元素,且值为1std::vector nVec{10,1};    // 包含2个元素,值分别为10,1CreateNodeOptions,是定义在node_options.h文件里的一个结构体,同理CreateTrajectoryOptions,里面的参数是由lua文件传入的.trajectoryoptions只在开始轨迹的时候用了,见node_main.cc在trajectory_options.cc中有如下定义这个说明是要至少一个激光,或者激光+超声雷达+点云的个数要>1才能运行程序上面的程序是根据lua字典中的参数, 生成protobuf的序列化数据结构, 结构体NodeOptions定义在头文件中,其中有个元素为::cartographer::mapping::proto::MapBuilderOptions map_builder_options;是proto类型,在上述程序中的第一个参数被赋值在node_options.cc有个类ConfigurationFileResolver,定义在configuration_file_resolver.h中,公有继承来自FileResolverFileResolver定义在lua_parameter_dictionary.h中:这个都是虚函数,只是个接口cartographer经常有对接口类的继承ConfigurationFileResolver的构造函数在configuration_file_resolver.cc里面这个函数有个初始化列表,可以看到最终传入的参数是kConfigurationFilesDirectory,这个参数定义在config.h.这个文件里,这个文件是config.h.cmake编译生成的,如下内容一个是定义工程配置文件的文件夹,一个是工程地址的目录,在config.h中会生成匹配自己电脑的字符串地址.那么上面的ConfigurationFileResolver的构造函数就是为了传入自己电脑的某些目录地址..GetFullPathOrDie:遍历整个文件夹文件名看看能不能找到相应文件,如不能就报错GetFileContentOrDie的作用是看传入的地址变量是不是空的,然后通过GetFullPathOrDie暴力查找是否在当前目录中存在,然后读取配置文件转为string格式然后返回.再回到node_options.cc中接下来是读取配置文件到code中,然后从code和之前读取的file_resolver生成一个lua字典lua是个类似cpp的程序语言,定义在lua_parameter_dictionary.cc中,不细说了如果想自己通过lua文件写入一些配置和参数,步骤如下在自己写的lua配置文件中写入自己的参数,如th=1.1,在想一下这个th是属于node_options还是trajectory_options,如在node_options中,则在node_options.h中定义好自己的数据类型和初始值,如double th = 1.1;然后在node_options.cc中写入关于“C++Cartographer怎么加载配置文件”这篇文章的免费云主机域名内容就介绍到这里,感谢各位的阅读!相信大家对“C++Cartographer怎么加载配置文件”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: Python怎么读写JSON文件

本篇内容介绍了“Python怎么读写JSON文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JSON 全称 JavaScript Object Notatio…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/24 16:30
下一篇 05/24 16:30

相关推荐