lio-sam的实车定位测试中,地图存储和读取于默认目录。初始配准需在起始位置3m内,保持朝向。imu积分确保路径偏离时的位姿准确性,防止重复特征引起的漂移。未测试室外复杂环境和长距离行驶情况。
摘要由CSDN通过智能技术生成
1.首先阅读一下recolization的源码,看一下和mapping有啥区别:
-imageProjection.cpp中:
cloudInfo.imuPreintegrationResetId = round(startOdomMsg.pose.covariance[0]);
计算相对变换(从雷达的起始时刻到当前imu数据来的时候)
-imuPreintegration.cpp中:
int imuPreintegrationResetId = 0;
订阅odom的里程计?猜测应该是方便显示
ros::Subscriber subPoseOdomToMap;
geometry_msgs::PoseStamped poseOdomToMap;
subPoseOdomToMap = nh.subscribe<geometry_msgs::PoseStamped>("lio_sam/mapping/pose_odomTo_map", 1,&IMUPreintegration::odomToMapPoseHandler, this, ros::TransportHints().tcpNoDelay());
pubImuPath = nh.advertise<nav_msgs::Path>("lio_sam/imu/path", 1);
map_to_odom = tf::Transform(tf::createQuaternionFromRPY(0, 0, 0), tf::Vector3(0, 0, 0));
void odomToMapPoseHandler(const geometry_msgs::Pos
<arg name="project" default="lio_sam"/>
<env name="ROSCONSOLE_CONFIG_FILE" value="$(find lio_sam)/launch/include/rosconsole/rosconsole_error.conf"/>
<!-- EKF GPS-->
<node pkg="robot_lo
开源框架测试
一:Tixiao Shan最新力作LVI-SAM(Lio-SAM+Vins-Mono),基于视觉-激光-惯导里程计的SLAM框架,环境搭建和跑通过程_goldqiu的博客-CSDN博客
二.激光SLAM框架学习之A-LOAM框架---介绍及其演示_goldqiu的博客-CSDN博客
八.激光SLAM框架学习之LeGO-LOAM框架---框架介绍和运行演示_goldqiu的博客-CSDN博客
十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运.
总结思路:设定一个终点距离,如果当前位姿与目标点位姿的距离小于1米,就重新发送一个目标点给move_base,这样就可以实现循环导航了。
发现move_base是actionlib的服务端的实现,action也是一种类似与service的问答通讯机制,不一样的地方是action还带有一个反馈机制,可以不断反馈任务的实施进度,而且可以在任务实施过程中,中止运行。
lio-sam相关博客:
十一.激光惯导LIO-SLAM框架学习之LIO-SAM框架---框架介绍和运行演示_goldqiu的博客-CSDN博客
十四.激光和惯导LIO-SLAM框架学习之惯导内参标定_goldqiu的博客-CSDN博客
十五.激光和惯导LIO-SLAM框架学习之惯导与雷达外参标定(1)_goldqiu的博客-CSDN博客
FAST-LIO-SAM
a SLAM implementation combining FAST-LIO2 with pose graph optimization and loop closing based on LIO-SAM paper
...