LIO-SAM代码细节解读

1  C++函数结构:

pcl::PointCloud<PointType>::Ptr transformPointCloud(pcl::PointCloud<PointType>::Ptr cloudIn, 
PointTypePose *transformIn)
{
......
return CloudOut;
}

函数返回类型——pcl::PointCloud<PointType>::Ptr

函数名——transformPointCloud

(形参1类型——pcl::PointCloud<PointType>::Ptr    形参1变量名——cloudIn,

形参2类型——PointTypePose    形参变量2名——*transformIn)

return必须是函数类型,即 CloudOut 是 pcl::PointCloud<PointType>::Ptr 类型

 2  函数形参类型:

指针/引用/常量const/数组/普通类型:int,float.double...

3  class或struct后冒号:的含义(继承与派生)

class或struct后面的冒号是用来 定义类的继承

class FeatureExtraction : public ParamServer
{...};

class 派生类名 : 继承方式 基类名

继承方式:public ,private和protected

FeatureExtraction这个新的类为派生类,通过公有方式继承ParamServer这个基类。

FeatureExtraction又称为子类(派生类),ParamServer称为父类(基类)。

Lio-sam中ParamServer基类定义在Utility.h文件中,其他.cpp文件中的类都公开继承这个类

如:

imageProjection.cpp文件中imageProjection类继承了ParamServer

class ImageProjection : public ParamServer

注:

子类只能继承父类中的public

子类中的{ }内都是新的成员变量和成员函数,也就是在父类的基础上新加了一些东西

SLAM学习笔记(二十)LIO-SAM流程及代码详解(最全)_zkk9527的博客-CSDN博客_lio-sam

 tf 四元数:

 tf::Quaternion quat;
 tf::quaternionMsgToTF(amcl_pose.pose.pose.orientation,quat);
 double roll,pitch,yaw;
 tf::Matrix3x3(quat).getRPY(roll,pitch,yaw);
//获取偏航角
tf::getYaw(msg->pose.pose.orientation);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
lio-sam是一个开源项目,是LIO(Linux内核iSCSI target)模块的一个分支。它是专门为高性能和可扩展性而设计的iSCSI目标代码lio-sam项目的主要目标是提供一个高性能的iSCSI目标,同时保持Linux kernel的稳定性和可靠性。它在传输层使用Scst(SCSI target实现)和LIO(Linux iSCSI实现)的组合,并有一些优化以提高性能。它还支持各种iSCSI功能,如CHAP认证、数据压缩和IPsec等。 代码阅读lio-sam对Linux内核和iSCSI有一定的了解是很有帮助的。lio-sam使用了一些Linux内核的机制,如工作队列和内存管理。了解这些机制将有助于理解lio-sam的实现原理和性能优化技巧。 在阅读lio-sam代码时,可以关注以下几个方面: 1. LIO模块的初始化和配置:lio-sam在加载模块时进行一些初始化工作,包括创建Scst的实例和配置iSCSI target。了解这些步骤可以帮助理解lio-sam的工作流程和配置方式。 2. iSCSI连接管理:lio-sam负责管理iSCSI连接,包括连接的建立、维护和中断。了解连接管理的实现原理可以帮助理解lio-sam如何处理多个客户端的连接和请求。 3. SCSI命令处理:lio-sam的核心功能是处理SCSI命令。了解lio-sam如何解析SCSI命令、调用底层存储设备和返回响应可以帮助理解其工作原理和性能优化方法。 4. 性能优化技巧:lio-sam的设计目标之一是提高性能。代码中可能包含一些性能优化技巧,如批量处理、IO调度和缓存管理等。了解这些技巧可以帮助优化自己的应用程序。 需要注意的是,代码阅读是一项耗时耗力的工作,需要具备一定的编程和系统知识。在阅读代码时,可以结合官方文档、论坛和社区来获取更多的信息和帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值