首页 > 专利 > 杭州电子科技大学信息工程学院 > 智能车、控制系统、控制方法、计算机设备、智能终端专利详情

智能车、控制系统、控制方法、计算机设备、智能终端   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2021-08-10
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-12-21
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2023-01-20
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2041-08-10
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202110912554.9 申请日 2021-08-10
公开/公告号 CN113734194B 公开/公告日 2023-01-20
授权日 2023-01-20 预估到期日 2041-08-10
申请年 2021年 公开/公告年 2023年
缴费截止日
分类号 B60W60/00B60W50/00G06N3/04G06N3/08B60R16/023 主分类号 B60W60/00
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 9
权利要求数量 10 非专利引证数量 0
引用专利数量 6 被引证专利数量 0
非专利引证
引用专利 CN102437903A、CN111123954A、US2019360446A1、CN105938052A、CN105843229A、US2017010619A1 被引证专利
专利权维持 1 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学信息工程学院 当前专利权人 杭州电子科技大学信息工程学院
发明人 曹月花、李辉、岳伟挺、崔凯翔、陈少杰、郭云飞、傅泽杰、廖龙吟、吴怡辉 第一发明人 曹月花
地址 浙江省杭州市临安区青山湖街道杭电路1号 邮编 311305
申请人数量 1 发明人数量 9
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
重庆信必达知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
刘竹
摘要
本发明属于人工智能技术领域,公开了一种智能车、控制系统、控制方法、计算机设备、智能终端,所述智能车控制系统,包括传感器、信息处理、控制算法和执行机构;其中,所述信息处理与控制算法实现由软件完成,系统硬件包括处理器、传感器、驱动电路及执行机构;所述智能车控制方法包括:摄像头拍摄道路图片,EdgeBoard得到图片信息;调用道路巡航模型和任务地标模型得到巡航指令;EdgeBoard通过串口通信发出控制命令,WBOT接收上位机发来的命令并驱动相应的设备。本发明以基于百度飞桨深度学习的智能车模型设计应用作为研究内容,经过设计方案构思、车模结构组装到硬件电路搭建、软件算法编写等过程,最终制作出了一台完整的智能车。
  • 摘要附图
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图1
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图2
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图3
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图4
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图5
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图6
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图7
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图8
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图9
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图10
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图11
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图12
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图13
    智能车、控制系统、控制方法、计算机设备、智能终端
  • 说明书附图:图14
    智能车、控制系统、控制方法、计算机设备、智能终端
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2023-01-20 授权
2 2021-12-21 实质审查的生效 IPC(主分类): B60W 60/00 专利申请号: 202110912554.9 申请日: 2021.08.10
3 2021-12-03 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种智能车的控制方法,其特征在于,所述智能车的控制方法包括以下步骤:
步骤一,摄像头拍摄道路图片,EdgeBoard主处理器得到图片信息;
步骤二,调用道路巡航模型和任务地标模型得到巡航指令;
步骤三,EdgeBoard主处理器通过串口通信发出控制命令,WBOT控制器接收上位机发来的命令并驱动相应的设备;
所述智能车控制方法还包括智能车测试;其中,所述智能车测试,包括:
智能车在巡航的过程中,如果检测到任务地标,智能车会停车并调用侧面摄像头去识别来执行任务;其中,所述任务包括堡垒识别、定点停车、打靶、物料抓取和物料放置;其中定点停车与物料放置任务只需要前侧摄像头识别到相应的任务地标后停车;当第一次识别到任务地标时延时一段时间,若再次识别到,将该任务地标的标志置1,进入停车判断程序;
若智能车上拍到的上一张图片识别到任务地标,而下一张图片没有识别到则判断智能车到达停车位置,停车执行任务;对于需要侧面摄像头识别的堡垒识别、打靶、物料抓取任务,其停车逻辑是当第一次识别到任务地标时延时一段时间,若再次识别到相应的任务地标,这时开启侧面摄像头识别,当侧面摄像头识别到后停车,再执行任务;
(1)数据集采集
车道线数据的采集通过手柄控制,在EdgeBoard主处理器板上运行python3 
collect.py 指令,当Xshell界面为智能车等待采集时,表示智能车进入等待模式,手柄启动智能车,通过摇杆控制智能车前进完成数据的采集;对于侧面摄像头拍摄的数据采集,则是运行python3 take_picture.py指令,将智能车放在每个采集点,使用智能车上的按键来手动拍照采集;
(2)模型预测测试
智能车的数据采集后得到两个模型分别是巡航模型和任务识别模型;使用巡航模型预测得到的是关于车道线弯曲度的信息,使用任务识别模型预测得到的是任务地标和任务的具体信息;通过road_model_test.py中的test_front()函数预测巡航模型,通过road_model_test.py中的test_task_detector()函数预测巡航模型。

