从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(四):ORBSLAM评估工具EVO的使用

简介: 从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(四):ORBSLAM评估工具EVO的使用

1 工具安装

2 数据测试

2.1 KITTI数据集

2.2 EuRoC数据集

2.3 TUM数据集

3 参数使用说明

前文:

从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(一):安装与配置

从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(二):相机测试与标定

从零开始Ubuntu16.04+ORBSLAM2+ROS实验实录(三):使用USB相机运行ORBSLAM


1 工具安装

git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip3 install --editable . --upgrade --no-binary evo

执行下面指令验证安装是否成功:

$ evo_ape -h
usage: evo_ape [-h] {kitti,tum,euroc,bag} ...
Absolute pose error (APE) metric app (c) evo authors
positional arguments:
  {kitti,tum,euroc,bag}
optional arguments:
  -h, --help            show this help message and exit

2 数据测试

2.1 KITTI数据集

cd test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

若测试通过说明EVO配置无误,本文在配置过程中遇到下面问题,特作记录。


错误1:

ImportError cannot import name _imaging from PIL

[ERROR] evo module evo.main_ape crashed - no logfile written (disabled)


解决方法:更新Pillow库,根据matplotlib3.4.2要求,Pillow库版本应大于等于6.2.0,pyparsing版本应大于2.2.1这里对它们进行升级。由于matplotlib同时依赖两个库,因此升级过程遇到


错误1.1:ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts

即依赖冲突。


解决方法:直接卸载当前的pillow和pyparsing,重新安装

pip3 install pillow==6.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pyparsing==2.2.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

更新完毕后问题解决。


错误2:

File “/home/winter/.local/lib/python3.8/site-packages/matplotlib/backends/backend_tkagg.py”, line 1, in

from . import _backend_tk

File “/home/winter/.local/lib/python3.8/site-packages/matplotlib/backends/_backend_tk.py”, line 7, in

import tkinter as tk

ModuleNotFoundError: No module named ‘tkinter’


[ERROR] evo module evo.main_ape crashed - no logfile written (disabled)


解决方法:安装tkinter库

sudo apt install tk-dev 
# 本文使用3.8版本python,因为evo要求Python版本大于3.7
sudo apt-get install python3.8-tk 

983a510b1a6147be821643b20ad87cb9.png

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
8月前
|
算法 数据可视化 机器人
ubuntu16.04下ROS操作系统学习笔记(九)Moveit(上)
ubuntu16.04下ROS操作系统学习笔记(九)Moveit(上)
101 0
|
7月前
|
弹性计算 数据安全/隐私保护 计算机视觉
|
8月前
|
机器学习/深度学习 机器人 决策智能
ubuntu16.04 kinetic 版本ROS安装PR2
ubuntu16.04 kinetic 版本ROS安装PR2
|
8月前
|
机器学习/深度学习 传感器 机器人
ubuntu16.04下ROS操作系统学习笔记(九)Moveit(下)
ubuntu16.04下ROS操作系统学习笔记(九)Moveit(下)
|
8月前
|
机器学习/深度学习 传感器 Ubuntu
ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM(下)
ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM(下)
120 0
|
8月前
|
存储 传感器 编解码
ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM(上)
ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM
106 0
|
8月前
|
机器学习/深度学习 算法 决策智能
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
235 0
|
8月前
|
存储 机器学习/深度学习 编解码
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(上)
171 0
|
算法 机器人 定位技术
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
866 0
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
|
1月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
67 0