随笔分类 - Robot & SLAM
SLAM
摘要:1. 地下巷道数据集 SubT Reference Dataset https://bitbucket.org/jgrogers/subt_reference_datasets/src/master/ 2. Navvis室内数据集 http://www.navvis.lmt.ei.tum.de/da
阅读全文
摘要:因为条件限制,在Windows10平台下实现OrbSLAM2+Kinect2点云数据采集。 1. 遇到问题,启动运行没多久就跟丢了,有的地方哪怕轻微的旋转甚至不动都无法跟踪。 原因:相机的标定参数不对,fx和cx参数搞反了。其实应该从获取的稀疏点云中能够看出来有问题,稀疏点云的形状和分布就不对。 2
阅读全文
摘要:采用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
阅读全文
摘要:LocalTrajectoryBuilder意思是局部轨迹的构建,下面的类图中方法的参数没有画进去。 注意其中的三个类:PoseExtrapolator类,RealTimeCorrelativeScanMatcher类和CeresScanMatcher类。 (1)PoseExtrapolator类(
阅读全文
摘要:PoseGraph位姿图 mapping2D::PoseGraph类的注释: // Implements the loop closure method called Sparse Pose Adjustment (SPA) from// Konolige, Kurt, et al. "Effici
阅读全文
摘要:MapBuilder的成员变量sensor::Collator sensor_collator_; 再次阅读MapBuilder::AddTrajectoryBuilder方法。首先构造了mapping::GlobalTrajectoryBuilder实例,接着作为参数构造了CollatedTraj
阅读全文
摘要:Cartographer早期的代码在进行3d制图的时候使用了UKF方法,查看现有的tag版本,可以转到0.1.0和0.2.0查看,包含kalman_filter文件夹。 文件夹中的pose_tracker类文件在mapping_3d的文件加下有kalman_local_trajectory_buil
阅读全文
摘要:上文提到特别注意map_builder_bridge_.AddTrajectory(x,x),查看其中的代码。两点: 首先是map_builder_.AddTrajectoryBuilder(...),调用了map_builder_对象的方法。其次是sensor_bridges_键值对的赋值。 其中
阅读全文
摘要:带着几个思考问题: (1)IMU数据的使用,如何融合,Kalman滤波? (2)图优化的具体实现,闭环检测的策略? (3)3D激光的接入和闭环策略? 1. 安装Kdevelop工具: http://blog.csdn.net/p942005405/article/details/75715288 h
阅读全文
摘要:1.rplidar实时测试 参考文献:http://www.cnblogs.com/liangyf0312/p/8028441.html 修改USB转串口权限 重新插入USB转串口设备,普通用户就有权限访问了。 测试rplidar 运行cartographer,首先 编辑用于运行rplidar的配置
阅读全文
摘要:请注意本文的安装日期2017/12/20,如果距离该时间很遥远,请仅作为参考,毕竟cartographer的代码在不断更新,可能会存在很大的变动。 参考文档: https://google-cartographer.readthedocs.io/en/latest/ https://google-c
阅读全文
摘要:1. AGV(Automated Guided Vehicle ),通常也称为AGV小车·指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,工业应用中不需驾驶员的搬运车,以可充电之蓄电池为其动力来源。一般可通过电脑来控制其行进路线以及行为,或利用电磁轨
阅读全文
摘要:1.电源接入 电源线5Pin,4芯。棕色线接入正极,蓝色线接入负极(直流电,地线)。LMS111-100默认的电压范围是10-30V,推荐使用24V,我这里使用的是12V/3A的锂电池。 另外两根白色(+)和黑色(ground)的是加热用的,正常温度应该不需要。西克中国的工程师跟我说使用12V的会减
阅读全文
摘要:惯性导航技术 Inertial Navigation Systems – INS 导航:引导一个物体从一个地方航行到另一个地方。确定载体的位置、速度、姿态,引导载体到达目的地的指示或控制过程。 惯性导航:惯性导航系统是基于运动传感器计算其位置的航位推算型导航系统。利用惯性敏感器(陀螺仪和加速度计)测
阅读全文