不少 开源的SLAM系统代码 依赖ROS, 引入了额外的依赖, 性能也有一定下降,调试也不方便, 因此去掉ROS依赖 有不少好处,
第一个工作是 数据流的处理, 依赖ROS的时候, 数据流一般是某个节点发布传感器数据,另外一个节点获数据,做后续处理, 这个是需要改的地方
第二个工作是 一些代码和ROS高度耦合, 大量使用 ROS的辅助函数,需要进行替换, 逐个进行注释太慢了, 源代码 开头加上如下 宏 能降低不少工作
#define ROS_WARN_STREAM(x)
#define ROS_DEBUG printf
#define ROS_INFO printf
#define ROS_WARN printf
#define ROS_DEBUG_STREAM(x)
一些控制台输出不想要的话就写成
#define ROS_DEBUG(...)
#define ROS_INFO(...)
之前写过一个代码, 把 ROS的图像消息和IMU消息 进行了包装,这样,直接去掉ROS的消息格式代码,但没有拷贝出来,遗留在前公司了,可惜!