用imu_tk和imu_utils标定imu
1.imu_tk的使用(加速度计和陀螺仪的非对齐误差、biase、scale)
1.首先下载安装imu_tk:
https://gitcode.net/mirrors/Neil-Oyoung/imu_tk?utm_source=csdn_github_accelerator
2.放在catkin_ws的src下编译
3.录制ros包,同样的打开imu数据。用rosbag record命令记录imu 信息,在记录的过程中,要多imu进行一定的操作(旋转停留36-50次!!)。
否则之后运行会报错:
-> Not enough intervals, calibration is not possible
Accelerometers calibration: Can't obtain any calibratin with the current dataset
其中打开imu命令为:
roslaunch openzen_sensor openzen_lpms_ig1.launch
录制具体命令为
rosbag record /imu/data_open -o imu.bag
录制打开之后,会在主目录下看到imu.bag文件
4.把文件拷贝到catkin_ws下,并运行rosrun imu_tk imu_calib_node bag名字 topic名字
rosrun imu_tk imu_calib_node imu_2022-11-07-14-51-38.bag /imu/data_open
成功之后会在catkin_ws下生成两个文件imu_acc.calib和imu_gyro.calib.
其中的参数分别表示加速度计和陀螺仪的非对齐误差、biase、scale。如图
如果执行过程中出现gnuplot: not found的错误,安装一下就好
sudo apt-get install gunplot
2.imu_utils的使用
1.下载imu_utils和code_utils
imu_utils下载地址为:https://github.com/gaowenliang/imu_utils
code_utils下载地址为: https://github.com/gaowenliang/code_utils
2.安装依赖
sudo apt-get install libdw-dev
3.先把code_utils放在src下catkin_make编译!!!有个先后顺序的!
编译报错:code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp:No such file or directory
填坑: 在code_utils下面找到sumpixel_test.cpp,修改#include "backward.hpp"为 #include “code_utils/backward.hpp”,再编译。
然后重新catkin_make编译成功,再把imu_utils也放到工作空间的src下面,不要删除之前的文件,同样编:
cd catkin_ws
catkin_make
编译报错:error: aggregate ‘std::ofstream out_t’ has incomplete type and cannot be defined std::ofstream out_t;
解决办法,imu_an.cpp添加头文件
#include <fstream>
至此编译成功.
4.开始录制imu话题(保持imu不动2个小时,你没听错2个小时!)
指令:rosbag record topic名字 -o imu.bag
roslaunch openzen_sensor openzen_lpms_ig1.launch
rosbag record /imu/data_open -o imu.bag
在主目录下生成imu.bag文件
5.在imu_utils文件下的launch文件目录下添加一个launch文件,我这里添加的是 imu.launch,并把以下代码复制进文件,代码中的/IMU_data改成自己imu的topic。
<launch><node pkg="imu_utils" type="imu_an" name="imu_an" output="screen"><param name="imu_topic" type="string" value= "/IMU_data"/><param name="imu_name" type="string" value= "imutest"/><param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/><param name="max_time_min" type="int" value= "120"/><param name="max_cluster" type="int" value= "100"/></node>
</launch>
6..之后执行
roslaunch imu_utils imu.launch
7.新开一个命令端口,记得开启ros。回放录制了两个小时的imu数据。
rosbag play -r 200 imu.bag
这里的imu.bag替换成自己的bag文件名。
在执行3的命令端口等待一段时间,自动结束之后会在imu_utils文件下的data文件目录下生成一个imutest_imu_param.yaml的文件,文件中有16个数据,表示陀螺仪和加速度计的高斯白噪声和随机游走误差,到现在随机误差标定结束。
用imu_tk和imu_utils标定imu相关推荐
- 利用 imu_utils 标定 imu
目录 前言 一.安装 imu_utils 二.编译出现的错误 三.操作步骤 四.结果 前言 记录利用 imu_utils 标定 imu,最近在使用imu做导航,要对imu进行标定,使用标定得到的加速度 ...
- imu_utils标定imu问题解决
在编译过程中遇到的一些问题可以参照这个女生的文章 https://blog.csdn.net/fang794735225/article/details/92804030 下面是imu_utils的主 ...
- Ubuntu20.04编译并运行imu_utils,并且标定IMU
Ubuntu20.04编译并运行imu_utils,并且标定IMU 一.编译并运行imu_utils 1 安装依赖项 2 下载imu_utils和code_utils 2.1 code_utils编译 ...
- 总结:单独标定IMU的工具包(kalibr_allan,imu_tk,imu_utils)
目录 一.常用开源IMU标定工具包汇总 kalibr_allan imu_tk imu_utils imu_tk与imu_utils的区别 二.使用kalibr_allan计算imu误差 参考: 下载 ...
- Ubuntu18下xsens IMU的驱动安装及使用imu_utils标定
最近在做xsens IMU的标定工作,网上资源很多很杂,打算按自己的操作过程.细节及遇到的问题记录一下,里面有参考的博文都附了链接.主体可参考此博文:VIO 中 IMU 的标定流程 (1/3) - i ...
- 《视觉SLAM进阶:从零开始手写VIO》第二讲作业-IMU仿真、MU imu_utils标定
<视觉SLAM进阶:从零开始手写VIO>第二讲作业-IMU仿真.MU imu_utils标定 作业题目: 1 仿真代码解析 仿真代码地址:https://github.com/HeYiji ...
- realsense d435i标定imu与camera
realsense d435i标定imu与camera 1.标定目的 realsense d435i包含两个红外相机.红外发射器.RGB相机和IMU四个模块,显然四个传感器的空间位置是不同的,我们在处 ...
- IMU使用系列------imu_util标定imu的方法及wait for imu data 的bug解决
该篇参考港科大的github: https://github.com/gaowenliang/imu_utils https://blog.csdn.net/fang794735225/article ...
- 从零写VIO|第二节——作业:使用Allen方差工具标定IMU
这里写目录标题 作业内容 1 安装im_utils 1.1. 安装依赖: 1.2 编译 1.3 可能出的错误 2. 运行 ~~2.1 采集IMU数据~~ 2.2 生成imu.bag 2.3 新建imu ...
最新文章
- 设计中的版面艺术!你造吗?(四)
- 【五线谱】Sibelius 7.5.1 打谱软件安装 ( 软件下载 | 软件安装 )
- LVS原理详解及部署之五:LVS+keepalived实现负载均衡高可用
- WebLogic下WAR方式部署获取文件路径问题
- oracle能闪回多久,oracle 闪回基于时间的恢复
- python 时间序列异常值_python中缺少时间序列值
- php执行另一个页面,从另一个PHP脚本执行PHP脚本
- 从exe程序反汇编得到py源码
- CAD转JPG如何才能清晰?来看这两个方法
- 学生HTML个人网页作业作品——湘菜美食网页设计作品(12页) 美食网站设计与实现
- LTspice使用第三方spice模型进行仿真
- Python与自然语言处理——句法分析
- access查找出生日期年份_access查询最大年龄减最小年龄
- RuoYi-App启动教程
- 人机博弈小游戏(Java)
- 年末系列(2)-加速器
- 16、Python小案例
- 2068. 整数拼接
- linux测试并发的工具,Linux下使用Jmeter测试并发
- 互联网创业的准备——后勤:电脑、邮箱、会议
热门文章
- 面向5G的C-RAN网络架构
- 使用内存盘加快开发效率 (UltraRAMDisk,Jetbrains Idea,java)
- 《亚马逊逆向工作法》读书笔记
- 《菊与刀》--[美]鲁思·本尼迪克特(Ruth Benedict)
- 《Python语言程序设计基础》嵩天著-第6章程序部分练习题答案
- Android 项目必备(四十三)-->Android 开发者的 new 电脑
- MAGIC: 即插即用、无需训练的图像-文本生成框架
- MIT-BIH心律失常数据库介绍
- Snagit for Mac 如何截取长图,滚动截图?
- SQL获取数据表中所有列名