为了验证算法的有效性,需要在一些惯性导航数据集上进行验证。找了一些开源的数据集,要么太复杂,要么描述不清楚.在本文中,我选择使用ROS Gazebo来生成仿真惯性导航数据.供后续算法使用.
三维环境下的数据使用无人机模拟器,见参考1-2.二维环境下的数据使用Turtlebox.下面记录了具体的数据采集过程.
- 运行Turtlebox仿真.
- 运行rosbag record -a, 记录所有topic.
- 运行时间对齐脚本.代码见:generate_data_from_turtlebot.m
Turtlbo仿真数据
一、Turtlebot setup
- 安装一些依赖库
sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy <br>ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch <br>ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino <br>ros-kinetic-rosserial-python ros-kinetic-rosserial-server <br>ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs <br>ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base <br>ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport <br>ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation <br>ros-kinetic-interactive-markers
- 下载turtle的代码并编译
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
$ git clone https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
$ cd ~/catkin_ws
$ catkin_make
source一下该库,设置turtle的模型:
export TURTLEBOT3_MODEL=burger
- 运行该库
roslaunch turtlebot3_gazebo turtlebot3_world.launch
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping(这个可以暂时不运行)
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
Turtlebox坐标系如下:
右手系,东北天坐标系。
二、GPS数据
在gazebo中,使用的是全局坐标作为GPS信息使用。
三、一些特殊场景的数据
1. 直行数据
数据地址:链接: https://pan.baidu.com/s/11q9Lu7P3lsM2dfITFd1EdA 提取码: 35x8
运行代码:惯性导航仿真数据/plot_turtlebotdata.m, 更改数据行:load(’./data/straight’); 链接
- GPS轨迹数据:
- 加速度数据:
机器人从原点开始,逐步加速,然后停止。
2. 后退
数据地址:链接: https://pan.baidu.com/s/1C6MRqNYUpjGAe9nYBcxtfQ 提取码: 98sn
与前进刚好相反。
2. 右转数据
数据地址:链接: https://pan.baidu.com/s/1lJuSJ3Fl3PW6NasOYEqtnQ 提取码: 4n2f
与左转类似。
3. 左转数据
数据地址:链接: https://pan.baidu.com/s/1eY7SaRDvvJwcsJp0_jmt0A 提取码: 4cnu
- GPS轨迹数据:
- 加速度数据:
- 角速度数据:
基于轨迹的仿真数据
参考:简单理解VIO
参考
- http://wiki.ros.org/hector_quadrotor
- http://wiki.ros.org/hector_quadrotor/Tutorials/Quadrotor%20outdoor%20flight%20demo
- https://www.cnblogs.com/zxzmnh/p/11852954.html