定位模块配置

本文档介绍在 林肯MKZ 上适配apollo的定位模块配置。前面已经硬件集成了捷联惯性导航设备PP7,并对PP7设备进行了配置。本文档对apollo定位模块进行相应的配置。

前提条件

apollo定位模块配置之系统文件配置

系统文件配置主要包括两部分,分别为 gnss_conf.pb.txt 文件配置 和localization.conf 文件配置。

文件名称 文件位置 说明
gnss_conf.pb.txt modules/calibration/data/车型目录/gnss_conf/gnss_conf.pb.txt gnss配置文件
localization.conf modules/calibration/data/车型目录/localization_conf/localization.conf 定位模块配置文件

gnss_conf.pb.txt 文件配置

以下为gnss_conf.pb.txt文件内容,只需要将自己的基站信息中的IP地址、端口号、挂载点、用户名和用户密码填写到rtk_from的ntrip对应的项中即可,其他内容无需更改。

注意:若您在 循迹搭建--捷联惯性导航设备PP7配置 中改变了PP7设备的IP地址和端口号,gnss_conf.pb.txt中的 data模块和rtk_to模块的tcp项的address和port值也要做相应的更改。

data {
    format: NOVATEL_BINARY
    tcp {
        address: "192.168.10.4"
        port: 2000
    }
}

rtk_from {
    format: RTCM_V3
    ntrip {
        address: "<IP>"
        port: <PORT>
        mount_point: "<MOUNTPOINT>"
        user: "<USER>"
        password: "<PASSWORD>"
        timeout_s: 5
    }
    push_location: true
}

rtk_to {
    format: NOVATEL_BINARY
    tcp {
        address: "192.168.10.4"
        port: 3000
    }
}

rtk_solution_type: RTK_RECEIVER_SOLUTION
imu_type: G320N
proj4_text: "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"

tf {
    frame_id: "world"
    child_frame_id: "novatel"
    enable: false
}

# If given, the driver will send velocity info into novatel one time per second
wheel_parameters: "SETWHEELPARAMETERS 100 1 1\r\n"

gpsbin_folder: "/apollo/data/gpsbin"

#########################################################################
# notice: only for debug, won't configure device through driver online!!!
#########################################################################
login_commands: "UNLOGALL THISPORT\r\n"
login_commands: "LOG COM2 GPRMC ONTIME 1.0 0.25\r\n"
login_commands: "EVENTOUTCONTROL MARK2 ENABLE POSITIVE 999999990 10\r\n"
login_commands: "EVENTOUTCONTROL MARK1 ENABLE POSITIVE 500000000 500000000\r\n"
login_commands: "LOG GPGGA ONTIME 1.0\r\n"

login_commands: "log bestgnssposb ontime 1\r\n"
login_commands: "log bestgnssvelb ontime 1\r\n"
login_commands: "log bestposb ontime 1\r\n"
login_commands: "log INSPVAXB ontime 0.5\r\n"
login_commands: "log INSPVASB ontime 0.01\r\n"
login_commands: "log CORRIMUDATASB ontime 0.01\r\n"
login_commands: "log RAWIMUSXB onnew 0 0\r\n"
login_commands: "log INSCOVSB ontime 1\r\n"
login_commands: "log mark1pvab onnew\r\n"
login_commands: "log rangecmpb ontime 0.2\r\n"
login_commands: "log rangecmpb_1 ontime 0.2\r\n"

login_commands: "log rangeb ontime 0.2\r\n"
login_commands: "log bdsephemerisb\r\n"
login_commands: "log gpsephemb\r\n"
login_commands: "log gloephemerisb\r\n"
login_commands: "log bdsephemerisb ontime 15\r\n"
login_commands: "log gpsephemb ontime 15\r\n"
login_commands: "log gloephemerisb ontime 15\r\n"

login_commands: "log imutoantoffsetsb once\r\n"
login_commands: "log vehiclebodyrotationb onchanged\r\n"
login_commands: "log headingb onchanged\r\n"

logout_commands: "EVENTOUTCONTROL MARK2 DISABLE\r\n"
logout_commands: "EVENTOUTCONTROL MARK1 DISABLE\r\n"

Localization.conf 文件配置

