Apollo 10.0
自动驾驶开放平台
|
external-command-valet-parking
是用来处理转发外部命令apollo::external_command::ValetParkingCommand
的处理模块。它接收通过cyber Service调用的ValetParkingCommand命令,提取其中的泊车信息,转换成planning模块需要的apollo::planning::PlanningCommand
的channel信息并发布给planning模块。
apollo::external_command::ValetParkingCommand
适用于指定地图上的停车位进行泊车的场景。它主要包含以下信息:
ValetParkingCommandProcessor继承自模板类MotionCommandProcessorBase<ValetParkingCommand>,因此它具有父类的以下特性:
在ValetParkingCommandProcessor中,实现了对ValetParkingCommand的转换。主要的处理如下:
apollo::planning::PlanningCommand
的lane_follow_command中。apollo::planning::PlanningCommand
的parking_command中。apollo::planning::ValetParkingCommandProcessor
插件的输入有两个:
1.**执行导航命令**:用户通过cyber Service调用命令,执行点到点沿道路行驶的任务。
service 名 | Request类型 | Response类型 | 描述 |
---|---|---|---|
/apollo/external_command/valet_parking | apollo::external_command::ValetParkingCommand | apollo::external_command::CommandStatus | 泊车命令 |
2.**获取命令状态**:通过cyber Reader监听planning模块发布的命令执行状态。
Channel 名 | 类型 | 描述 |
---|---|---|
/apollo/planning/command_status | apollo::external_command::CommandStatus | 接收planning模块发布的命令执行状态的topic |
插件的输出为命令转换的最终结果(PlanningCommand)和中间结果(RoutingResponse):
Channel 名 | 类型 | 描述 |
---|---|---|
/apollo/planning/command | apollo::planning::PlanningCommand | 具泊车命令转换成的内部命令,发送给planning模块 |
/apollo/routing_response | apollo::routing::RoutingResponse | 在高精地图上沿车道线点对点行驶的外部命令,预处理时生成的routing线路,用于HMI显示时使用 |
文件路径 | 类型/结构 | 说明 |
---|---|---|
modules/external_command/command_processor/valet_parking_command_processor/conf/config.pb.txt | apollo::planning::CommandProcessorConfig | 配置文件,外部命令处理器输入输出的channel或service名称等信息 |
如果使用包管理的方式运行apollo,在包管理的cyber.xml文件中添加对插件的依赖:
所有外部命令的插件都是在external-command-process包中加载运行的,需要支持对ValetParkingCommand外部命令处理时,在配置文件modules/external_command/process_component/conf/config.pb.txt中添加以下配置:
如果您在使用文档的过程中,遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。