Apollo Planning(三)

一、Scenario

我们同样先看下"scenarios"的目录结构:

.
├── bare_intersection
├── common
├── dead_end
├── emergency
├── lane_follow            // 车道线保持
├── narrow_street_u_turn   // 狭窄掉头
├── learning_model
├── park			// 泊车
├── park_and_go
├── stop_sign			// 停止
├── traffic_light		// 红绿灯
├── util
├── yield_sign
├── BUILD
├── scenario.cc
├── scenario.h
├── scenario_manager.cc
├── scenario_manager.h 
├── stage.cc
├── stage.h

Scenario_manager负责管理场景,每个场景分为一个或者多个阶段(stage),每个阶段又由不同的任务(task)组成。

1.1 场景生成及转换

场景管理类"scenario_manager.cc"实现了场景注册、创建、初始化和更新场景的功能。

bool ScenarioManager::Init(const PlanningConfig& planning_config) {
  // 注册场景
  RegisterScenarios();
  default_scenario_type_ = ScenarioConfig::LANE_FOLLOW;
  // 创建场景,默认为lane_follow
  current_scenario_ = CreateScenario(default_scenario_type_);
  return true;
}

// 更新场景
void ScenarioManager::Update(const common::TrajectoryPoint& ego_point,    const Frame& frame) {
  ACHECK(!frame.reference_line_info().empty());
  // 保留当前帧
  Observe(frame);
  // 场景分发
  ScenarioDispatch(frame);
}

// 场景分发
void ScenarioManager::ScenarioDi
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apollo Planning是Baidu Apollo自动驾驶平台中的一个重要模块,主要负责路径规划和决策制定。在进行调试时,需要注意以下几个方面: 首先,需要确保Apollo Planning的代码和相关配置文件正确安装和配置。我们可以通过编译和构建的过程来验证代码的正确性,并检查配置文件中的参数是否正确设置。 其次,在调试过程中,我们需要确保Apollo Planning的输入和输出数据正确。输入数据一般包括来自感知模块的障碍物和车道线信息,以及来自定位模块的车辆位置信息等。我们可以通过输出数据来验证路径规划和决策的正确性,比如检查规划路径的平滑性和安全性,以及决策输出的动作是否合理。 另外,调试过程中可以参考相关的调试工具和可视化界面来帮助我们理解和分析路径规划和决策的过程。这些工具可以帮助我们可视化显示规划路径和决策轨迹,并实时监测和分析数据,以便发现和解决问题。 最后,在调试过程中需注意安全因素。由于Apollo Planning直接涉及到车辆的行驶路径和决策,因此需要进行全面的风险评估和安全验证。在测试过程中,我们应该选择适当的测试环境和测试场景,并遵循安全驾驶的准则,以确保调试过程的安全性。 综上所述,Apollo Planning的调试需要确保代码和配置文件的正确性,验证输入和输出数据的准确性,利用调试工具和可视化界面进行分析,同时注意安全因素。只有在确保功能和安全性的前提下,Apollo Planning才能更好地实现自动驾驶的路径规划和决策制定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值