Notas do experimento SLAM

experimentos SLAM

Conjunto de dados TUM

Link do site oficial do conjunto de dados TUM

associa.py usa

Instruções

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

Nota: O script oficial fornecido aqui é python2

evo

Método de cálculo de evo_ape e evo_rpe

Antes da introdução, vamos marcar primeiro a fórmula de definição:
Pose estimada do algoritmo: P 1 . . . . . . P n ∈ SE ( 3 ) P_1......P_n\in SE(3)P1...... PnSE ( 3 )
pose real:Q 1 . . . . . . Q n ∈ SE ( 3 ) Q_1......Q_n\em SE(3)Q1...... QnO subscrito SE ( 3 )
representa o tempottt (ou quadro), aqui assumimos que a pose estimada e a pose real são alinhadas no tempo para cada quadro, e o número total de quadros é o mesmo. △ \triângulo representa o intervalo de tempo do intervalo de tempo.

Instalar

Recomenda-se consultar o site oficial

erro um

evo_traj tum data.tum -pO seguinte erro é relatado durante a operação

[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)

Você pode ver que o erro aqui é que ImportError: cannot import name 'ParserError' from 'dateutil.parser'
vamos instalar o que estiver faltando.

pip install python-dateutil==2.8.2

Você pode visualizar o número da versão mais recente do python-dateutil no site da pypi
. A instalação foi bem-sucedida e continuamos a executar evo_traj tum data.tum -p, e um novo erro apareceu

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'

O que falta nas regras antigas e o que instalar

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

Após a conclusão da instalação, execute-a novamente e relate outro erro

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

de novo

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

Você Terminou

faixas suportadas

  1. ros——pacote de dados ROS
    Quando o pacote de dados contém tópicos: geometry_msgs/PoseStamped, geometry_msgs/TransformStamped, geometry_msgs/PoseWithCovarianceStamped e nav_msgs/Odometry, você pode usar a ferramenta EVO para comparação de trajetória.
    Depois da v1.9, os tópicos do TF também oferecem suporte à avaliação EVO.
  2. euroc——Conjunto de dados EuRoC MAV
    O próprio conjunto de dados EuRoC não suporta o uso direto de ferramentas EVO e precisa ser convertido em um conjunto de dados do tipo TUM para avaliação.
    Os arquivos que terminam em csv no conjunto de dados EuRoC armazenam as informações básicas.
    Ao usar o conjunto de dados EuRoC, preste atenção ao sistema de coordenadas, verdade terrestre, IMU e câmera têm diferentes convenções de eixo.
  3. kitti——Conjunto de dados KITTI
    A saída de dados de trajetória pelo conjunto de dados KITTI não contém informações de registro de data e hora. 12 dados de descrição são armazenados no arquivo de trajetória KITTI, que são as três primeiras linhas da matriz de pose homogênea 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 - conjunto de dados TUM RGB-D
    com 8 entradas por linha contendo timestamp (em segundos), posição e orientação (quaternion), cada valor separado por espaços, sem espaços no final
timestamps x y z q_x q_y q_z q_w

transição entre faixas

Alguns dos diferentes tipos de trajetórias podem ser convertidos entre si, enquanto outros não. A tabela a seguir mostra a relação de conversão entre os tipos de trajetória

–save_as_bag –save_as_kitti –save_as_tum
bolsa sim sim sim
euroc sim sim sim
gatinha não sim não
tum sim sim sim
//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)

Acho que você gosta

Origin blog.csdn.net/qq_43200940/article/details/129246762
Recomendado
Clasificación