apollo pnc_map
时间: 2023-12-17 18:26:14 浏览: 87
Apollo PNC Map是Apollo自动驾驶系统中的一个重要模块,它主要负责将车辆当前状态与地图中的道路信息进行匹配,生成车辆的参考线,为规划和控制模块提供参考。PNC Map的核心功能是根据车辆当前位置生成短期通道,即一段参考线,以便规划和控制模块进行路径规划和控制。在Apollo中,PNC Map被封装在ReferenceLineProvider类中,主要接口是GetRouteSegments()。该接口根据车辆当前位置、前向查找距离和后向查找距离,输出一个std::list<RouteSegments>,其中每一个RouteSegments代表一条参考线经过的RouteSegments。
相关问题
root@in_dev_docker:/apollo# bash scripts/msf_create_lossless_map.sh /apollo/hdmap/pcd_apollo/ 50 /apollo/hdmap/ /apollo/bazel-bin WARNING: Logging before InitGoogleLogging() is written to STDERR E0715 22:08:35.399576 6436 lossless_map_creator.cc:162] num_trials = 1 Pcd folders are as follows: /apollo/hdmap/pcd_apollo/ Resolution: 0.125 Dataset: /apollo/hdmap/pcd_apollo Dataset: /apollo/hdmap/pcd_apollo/ Loaded the map configuration from: /apollo/hdmap//lossless_map/config.xml. Saved the map configuration to: /apollo/hdmap//lossless_map/config.xml. Saved the map configuration to: /apollo/hdmap//lossless_map/config.xml. E0715 22:08:35.767315 6436 lossless_map_creator.cc:264] ieout_poses = 1706 Failed to find match for field 'intensity'. Failed to find match for field 'timestamp'. E0715 22:08:35.769896 6436 velodyne_utility.cc:46] Un-organized-point-cloud E0715 22:08:35.781770 6436 lossless_map_creator.cc:275] Loaded 245443D Points at Trial: 0 Frame: 0. F0715 22:08:35.781791 6436 base_map_node_index.cc:101] Check failed: false *** Check failure stack trace: *** scripts/msf_create_lossless_map.sh: line 11: 6436 Aborted (core dumped) $APOLLO_BIN_PREFIX/modules/localization/msf/local_tool/map_creation/lossless_map_creator --use_plane_inliers_only true --pcd_folders $1 --pose_files $2 --map_folder $IN_FOLDER --zone_id $ZONE_ID --coordinate_type UTM --map_resolution_type single root@in_dev_docker:/apollo# bash scripts/msf_create_lossless_map.sh /apollo/hdmap/pcd_apollo/ 50 /apollo/hdmap/
根据提供的信息,执行脚本 `scripts/msf_create_lossless_map.sh` 时出现了错误。具体的错误信息如:
```
E0715 22:08:35.399576 6436 lossless_map_creator.cc:162] num_trials = 1
Pcd folders are as follows:
/apollo/hdmap/pcd_apollo/
Resolution: 0.125
Dataset: /apollo/hdmap/pcd_apollo
Dataset: /apollo/hdmap/pcd_apollo/
Loaded the map configuration from: /apollo/hdmap//lossless_map/config.xml.
Saved the map configuration to: /apollo/hdmap//lossless_map/config.xml.
Saved the map configuration to: /apollo/hdmap//lossless_map/config.xml.
E0715 22:08:35.767315 6436 lossless_map_creator.cc:264] ieout_poses = 1706
Failed to find match for field 'intensity'.
Failed to find match for field 'timestamp'.
E0715 22:08:35.769896 6436 velodyne_utility.cc:46] Un-organized-point-cloud
E0715 22:08:35.781770 6436 lossless_map_creator.cc:275] Loaded 245443D Points at Trial: 0 Frame: 0.
F0715 22:08:35.781791 6436 base_map_node_index.cc:101] Check failed: false
*** Check failure stack trace: ***
scripts/msf_create_lossless_map.sh: line 11: 6436 Aborted (core dumped) $APOLLO_BIN_PREFIX/modules/localization/msf/local_tool/map_creation/lossless_map_creator --use_plane_inliers_only true --pcd_folders $1 --pose_files $2 --map_folder $IN_FOLDER --zone_id $ZONE_ID --coordinate_type UTM --map_resolution_type single
```
这段错误信息表明在执行脚本时发生了一个检查失败的情况。错误的具体位置在 `base_map_node_index.cc:101`。可能的原因包括:
1. 数据不匹配:脚本中使用的数据可能存在不匹配的情况,例如字段名或者数据格式不正确。
2. 数据文件缺失:脚本所需的某些数据文件可能不存在或者路径不正确。
3. 依赖问题:脚本所依赖的某些组件或库可能缺失或者版本不兼容。
请检查脚本 `scripts/msf_create_lossless_map.sh` 中的相关代码,确保数据文件和依赖项的正确性。如果问题仍然存在,您可以提供更多的上下文信息,以便我们能够更好地帮助您解决问题。
root@in_dev_docker:/apollo# cat scripts/msf_create_lossless_map.sh #! /bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "${DIR}/.." source "${DIR}/apollo_base.sh" echo $APOLLO_BIN_PREFIX DIR_NAME=$1 ZONE_ID=$2 IN_FOLDER=$3 function create_lossless_map() { $APOLLO_BIN_PREFIX/modules/localization/msf/local_tool/map_creation/lossless_map_creator \ --use_plane_inliers_only true \ --pcd_folders $1 \ --pose_files $2 \ --map_folder $IN_FOLDER \ --zone_id $ZONE_ID \ --coordinate_type UTM \ --map_resolution_type single } # create_lossless_map "${DIR_NAME}/pcd" "${DIR_NAME}/pcd/corrected_poses.txt" create_lossless_map "${DIR_NAME}" "${DIR_NAME}/corrected_poses.txt" root@in_dev_docker:/apollo#
根据您提供的脚本内容,`scripts/msf_create_lossless_map.sh` 脚本的作用是创建一个无损地图(lossless map)。该脚本接受三个参数:DIR_NAME,ZONE_ID,IN_FOLDER。
脚本的主要部分是 `create_lossless_map` 函数,它调用了 `$APOLLO_BIN_PREFIX/modules/localization/msf/local_tool/map_creation/lossless_map_creator` 可执行文件来创建无损地图。函数的参数是 `--use_plane_inliers_only true`、`--pcd_folders $1`、`--pose_files $2`、`--map_folder $IN_FOLDER`、`--zone_id $ZONE_ID`、`--coordinate_type UTM` 和 `--map_resolution_type single`。
在脚本的末尾,注释掉了一行 `create_lossless_map "${DIR_NAME}/pcd" "${DIR_NAME}/pcd/corrected_poses.txt"` ,而使用了另一行 `create_lossless_map "${DIR_NAME}" "${DIR_NAME}/corrected_poses.txt"` 来调用 `create_lossless_map` 函数。
根据脚本内容来看,它的目的是根据给定的参数来创建无损地图。要执行该脚本,您需要提供正确的参数,并确保相关的可执行文件和文件夹存在于指定的位置。
请注意,我只能提供对脚本内容的解释和理解,并不能保证该脚本在您的环境中能够正常工作。如果您遇到任何错误或问题,请提供更多详细信息以便我们能够更好地帮助您。
阅读全文