1,首先,安装ceres依赖项,见高博14讲116页,然后下载编译安装ceres:
git clone https://github.com/ceres-solver/ceres-solver cd ceres mkdir build cd build cmake .. make sudo make install
2,下载编译
cd ~/catkin_ws/src
git clone https://github.com/gaowenliang/code_utils cd ~/catkin_ws
catkin_make
这里会报错:fatal error: backward.hpp: 没有那个文件或目录
修改办法:
在CMakeLists.txt中加入包含路径:
include_directories( "include/code_utils")
然后继续进行:
catkin_make
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中
修改文件的路径:
bag.open("./imu.bag", rosbag::bagmode::Write);
这里或者是其他的路径,反正可以读写就可以了,下面进入编译:
cd ~/catkin_ws catkin_make
于是生成了一个节点,运行这个节点就生成了一个bag包:
这个bag包就是模拟的IMU采集数据,于是我们使用这个数据,进行下面的实验:生成allen方差计算:
5,将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= "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>
然后,运行:
rosbag play -r 200 imu.bag roslaunch imu_utils my.launch
然后生成的数据在imu_utils/data/下.