Question-About-Localization(定位相关问题)

Catalogue
  1. 1. 1. Mapping/Localization
    1. 1.1. 1.1. Why does mapping needed in the slam?
    2. 1.2. 1.2. What is the relationship between the grid size of voxel grid filter and accuracy of localization? 体素网格滤波器的网格大小与定位精度之间有什么关系?
    3. 1.3. 1.3. What criteria should be used to determine voxel grid size? 应该使用什么标准来确定体素网格大小?
    4. 1.4. 1.4. What is the difference between ndt_mapping and lazy ndt_mapping?
    5. 1.5. 1.5. I just want to use ndt_mapping or icp_mapping with my own data only, instead of running Autoware everytime, but everytime I try to run ndt_mapping isolated, I get an error. 我想使用我自己的数据来进行ndt_mapping或icp_mapping,而不是运行 Autoware,但每次尝试单独运行ndt_mapping,出现错误
    6. 1.6. 1.6. Can I use my '.pcap' file to run autoware mapping and then save the result? 我可以使用我的.Pcap文件运行autoware来建图,然后保存结果吗?
    7. 1.7. 1.7. My map size is huge. Can I reduce the map size? 我的地图尺寸很大,我可以缩小地图尺寸吗?
    8. 1.8. 1.8. What is the difference between ndt_mapping and approximate_NDT_mapping? Ndt_mapping和近似_Ndt_mapping的区别是什么?
    9. 1.9. 1.9. I followed the instructions in the manual. I pressed the mapping button. It loads all the pcl files but is stuck on this step for a long time. I never get "OK".How do I generate the map? 我按照说明书上的说明做了。 我按下了绘图按钮。 它加载所有的 pcl 文件,但是长时间停留在这个步骤上。 我从来没有得到“ OK”。 如何生成地图?

1. Mapping/Localization

1.1. Why does mapping needed in the slam?

In Autoware, localization(ndt_matching) and mapping(ndt_mapping) are completely separate functions. ndt_mapping is a function that create a map in a unknown environment from scratch so you don't need a map. On the other hand, ndt_matching is a localization function within a map so map is needed as a input of the function.

在 Autoware 中,定位(ndt-matching)和建图(ndt-mapping)是完全分离的函数。 Ndt建图是一个在未知环境中从头创建地图的函数。另一方面,ndt-matching是建图中的一个定位函数。

The reason why we need to match the scan and the existing map is, it is faster and more accurate than matching the current scan and the previous scans. Simultaneously localize and mapping using NDT can not be done in real-time so far. If you want to know about NDT algorithm, please refer to the following paper.

我们使用扫描和现有地图的进行匹配的原因是,它比匹配当前的扫描和以前的扫描更快、更准确。 利用NDT检测技术进行同时定位和映射目前还不能实时完成。 如果你想了解无损检测算法,请参阅以下论文Scan registration for autonomous mining vehicles using 3D‐NDT

1.2. What is the relationship between the grid size of voxel grid filter and accuracy of localization? 体素网格滤波器的网格大小与定位精度之间有什么关系?

Theoretically, larger grid sizes decrease the accuracy of localization.

理论上,较大的网格尺寸会降低定位精度。

1.3. What criteria should be used to determine voxel grid size? 应该使用什么标准来确定体素网格大小?

Computation cost becomes smaller if you use larger voxel grid size. We use 2.0 meter by default because it keeps accuracy of localization and computation finishes in the measurement interval of the scan.

如果使用更大的体素网格大小,计算成本将变得更小。我们默认使用2.0米,因为它保持精确的定位和计算完成在测量间隔的扫描。

1.4. What is the difference between ndt_mapping and lazy ndt_mapping?

lazy_ndt_mapping does not use all points for matching while ndt_mapping uses all the points as reference. lazy_ndt_mapping uses only three previous scans as reference by default. lazy_ndt_mapping is faster than ndt_mapping, but with lower accuracy.

Lazy_ndt_mapping不使用所有点进行匹配,而 ndt_mapping使用所有点作为参考。 Lazy_ndt_mapping默认只使用前三次扫描作为引用。 Lazy_ndt_mappingndt_mapping更快,但精度较低。

1.5. I just want to use ndt_mapping or icp_mapping with my own data only, instead of running Autoware everytime, but everytime I try to run ndt_mapping isolated, I get an error. 我想使用我自己的数据来进行ndt_mappingicp_mapping,而不是运行 Autoware,但每次尝试单独运行ndt_mapping,出现错误

ndt_localizer package depends on runtime_manager package in relation to message generation. Therefore you need to build the all packages in Autoare using ./catkin_make_release in Autoware/ros directory.

Ndt_Localization 包依赖于与消息生成相关的运行时管理器包。 因此,需要构建整个Autoware来生成这些消息。(using ./catkin_make_release in Autoware/ros directory.)

1.6. Can I use my '.pcap' file to run autoware mapping and then save the result? 我可以使用我的.Pcap文件运行autoware来建图,然后保存结果吗?

Yes. First, convert pcap to rosbag. http://answers.ros.org/question/213080/convert-raw-velodyne-vlp16-pcap-to-bagfile/ The rosbag includes the topic, velodyne_packets, so you have to convert the topic from /velodyne_packets to /points_raw using VLP-16 driver in Sensing tab.

是的。 首先,将.pcap转换为rosbag. Http://answers.ros.org/question/213080/convert-raw-velodyne-vlp16-pcap-to-bagfile/ 包 包含了主题 velodyne 数据包,所以你必须使用传感标签中的 VLP-16驱动程序将主题从 velodyne 数据包转换为 / points raw。

1.7. My map size is huge. Can I reduce the map size? 我的地图尺寸很大,我可以缩小地图尺寸吗?

Yes. You can reduce the file size using voxel grid filter. It is in the Map tab.

是的。 您可以使用体素网格过滤器减少文件大小。 它在 Map 选项卡中。

1.8. What is the difference between ndt_mapping and approximate_NDT_mapping? Ndt_mapping近似_Ndt_mapping的区别是什么?

ndt_mapping loads all the pointcloud as map where approximate_ndt_mapping loads a portion of the current map and outputs PCDs only at certain distances. If you are going to create narrow range of map, use ndt_mapping. If you are going to create long distance of map, it is better to use approximate_ndt_mapping. The sample Moriyama map is created in another method called MMS(Mobile Mapping system) which is the product of Aisan Technology.

ndt_mapping将所有的点云作为映射加载,其中approximate_ndt_mapping加载当前地图的一部分,只在特定的距离输出PCDs。 如果要创建小范围的地图,请使用 ndt_mapping。 如果要创建长距离的地图,最好使用approximate_ndt_mapping。 示例 Moriyama 地图是用另一种称为 MMS (移动地图系统)的方法创建的,MMS 是 Aisan 技术的产品。

1.9. I followed the instructions in the manual. I pressed the mapping button. It loads all the pcl files but is stuck on this step for a long time. I never get "OK".How do I generate the map? 我按照说明书上的说明做了。 我按下了绘图按钮。 它加载所有的 pcl 文件,但是长时间停留在这个步骤上。 我从来没有得到“ OK”。 如何生成地图?

This happens when you don't have the rosbag simulation or any have incoming velodyne/nmss data. Once you start simulation it should work.

这种情况发生时,你没有rosbag模拟或任何有传入 velodyne / nmss 数据。 一旦你开始模拟,它应该可以工作。