解题流程
1、打开终端ctrl+Alit+T
2、进入Apollo路径 cd apollo/application-pnc
3、启动Apollo容器 aem start
4、进入Apollo容器 aem enter
5、启动dreamview仿真平台 aem bootstrap start --plus 、打开网址http://localhost:8888
6、在dreamview平台配置模式(PNC/SCENARIOSIM),场景,比图,开启模块(Planning,Prediction),启动仿真。之后将配置文件同步到名为default的profile目录下
buildtool profile config init --package 包名 --profile=default
7、使用default目录的配置参数
aem profile use default
8、根据题目修改配置参数;
在dreamview平台重启planning模块,重新启动仿真,检查结果。
Linux常用命令:
shutdown 关机指令,可以manshutdown来看一下帮助文档。shutdown -h 10 'This server
will shutdownafter10mins'这个命令告诉大家,计算机将在10分钟后关机,并且会显示在
登陆用户的当前屏幕中。
shutdown-h now 立马关机
shutdown-h 20:25 系统会在今天20:25关机
shutdown-h +10 十分钟后关机
shutdown -r now 系统立马重启
shutdown -r +10 系统十分钟后重启
reboot 就是重启,等同于shutdown-rnow
chmod(changemode): 修改用户的权限。
Is (英文全拼:list files):列出目录及文件名
cd (英文全拼:changedirectory):切换目录
pwd (英文全拼:print work directory):显示目前的目录
mkdir (英文全拼:make directory):创建一个新的目录
rmdir (英文全拼:remove directory):删除一个空的目录
cp (英文全拼:copy file):复制文件或目录
rm (英文全拼:remove):删除文件或目录
mv (英文全拼:move file):移动文件与目录,或修改文件与目录的名称你
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是cat的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less与more类似,但是比more更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
df (英文全称:diskfree):列出文件系统的整体磁盘使用量
du (英文全称:diskused):检查磁盘空间使用量
1、apollo常用指令集:
ls 打开目录;
cd /bin/ 对应指令集;
cd /跳到根目录;
cd /apollo/ 跳到apollo目录;
mkdir test 创建新目录;
touch helloworld 创建helloworld文件;
cp helloworld helloworld.back 复制文件或目录;
cp helloworld /apollo_workspace/ 将helloworld复制到apollo_workspace;
ls /apollo_workspace/ 打开apollo_workspace目录;
mv helloworld hello 重新命名helloworld改为hello;
mv hello /apollo_workspace/ 将hello移动到apollo_workspace目录;
cat / 查看文件内容
bash / 参数运行
2、编辑:
cd /apollo_workspace/ 打开apollo_workspace目录
touch test.py 创建 test.py文件
vim test.py 编辑 test.py文件
注:
1、(vim三种模式:命令、输入、底线命令)
2、输入完后操作键盘“i”即可输入代码;
3、加“:”及“q退出编辑”、“wq保存退出”、“q!不保存强制退出”指令;
第二种方式在线编辑
编辑完后文件save保存
拉取源码
拉取planning全量源码
- r13镜像那个版本只能一个个插件拉
- reference_line_info.cc的源码有时候重新拉不会重置
- 插件名字去.aem路径下的源码查找
buildtooll install -m planning
重置planning
rm -rf modules
buildtool reinstall -m planning
拉取routing
buildtool install -m routing
buildtool install routing
// 都试一下
插件分类
scenario,task,traffic_rule,planning-interface-base,planning-base都算插件,只要有cyberfile.xml文件就可以拉取;
planning启动失败原因
- 链接的profile文件夹被删除,可以在profiles下创建一个空的文件夹链接上去解决
- 高精地图没有,下载地图
- 链接的配置参数里格式不对,检查配置参数设置的对不对
可以通过后台启动planning模块看报什么错查看原因
后台启动planning模块命令
mainboard -d /apollo/modules/planning/planning_component/dag/planning.dag
包列表
文件路径 | 说明 |
planning | planning组件包,负责启动planning模块,串联planning运行流程 |
planning-interface-base | 包含planning插件父类接口 |
planning-base | 包含planning模块基础数据结构和算法库 |
planning-open-space | 包含开放空间规划算法 |
planning-planner-lattice | LatticePlanner插件包,适用于高速公路等简单场景 |
planning-planner-navi | Navi Planner插件包,适用于高速公路等简单场景 |
planning-planner-rtk | Rtk Panner插件包,根据事先录制好的轨迹进行循迹行驶 |
planning-planner-public-road | PublicRoad Planner插件包,适用于城市道路的场景 |
planning-lane-follow-map | LaneFollowMap插件包,基于高精地图生成参考线 |
planning-scenario-bare-intersection-unprotected | 无保护路口场景插件包,处理没有交通灯的交叉路口场景 |
planning-scenario-emergency-pull-over | 紧急靠边停车场景插件包,接收紧急停靠的命令并就近靠边停车 |
planning-scenario-emergency-stop | 紧急停车场景插件包,接收紧急停车的命令并在当前车道停车 |
planning-scenario-lane-follow | 沿车道线行驶场景插件包,是默认的行驶场景 |
planning-scenario-park-and-go | 停车后重新行驶场景插件包,在车辆停靠在路边非车道线范围内,重新行驶时时会先进入此场景,将车辆行驶到车道线上 |
planning-scenario-pull-over | 靠边停车场景插件包,在车辆接近终点并且终点靠边停车使能后进入此场景 |
planning-scenario-stop-sign-unprotected | 停车标志场景插件包,在行驶过程中遇到停止标志时进入此场景 |
planning-scenario-traffic-light-protected | 有保护交通灯场景插件包,在路口有保护的交通标志时进入此场景 |
planning-scenario-traffic-light-unprotected-left-turn | 无保护交通灯左转场景插件包,在路口无保护的交通灯左转时进入此场景 |
planning-scenario-traffic-light-unprotected-right-turn | 无保护交通灯右转场景插件包,在路口无保护的交通灯右转时进入此场景 |
planning-scenario-valet-parking | 在停车位停车场景插件包,在导航命令中指定了停车位并且车辆接近停车位时进入此场景 |
planning-scenario-yield-sign | 让行标志场景插件包,在行驶时遇到让行标志时进入此场景 |
planning-task-fallback-path | 备用路径任务插件包,在沿道路行驶时无法规划出合理的路径时,此任务产生备用路径,沿当前车道线行驶并在障碍物前停车 |
planning-task-lane-borrow-path | 借道路径任务插件包,在沿道路行驶时当前车道被占用时生成借道路径 |
planning-task-lane-change-path | 换到路径任务插件包,在沿道路行驶时根据路由线路需要换道时生成换道路径 |
planning-task-lane-follow-path | 沿当前车道任务插件包,在沿道路行驶时正常沿当前车道行驶时生成路径 |
planning-task-open-space-fallback-decider | 开放空间行驶备用轨迹任务插件包,检测开放空间下轨迹是否与障碍物发生碰撞并做出相应策略 |
planning-task-open-space-pre-stop-decider | 开放空间行驶预先停车任务插件包,执行泊车与靠边停车任务时,生成在公共道路上的停车点,车辆停在停车点后,会转入开放空间算法 |
planning-task-open-space-roi-decider | 开放空间行驶可行区域生成任务插件包,在开放空间算法中生成可行驶边界 |
planning-task-open-space-trajectory-partition | 开放空间行驶轨迹分割任务插件包,在开放空间将轨迹按前进后退分割成多段,并调整速度规划 |
planning-task-open-space-trajectory-provider | 开放空间轨迹生成任务插件包,在指定规划边界与目标点位姿的情况下,调用开放空间算法,生成相应轨迹 |
planning-task-path-decider | 路径决策任务插件包,对行驶路径进行决策 |
planning-task-path-reference-decider | 路径合理性决策任务插件包,对推理生成的路径的合理性进行决策,用于后续求解 |
planning-task-path-time-heuristic | 速度规划初解任务插件包,基于动态规划算法,在非凸的ST空间做粗的速度规划 |
planning-task-piecewise-jerk-speed | 线性速度规划优化解任务插件包,基于二次规划在凸ST空间进行速度规划 |
planning-task-piecewise-jerk-speed-nonlinear | 非线性速度规划优化解任务插件包,基于非线性规划在凸ST空间进行速度规划 |
planning-task-pull-over-path | 靠边停车路径生成任务插件包,用于生成靠边停车路径 |
planning-task-reuse-path | 复用路径任务插件包,在没有碰撞的情况下,复用上一帧的路径 |
planning-task-rss-decider | RSS决策器任务插件包,用于判断planning给出的规划是否安全 |
planning-task-rule-based-stop-decider | 停车策略任务插件包,用于产生基于规则的停车策略 |
planning-task-speed-bounds-decider | 速度边界生成任务插件包,用于产生速度规划的ST可行驶区间 |
planning-task-speed-decider | 速度规划决策任务插件包,用于根据规划的粗速度曲线产生对障碍物的纵向决策 |
planning-task-st-bounds-decider | st边界决策器任务插件包,生成st边界 |
planning-traffic-rules-backside-vehicle | 后向车辆规则插件包,生成对后向车辆的速度决策 |
--------------------------------------------------------------------------------------------------------------------------------
《勿吝赞》
佳作处处现,
点赞莫嫌烦。
拇指轻一动,
善意心中传。
此篇博客如对您有帮助,请 “点赞” “评论”“收藏”一键三连 哦!