Apollo自动驾驶虚拟仿真赛笔记[6]-完成自动泊车场景及慢速车场景(未完待续)
作者:互联网
自动泊车(待续)
获取车辆传感器数据
慢速车(待续)
零散碎碎念
planning->task->decider
cyberMonitor可以查看数据
/scenario_manager.cc
SelectValetParkingScenario判断是否进入泊车场景
查看定义,跳转到valet_parking_scenario.cc文件
CheckDistanceToParkingSpot检查到泊车位的距离
stage_type:VALET_PARKING_APPROACHING_PARKING_SPOT接近泊车点
添加一个task:IsTransferable
调用数据
frame.local_view().routing_request().has_parking_info()
protobuf测试
/apollo/cyber/demo_base_proto创建文件夹
新建student.proto
//使用的proto版本
syntax="proto2";
//包
package apollo.cyber.demo_base_proto;//就是这个文件夹的名字
//消息
message Student{
required string name=1;
optional uint64 age=2;//类似c语言的结构体
optional double height=3;
repeated string books=4;
}
同目录下的BUILD文件
load("//tools:python_rules.bzl","py_proto_library")
#load("@rule_cc//cc:defs.bzl","cc_binary","cc_library","cc_test")
#load("//tools/cpplint.bzl","cpplint")
package(default_visibility=["//visibility:public"])
proto_library(
name="student_proto",
srcs=["student.proto"]
)
cc_binary(
name="test_student",
srcs=["test_student.cc"],
deps=[":student_cc"],
)
cc_proto_library(
name="student_cc",
deps=[":student_proto"]
)
py_proto_library(
name="student_py",
deps=[":student_proto"]
)
数据通信
同目录下新建test_student.cc
#include "cyber/demo_base_proto/student.pb.h"//student.pb.h文件会自动生成
int main(int argc,char const *argv[]){
apollo::cyber::demo_base_proto::Student stu;
stu.set_name("zhangsan");
stu.set_age(18);
stu.set_height(1.75);
stu.add_books("yuwen");
stu.add_books("c++");
stu.add_books("python");
//读取数据
std::string name=stu.name();
uint64_t age=stu.age();
double height=stu.height();
std::cout<<name<<"=="<<age<<"=="<<height<<"==";
for(int i=0;i<stu.books_size();i++){
std::cout<<stu.books(i)<<"-";
}
std::cout<<std::endl;
return 0;
}
cd /apollo目录
bazel build cyber/demo_base_proto/... 一定是三个点
最终生成的文件在/apollo/bazel-bin/cyber/demo_base_proto目录
export GLOG_alsologtostderr=1 打印输出到终端
执行文件查看效果
标签:场景,name,proto,cc,cyber,未完待续,stu,自动,student 来源: https://www.cnblogs.com/qsbye/p/16361785.html