Notes d'expérience SLAM

Expériences SLAM

Jeu de données TUM

Lien du site officiel de l'ensemble de données TUM

Associate.py utilise

Instructions

python2 associate.py rgb.txt depth.txt > associate.txt

Remarque : Le script officiel fourni ici est python2

évolution

Méthode de calcul de evo_ape et evo_rpe

Avant l'introduction, marquons d'abord la formule de définition :
Algorithme pose estimée : P 1 . . . . . . P n ∈ SE ( 3 ) P_1......P_n\in SE(3)P1...... PnSE ( 3 )
pose réelle :Q 1 . . . . . . Q n ∈ SE ( 3 ) Q_1......Q_n\in SE(3)Q1...... QnL'indice SE ( 3 )
représente le tempsttt (ou image), nous supposons ici que la pose estimée et la pose réelle sont alignées dans le temps pour chaque image, et que le nombre total d'images est le même. △ \triangle représente l'intervalle de temps d'intervalle.

Installer

Il est recommandé de se référer au site officiel

erreur un

evo_traj tum data.tum -pL'erreur suivante est signalée pendant le fonctionnement

[ERROR] Unhandled error in evo.main_traj
Traceback (most recent call last):
  File "/home/houyiliang/.local/lib/python3.8/site-packages/evo/entry_points.py", line 99, in launch
    main_module.run(args)
  File "/home/houyiliang/.local/lib/python3.8/site-packages/evo/main_traj.py", line 420, in run
    from evo.tools import plot
  File "/home/houyiliang/.local/lib/python3.8/site-packages/evo/tools/plot.py", line 43, in <module>
    import seaborn as sns
  File "/home/houyiliang/.local/lib/python3.8/site-packages/seaborn/__init__.py", line 2, in <module>
    from .rcmod import *  # noqa: F401,F403
  File "/home/houyiliang/.local/lib/python3.8/site-packages/seaborn/rcmod.py", line 5, in <module>
    from . import palettes
  File "/home/houyiliang/.local/lib/python3.8/site-packages/seaborn/palettes.py", line 9, in <module>
    from .utils import desaturate, get_color_cycle
  File "/home/houyiliang/.local/lib/python3.8/site-packages/seaborn/utils.py", line 11, in <module>
    import pandas as pd
  File "/home/houyiliang/.local/lib/python3.8/site-packages/pandas/__init__.py", line 48, in <module>
    from pandas.core.api import (
  File "/home/houyiliang/.local/lib/python3.8/site-packages/pandas/core/api.py", line 22, in <module>
    from pandas.core.algorithms import (
  File "/home/houyiliang/.local/lib/python3.8/site-packages/pandas/core/algorithms.py", line 40, in <module>
    from pandas.core.dtypes.cast import (
  File "/home/houyiliang/.local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py", line 23, in <module>
    from dateutil.parser import ParserError
ImportError: cannot import name 'ParserError' from 'dateutil.parser' (/usr/lib/python3/dist-packages/dateutil/parser/__init__.py)

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

Vous pouvez voir que l'erreur ici est que ImportError: cannot import name 'ParserError' from 'dateutil.parser'
nous allons installer ce qui manque.

pip install python-dateutil==2.8.2

Vous pouvez afficher le dernier numéro de version de python-dateutil sur le site Web de pypi
. L'installation est réussie et nous continuons à exécuter evo_traj tum data.tum -p, et une nouvelle erreur est apparue

File "/home/houyiliang/.local/lib/python3.8/site-packages/matplotlib/backends/_backend_tk.py", line 8, in <module>
    import tkinter as tk
ModuleNotFoundError: No module named 'tkinter'

Ce qui manque dans les anciennes règles et ce qu'il faut installer

sudo apt-get update
sudo apt-get install python3-tk

Une fois l'installation terminée, exécutez-la à nouveau et signalez une autre erreur

from PIL import Image, ImageTk
ImportError: cannot import name 'ImageTk' from 'PIL' (/usr/lib/python3/dist-packages/PIL/__init__.py)

encore

sudo apt-get install python3-pil python3-pil.imagetk

vous avez terminé

pistes prises en charge

  1. ros —— Paquet de données ROS
    Lorsque le paquet de données contient des rubriques : geometry_msgs/PoseStamped, geometry_msgs/TransformStamped, geometry_msgs/PoseWithCovarianceStamped et nav_msgs/Odometry, vous pouvez utiliser l'outil EVO pour la comparaison de trajectoire.
    Après la v1.9, les rubriques TF prennent également en charge l'évaluation EVO.
  2. euroc——Ensemble de données EuRoC MAV
    L'ensemble de données EuRoC lui-même ne prend pas en charge l'utilisation directe des outils EVO et doit être converti en un ensemble de données de type TUM pour évaluation.
    Les fichiers se terminant par csv dans l'ensemble de données EuRoC stockent les informations de vérité terrain.
    Lorsque vous utilisez l'ensemble de données EuRoC, faites attention au système de coordonnées, à la vérité terrain, à l'IMU et à la caméra qui ont des conventions d'axe différentes.
  3. kitti——Ensemble de données KITTI
    Les données de trajectoire générées par l'ensemble de données KITTI ne contiennent pas d'informations d'horodatage. 12 données de description sont stockées dans le fichier de trajectoire KITTI, qui correspond aux trois premières lignes de la matrice de pose homogène SE(3)
//SE(3)
a b c d
e f g h
i j k l
0 0 0 1
//kitti traj file
a b c d e f g h i j k l
  1. tum - Ensemble de données TUM RGB-D
    avec 8 entrées par ligne contenant l'horodatage (en secondes), la position et l'orientation (quaternion), chaque valeur séparée par des espaces, pas d'espaces à la fin
timestamps x y z q_x q_y q_z q_w

transition entre les pistes

Certains des différents types de trajectoires peuvent être convertis les uns aux autres tandis que d'autres ne le peuvent pas. Le tableau suivant montre la relation de conversion entre les types de trajectoires

–save_as_bag –save_as_kitti –save_as_tum
sac Oui Oui Oui
euroc Oui Oui Oui
minou Non Oui Non
tour Oui Oui Oui
//Example
// export a EuRoC groundtruth file to a TUM trajectory
evo_traj euroc data.csv --save_as_tum
//(will be saved as data.tum)

//export TUM trajectories to KITTI format
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_kitti
//(will be saved as *.kitti)

//export TUM trajectories to ROS bagfile
evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_bag
//(will be saved as <timestamp>.bag with topics traj_1, traj_2 and traj_3)

Guess you like

Origin blog.csdn.net/qq_43200940/article/details/129246762