2.如权利要求1所述的智能车的控制方法,其特征在于,步骤一中,所述EdgeBoard主处理器支持串口调试和网口调试两种方式,选择通过网口进行调试;EdgeBoard主处理器通过网线接口与路由器相连,配置路由器与EdgeBoard主处理器在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即可实现对EdgeBoard主处理器的控制;运行过程实现(1)获取图片或者视频输入;(2)调用预测模型库加载模型;(3)调用加速模块来加速模型的计算;(4)输出计算结果。

3.如权利要求1所述的智能车的控制方法,其特征在于,所述智能车控制方法,还包括深度学习模型的训练和智能车的控制算法实现;其中,所述深度学习模型的训练,包括智能车道路数据信息的采集、道路数据的预处理、构建深度学习框架对数据集进行训练;所述智能车的控制算法用于训练完成的模型调用、获取摄像头拍摄的数据、EdgeBoard主处理器对拍摄到的道路信息和任务信息的处理、EdgeBoard主处理器与 WBOT控制器下位机的通信、WBOT控制器命令的接收以及控制指令的发送。

4.如权利要求1所述的智能车的控制方法,其特征在于,所述智能车的控制逻辑,包括:
前侧摄像头检测道路信息和任务地标,当没有检测到任务地标的时候智能车执行正常的巡航,检测到任务地标后智能车停车,判断任务名称,侧面摄像头开启,识别目标;当侧面摄像头检测到相应的任务目标后,执行抓取、打靶和放置在内的相应的任务动作。

5.一种基于权利要求1 4任意一项所述智能车的控制方法的智能车,其特征在于,所述~
智能车以EdgeBoard主处理器和WBOT控制器为核心,所述EdgeBoard主处理器用于处理数据,所述WBOT控制器用于控制各种设备,所述EdgeBoard主处理器和WBOT控制器通过串口通信完成数据的发送和接收;硬件电路以EdgeBoard主处理器为主处理器、以WBOT控制器为控制器,还包括2个编码电机驱动板、2个CMOS高分辨率摄像头、6个编码电机、2个智能舵机、1个数字舵机、超声波传感器、磁敏限位开关以及7.4V锂电池;
电脑与EdgeBoard主处理器通过USB线相连接,EdgeBoard主处理器通过网线接口与路由器相连,配置路由器与EdgeBoard主处理器在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即实现对EdgeBoard主处理器的控制;
WBOT控制器通过串口通信与主控制器之间进行数据的交换,负责接收主控制器发来的指令并转换为相应的控制信号去驱动设备,并且传递设备的反馈信号给主控制器。

6.如权利要求5所述的智能车,其特征在于,所述智能车的车架为铝合金材质,采用高强度2mm和3mm铝板冲压成型的结构件,并且经过CNC精密加工,阳极氧化着色;车前轮使用2个轮胎,车后轮使用两个全向轮。

7.一种智能车控制系统,其特征在于,所述智能车控制系统执行权利要求1 4任意一项~
所述智能车的控制方法。

8.如权利要求7所述的智能车控制系统,其特征在于,所述控制系统,包括传感器、信息处理、控制算法和执行机构;其中,所述信息处理与控制算法实现由软件完成,系统硬件包括处理器、传感器、驱动电路及执行机构;传感器与WBOT控制器连接,WBOT控制器与舵机、EdgeBoard主处理器和电机驱动板连接,EdgeBoard主处理器与摄像头连接,电机驱动板与闭环电机连接。

9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1 4~
任意一项所述智能车的控制方法。

10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求
7所述智能车控制系统。
说明书

技术领域

