Add description about offline running based on rosbag.

This commit is contained in:
XinfangZhang 2023-07-29 17:09:01 +08:00
parent fd9246f53d
commit 759415dc0e
2 changed files with 35 additions and 1 deletions

View File

@ -97,6 +97,40 @@ sudo make install
1. 所有的`ROS_MASTER_URI`均须与主机的IP保持一致
2. 所有的`ROS_IP`均须与自身的IP保持一致
# 使用ROSBAG进行离线验证
## 准备工作
如果手头没有完善的硬件设备可以使用ROSBAG在本地计算机上运行VINS-Fusion与Ego-planner验证代码编译是否有问题。
如果需要运行VINS-Fusion需要的rosbag中至少要包括以双目相机+IMU的配置为例
- 左目相机的topic用于vins定位在我们的例子中其名称为/camera/infra1/image_rect_raw
- 右目相机的topic用于vins定位在我们的例子中其名称为/camera/infra1/image_rect_raw
- IMU的topic用于vins定位在我们的例子中其名称为/mavros/imu/data或/mavros/imu/data_raw
而如果需要运行Ego-planner需要的rosbag中至少包括
- 里程计的topic用于轨迹规划在我们的例子中其名称为/loop_fusion/odometry_rect
- 深度相机的topic用于建图与避障在我们的例子中其名称为/camera/depth/image_rect_raw
如果同时运行Vins-Fusion与Ego-planner则可以省去里程计的topic因为VINS-Fusion会输出这个topic
- 左目相机的topic用于vins定位在我们的例子中其名称为/camera/infra1/image_rect_raw
- 右目相机的topic用于vins定位在我们的例子中其名称为/camera/infra1/image_rect_raw
- IMU的topic用于vins定位在我们的例子中其名称为/mavros/imu/data或/mavros/imu/data_raw
- 深度相机的topic用于建图与避障在我们的例子中其名称为/camera/depth/image_rect_raw
运行之前需要确保stereo_imu_config_d435f.yaml中标注的各项topic与rosbag中各个topic能对应上。
## 离线运行
首先应保证所有的环境变量已经配置正确可以在每个新开的终端中source相关的setup.bash也可以写入~/.bashrc中
1. 开启一个终端启动roscore
2. 开启一个终端进入blimp-autopilot/shfiles将vins_run.sh中关于启动realsense的语句注释或删去`roslaunch realsense2_camera rs_camera.launch & sleep 6;`,并在这个终端中运行`./vins_run.sh`并等待至终端输出“no previous graph”
3. 开启一个终端播放rosbag`rosbag play rosbag_demo.bag`,这时将可以看到启动`vins_run.sh`的终端中会有新的输出
4. 开启新的终端,可以使用`rostopic echo /loop_fusion/odometry_rect`等指令观察里程计输出,也可以`roslaunch odom_visualization vins_vis.launch`来进行可视化的观察
5. 开启新终端在确保里程计的topic已经发布之后在blimp-autopilot/shfiles中执行`./ego_plan.sh`,等待出现绿色文字提示规划成功且不断刷新,也可以在可视化窗口中观察到规划的轨迹
由于此rosbag本身不是为规划轨迹而录制的因此很难规划出合理的轨迹但可以帮助验证编译是否存在问题。如果有其他rosbag也可以进一步检验定位与规划是否正确。
# 运行VINS

View File

@ -2,7 +2,7 @@
source ../devel/setup.bash
# roslaunch realsense2_camera rs_camera.launch & sleep 6;
roslaunch realsense2_camera rs_camera.launch & sleep 6;
rosrun vins vins_node ../src/vins-fusion/realflight_modules/VINS-Fusion/config/px4/stereo_imu_config_d435f.yaml & sleep 5;
rosrun loop_fusion loop_fusion_node ../src/vins-fusion/realflight_modules/VINS-Fusion/config/px4/stereo_imu_config_d435f.yaml & sleep 1;