git clone https://github.com/ceres-solver/ceres-solver
cd ceres
mkdir build
cd build
cmake ..
make
sudo make install
如果遇到了ceres的安装问题,见前面的博客https://blog.csdn.net/qq_28901541/article/details/89605525
cd ~/catkin_ws/src
git clone https://github.com/gaowenliang/code_utils
cd ~/catkin_ws
catkin_make
这里会报一个路径错误,github的issue里面提供了解决办法
code_utils-master/src/sumpixel_test.cpp:2:24: fatal error: backward.hpp: 没有那个文件或目录 compilation terminated
解决办法:
这个sumpixel_test.hpp 里可以直接换成:
#include "code_utils/backward.hpp"
或者在CMakeLists.txt中加入包含路径:
include_directories( "include/code_utils")
然后重新
catkin_make`
cd ~/catkin_ws/src
git clone https://github.com/gaowenliang/imu_utils
cd ~/catkin_ws
catkin_make
cd ~/catkin_ws/src
git clone https://github.com/HeYijia/vio_data_simulation/tree/ros_version
在vio_data_simulation/src/gener_alldata.cpp中修改生成的imu.bag的文件路径
将bag.open("/home/hyj/all_ros_ws/vio_sim_data_ws/src/data/imu.bag", rosbag::bagmode::Write);中的路径替换成自己的
进行编译
cd ~/catkin_ws
catkin_make
此处可能会提示cv-bridge.h找不到,自己到github去下一个cv-bridge进行安装
环境变量
source ./devel/setup.bash
这儿可能用source devel/setup.bash依然会报找不到功能报的错误,所以加上./
自此生成了一个节点,可以生成一个imu.bag的包
运行
roscore
cd ~/catkin_ws/devel/lib/vio_data_simulation
rosrun vio_data_simulation vio_data_simulation_node
运行完之后生成了imu.bag的包(模拟imu的采集数据)
写一个launch文件imu.launch放在imu_utils/launch文件夹中
内容如下
再运行
rosbag play -r 200 imu.bag
roslaunch imu_utils imu.launch
生成的数据在imu_utils/data文件夹下,总共有16个txt文件
再用matlab去画这些方差图,程序在imu_utils/scripts下
如果ubuntu没装matlab,可以把这程序和txt文件放到windows下的matlab去运行
draw_allan.m的运行后的结果如下,注意改里头的路径和文件名字