1.首先,安装ceres依赖项,然后下载编译安装ceres
git clone https://github.com/ceres-solver/ceres-solver
cd ceres
mkdir build
cd build
cmake ..
make
sudo make install
2.下载code_utils并编译
cd ~/catkin_ws/src
git clone https://github.com/gaowenliang/code_utils
cd ~/catkin_ws
catkin_make
这里会报错:fatal error: backward.hpp: 没有那个文件或目录
修改办法: 在code_utils的CMakeLists.txt中加入包含路径:
include_directories( "include/code_utils")
然后继续进行: catkin_make
注意:code_utils和imu_utils有先后顺序,不能放在一起编译.
3.下载imu_utils并编译
cd ~/catkin_ws/src
git clone https://github.com/gaowenliang/imu_utils.git
cd ~/catkin_ws
catkin_make
4.将贺博给的vio_data_simulation-ros_version放在~/catkin_ws/src中
修改main函数中数据的路径:
bag.open("/home/ubuntu/catkin_ws/src/imu_test.bag", rosbag::bagmode::Write);
这里或者是其他的路径,反正可以读写就可以了,下面进行编译vio_data_simulation
cd ~/catkin_ws
catkin_make
编译完后,生成一个节点vio_data_simulation_node。
5.生成imu数据包
先打开终端启动roscore,再开个终端运行下面命令,运行这个节点就生成了一个bag,这个bag就是模拟的IMU采集数据。
source devel/setup.bash
rosrun vio_data_simulation vio_data_simulation_node
如下图所示生成了imu_test.bag数据包
6.将launch文件复制写一个
在catkin_ws/src/imu_utils/launch目录下,我这里复制修改成test.launch,打开test.launch,主要修改imu_topic(和代码中要一致),imu_name(随便取个名)
<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= "mytest"/>
<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>
7.回放数据和运行
在~/catkin_ws目录下,先source devel/setup.bash
在~/catkin_ws/src目录下,roslaunch imu_utils test.launch
再执行命令,在~/catkin_ws/src目录下
rosbag play -r 200 imu_test.bag
等待结果,如下图
然后生成的数据在imu_utils/data/下.
接下来,去画出来这些方差图,在scripts下有很多matlab的脚本文件.
修改测试IMU仿真参数如下
(/home/ubuntu/catkin_ws/src/vio_data_simulation-ros_version/src/param.h)
// noise
double gyro_bias_sigma = 0.00001; // 零偏稳定性,运行中缓慢变化
double acc_bias_sigma = 0.0001; // 零偏稳定性,运行中缓慢变化
double gyro_noise_sigma = 0.025; // rad/s 测量噪声
double acc_noise_sigma = 0.029; // m/(s^2) 测量噪声
matlab绘制结果如下
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)