[0001] 本发明属于人工智能技术领域,尤其涉及一种智能车、控制系统、控制方法、计算机设备、智能终端。

背景技术

[0002] 目前,随着科技的不断更新与发展,人工智能技术掀起了新的浪潮,在各个领域得到了广泛的应用。汽车作为一个集成了多种智能化技术的综合体,从其问世以来的100多年时间中,改变了人们的出行方式,给交通带来了极大的便利。在科技发展的浪潮下,人们将人工智能与汽车结合在一起发展自动驾驶技术。通过相机、超声等传感器观察和感知周围环境,应用图像处理、模式识别、神经网络等技术进行决策,自行规划行车路线,控制车辆到达预定的位置,从而实现自动驾驶的任务。智能车中最重要部分是自动循迹导航,随着对这一领域的深入探索,智能车的发展技术也会越来越成熟,这将可以有效的解决交通领域的相关问题。智能控制技术的普及和深入应用,使得智慧交通的发展日趋成熟。同构将智能车与智慧交通技术相互结合可以合理地分配道路交通资源,提高交通出行的安全性,改善交通。但现有智能车在稳定性以及任务完成度方面无法与速度兼顾,且逻辑部分复杂,降低了程序的可读性,同时运行效率也较低。因此,亟需一种新的智能车、控制系统、控制方法、计算机设备、智能终端。
[0003] 通过上述分析,现有技术存在的问题及缺陷为:现有智能车在稳定性以及任务完成度方面无法与速度兼顾,且逻辑部分复杂,降低了程序的可读性,同时运行效率也较低。
[0004] 解决以上问题及缺陷的难度为:在调试智能车的过程中遇到的这些问题比较复杂,有些是硬件自身存在问题,有的是程序不够完善,但是这些问题经过多次设计方案的修改最终也得到解决。
[0005] 解决以上问题及缺陷的意义为:改进后本智能车可以在设定的赛道上准确的、快速、稳定的实现自主寻迹、定点停车、物料搬运、任务识别等功能,相比较于传统的智能车,本智能车寻迹效率快,识别率准确,对车道限制少,具有较强的鲁棒性和抗干扰能力,可以应用到智能交通系统中。

发明内容

