ros --- 录制imu bag包 和 imu标定
程序员文章站
2022-04-18 16:46:41
...
ros --- base notes ( tf ...)
1. ros 录制imu bag包
rosbag 指令
- rosbag record -a
- rosbag record /topic1 /topic12
- rosbag play
- rosbag play -r 3 <your bagfile name> # 表示以3倍原始速率发布话题
- rosbag info <your bagfile name>
- rosbag play -l <bagfile> # -l == --loop 循环播放
rosbag record /imu
# 指定名字
rosbag record -o imu_test /imu
2. imu标定
使用此工具: imu_utilshttps://github.com/gaowenliang/imu_utils.git
参照readme 安装,先下载 code_utils 安装
https://github.com/gaowenliang/code_utils.git
编译会出现的问题:
-
sumpixel_test.cpp 文件中的 #include “backward.hpp” 找不到此文件
改为:#include “code_utils/backward.hpp” -
opencv版本问题,我的opencv版本 > 4.0
CV_LOAD_IMAGE_UNCHANGED CV_LOAD_IMAGE_GRAYSCALE 出现未定义问题,将其分别修改:
CV_LOAD_IMAGE_UNCHANGED = -1 ( = cv::IMREAD_UNCHANGED),
CV_LOAD_IMAGE_GRAYSCALE = 0 ( = cv::IMREAD_GRAYSCALE),
CV_LOAD_IMAGE_COLOR = 1 ( = cv::IMREAD_COLOR),
CV_LOAD_IMAGE_ANYDEPTH = 2 ( = cv::IMREAD_ANYDEPTH),
- error: aggregate ‘std::ofstream out_t’ has incomplete type and cannot be defined
添加#include <sstream>
#include <fstream>
mkdir imu_utils
cd imu_utils/
mkdir src
cd src /
git clone https://github.com/gaowenliang/code_utils.git
cd . .
catkin_make
cd src/
git clone https://github.com/gaowenliang/imu_utils.git
cd . .
catkin_make
echo "source ~/visual_slam/imu_utils/devel/setup.bash">>~/.bashrc
创建 launch 文件
参数 max_time_min
表示标定时长,单位为分钟,当imu数据大于这个时间,标定才结束,程序中默认是10,为10分钟; 本文只做测试,设置为 1 分钟 (时间太短,效果不好)
创建 imu_test.launch 文件如下:
<launch>
<node pkg="imu_utils" type="imu_an" name="imu_an" output="screen">
<param name="imu_topic" type="string" value= "/imu"/>
<param name="imu_name" type="string" value= "my_test_imu"/>
<param name="data_save_path" type="string" value= "$(find imu_utils)/data/"/>
<param name="max_time_min" type="int" value= "1"/>
<param name="max_cluster" type="int" value= "100"/>
</node>
</launch>
roslaunch imu_utils imu_test.launch
rosbag play -r 100 2020-08-18-16-57-29.bag # 不能循环播放 imu bag,程序中有时间判断
输出的 yaml 文件 :
取 :
gyr_n: 1.1492916733916777e-03
gyr_w: 1.5149990825893628e-04
acc_n: 4.9409665167450302e-02
acc_w: 1.1666042788323885e-02
上一篇: Kubernetes控制流分析
下一篇: Docker (八)容器数据卷使用