百度apollo自动驾驶planning代码学习-Apollo\modules\planning\common\LocalView类代码详解

概述

*注: Apollo planning common的LearningBasedData类没有解析,其是实现基于学习的决策,目前学习传统决策代码,暂且略过。

LocalView类是apollo planning模块下modules\planning\common\local_view.h实现

从类名来看,本地视图…?

从代码来看LocalView类主要是实现:

将规划模块的所有输入:预测障碍物/底盘/交通灯/定位/相对地图/人机界面操作/路口场景判断信息,把这些输入全部打包成一个结构体LocalView 类型,这样传参也比较方便。

local_view.h

#pragma once#include #include "modules/canbus/proto/chassis.pb.h"
#include "modules/localization/proto/localization.pb.h"
#include "modules/map/relative_map/proto/navigation.pb.h"
#include "modules/perception/proto/traffic_light_detection.pb.h"
#include "modules/planning/proto/pad_msg.pb.h"
#include "modules/prediction/proto/prediction_obstacle.pb.h"
#include "modules/routing/proto/routing.pb.h"
#include "modules/storytelling/proto/story.pb.h"namespace apollo {
namespace planning {/*** @struct local_view 结构体* @brief LocalView 包含apollo规划模块所需的所有输入数据*/struct LocalView {//预测障碍物,modules\prediction\proto\prediction_obstacle.proto由//proto生成的c++ PredictionObstacles类,里面包括多个障碍物的信息std::shared_ptr<prediction::PredictionObstacles> prediction_obstacles; //底盘反馈信息,modules\canbus\proto\chassis.proto由proto生成的c++ //Chassis类,里面包括驾驶模式/挡位/车速/方向盘转角等信息std::shared_ptr<canbus::Chassis> chassis;//定位信息,同上,也是由.proto文件生成的类//modules\localization\proto\localization.protostd::shared_ptr<localization::LocalizationEstimate> localization_estimate;//交通灯信息,同上,也是由.proto文件生成的类//modules\perception\proto\traffic_light_detection.protostd::shared_ptr<perception::TrafficLightDetection> traffic_light;//路由/导航路径信息(可以理解为全局路径规划),同上,RoutingResponse也是由.proto文//件生成的类 modules\routing\proto\routing.protostd::shared_ptr<routing::RoutingResponse> routing;//相对地图信息,同上,MapMsg类也是由.proto文件生成的类//modules\map\relative_map\proto\navigation.protostd::shared_ptr<relative_map::MapMsg> relative_map;//人机交互信息,超车/跟车/换道/..这些人也可以交互?同上,PadMessage类也是由.proto文//件生成的类//modules\planning\proto\pad_msg.protostd::shared_ptr<PadMessage> pad_msg;//场景判断信息?是否接近路口/人行道/停车标志/交通灯...同上,Stories类也是由.proto文//件生成的类//modules\storytelling\proto\story.protostd::shared_ptr<storytelling::Stories> stories;
};}  // namespace planning
}  // namespace apollo


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部