合集-SLAM
摘要:ROS & Robot Linux学习和ROS安装(1) ROS安装(2) ROS开发与常用命令 CMake和Linux编程:find_package的使用 [ROS]激光驱动安装 [ROS]1 小乌龟 [ROS]2 尝试编译OrbSLAM [ROS]3 Linux编程练习 rplidar & he
阅读全文
摘要:SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。 SLAM最早由Smith、Self和Cheeseman于1988年提出。 SL
阅读全文
摘要:SLAM算法分为三类:Kalman滤波、概率滤波、图优化 Kalman滤波方法包括EKF、EIF;概率滤波包括RBPF,FastSLAM是RBPF滤波器最为成功的实例, 也是应用最为广泛的SLAM方法; SLAM分为Full SLAM和Online SLAM 常见的二维激光SLAM算法 1、GMap
阅读全文
摘要:主要参考http://blog.csdn.net/dourenyin/article/details/480554411.编译g2o的过程中,先是出现Eigen3依赖项的问题,要求Eigen3最低版本是3.1.0,而我的ROS上的版本是3.0.5.于是下载了一个3.2.7的包进行编译并安装。执行ma...
阅读全文
摘要:对于一个新新新手,Linux,ROS都要学习。安装ROS真的很讨厌了,于是采用易科机器人实验室的ubuntu12.04-amd64-ros-exbot-h2-140520版本。 测试一下小乌龟节点、主题什么的。 新建一个终端,输入$ roscore 新建一个终端,输入$ rosrun turtles
阅读全文
摘要:SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述子。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。[1] 该方法于1999年由David Lowe[2] 首先发表于计算机视觉国际会议(I
阅读全文
摘要:Nguyen, V., et al. (2007)."A comparison of line extraction algorithms using 2D range data for indoor mobile robotics." Autonomous Robots 23(2): 97-111
阅读全文
摘要:目前可以从很多地方得到RBPF的代码,主要看的是Cyrill Stachniss的代码,据此进行理解。 Author:Giorgio Grisetti; Cyrill Stachniss http://openslam.org/ https://github.com/Allopart/rbpf-gm
阅读全文
摘要:Dependencies: QGLViewer2.6.3 Win7 64bit VS2010 直接使用QGLViewer文件夹下的Pro文件在VS2010中可以编译成64位的Dll。 用外面的libQGLViewer-2.6.3.pro在VS中生成的项目文件应该是针对32位的。老是报错误,说我的系统
阅读全文
摘要:数据集 数据集 New College Dataset :: Main / DownloadsAutonomous Space Robotics Lab: Devon Island Rover Navigation DatasetRadishRobotic 3D Scan RepositoryThe
阅读全文
摘要:1.Beam Model Beam Model我将它叫做测量光束模型。个人理解,它是一种完全的物理模型,只针对激光发出的测量光束建模。将一次测量误差分解为四个误差。 $ph_{hit}$,测量本身产生的误差,符合高斯分布。 $ph_{xx}$,由于存在运动物体产生的误差。 ... 2.Likehoo
阅读全文
摘要:g2o使用的一个备忘 位姿已知,闭环的帧已知,进行图优化。 1 #include "stdafx.h" 2 #include <vector> 3 #include "PointXYZ.h" 4 #include "Annicp.h" 5 #include <Eigen/Dense> 6 #incl
阅读全文
摘要:slam_gmapping节点 1)slam_gmapping 节点在sensor_msgs/LaserScan消息内获取数据并建立地图 map(nav_msgs/OccupancyGrid)。该地图可以通过ROS主题或服务来获取。 2)订阅的主题 (1) tf(tf / tfMessage)与坐标
阅读全文
摘要:一起做RGB-SLAM(2)实验第二讲 从图像到点云http://www.cnblogs.com/gaoxiang12/p/4652478.html 1 exbot@ubuntu:~$ cd CodeLearn 2 exbot@ubuntu:~/CodeLearn$ cd Depth2PointCl...
阅读全文
摘要:参考文档:https://www.cnblogs.com/liu-fa/p/5779206.html#undefined 系统环境:Window7 64bit+VMware11 ubuntu-gnome-16.04.2-desktop-amd64.iso 系统问题: 1.主机和虚拟机共享剪贴板 安装
阅读全文
摘要:《概率机器人》一书用两章介绍了几种定位方法,一种是基于马尔科夫决策,另外一章是栅格和蒙特卡罗方法。 1.马尔科夫定位 2.EKF定位 3.栅格定位 4.MCL蒙特卡罗定位 这里主要学习一下蒙特卡罗定位。机器人定位问题可以描述为:如何确定机器人在关联的已知环境地图中的位姿pose。抛开SLAM,定位问
阅读全文
摘要:传感器观测模型,主要针对激光测距传感器进行说明。 1.Beam Model 测量光束模型 激光测量光束模型是对激光测量过程的近似物理描述,激光测距仪沿激光发出的光束测量周围物体的距离。该模型将一条沿光束进行的测量$p(z_{t}|x_{t},m)$表达为四种概率密度的混合。认为存在四种类型的测量误差
阅读全文
摘要:尝试进行Kinect2.0相机进行标定 1. Color镜头标定 $(u_{rgb},v_{rgb},1)=W_{rgb}*(x,y,z)$ 2. 红外镜头标定 $(u_{ir},v_{ir},1)=W_{ir}*(x,y,z)$ 根据上面两个式子可以推导出两个图像像素之间的对应关系。先将RGB图像
阅读全文
摘要:星球大战里面有2个非常出色的机器人一个是3PO,一个是R2。我的机器人呢就叫小豆包啦,代号FR2,不许侵犯它的署名哦。 常见的机器人运动模型包括:速度计运动模型,里程计运动模型和惯导运动模型。概率运动模型是对机器人运动的一种概率描述。 里程计是比较常见的一种类型。严格来说,里程计是一种传感器测量信息
阅读全文
摘要:人总是对未知充满了好奇,人的一生是不断发现,不断探索未知的过程。哥伦布发现新大陆,月球探索,火星探索,人类的脚步将永不停止。探索是一个充满未知的旅程,人类根据自身的知识,借助外部工具,利用自己的智慧,发现或者发明新的事物,这是一个非常有意思的过程。 不识庐山真面目,只缘身在此山中,如何克服认知的局限
阅读全文
摘要:接上一篇:Kinect2.0获取数据 http://blog.csdn.net/jiaojialulu/article/details/53087988 博主好细心,代码基本上帖过来就可以用,注释掉的部分改成文件输出就可以了! 我们实验室的一帧数据,哈哈! 上面的代码有内存泄露,程序运行一段时间把我
阅读全文
摘要:思考问题:机器人运动控制如何与图形界面交互? 不得不说,先锋机器人的软件做的真不怎么样。图形界面交互用户体验很差。 现在我遇到一个很现实的问题:SLAM需要采集激光数据和机器人的位姿,同时我还要再这个界面中控制机器人的运动。这个想来真是一个复杂的问题。 测试使用ArRobot分别直接在MFC的Win
阅读全文
摘要:首先,数据读取部分开启了两个后台线程,一个负责串口的连接和测试;一个负责数据的接收。 几个基本概念: 建立连接和关闭连接。 开始记录和停止记录。 保存CSV文件。 1.查找COM端口,Urg_driver::find_ports调用Serial::find_ports()方法。 1 std::vec
阅读全文
摘要:A laser mount on a tilting unit. 目前的硬件获取数据出现了这么个问题,应该是激光没有安装好,扫描方向没有真正沿着铅锤方向。考虑进行校准。 初步校正了一下,可以差不多看了,不过发现北阳的误差真的很大啊!北阳激光采集点本身需要运动补偿吗? (PS:点云数据误差大的原因是计
阅读全文
摘要:最近事情真是多,今天抽空研究一下Kinec2.0的数据获取! 系统要求 https://developer.microsoft.com/en-us/windows/kinect/hardware-setup 系统环境 联想Y430P,Windows10 首先安装了Kinect for Windows
阅读全文
摘要:histogram_direction
阅读全文
摘要:接上一篇:1.rplidar测试 方式一:测试使用rplidar A2跑一下手持的hector slam,参考文章:用hector mapping构建地图 但是roslaunch exbotxi_bringup 2dsensor.launch 和 roslaunch exbotxi_nav hect
阅读全文
摘要:以下在虚拟机中完成的(ubuntu12.04-amd64-ros-exbot-h2-140520)。 进入catkin_ws,下载代码: 编译 插入USB接口的rplidar,测试端口: rplidar_ros/launch/rplidar.launch文件进行了端口号的配置,信息如下 (/home
阅读全文
摘要:NDT概念 正态分布变换(Normal Distribution Transformation , NDT)概率密度函数( Probability Density Function, PDF)First proposed for two dimensional scan data registrat
阅读全文
摘要:Karto_slam算法是一个Graph based SLAM算法。包括前端和后端。关于代码要分成两块内容来看。 一类是OpenKarto项目,是最初的开源代码,包括算法的核心内容: https://github.com/skasperski/OpenKarto.git 之后作者应该将该项目商业化了
阅读全文
摘要:1. remap的解释 For example, you are given a node that says it subscribes to the "chatter" topic, but you only have a node that publishes the "hello" topi
阅读全文
摘要:参考资料: https://blog.csdn.net/hongliang2009/article/details/73302986 https://blog.csdn.net/bohaijun_123/article/details/69660713 https://blog.csdn.net/C
阅读全文
摘要:因为条件限制,在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类,查看
阅读全文
摘要: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.Ubuntu无法启动了,进入不了启动界面 刚高兴一会会儿,马上系统重启,进不了登陆界面了。只有控制台的login,无语。试了好几种方法都没有解决。 重装吧!重装Ubuntu之后,装完ROS Kinetic重启,问题依旧!!! 2.现在就用快照吧,基于快照工作了!FUCK 3.为虚拟机Ubuntu
阅读全文
摘要:思考问题: 1. 如何实现传感器数据的融合,或者说时间同步? 比如里程计读数和雷达数据融合? ROS中message_filters 和 tf::MessageFilter 需要关注一下。 message_filters is a utility library for use with roscp
阅读全文
摘要:接下来将制图和定位问题分别进行介绍。这两个问题可以视为SLAM过程中两个相互联系的子问题,但是也可以视为两个单独的问题。虽然说SLAM问题是鸡和蛋的问题,但是在实际处理过程中总是有先后的。为了简化问题,首先将两者视为单独的问题进行分析,在处理这两个独立的问题的时候需要设定一些约束。 描述机器人制图M
阅读全文
摘要:声明:软件截图为个人所有,严禁用于商业目的和其他盈利行为。 云台控制和激光点云获取软件 第一阶段:三维点云采集可视化 第二阶段:MoblieSim仿真数据接入,sim_lms1xx_1激光。Gmapping建图实现效果图,感觉效果一般,估计有的参数还是要调整一下。 进一步工作: (1)当前真实轨迹,
阅读全文
摘要:Autonomous Exploration自主探索 移动机器人自主探索最主要的任务是确定机器人下一步的期望运动位置,最终实现全局范围内以最短无碰撞路径获取最多未知正确环境信息。 Autonomous Navigation自主导航 自主导航和自主探索都涉及两个问题:一个是自身定位和环境地图构建(SL
阅读全文
摘要:今天尝试编译一下MRPT,主要是为了学习里面的路径规划算法。 自主探索,未知环境探索...... 编译的过程中遇到一个问题就是wxWidgets老是检测不到,让我添加它的root目录。明明wxWidgets已经编译好并且在CMake中添加了,反复试都不行。 后来发现原来是我的CMake版本的问题,我
阅读全文
摘要:一、Livox MID-70连接及使用 参考链接 硬件环境:拯救者7000,32G内存 1.ubuntu18.04安装下载 2.ROS下载安装 3.Livox_viewer下载 去官网下载livox_viewer,Windows和Linux版本都有。livox_viewer不需要SDK和ros_dr
阅读全文
浙公网安备 33010602011771号