一、基本信息

http://www.alubi.cn/lpms-b2/

安装ros教程

http://wiki.ros.org/lpms_imu

https://lp-research.com/ros-and-lp-research-imus-simple/

二、使用方法

在system setting中打开蓝牙,连接IMU。

rosrun rqt_plot rqt_plot &
rosrun lpms_imu lpms_imu_node _sensor_model:="LPMSB2-9BA395" _port:="00:04:3E:9B:A3:95"

若不知道_sensor_model和_port两个参数,则需要在windows下安装openMAT,蓝牙连接IMU后,即可读取这两个参数值。

在rqt_plot中输入要查看的topic名称,即可查看。

三、IMU滤波操作

http://wiki.ros.org/imu_complementary_filter

四、 使用Allan标定法标定IMU随机误差

IMU的随机误差包括加速度计和陀螺仪的高斯白噪声和bias

该开源工具包利用Allan曲线,根据输入的IMU读数,输出IMU的高斯白噪声和角度随机游走。

https://github.com/gaowenliang/imu_utils

https://github.com/rpng/kalibr_allan

注意:Allan曲线标定的结果是连续随机误差,需要进一步转换为离散随机误差.因为使用过程中一直读取IMU的离散读数.

如何理解Allan曲线请参看

https://github.com/XinLiGH/GyroAllan

五、IMU的测量模型

加速度计的测量模型

IMU有东北天坐标系(ENU)和北东地(NED)两种坐标系设置。

以东北天坐标系为例,惯性系下重力加速度读数 g = (0, 0, -9.81)T.

静止时,

a = 0;  am = -g

自由落体运动,

a = g;  am = 0

五、IMU和lidar联合标定

1)直接联合标定

阿波罗:https://github.com/ApolloAuto/apollo/blob/master/docs/specs/apollo_lidar_imu_calibration_guide.md

苏黎世理工:https://github.com/ethz-asl/lidar_align

2)相机和lidar联合标定,相机和IMU联合标定,通过链式计算获取lidar和IMU外参

标定camera和imu,博客教程 https://blog.csdn.net/heyijia0327/article/details/83583360
标定camera和lidar,博客教程https://blog.csdn.net/AdamShan/article/details/81670732#commentsedit
3)油管视频
https://www.youtube.com/watch?v=kxSVByF6eHQ
https://www.youtube.com/watch?v=_3QVQNCn1Cs
 
五、IMU预积分&融合IMU和其他传感器的里程计,数学推导
https://fzheng.me/cn/
https://www.jianshu.com/p/23873d04bc60

IMU(LPMS-B2) ROS下使用教程的更多相关文章

  1. LSD-SLAM深入学习(1)-基本介绍与ros下的安装

    前言 借鉴来自RGB-D数据处理的两种方法-基于特征与基于整体的,同样可以考虑整个图片的匹配,而不是只考虑特征点的…… 一般这种稠密的方法需要很大的计算量,DTAM: Dense tracking a ...

  2. ros下多机器人系统(1)

    multi-robot system 经过两个多月的ros学习,对ros的认识有了比较深入的了解,本篇博客主要记录在ros下开发多机器人系统以及对ros更深入的开发.本篇博客是假定读者已经学习完了全部 ...

  3. ZED 相机 && ORB-SLAM2安装环境配置与ROS下的调试

    注:1. 对某些地方进行了更新(红色标注),以方便进行配置. 2. ZED ROS Wrapper官方github已经更新,根据描述新的Wrapper可能已经不适用与Ros Indigo了,如果大家想 ...

  4. pl-svo在ROS下运行笔记

    一.程序更改的思路(参考svo_ros的做法): 1.在ROS下将pl-svo链接成库需要更改相应的CMakeLists.txt文件,添加package.xml文件: 2.注册一个ROS节点使用svo ...

  5. ORB-SLAM2(2) ROS下配置和编译

    1配置USB相机 1.1网友参考: http://www.liuxiao.org/2016/07/ubuntu-orb-slam2-%E5%9C%A8-ros-%E4%B8%8A%E7%BC%96%E ...

  6. ros下基于百度语音的,语音识别和语音合成

    代码地址如下:http://www.demodashi.com/demo/13153.html 概述: 本demo是ros下基于百度语音的,语音识别和语音合成,能够实现文字转语音,语音转文字的功能. ...

  7. ROS下使用ASUS Xtion Pro Live

    一.ROS官网hydro版本OpenNI安装 3. Installation 3.1 Ubuntu installation To install only openni_camera: sudo a ...

  8. ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS下使用传感器和执行器

    ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS使用传感器和执行器 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第四 ...

  9. SVO在ROS下的配置与运行

    最近在做实验的时候,需要配置SVO,下面讲讲其中的过程以及遇到的问题: 首先说明配置环境:Ubuntu 14.04 + ROS indigo,ROS的安装我参考了ROS的官网上给出的教程:http:/ ...

随机推荐

  1. 【javascript小案例】从0开始实现一个俄罗斯方块

    写在前面得话: 这篇文章主要记录了我是怎么一步一步写出俄罗斯方块,整个代码用的函数编程,主要是为了让一些不熟悉es6, 面向对象写法得 新手能更容易看明白,全部得代码中都是一些js的基础知识,很容易理 ...

  2. Python 内编写类的各种技巧和方法

    Python 内编写类的各种技巧和方法 简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象 ...

  3. wav文件系列_2_Python实现读写

    本文介绍了 Python 实现音频读写的方法.Python wave 模块提供便捷的 wav 文件操作.该模块并不支持压缩与解压,但支持单声道/立体声的转换. 参考: [1] wave — Read ...

  4. iOS开发,改变系统铃声音量和静音,并非媒体播放音量

    使用AVSystemController可以改变系统声音,而且是铃声,并非媒体播放的声音. 它可以让iPhone手机静音.但是,AVSystemController存在于私有Celestial框架中. ...

  5. python学习笔记——(三)文件操作

    ·集合操作及其相应的操作符表示集合中没有插入,只有添加,因为毕竟无序 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Vergil Zhan ...

  6. struts2+mybatis3+log4j2+bulma+mysql8元工程

    https://pan.baidu.com/s/1Z1YklkKEKrzhS7uM9w6ewQ https://pan.baidu.com/s/1Z1YklkKEKrzhS7uM9w6ewQ

  7. 为什么 EXISTS(NOT EXIST) 与 JOIN(LEFT JOIN) 的性能会比 IN(NOT IN) 好

    前言 网络上有大量的资料提及将 IN 改成 JOIN 或者 exist,然后修改完成之后确实变快了,可是为什么会变快呢?IN.EXIST.JOIN 在 MySQL 中的实现逻辑如何理解呢?本文也是比较 ...

  8. python接口测试-将运行结果写入Excel表格

    公司工作是促进学习的第一生产力!! 一个get请求的接口,我想清楚的在Excel中看到所有的数据! 带着学过H5,php觉得所有代码都很简单的自信,在公司开发的[鼓励]下开始了一上午的斗争 一个小时. ...

  9. linux压缩、解压缩和归档工具

    linux基础之压缩.解压缩和归档工具 1.压缩工具 基本介绍 为了减少文件的原来的文件大小而过多的浪费磁盘的存储空间,我们使用压缩后多文件进行存储 压缩工具的介绍 compress:把文件压缩成以. ...

  10. C++中的基础特性:封装,继承,多态

    抽象: 要将现实中的一个具体事务,变成C++中的一个类,例如将现实中的汽车变成代码中的car类.完成这个过程就需要 抽象 这一基本手段. 抽象是指 对具体问题(对象)进行分析概括,找出该类对象的公共性 ...