对 localization.conf 文件的配置,只需要根据自己PP7安装的具体情况更改localization.conf文件中相应项的值即可。

打开localization.conf 文件,找到对应的项,根据自己的实际情况进行对应的修改,具体修改项请参看下表:

注意:如果该配置文件没有进行正确配置,可能会对之后的传感器标定、虚拟车道线制作等功能产生影响。

参数 说明
lidar_height_default 参数值修改为 lidar 中心到地面的距离。单位:m
local_utm_zone_id 需要用户查询所在地区的 utm_zone,并进行修改。例如,北京地区 utm_zone 为 50。utm_zone 的查询可参见 UTM zone。
imu_to_ant_offset_x x 轴方向杆臂值。单位:m,杆臂值测量方法参见 循迹搭建--车辆集成。
imu_to_ant_offset_y y 轴方向杆臂值。单位:m,杆臂值测量方法参见 循迹搭建--车辆集成。
imu_to_ant_offset_z z 轴方向杆臂值。单位:m,杆臂值测量方法参见 循迹搭建--车辆集成。
--enable_lidar_localization=true 修改为 --enable_lidar_localization=false

检查定位模块能否正常启动

将车辆移至室外平坦开阔处,按顺序执行如下操作。

1. 编译项目,启动 Dreamview

进入 docker 环境,用 GPU 编译项目,启动 DreamView。

cd /apollo
bash docker/scripts/dev_start.sh
bash docker/scripts/dev_into.sh
bash apollo.sh build_opt_gpu   
bash scripts/bootstrap.sh

2. 启动定位模块

  1. 在浏览器中打开 (http://localhost:8888)。
  2. 选择模式为 Mkz Standard Debug,并根据实际情况选择对应的车型。
  3. 在 Module Controller 标签页启动 GPS、Localization 模块。

1.png

3. 检查 GPS 信号

请按照以下步骤检查 GPS 信号:

  1. 新打开一个命令行终端,输入输入并执行命令 bash docker/scripts/dev_into.sh 命令进入apollo docker 环境。
  2. 在新终端中输入并执行命令 cyber_monitor 命令,在列出的channel信息中使用键盘上下方向键,配合翻页键,选中/apollo/sensor/gnss/best_pose channel,按键盘右方向键,进入 /apollo/sensor/gnss/best_posechannel,查看该channel的sol_type字段值是否为NARROW_INT。

    • 若为 NARROW_INT,则表示 GPS 信号良好;
    • 若不为 NARROW_INT,则将车辆移动换个无遮挡的位置再看下,直到出现 NARROW_INT 为止。

    localization_config_check_gps_1 localization_config_check_gps_2

  3. 同样方式进入 (按键盘左方向键为退出此channel) /apollo/sensor/gnss/imu channel,确认 IMU 有数据刷新,若有刷新即表明 GPS 模块配置成功。

4. 检查定位信号

同样使用 cyber_monotor 工具查看,进入 /apollo/localization/pose channel,查看是否有数据刷新,若没有,请等待几分钟,直到有数据刷新,若有数据刷新即表明定位模块配置成功。

localization_config_check_pose_1 localization_config_check_pose_2

常见问题

GPS打开后,发现 best_pose, imu, localization/pose 信号没有收到

运行 bash gps.sh 后,可以 cyber_monitor 中观察以下几个信号。(关于cyber_monitor 更详细使用,参见 [CyberRT_Developer_Tools](Apollo_Doc_CN_6_0/上机使用教程/实时通信框架CyberRT的使用/CyberRT介绍.md "_self"))。

/apollo/sensor/gnss/best_pose
/apollo/sensor/gnss/imu
/apollo/localization/pose

如果 best_pose 和 IMU 没有信号,请检查 GPS 和 IMU 的配置。 如果 best_pose 和 IMU 有信号,但是 localization/pose 没有信号,请等待 2 分钟。如果还是没有信号,请让车开动几分钟。

文档意见反馈

如果您在使用文档的过程中遇到问题,请到我们在【开发者社区】建立的反馈意见收集问答页面 反馈,我们会根据反馈意见对文档进行迭代优化。

车辆控制评测分析云服务的应用惯导设备PP7配置