电脑配置是intel集成显卡,所以我在使用opengl进行可视化的过程中遇到了报错如下:
intel_do_flush_locked failed: Input/output error
因此我在命令行的最前面加上LIBGL_ALWAYS_SOFTWARE=1,成功解决问题,命令如下:
LIBGL_ALWAYS_SOFTWARE=1 rosrun ORB_SLAM3 Mono /data/catkin_ws/src/ORB_SLAM3/Vocabulary/ORBvoc.txt /data/catkin_ws/src/ORB_SLAM3/Examples/Monocular/EuRoC.yaml
注意我下面这句命令中用的是MH01.bag,各位看官在自己调试的时候需要改成自己的bag名称,并且注意需要在bag文件所在的目录下打开终端输入
rosbag play MH01.bag /cam0/image_raw:=/camera/image_raw
由于是docker,想要同时打开多个docker的终端,所以单独用docker attach XXXX这条路是行不通的,需要使用(reference:进入容器 | Docker — 从入门到实践)
sudo docker exec -it XXXX bash
其中XXXX代表了容器docker的编号,用docker ps -a打印出来所有docker镜像,查看你需要的那一个docker镜像的编号(CONTAINER ID)