[0006] 针对现有技术存在的问题,本发明提供了一种智能车、控制系统、控制方法、计算机设备、智能终端,尤其涉及一种基于EdgeBoard的智能车、控制系统、控制方法、计算机设备、智能终端。
[0007] 本发明是这样实现的,一种智能车,所述智能车以EgdeBoard和WBOT为核心,所述EgdeBoard用于处理数据,所述WBOT用于控制各种设备,所述EgdeBoard和WBOT通过串口通信完成数据的发送和接收;硬件电路以EdgeBoard为主处理器、以WBOT为控制器,还包括2个编码电机驱动板、2个CMOS高分辨率摄像头、6个编码电机、2个智能舵机、1个数字舵机、超声波传感器、磁敏限位开关以及7.4V锂电池。
[0008] EdgeBoard支持串口调试和网口调试两种方式。使用串口调试时,只需要电脑与EdgeBoard通过USB线相连接比较方便,但是串口调试会使电脑打印出冗余的信息,影响调试的效率,因此一般选择通过网口进行调试。具体方法是EdgeBoard通过网线接口与路由器相连,配置路由器与EdgeBoard在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即可实现对EdgeBoard的控制。
[0009] 在本智能车中,WBOT控制器作为下位机直接控制编码电机、舵机、传感器等设备。它通过串口通信与主控制器之间进行数据的交换,负责接收主控制器发来的指令并转换为相应的控制信号去驱动设备,并且传递设备的反馈信号给主控制器。WBOT控制器是主控制器与设备之间沟通的媒介,建立起了主控制器与设备之间的信息传递“桥梁”。
[0010] 进一步,所述智能车的车架为铝合金材质,采用高强度2mm和3mm铝板冲压成型的结构件,并且经过CNC精密加工,阳极氧化着色;车前轮使用2个6018轮胎,车后轮使用两个全向轮。
[0011] 本发明的另一目的在于提供一种应用所述智能车的控制系统,所述智能车控制系统,包括传感器、信息处理、控制算法和执行机构;其中,所述信息处理与控制算法实现由软件完成,系统硬件包括处理器、传感器、驱动电路及执行机构;传感器与WBOT连接,WBOT与舵机、EdgeBoard和电机驱动板连接,EdgeBoard与摄像头连接,电机驱动板与闭环电机连接。
[0012] 智能车系统的控制过程为摄像头拍摄道路图片、EdgeBoard得到图片信息、调用道路巡航模型和任务地标模型得到巡航指令、EdgeBoard通过串口通信发出控制命令、WBOT接收上位机发来的命令并驱动相应的设备。
[0013] 本发明的另一目的在于提供一种应用所述智能车的控制方法,所述智能车控制方法包括以下步骤:
[0014] 步骤一,摄像头拍摄道路图片,EdgeBoard得到图片信息;
[0015] 步骤二,调用道路巡航模型和任务地标模型得到巡航指令;
[0016] 步骤三,EdgeBoard通过串口通信发出控制命令,WBOT接收上位机发来的命令并驱动相应的设备。
[0017] 进一步,步骤一中,所述EdgeBoard支持串口调试和网口调试两种方式,选择通过网口进行调试;EdgeBoard通过网线接口与路由器相连,配置路由器与EdgeBoard在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即可实现对EdgeBoard的控制;运行过程实现(1)获取图片或者视频输入;(2)调用预测模型库加载模型;(3)调用加速模块来加速模型的计算;(4)输出计算结果。
[0018] 进一步,所述智能车控制方法,还包括深度学习模型的训练和智能车的控制算法实现;其中,所述深度学习模型的训练,包括智能车道路数据信息的采集、道路数据的预处理、构建深度学习框架对数据集进行训练;所述智能车的控制算法用于训练完成的模型调用、获取摄像头拍摄的数据、EdgeBoard对拍摄到的道路信息和任务信息的处理、EdgeBoard主处理器与WBOT下位机的通信、WBOT命令的接收以及控制指令的发送。
[0019] 进一步,所述智能车控制整个控制逻辑,包括:
[0020] 前侧摄像头检测道路信息和任务地标,当没有检测到任务地标的时候智能车执行正常的巡航,检测到任务地标后智能车停车,判断任务名称,侧面摄像头开启,识别目标;当侧面摄像头检测到相应的任务目标后,执行抓取、打靶和放置在内的相应的任务动作。
[0021] 进一步,所述智能车测试,包括:
[0022] 智能车在巡航的过程中,如果检测到任务地标,智能车会停车并调用侧面摄像头去识别来执行任务;其中,所述任务包括堡垒识别、定点停车、打靶、物料抓取和物料放置;其中定点停车与物料放置任务只需要前侧摄像头识别到相应的任务地标后停车。当第一次识别到任务地标时延时一段时间,若再次识别到,将该任务地标的标志置1,进入停车判断程序。若智能车上拍到的上一张图片识别到任务地标,而下一张图片没有识别到则判断智能车到达停车位置,停车执行任务。对于需要侧面摄像头识别的堡垒识别、打靶、物料抓取任务,其停车逻辑是首先经过“消抖”后两次识别到相应的任务地标,这时开启侧面摄像头识别,当侧面摄像头识别到后停车,再执行任务。
[0023] (1)数据集采集
[0024] 车道线数据的采集通过手柄控制,在EdgeBoard板上运行python3 collect.py指令,当Xshell界面为智能车等待采集时,表示智能车进入等待模式,手柄启动智能车,通过摇杆控制智能车前进完成数据的采集。对于侧面摄像头拍摄的数据采集,则是运行python3 take_picture.py指令,将智能车放在每个采集点,使用智能车上的按键来手动拍照采集。
[0025] (2)模型预测测试
[0026] 智能车的数据采集后得到两个模型分别是巡航模型和任务识别模型。使用巡航模型预测得到的时关于车道线弯曲度的信息,使用任务识别模型预测得到的是任务地标和任务的具体信息。通过road_model_test.py中的test_front()函数预测巡航模型,通过road_model_test.py中的test_task_detector()函数预测巡航模型。
[0027] 本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0028] 摄像头拍摄道路图片,EdgeBoard得到图片信息;调用道路巡航模型和任务地标模型得到巡航指令;EdgeBoard通过串口通信发出控制命令,WBOT接收上位机发来的命令并驱动相应的设备。
[0029] 本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述智能车控制系统。
[0030] 结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的智能车控制系统,以EdgeBoard计算卡为主处理器,板载ATmega2560内核的WBOT控制器为下位机,CMOS高分辨率摄像头为视觉模块,闭环编码电机和智能舵机为动力装置,运用超声波、磁敏等各类传感器,使用CNC铝板搭建车模结构,从而构成一套完整的智能车模型,在设定的赛道上实现自主寻迹、定点停车、物料搬运、任务识别等功能。
[0031] 本发明以基于百度飞桨深度学习的智能车模型设计应用作为研究内容。经过设计方案构思、车模结构组装到硬件电路搭建、软件算法编写等过程,在这其中也遇到了大大小小的问题,但这些问题都被一一解决,并且最终制作出了一台完整的智能车。

