Perception安装
Perception 安装百度Apollo自动驾驶仿真平台9.0版本Perception模块相关内容
基于官方教程https://apollo.baidu.com/community/article/1186,根据实际使用增改部分内容。
1 Apollo Perception环境配置1.1 安装基础软件1.1.1 安装Linux - UbuntuUbuntu系统安装完成请更新相关软件:
1sudo apt-get update
1sudo apt-get upgrade
1.1.2 安装 Docker EngineApollo 依赖于 Docker 19.03+。安装 Docker 引擎,您可以根据官方文档进行安装:
1wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.shbash docker_install.sh
1bash docker_install.sh
注:1.1.1和1.1.2步骤安装过无需重复安装。
1.1.3 安装驱动显卡驱动和CUDA版本兼容性,由于nvidia的硬件更新的很快,因此会遇到显卡驱动和CU ...
Planning介绍
Planning 介绍百度Apollo自动驾驶仿真平台9.0版本Planning模块相关内容
概述1 运行流程如下图所示,Planning模块的上游是Localization, Prediction, Routing模块,而下游是Control模块。Routing模块先规划出一条导航线路,然后Planning模块根据这条线路做局部优化,如果Planning模块发现短期规划的线路行不通(比如前面修路,或者错过了路口),会触发Routing模块重新规划线路,因此这两个模块的数据流是双向的。
2 原理Apollo 规划模块功能的实现是基于场景(scenario-based)实现的,针对不同的场景,规划模块通过一系列独立的 任务(task) 组合来完成轨迹的规划。开发者可以根据自己的使用需求,调整支持运行的场景列表,或者场景中支持的任务类型来满足自己的需求。
Apollo 规划架构示意图如上,其中部分重要模块如下:
状态机(Apollo FSM(Finite State Machine)):一个有限状态机,结合导航、环境等信息确定自动驾驶车辆的驾驶场景
规划分发器(Planning Di ...
交汇路口减速慢行
Planning 交汇路口减速慢行百度Apollo自动驾驶仿真平台9.0版本Planning模块相关内容
场景介绍:主车在城市道路行驶时,行驶至交汇路口时需降低速度至5米/秒,并在过后恢复正常速度。通过打开“Junction”显示按钮,得知该路口(下图中蓝色框内区域)为junction的道路类型。
1.新增 traffic rule 插件按下面链接完成https://apollo.baidu.com/community/article/1121
2.代码修改(1)pnc_junction_overlaps改为junction_overlapsmodules/planning/traffic_rules/region_speed_limit/region_speed_limit.cc
12345原: const std::vector<PathOverlap> & pnc_junction_overlaps = reference_line_info-> reference_line ( ) . map_path ( ) . pnc_junctio ...
Perception训练与部署——环境配置
Perception 训练与部署——环境配置百度Apollo自动驾驶仿真平台9.0版本Perception模块相关内容
1. 首先安装nvidia驱动2. 安装MiniConda说明:如果已安装Anaconda则无需再安装Miniconda。
官网:MiniConda安装教程
或者参考我的教程:https://yang-makabaka.github.io/posts/4120ac2f.html
3. 安装PaddlePaddle3.1. 创建并进入 conda 虚拟环境注:每一步都需要在虚拟环境中进行。
1conda create -n paddle_env python=3.8
1source activate paddle_env
3.2. 本地安装cuda和cudnn注:需要在上面创建的环境paddle_env中安装,如果没有进入,执行source activate paddle_env执行下面命令,下图所示版本CUDA Version:12.0,需要注意的是此处显示的是当前驱动支持的cuda最大版本:
1nvidia-smi
3.2.1. 查看conda支持的cuda版本执 ...
Planning车辆故障绕行
Planning 车辆故障绕行百度Apollo自动驾驶仿真平台9.0版本Planning模块相关内容
场景介绍:主车在城市道路行驶时,当遇到前方的故障车辆,为了保证行驶安全应及时减速并绕行,确保与障碍物之间的横向距离至少为1米,并控制绕行速度在5米/秒以内。按照以下四步进行,不可跳过任何一步。
一、DreamView使用步骤(1)在工程文件夹 ”application-pnc” 打开终端
(2)aem start
aem enter
aem bootstrap start
(3)运行成功后,在浏览器地址栏输入 “http://localhost:8888/”
(4)模式选择 Mkz Standard Debug,地图选择Apollo Virutal Map,打开Sim_Control模式,打开PNC Monitor,等待屏幕中间区域出现Mkz车辆模型和地图后即表示成功进入仿真模式。
(5)点击左侧Tab栏Module Controller,启动Planning,Prediction模块。
(6)打开场景 点击左侧Profile栏,选择创建的比赛场景,此时屏幕右上角多出选择场景的一栏, ...
perception 介绍
Perception 介绍百度Apollo自动驾驶仿真平台9.0版本Perception模块相关内容
一、感知模块代码结构
1、Camera代码结构
2、Lidar代码结构
3、Radar代码结构
4、Fusion代码结构
二、Lidar感知1、组成分析
2、函数解析
(1)LidarDetectionComponent::Init()进行Component初始化,通过该函数完成传感器的初始化,配置文件的读取,pipeline的配置文件初始化等操作。
(2)InternalProc()是LidarDetectionComponent中的核心函数,该函数完成了点云数据的结构到LidarFrame数据结构的转换,并且会调用回调函数(具体的处理逻辑)
(3)LidarObstacleDetection::Init()是Detection的初始化函数,该函数会通过Pipeline的配置文件,对各个Stage以及Task去进行一个实例化,并且对Stage的配置文件进行一个初始化的操作。
(4)LidarObstacleDetection::Process()按照pipeline中配置文 ...
Ubuntu安装与使用miniconda3
Ubuntu安装与使用miniconda31. 确保所有系统包都是最新的12sudo apt updatesudo apt upgrade
2.官网下载minicondahttps://docs.conda.io/en/latest/miniconda.html#linux-installers
3.安装miniconda(1)在文件下载目录打开终端,一般是Downloads,输入以下代码开始安装
1sudo sh Miniconda3-py39_23.1.0-1-Linux-x86_64.sh(下载的文件名,根据实际下载的文件名更改)
根据提示按Ehter,和输入yes后,当询问安装到默认目录还是选择其它目录时,推荐输入下列位置代码(一般软件都安装到此)
1/opt/miniconda3
初始化变量选择yes
(2)取消自动进入base环境
1conda config --set auto_activate_base false
(3)手动初始化
安装vim
1sudo apt-get install vim
输入下面代码设置环境变量
1sudo vim /etc/bash.bash ...
OpenCV——7
25像素重映射把像素点P(x,y)重新映射到一个新的位置P’(x’, y’)像素重映射函数cv.remap(src, map1, map2, interpolation[, dst[, borderMode[, borderValue]]] ) ->dst •src表示图像
•map1表示x,y方向映射规则,或者x方向映射
•Map2如果map1表示x,y映射时为空,否则表示y
•表示映射时候的像素插值方法 支持:INTER_NEAREST 、NTER_LINEAR 、NTER_CUBIC
123456789101112131415161718192021222324252627282930313233343536373839#25像素重映射def remap_demo(): image = cv.imread("123.jpg") cv.namedWindow("remap-demo", cv.WINDOW_AUTOSIZE) cv.createTrackbar("rema ...
OpenCV——6
21图像直方图图像直方图函数•calcHist(images, channels, mask,histSize, ranges[,hist[, accumulate]]) ->hist
•images表示图像
•channels表示通道
•mask 默认None
•histSzie表示bin的个数,灰度等级
•ranges表示通道的取值范围
函数返回的直方图数据类型为np.float32
12345678910111213#21图像直方图def image_hist(): image = cv.imread("123.jpg") cv.imshow("input", image) color = ('blue', 'green', 'red') for i,color in enumerate(color): hist = cv.calcHist([image], [i], None, [32], [0,256]) print(h ...
OpenCV——5
17鼠标响应与操作
•回调函数参数: int event, int x, int y, int flags, void **userdata*•Event表示鼠标事件
•(x, y)表示当前鼠标位置
•Flags表示鼠标状态
•Userdata表示回调用户数据,可以为空
1234567891011121314151617181920212223242526272829303132333435363738394041424344b1 = cv.imread("123.jpg")img = np.copy(b1)x1 = -1y1 = -1x2 = -1y2 = -1def mouse_drawing(event, x, y, flags, param): global x1, y1, x2, y2 if event == cv.EVENT_LBUTTONDOWN: x1 = x y1 = y if event == cv.EVENT_MOUSEMOVE: if x1 <0 or y1 <0: ...


