实践无人驾驶—简介、软件部署和车辆标定

课程简介

本次课程也来到了比较考研动手能力的阶段了,相较于前面的理论知识学习,接下来三天的学习都是需要实际操作的,对于安装环境配置等很吃力的学生可以多看看多思考思考。

车辆简介

  • Apollo推荐的平台和百度自行研制的小车
  • 循迹:车辆根据设定好的路线进行获取追寻并实际履行的过程。
  • 车辆在循迹时,需要搭建一些计算和控制等硬件,但是不需要摄像头、激光雷达等感知硬件,因为她只是一个简单的追寻过程

下列是对部分模块的简介:

模块 分类
计算单元 诸如人类大脑,负责传感器数据采集、计算处理单元、感知规划、决策控制等,Apollo推荐使用工控机IPC
定位系统 包括GPS、接收机和IMU(惯量测量单元)—它是用来获取当前加速度、航向角等信息,计算求解得到当前车辆姿态信息,还会获得其他信息,精密度能够达到厘米级。
车辆CAN卡 它具备两路独立的腾讯通道,通过工控机的mini接口安装到工控机内部

上面提到了部分模块的介绍,下面讲解一下理解方式:

硬件连接的要点是:


我们在连接线路时要养成良好的连接习惯

  • 连线前要确定好我们设备的额定电压
  • 连线时确保正负极正确
  • 完毕后要仔细检查
  • 检查后再上电测试、

CAN卡的装载工程需要按照说明书的指定步骤进行装载,在此说明很容易误导大家。

将CAN卡安装在工控机后,我们需要安装GPS天线,这时会出现安装两个的情况,一前一后,对准中位线,确保安装在小车的中心位置,使用双面胶加强牢固性。

接着安装OMU单元,安装在显示屏正下方,接着连接GPS电源、连接M2(IMU和GPS接收机集成器,本来是两个设备,被集合到一个设备)。然后将车辆底盘供电线与M2供电线连接。然后将4G路由器连接到工控机和M2上。

最后连接底盘总电源,并将鼠标键盘和工控机连接适配。

强调的是,在操纵百度小车时可能出现突发情况而发生危险,所以我们需要两个人共同操作,一个人使用遥控器随时接管小车,暂停运行。如果操作遥控器的人未意识到,另一个人也可以赶紧拍下小车后轮处的红色急停按钮。

软件部署实操和定位模块配置

本次使用

  • 操作系统:Ubuntu14.04 LTS、Linux4.4内核、Apollo1.5.5内核
  • 驱动软件:GPU 显卡、ESD-CAN卡驱动或者Socket CAN 卡驱动
  • 应用软件:Docker软件、Git软件、Apollo源代码
  • BIOS设置
    ——进入工控机后设置菜单,调节风扇转速,以保持最佳状态
  • 安装软件
    ——顺序:计算机操作系统—驱动软件—应用软件
步骤 操作
安装操作系统 安装Ubuntu(通过U盘启动引导安装),安装Linux4.4内核(通过命令终端进行安装),安装Apollo内核(通过重启工控机并子啊终端进行输入和安装)
安装驱动软件 安装GPU驱动(通过sudo进行安装),ESD-CAN卡驱动(通过厂家介绍说明书安装),Socket-CAN卡驱动(同样利用命令行安装)
应用软件安装 Docker软件安装(官网下载deb安装),Git安装(sudo apt-get install git),拉取Apollo源代码(通过加入终端进行安装),启动并加入Docker容器
  • 定位模块配置

无人车使用RTK(定时动态差分),在空旷且基站距离范围内能够达到厘米级精度。

车辆的杆臂值是指天线的几何中心位置相对于IMU的几何中心在直角坐标系内x,y,z三方向的位置差

将得到的杆臂值配置到GPS接收机M2当中,在配置GPS接收机前,需要先把M2升级口与工控机串口连接,在配置M2时,已经完成了车辆的硬件集成。由于接收机M2与工控机之间的安装位置比较远,而M2升级口线又比较短,建议购买一根串口延长线,一 端连接M2的升级口,另- -端接到工控机COM1 串口。

硬件配置:诸如配置M2步骤修改杆臂值过程很复杂,需要在视频中详细研究和思考,在此不做多余介绍。

  • 实测验证

将车辆连上电源后,操作系统进行运行,步骤如下:

步骤 内容
1 接上电源,开机进入Linux系统启动Apollo
2 启动Docker环境
3 输入密码进入Apollo容器
4 启动bootstrap bash scripts
5 打开浏览器输入localhost:8888进入Dreamivew页面
6 启动定位模块
7 查看每个模块
8 检查定位状态类型
9 将车辆遥控数米,得到localization输出
10 检查定位输出

车辆标定

  • 车辆动力学标定
    ——例如:不同速度的车想要达到相同加速度,油门和刹车的开合度是不同的,所以我们需要知道在各个情况下相应的数据

标定过程如下所示:

  • 进入Docker环境—通过终端输入bash docker/scrips/dev_start.sh拉起Docker
  • 启动模块—模块有canbus、gps、localization和rescore
  • 检查—通过输入命令行检查canbus,再通过输入命令行检查GPS情况,最后输入命令行检查定位。

标定时的内容:

1.在标定时,一定要注意自身安全,防止小车冲撞自己。
2.采集数据:输入x,y,z的值,分别标识油门开合度、车辆目标到达速度和刹车开合度,z一定是负值,否则车辆无法停止。
3.处理标定数据:得到记录数据值后,对该数据进行绘制标定并删除无用数据,拷贝数据段等内容处理。

  • 启动车辆循迹
    ——车辆循迹模块:Canbus、Control、GPS、Localization、Planning、roscore、Dreamview
    ——Apollo录制车辆循迹轨迹文件包括的信息:轨迹定位信息、车速、加速度、曲率、油门踏板、刹车踏板、挡位、方向盘转角
    ——配置文件:Cancard_params、Cnabus文件、gnss_params定位信息配置文件、vehicle_params车辆配置文件。
    ——在vehicle_param.pb.txt整车文件中包括信息如下:1.IMU到车辆四边距离,2.整车长宽高,3.最小转弯半径,4.最大加速度、最大减速度,5.方向盘最大转角、最大转速、最小转速,6.转向传动比,7.车辆轴距、轮胎滚动半径,8.车辆停止时的速度。

配置完上述文件后就可以启动车辆进行循迹

  • 启动并进入Docker
  • 启动Bootstrap
  • 进入浏览器访问DreamView
  • 定位:启动Canbus,打开GPS,打开Localization,获取GPS信息并检查信号好坏。
  • 安全员随时接管小车,以防安全事故发生
  • 首先进行直线循迹:轨迹录制,将小车倒回到起始位置,启动录制脚本,重置循迹脚本并执行,车辆会沿着录制轨迹运行。
  • 可以变换不同的路线,通过遥控器的控制。

本次讲解到此就结束了,本次课程实践性较强,需要仔细阅读并实践。因此我放上本次课程的视频教学资源。

视频在这里(当然本次视频需要499元付费观看)版权原因,希望大家踊跃购买,并抢先进入无人驾驶领域,成为推动无人驾驶技术深入的人才。

全部评论

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
11-15 18:39
已编辑
西安交通大学 Java
全村最靓的仔仔:卧槽,佬啥bg呢,本也是西交么
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务