Giter VIP home page Giter VIP logo

Comments (10)

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

Thanks for reporting this - but first of all I need more data from your side to help you. Please use the issue template: https://github.com/MichaelGrupp/evo/blob/master/ISSUE_TEMPLATE.md (click on "Raw", copy the part that starts at ### Bug / Error report , paste it here and answer the questions. This is really useful information for me.

In your case, I'm further interested if I can reproduce this error on my machine. So please upload the files you used here, if that's ok for you:

  • trajectory files
  • command for evo_ape that you used to create the results

I have already seen a similar error, but it was only once and I couldn't really reproduce it. Besides that, I wanted to refactor/rewrite parts of evo_res in the near future and for testing that your data could be very useful.

Thanks

from evo.

wangshuailpp avatar wangshuailpp commented on May 19, 2024

Bug / Error report

Description:

Command:

# evo_ape euroc data.csv vins_result.txt -va --plot --save_results results/vins.zip
evo_ape euroc data.csv vins_result_lpp.txt -va --plot --save_results results/lpp.zip
evo_res results/*.zip -p --save_table results/table.csv

Console output:


#
[ERROR]
unhandled error in evo.main_res
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/evo/entry_points.py", line 93, in launch
    main_module.run(args)
  File "/usr/local/lib/python2.7/dist-packages/evo/main_res.py", line 126, in run
    raw_df = pd.concat([raw_df, new_raw_df], axis=1)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/reshape/concat.py", line 213, in concat
    return op.get_result()
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/reshape/concat.py", line 408, in get_result
    copy=self.copy)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 5207, in concatenate_block_managers
    return BlockManager(blocks, axes)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 3033, in __init__
    self._verify_integrity()
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 3244, in _verify_integrity
    construction_error(tot_items, block.shape[1:], self.axes)
  File "/usr/local/lib/python2.7/dist-packages/pandas/core/internals.py", line 4608, in construction_error
    passed, implied))
ValueError: Shape of passed values is (2, 1346), indices imply (2, 1328)

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

Additional files:
Please attach files if you can - for example trajectory files, images...
lpp.zip
vins.zip

Please give also the following information:

  • evo version number shown by evo pkg --version: v0.9.6.2
  • Python version shown by evo pkg --pyversion: python2.7
  • operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04 LST
  • did you change the source code? (yes / no): no
  • output of evo_config show --brief --no_color:
    evo_config.txt.txt
{
    "logfile_enabled": false, 
    "logging_format": "%(message)s", 
    "plot_backend": "TkAgg", 
    "plot_export_format": "pdf", 
    "plot_figsize": [
        6, 
        6
    ], 
    "plot_fontfamily": "sans-serif", 
    "plot_fontsize": 12, 
    "plot_hideref": false, 
    "plot_info_text": false, 
    "plot_invert_xaxis": false, 
    "plot_invert_yaxis": false, 
    "plot_linewidth": 1.5, 
    "plot_multi_cmap": "none", 
    "plot_seaborn_style": "darkgrid", 
    "plot_split": false, 
    "plot_texsystem": "pdflatex", 
    "plot_trajectory_cmap": "jet", 
    "plot_usetex": false, 
    "plot_xyz_realistic": true, 
    "save_traj_in_zip": false, 
    "table_export_format": "csv", 
    "table_export_transpose": true
}

from evo.

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

Ok thank you. Can you please also give me the files "vins_result.txt" and "vins_result_lpp.txt"?
And the version number that you get if you run: evo pkg --version.

Then I will have a look at what could be the problem.

from evo.

wangshuailpp avatar wangshuailpp commented on May 19, 2024

vins_result_lpp.txt
vins_result.txt
thank you for your help! there are two files you want,I have updated the version number of evo .

from evo.

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

Ok, I found the reason for this problem: your trajectories have duplicate timestamps.

This is currently ignored by evo_ape, which means you can also get duplicate timestamps in your result file. In evo_res, duplicate indices will crash the concat function of the Pandas library and this error happens.

From my side, I added the following to fix this in commit fb994bf:

  • evo_res now shows a warning if there are duplicate indices and removes the duplicate values
  • you can check if a trajectory has bad timestamps with evo_traj ... --full_check

Just git pull or run pip install evo --upgrade to get the new release.

But to fix the problem at its root, you should also check the code of your SLAM algorithm: the same timestamp multiple times in a trajectory makes no sense 😉

from evo.

wangshuailpp avatar wangshuailpp commented on May 19, 2024

Thank you very much!After the update I can run with "vins_result_lpp.txt" and "vins_result.txt" successfully.But when I run with others ,I get this problem again .You say that my trajectories have duplicate timestamps,But I can't find them.Could you point out for me? There are files I tested and the dataset I test is V1_01_easy.Thank you!
CameraTrajectory.txt
vins_result.txt
vins_result_ws.txt

from evo.

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

"But when I run with others ,I get this problem again"

What do you mean: Do you get the ValueError again? Or the new warning message? If your trajectories have duplicate timestamps, the warning message is expected behavior.

You can easily print the duplicated timestamps with this Bash command:

cat vins_result.txt | cut -d" " -f 1 | uniq -D

But you have to find out yourself why you have double timestamps.

from evo.

wangshuailpp avatar wangshuailpp commented on May 19, 2024

I mean that I get the ValueError again.Now I found the duplicate timestamps in "vins_result.txt" and erase these timestamps,then successful operation(plot results chat) happens with the waring "data lengths/indices are not consistent, plotting could make no sense". Thank you!

from evo.

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

"data lengths/indices are not consistent, plotting could make no sense"

Don't worry, you can ignore this in most cases. This just means that the timestamps (or indices for KITTI) are not the same for every result. This just means that the "raw" value plot in the first tab could be not 100% correct (you can use the --use_abs_time flag to plot with absolute timestamps instead of relative timestamps). All other plots (histograms etc.) are fine.

I agree that this message is confusing and it is not needed in most of the cases. I'll try to change this soon (issue #10). But right now you can just run evo_res with --use_abs_time and ignore the warning.

from evo.

MichaelGrupp avatar MichaelGrupp commented on May 19, 2024

FYI: the "plotting could make no sense" message was changed in the new version. Also, --use_abs_time was removed because now absolute timestamps are the default.

Run this to upgrade:

sudo -H pip install evo --upgrade

from evo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.