admin管理员组文章数量:1660205
rpg_trajectory_evaluation工具使用
用于评估的每个轨迹估计(例如,视觉惯性焦距算法的输出)被组织为一个自给文件夹。每个文件夹至少需要包含两个文本文件,指定真实情况,并使用时间戳估计姿势。
stamped_groundtruth.txt
*真值轨迹,有时间戳stamped_traj_estimate.txt
*估计有时间戳的姿势- (任择)
eval_cfg.yaml
*具体规定评价参数 - (任择)
start_end_time.yaml
指定分析的开始和结束时间(以秒为单位)。
真值数据(stamped_groundtruth.txt
)和估计姿势数据(stamped_traj_estimate.txt
)以下列格式指定
# timestamp tx ty tz qx qy qz qw
1.403636580013555527e+09 1.258278699999999979e-02 -1.561510199999999963e-03 -4.015300900000000339e-02 -5.131151899999999988e-02 -8.092916900000000080e-01 8.562779200000000248e-04 5.851609599999999523e-01
......
注意,文件是分隔的,四元数具有w
组件在最后。时间戳以秒为单位,用于建立时间对应关系。
下面有一些脚本scripts/dataset_tools
为了帮助您将数据格式(Euroc样式,ROS包)转换为上述格式。有关详细信息,请参阅下面的相应部分。
目前eval_cfg.yaml
指定两个轨迹对准参数(用于绝对误差):
-
align_type
:
sim3
*相似变换(仅用于视觉单目情况)se3
*刚体转换(只用于视觉立体声)posyaw
:平移加上围绕重力旋转(用于视觉-惯性情况)none
*不要对准轨道
-
align_num_frames
在对准中使用的姿势数(从开始开始)。-1
意味着所有的姿势都会被使用。
如果该文件不存在,则将使用sim3
还有所有的姿势。
开始和结束时间:
start_end_time.yaml
可以指定以下内容(根据实际时间):
start_time_sec
::只有在此之后才会使用姿态进行分析。end_time_sec
*只有在此之前的姿态才能用于分析。
如果该文件不存在,则对stamped_traj_estimate.txt
中所有的姿态进行分析.
运行评估
单一轨迹估计
rosrun rpg_trajectory_evaluation analyze_trajectory_single.py <result_folder>
<result_folder>
应该包含上述的真值轨迹、轨迹估计和可选的评估配置。
输出量:
在<result_folder>
中,输出了两个文件夹saved_results/traj_est和plots。
-
saved_results/traj_est
*包含不同错误统计信息的文本文件
absolute_err_statistics_<align_type>_<align_frames>.yaml
使用指定对齐的绝对错误的统计信息。relative_error_statistics_<len>.yaml
利用<len>
.长度的子轨迹计算相对误差的统计量。cached_rel_err.pickle
由于计算相对误差费时,我们将相对误差缓存在不同的子轨道长度上,以便下次直接使用。
-
plots
绝对误差、相对误差和轨迹图。--recalculate_errors
::将删除上述错误缓存文件并重新计算所有内容。违约:False
.--png
::将地块保存为PNG而不是pdf。默认:False
--mul_trials
*将分析n
跑啊。如属n > 1
,估计文件应以数字后缀结尾(例如,stamped_traj_estimate0.txt
)。默认:None
多轨迹估计
rosrun rpg_trajectory_evaluation analyze_trajectories.py \
euroc_vislam_mono.yaml --output_dir=./results/euroc_vislam_mono --results_dir=./results/euroc_vislam_mono --platform laptop --odometry_error_per_dataset --plot_trajectories --rmse_table --rmse_boxplot --mul_trials=10
参数
配置:
config
配置文件scripts/analyze_trajectories_config
路径:
--results_dir
*文件夹,其中<platform>
文件夹将被找到。违约:results
工具箱文件夹中的文件夹。--output_dir
*所有绘图和文本文件的文件夹。违约:results
工具箱文件夹中的文件夹。--platform
*结果文件夹将在<results_dir>
。违约:laptop
分析备选方案:
--mul_trials
我们要分析多少次试验。违约:None
。如果某些算法-数据集配置的运行次数较少,则只考虑可用的配置。--odometry_error_per_dataset
是否计算每个数据集的相对误差。违约:False
.--overall_odometry_error
::是否计算和比较不同算法在所有数据集上的总体计量误差。违约:False
.--rmse_table
是否生成翻译表RMSE(绝对错误)。违约:False
.--rmse_table_median_only
*默认情况下,--rmse_table
选项保存多次运行的中位数/平均值/分钟/最大值。使用此选项只保存中位数。--rmse_boxplot
*是否为不同数据集的RMSE绘制盒形图(仅适用于分析多项试验的结果)。违约:False
.
--plot_trajectories
*是否绘制轨迹。违约:False
。默认情况下,会生成许多绘图,其中一些可以通过以下选项关闭。--no_plot_side
*不要策划旁见--no_plot_aligned
*不要绘制地面真相与估计之间的直线关系。--no_plot_traj_per_alg
不要为每种算法生成图
MISC:
--recalculate_errors:
是否清除缓存并重新计算所有内容。违约:False
.--png
::将地块保存为PNG而不是pdf。违约:False
--dpi
允许以较高的dpi进行储蓄。违约:300--no_sort_names
*在绘图/写入结果时,不要对数据集和算法的名称进行排序(使用配置文件中的顺序)。默认值:名称将被排序。
本文标签: 工具rpgtrajectoryevaluation
版权声明:本文标题:rpg_trajectory_evaluation工具使用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729851507a1215477.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论