03 2018 档案
摘要:因为条件限制,在Windows10平台下实现OrbSLAM2+Kinect2点云数据采集。 1. 遇到问题,启动运行没多久就跟丢了,有的地方哪怕轻微的旋转甚至不动都无法跟踪。 原因:相机的标定参数不对,fx和cx参数搞反了。其实应该从获取的稀疏点云中能够看出来有问题,稀疏点云的形状和分布就不对。 2
阅读全文
摘要:IMU的输入为imu_linear_acceleration 和 imu_angular_velocity 线加速和角速度。最终作为属性输出的是方位四元数。 Eigen::Quaterniond orientation() const { return orientation_; }
阅读全文
摘要:采用GMapping定位,增加一个垂直扫描的2D激光实时采集三维点云。 发现GMapping的定位精度还是没有办法满足高精度点云采集位姿的需要。尤其是当旋转的速度比较大的时候,位姿精度更差。原因是扫描匹配可以获取较高精度的位姿,但是两次扫描匹配之间的运动只有里程计相对运动数据,因此里程计误差严重。
阅读全文
摘要:约束计算 闭环检测的策略:搜索闭环,通过匹配检测是否是闭环,采用了分支定界法。 前已经述及PoseGraph的内容,此处继续。位姿图类定义了pose_graph::ConstraintBuilder constraint_builder_对象。 1.ConstraintBuilder类图 定义了Su
阅读全文
摘要:其实也就是包括两个方面的内容:类似于运动模型的位姿估计和扫描匹配,因为需要计算速度,所以时间就有必要了! 1. PoseExtrapolator解决了IMU数据、里程计和位姿信息进行融合的问题。 该类定义了三个队列。 定义了(a)通过位姿计算线速度和角速度对象 和(b)通过里程计计算线速度和角速度对
阅读全文
摘要:1.MSF_Core的三个函数:ProcessIMU、ProcessExternallyPropagatedState和AddMeasurement MSF_Core维护了状态队列和观测值队列,这里需要结合论文思考这个状态队列的作用。 ProcessIMU方法: 1 template<typenam
阅读全文
摘要:这里有个感觉,就是百川汇海。即IMU数据和相机的消息数据都汇集到msf_core进行处理。接上一篇, 1. 查看IMUHandler_ROS::IMUCallback和IMUHandler_ROS::StateCallback回调函数。 MUHandler_ROS::IMUCallback,传入的消
阅读全文
摘要:关于IMU融合知乎上的一篇问答:有哪些开源项目是关于单目+imu做slam的? Ethz的Stephen Weiss的工作,是一个IMU松耦合的方法。 1.程序入口:ethzasl_msf\msf_updates\src\pose_msf\main.cpp PoseSensorManager类,查看
阅读全文
摘要:ROS & Robot Linux学习和ROS安装(1) ROS安装(2) ROS开发与常用命令 CMake和Linux编程:find_package的使用 [ROS]激光驱动安装 [ROS]1 小乌龟 [ROS]2 尝试编译OrbSLAM [ROS]3 Linux编程练习 rplidar & he
阅读全文