实施方案

[0047] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048] 针对现有技术存在的问题,本发明提供了一种智能车、控制系统、控制方法、计算机设备、智能终端,下面结合附图对本发明作详细的描述。
[0049] 如图1所示,本发明实施例提供的智能车控制方法包括以下步骤:
[0050] S101,摄像头拍摄道路图片,EdgeBoard得到图片信息;
[0051] S102,调用道路巡航模型和任务地标模型得到巡航指令;
[0052] S103,EdgeBoard通过串口通信发出控制命令,WBOT接收上位机发来的命令并驱动相应的设备。
[0053] 下面结合具体实施例对本发明的技术方案作进一步描述。
[0054] 1、本智能车在百度AI Studio平台搭建飞桨深度学习框架,完成智能车行驶模型的训练,并且在EgdeBoard上调用该模型。通过安装在车上的摄像头采集道路数据信息,根据训练好的模型,EgdeBoard向WBOT发送指令,下位机接收到指令后给电机、舵机等设备发送控制指令。智能车主要包括两个部分:深度学习模型的训练和智能车的控制算法实现。其中深度学习模型的训练主要有智能车道路数据信息的采集、道路数据的预处理、构建深度学习框架对数据集进行训练。智能车的控制算法主要是训练完成的模型调用、获取摄像头拍摄的数据、EdgeBoard对拍摄到的道路信息和任务信息的处理、EdgeBoard主处理器与WBOT下位机的通信、WBOT命令的接收以及控制指令的发送。
[0055] 2、智能车硬件设计
[0056] 智能车以EgdeBoard和WBOT为核心,前者用来处理数据,后者用来控制各种设备,两者通过串口通信完成数据的发送和接收。硬件电路使用了EdgeBoard为主处理器、WBOT控制器、2个编码电机驱动板、2个CMOS高分辨率摄像头、6个编码电机、2个智能舵机、1个数字舵机、超声波传感器、磁敏限位开关、7.4V锂电池。硬件电路各个模块之间的连接示意图如图2所示。
[0057] 2.1车架结构
[0058] 智能车机械的设计是整个智能车设计中比较重要的一个环节,智能车能实现良好的控制效果离不开合理的机械结构作为基础。智能车道路信息的采集以及过完的稳定性都需要良好的机械性能作为支撑。因此在设计智能车机械结构时要基于智能车预期完成的控制任务,选取合适的材料,并对其机械结构有初步的认识。在此基础上,根据智能车在运行过程中的实际实现效果,对车辆结构进行完善。本智能车的车架为铝合金材质,采用高强度2mm和3mm铝板冲压成型的结构件,并且经过CNC精密加工,阳极氧化着色。因此智能车的机械结构具有良好的稳定性、牢固性以及美观性。车前轮使用2个6018轮胎,车后轮使用两个全向轮。后轮使用的全向轮的目的是为了减小智能车转弯时受到的横向摩擦力,加快转弯速度。
[0059] 2.2智能车控制系统
[0060] 本智能车是一个集成了人工智能、电子、机械、通信等多种技术的控制系统。智能车的控制系统包括传感器、信息处理、控制算法和执行机构。其中信息的处理与控制算法实现由软件完成,而系统硬件包括了处理器、传感器、驱动电路及执行机构。智能车系统的控制过程为摄像头拍摄道路图片、EdgeBoard得到图片信息、调用道路巡航模型和任务地标模型得到巡航指令、EdgeBoard通过串口通信发出控制命令、WBOT接收上位机发来的命令并驱动相应的设备。控制系统的连接图如图3所示。
[0061] 2.3调试方式
[0062] EdgeBoard支持串口调试和网口调试两种方式。使用串口调试时,只需要电脑与EdgeBoard通过USB线相连接比较方便,但是串口调试会使电脑打印出冗余的信息,影响调试的效率,因此一般选择通过网口进行调试。具体方法是EdgeBoard通过网线接口与路由器相连,配置路由器与EdgeBoard在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即可实现对EdgeBoard的控制。运行过程实现(1)获取图片或者视频输入;(2)调用预测模型库加载模型;(3)调用加速模块来加速模型的计算;(4)输出计算结果。
[0063] 3、智能车软件设计
[0064] 3.1智能车的软件部分主要包括道路信息数据采集、道路信息数据标注、神经网络模型训练、智能车巡航及执行任务控制程序。智能车系统的整个软件部分方案设计流程如图4所示。
[0065] 3.2智能车控制整个控制逻辑
[0066] 智能车控制整个控制逻辑是:前侧摄像头检测道路信息和任务地标,当没有检测到任务地标的时候智能车执行正常的巡航,检测到任务地标后智能车停车,判断任务名称,侧面摄像头开启,识别目标。当侧面摄像头检测到相应的任务目标后,执行抓取、打靶、放置等相应的任务动作。智能车程序的逻辑如图5所示。
[0067] 4、智能车测试
[0068] 智能车在巡航的过程中,如果检测到任务地标,智能车会停车并调用侧面摄像头去识别来执行任务。具体任务堡垒识别、定点停车、打靶、物料抓取、物料放置。其中定点停车与物料放置任务不需要使用侧面摄像头识别,因此这两个任务的停车逻辑比较简单,只需要前侧摄像头识别到相应的任务地标后停车。由于前置摄像头识别任务地标可能会产生误判,因此在识别任务地标时采用了类似“按键消抖”的方法,即当第一次识别到任务地标时延时一段时间,若再次识别到,将该任务地标的标志置1,进入停车判断程序。若智能车上拍到的上一张图片识别到任务地标,而下一张图片没有识别到则判断智能车到达停车位置了,停车执行任务。对于需要侧面摄像头识别的堡垒识别、打靶、物料抓取任务,其停车逻辑是首先一样需要经过“消抖”后两次识别到相应的任务地标,这时候开启侧面摄像头识别,当侧面摄像头识别到后停车,再去执行任务。
[0069] 4.1数据集采集
[0070] 车道线数据的采集通过手柄控制,在EdgeBoard板上运行python3 collect.py指令,当Xshell界面为智能车等待采集时,表示智能车进入等待模式,手柄启动智能车,通过摇杆控制智能车前进完成数据的采集。对于侧面摄像头拍摄的数据采集,则是运行python3 take_picture.py指令,将智能车放在每个采集点,使用智能车上的按键来手动拍照采集。
[0071] 4.2模型预测测试
[0072] 智能车的数据采集后得到两个模型分别是巡航模型和任务识别模型。使用巡航模型预测得到的时关于车道线弯曲度的信息,使用任务识别模型预测得到的是任务地标和任务的具体信息。通过road_model_test.py中的test_front()函数预测巡航模型,其中巡航模型的预测结果如图6、图7、图8、图9所示。从车道线检测图可以看出,若前置摄像头拍摄到任务地标,则预测到的信息是车道线弯曲度和任务地标名字。
[0073] 通过road_model_test.py中的test_task_detector()函数预测巡航模型,其中巡航模型的预测结果如图10、图11、图12、图13所示。从侧面模型预测图得到,若侧面摄像头拍摄到任务信息,则返回的是对应任务信息的名称。
[0074] 4.3任务实现
[0075] 经过多次的调试,智能车在完成巡航的基础任务上,可以实现打靶、物料放置、堡垒识别、物料抓取等任务,并且任务完成率较高。在对少数几次任务执行失败分析,发现侧面模型的识别率很高,因此任务能否顺利执行取决于智能车在识别到任务地标后的停车位置,特别是物料的抓取和物料的放置,这两个任务对停车位置要求高,智能车出现偏移则会导致机械手无法抓取物料和铲斗无法放置物料。在后续的改善中,要重点解决停车位置问题,尽量减小智能车每次的停车位置的偏差。
[0076] 5、本发明以基于百度飞桨深度学习的智能车模型设计应用作为研究内容。经过设计方案构思、车模结构组装到硬件电路搭建、软件算法编写等过程,在这其中也遇到了大大小小的问题,但这些问题都被一一解决,并且最终制作出了一台完整的智能车。
[0077] 如图14所示,EdgeBoard支持串口调试和网口调试两种方式。使用串口调试时,只需要电脑与EdgeBoard通过USB线相连接比较方便,但是串口调试会使电脑打印出冗余的信息,影响调试的效率,因此一般选择通过网口进行调试。具体方法是EdgeBoard通过网线接口与路由器相连,配置路由器与EdgeBoard在同一个网段,电脑通过无线网络与路由器相连接,由电脑发送Linux指令即可实现对EdgeBoard的控制。
[0078] 在本智能车中,WBOT控制器作为下位机直接控制编码电机、舵机、传感器等设备。它通过串口通信与主控制器之间进行数据的交换,负责接收主控制器发来的指令并转换为相应的控制信号去驱动设备,并且传递设备的反馈信号给主控制器。WBOT控制器是主控制器与设备之间沟通的媒介,建立起了主控制器与设备之间的信息传递“桥梁”。
[0079] 主程序的执行
[0080] 智能车的程序是基于python编写,指令都在Xshell软件上使用Linux指令完成对智能车的操作。运行程序首先要将EdgeBoard连接路由器,并配置在相同网段,将电脑连接上相应路由器,输入ftp://192.168.1.254进入到系统的内存空间中,将程序放进系统的内存中,之后用Xshell软件与EdgeBoard系统相连接。
[0081] Xshell与EdgeBoard系统相连接后,输入cd/home/root/workspace/autostart/src进入到该路径下,然后输入python3 run.py指令运行程序,此时智能车进入等待巡航状态。
[0082] 当巡航启动按键按下时,智能车开始自主移动,并且不断在Xshell上输出当前检测到的智能车偏离度。
[0083] 数据集采集
[0084] 车道线数据的采集通过手柄控制,在EdgeBoard板上运行python3 collect.py指令,当Xshell界面时,表示智能车进入等待模式,手柄启动智能车,通过摇杆控制智能车前进完成数据的采集。对于侧面摄像头拍摄的数据采集,则是运行python3 take_picture.py指令,将智能车放在每个采集点,使用智能车上的按键来手动拍照采集。
[0085] 模型预测测试
[0086] 智能车的数据采集后得到两个模型分别是巡航模型和任务识别模型。使用巡航模型预测得到的时关于车道线弯曲度的信息,使用任务识别模型预测得到的是任务地标和任务的具体信息。通过指令python3 road_model_test.py预测巡航模型,指令python3指令预测任务识别模型。
[0087] 下面结合实验对本发明的技术效果作详细的描述。
[0088] 1、智能舵机响应慢,在对智能舵机控制进行测试的过程中,发现其响应速度慢。运行智能舵机的控制程序,经过一分钟左右才开始转动,而在相同硬件情况下测试普通数字舵机确实正常的。经过查找相关信息,发现该款智能舵机本身上电、断电需要一定的时间,而且由于其通信存在问题会拖慢响应速度,在使用智能舵机的时候要挂起一个空的线程保持通信。由于摄像头的开启也是相当于开启了一个线程,因此在使用智能舵机的时候一直将摄像头打开,最后解决了这个问题。
[0089] 2、采集数据时手柄失控,对智能车的采集车道线数据进行了测试,发现其采集数据的过程中遥控手柄会出现突然失灵的问题,遥控手柄的摇杆无法控制智能车的运动,但是过几秒钟手柄又恢复了正常。这个问题对智能车的数据采集造成了很大的影响,直接影响着智能车的巡航效果。导致采集数据手柄失控的原因EdgeBoard板上的SD卡存储照片速度太慢。针对这个问题,可以通过将照片的存储路径换成存储速度快的固态U盘来解决。
[0090] 3、智能车停车位置存在偏差,智能车的车轮两侧的宽度小于车道线的宽度,因此智能车在巡航的时候会存在偏移车道线一侧的情况,这使得智能车在识别到任务地标停车的时候左右位置存在偏差。因此将智能车的四个轮胎改为麦克纳姆轮,通过装在侧面的超声波测量距离,控制智能车左右平移,使智能车的停车位置准确去执行任务,另外使用麦克纳姆轮,可以方便的执行侧方停车这个任务。
[0091] 4、智能车巡航,智能车的巡航是基于前置摄像头拍摄车道线,对当前智能车偏离度进行预测,然后根据偏离度对电机的速度进行解算,分配速度给四个电机,不断循环来控制智能车自主移动。
[0092] 智能偏离度预测主要通过执行如下代码实现:
[0093] front_image=front_camera.read()#摄像头获取图片
[0094] angle=cruiser.cruise(front_image)#使用巡航模型预测偏离度[0095] 在预测得到智能车偏离度后需要进行速度解算得到速度分配给四个闭环电机。速度解算的思想是首先设置好基准速度定义为velocity,这个速度是作为智能车的直行速度,即当得到的angle为0时,四个电机的速度均设置为基准速度velocity。当angle不为0时,例如angle>0时,右侧闭环电机的速度为velocity*(1‑angle),左侧电机速度为基准速度不变。当angle<0时,左侧闭环电机的速度为velocity*(1+angle),右侧闭环电机速度为基准速度不变。此外还设置了一个偏离度的基准率,当偏离度的绝对值大于这个基准率,表示当前车道弯曲幅度较大,因此将基准速度乘与一个小于1的减速比,减小过弯速率来保证智能车能够稳定过弯。
[0096] 智能车的速度解算部分具体程序如下:
[0097]
[0098] 5、智能车执行任务,智能车在巡航的过程中,如果检测到任务地标,智能车会停车并调用侧面摄像头去识别来执行任务。具体任务内容由本文2.2智能车功能概述中的堡垒识别、定点停车、打靶、物料抓取、物料放置。其中定点停车与物料放置任务不需要使用侧面摄像头识别,因此这两个任务的停车逻辑比较简单,只需要前侧摄像头识别到相应的任务地标后停车。例如物料放置任务的部分程序如下:
[0099]
[0100]
[0101] 由于前置摄像头识别任务地标可能会产生误判,因此在识别任务地标时采用了类似“按键消抖”的方法,即当第一次识别到任务地标时延时一段时间,若再次识别到,将该任务地标的标志置1,进入停车判断程序。若智能车上拍到的上一张图片识别到任务地标,而下一张图片没有识别到则判断智能车到达停车位置了,停车执行任务。
[0102] 对于需要侧面摄像头识别的堡垒识别、打靶、物料抓取任务,其停车逻辑是首先一样需要经过“消抖”后两次识别到相应的任务地标,这时候开启侧面摄像头识别,当侧面摄像头识别到后停车,再去执行任务。例如打靶任务的部分程序如下:
[0103]
[0104] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
[0105] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

附图说明

[0032] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0033] 图1是本发明实施例提供的智能车控制方法流程图。
[0034] 图2是本发明实施例提供的智能车硬件连接图。
[0035] 图3是本发明实施例提供的控制系统连接图。
[0036] 图4是本发明实施例提供的智能车软件设计流程图。
[0037] 图5是本发明实施例提供的程序控制逻辑示意图。
[0038] 图6是本发明实施例提供的车道线检测图一。
[0039] 图7是本发明实施例提供的车道线检测图二。
[0040] 图8是本发明实施例提供的车道线检测图三。
[0041] 图9是本发明实施例提供的车道线检测图四。
[0042] 图10是本发明实施例提供的侧边模型预测图一。
[0043] 图11是本发明实施例提供的侧面模型预测图二。
[0044] 图12是本发明实施例提供的侧边模型预测图三。
[0045] 图13是本发明实施例提供的侧面模型预测图四。
[0046] 图14是本发明实施例提供的智能车的结构示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号