环境:apollo 2.5 + ubuntu16.04 + docker
编译
gnss module 代码所在路径/apollo/modules/drivers/gnss
编译方式:ubuntu@in_dev_docker:/apollo$ ./apollo.sh build_gnss
注意事项:
- 编译脚本
apollo.sh里面的build选项并不是编译所有的组件,只是用bazel编译所有bazel的targe
编译出的库文件所在目录也不是在/apollo/bazel-out下面,而是在/home/tmp/ros里面,即gnss module编译没有使用bazel,还是用catkin_make编译的。 - 修改proto文件下面的文件,给apollo新增一款gps设备(司南),新增了
message ComNavSerial {}
{
optional bytes device = 1; // Something like "/dev/ttyXXX".
optional int32 baud_rate = 2 [default = 9600];
// In general, we assumes no parity, 8 data bits, 1 stop bit, no
// handshaking, break detection enabled. If not, add more fields here.
}
就发现在raw_stream.cpp中找不到config::Stream::kComNavSerial 经过多方尝试,最后将名字改成Comnav 后就可以了.应该是protoBuf的语法问题.
运行
运行gnss driver可以通过dreamview里面的modules control ->modules ->gps,如下图

运行时遇到的问题
- apollo.drivers.gnss.config.Config: 13:15: Expected integer, got: x 错误
[libprotobuf ERROR google/protobuf/text_format.cc:287] Error parsing text-format apollo.drivers.gnss.config.Config: 13:15: Expected integer
Apollo GNSS模块调试与配置详解

本文档详细介绍了在Apollo 2.5环境下,针对GNSS模块的编译、运行过程,包括编译注意事项、运行时问题解决、配置文件解析和proto文件修改。在运行时遇到的错误如apollo.drivers.gnss.config.Config: 13:15: Expected integer, got: x,通过手动修改配置文件时间戳得以解决。分析了gnss driver的四个关键节点功能,包括stream_nodelet、parser_nodelet、rtcm_parser_nodelet和tf_broadcaster_nodelet,并提供了数据解析和扩展的方法。"
77776986,1358276,WebLogic连接池异常:频繁查询SELECT 1 FROM DUAL,"['中间件', 'Java EE', 'Web服务器', '数据库连接池', '性能调优']
最低0.47元/天 解锁文章
3760





