Comments (10)
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.
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.
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.
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.
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.
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.
"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.
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.
"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.
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)
- Rotations don't match after alignment HOT 2
- [ERROR] matrix is not a valid SO(3) group element HOT 1
- peculiar issue when I used Umeyama's method HOT 3
- RPE values is wrong HOT 3
- error when i plot traj."evo module evo.main_traj crashed - no logfile written (disabled)" HOT 1
- Euroc dataset error HOT 1
- When do I need to perform post-prediction trajectory alignment to get ATE or RPE? HOT 1
- Degenerate covariance rank, Umeyama alignment is not possible HOT 4
- trajectory origin HOT 2
- Rosbags update introduces breaking change HOT 7
- Normalized ATE, RTE, and RRE HOT 1
- Find a longterm fix for rosbags compatibility / use AnyReader by rosbags for better API compatibility
- Extract the data from xyz_view HOT 3
- Distortion occurs when comparing with the true trajectory HOT 2
- Evo crash when using evo_traj on ros bag file HOT 5
- The ape is too large HOT 2
- Converting the dataframe to PoseTrajectory3D HOT 1
- The issue of maintaining consistent coordinate axis ranges HOT 4
- Plot x,y,z error over time HOT 1
- Why are the references different? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from evo.