在cartographer上调试自己录制的数据(Pandar64 + IMU)

在cartographer上调试自己录制的数据(Pandar64 + IMU),第1张

最近使用一个pandar64线激光(和赛)+IMU在cartographer上建图,总结以下几点,备忘。

1. 准备数据

自己录制的IMU和Pandar64 线Point2数据(一个激光雷达传感器),并且有LiDAR到IMU的外参。

修改数据包时,注意frame_id要与cartorgrapher参数urdf中描述的一致。

IMU数据因为要被用于Robot的位姿估计,所以要注意当前数据与Cartographer中的坐标一致性。

注意激光雷达扫描一周时所生成帧的频率,此处是每旋转一周生成一帧点云数据,当采用npackages模式时,每个UDP包就生成一帧,一个旋转周期可能会上百帧,要注意跟 参数 TRAJECTORY_BUILDER_3D.num_accumulated_range_data 配合使用。

2. 在cargographer中的数据校验

只要没有特别醒目的报错,即可认为没问题。

类似以下这样的报警,可以不必在意,基本不影响建图,

Point data (frame_id: "horizontal_vlp16_link") has a large gap, largest is 0.118117 s, recommended is [0.0005, 0.05] s with no jitter.

3. launch和lua参数配置

按照demo_backpack_3d.launch以及对应的lua和urdf参数进行配置即可,需要注意以下参数

map_frame = "map",

  tracking_frame = "imu_link",

  published_frame = "base_link",

  odom_frame = "odom",

  provide_odom_frame = false,

use_odometry = false,

num_point_clouds = 1,

TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1  #这个参数一定要注意,如果不改成对应的频率,可能会出现点云一直不动,没有轨迹生成的情况

同时也要注意,urdf中 欧拉角给出的顺序,参考backpack_3d.urdf可知,实际顺序为 rpy="pitch roll yaw",而不是想象中的RPY。

4.建好的图

查看邻居表是否建立。建立的话,查看其他区域是否为完全末节区域或NSSA。是的话,肯定没了,这两个区域是隐藏路由信息的。完全末节区域默认是无法学到其他路由的,只能学域内路由和默认路由,NSSA只能学到直连的域间和域内,外部直连,但是无法学到外部转发的。你可以通过在完全末节区域的ABR上构建一条redistribute connect,加入默认路由。在NSSA的ABR上加入一条default-information originate。在环回上加入ip ospf network point-to-point ,效果可以使你在路由表中看到的环回掩码为所填写的,而不是/32


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11945387.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存