机器人制作开源方案 | 智能盲道除雪小车

作者:汪荣顺 李明旭 马晓乐 吴泽俊 李以陈

单位:江汉大学

指导老师:张朝刚 张会利

      本文论述了一种新型智能盲道除雪小车的设计与研发。由于目前的除雪设备集中在公路、城市道路、机场路面、高速公路等领域,但对于街道等路况的研究很少。因此,我们针对盲道的除雪工作设计了该作品,为了解决目前市面上缺失的相关方面产品,以及解决相关安全隐患问题。其中包括前端扫雪装置,后置融雪剂撒布滚筒装置以及对盲道特殊路面的自动化循迹避障功能。通过对盲道这一特殊路段的实际试验发现,盲道特殊路面的自动化处置装备能够实现对路面结冰或积雪的及时处置,解决行人安全隐患等问题,融冰除雪处置率可达到 25%以上(按时间以及使用成本计算),且对盲道路面造成的破坏率为0,对环境造成的污染为0,这说明该智能盲道融雪小车在这一特殊路况有着良好的融冰除雪效果且具有更强的针对性,解决了这一路况融冰除雪的问题。

关键词:盲道、除雪、循迹避障、解决安全隐患

1. 引言/概述

1.1 作品简介

      针对2022年国际青年人工智能大赛探索者创新设计项目主题:其他场景的智能机器人应用,以及我们对市场现状进行分析后决定研究该作品。现阶段国内外对于除雪工具的研究领域大部分集中在公路、城市道路、机场路面、高速公路等,而对于城市街道等道路的涉及甚少。在众多特殊路段场景中,我们选择了盲道。这一领域具有很高的特殊性,盲人在视觉障碍的影响下相比于其他人更容易存在这一安全隐患。

      该作品主要分为前端扫雪装置,后置融雪剂撒布装置以及自动循迹避障三个功能模块,主要由探索者套件来拼装车身主体,以及我们自主设计并3D打印制作的其他部件。该作品针对了目前市场上未涉及的领域,符合大赛要求,功能有效可行。

1.2 设计背景及意义

      现阶段出行安全相关方面成为城市居民最为关注的问题之一。其中,冬季积雪结冰情况给城市居民的出行造成了潜在的安全隐患。就北方严寒地区而言,冬季降雪周期长、气温低,昼夜温差大,城市街道积雪清除不及时、不彻底将会形成冰雪街道、冰雪路面、冰雪台阶等,严重影响城市居民出行,特别是城市中的老人和小孩,这对城市居民生活产生较大的影响。目前,针对积雪结冰出行问题,融雪除冰技术的研究也主要集中在公路、城市道路、机场路面、高速公路等领域,而城市街道融雪除冰技术研究较少。现阶段城市街道除雪除冰还是以人工扫雪、除冰为主,辅以少量的机械清雪、运雪,致使除雪除冰工作强度大,除雪除冰不彻底、不及时,因街道积雪、结冰滑倒摔伤事故频发。而对于盲道这一特殊路况领域的研究更少,盲人在视觉方面的障碍导致这类人群相比于老人、小孩更容易发生事故。基于此,我们决定对冬季盲道路况融冰除雪方面的问题进行针对性研究,提出及时、彻底的融雪除冰技术,在这方面解决城市居民冬季降雪后的出行问题。

街道积雪

1.3 设计过程

      ① 设计目标:基于探索者套件设计一款针对盲道融冰除雪问题的智能车。

      ② 主要功能:前端扫雪清障;后置融雪剂撒布;自动循迹避障。

      ③ 机械结构:根据搜集到的资料以及结合实际来自主设计。

      ④ 程序控制:基于该作品设计的功能进行相应的编程控制调试。

      ⑤ 零件组合:根据设计图将探索者套件以及3D打印零件结合拼装起来。

      ⑥ 系统调试:将小车拼装完成后进行程序调试。

      ⑦ 整理总结:在完成作品后对整体流程进行总结分析,完成技术报告。

2. 场景调研

2.1 市场调研

2.1.1 国内外除雪车

      国内的除雪车比起国外进口车在价格上有很大的优势,在实际除雪作业中进行调查后,国内企业生产的底盘,在可靠性、耐久性方面明显不如进口底盘,作业能力优于本土企业生产的产品,但价格较贵,国外的进口除雪车让人望而却步。国内生产的多功能除雪车在价格上有较大优势,同时在功能的多样性上也是吸引用户的一个重要方面。

      国内企业出产的除雪车在我国占大多数,进口除雪车数量极少。除雪车数量尽管多,但是由于耐久性不高,经常出现问题,除雪作业受到影响。进口除雪车寥寥可数,但故障率低,作业能力强。标准除雪车如下图所示:

其他除雪工具手扶式除雪机如下图所示:

铲刷一体除雪机整机如下图所示:

固定式融雪剂撒布机如下图所示:

车载式融雪剂撒布机如下图所示:

拖挂式融雪剂撒布机如下图所示:

2.1.2 国内外除雪技术

① 一种除雪车用高压热风快速融冰烘干装置

      高压热风快速烘干装置采用燃油燃烧器工作产生热量,通过风机将热空气吹至地面,对积雪或冰层进行融化。为了提高融化效果,利用车载压缩机产生的高压气流对融化后的冰雪水激起雾化,水雾与高温气流充分接触,快速气化蒸发,实现融雪融冰后的烘干,如下所示:

② 自带发动机机械驱动方式

      机械驱动方式的动力传输路线是:发动机→联轴器→离合器→胶带或链条传动装置→减速机构→各个运动部件(如下图所示)。这种驱动方式结构紧凑、可靠,传动效率较高,但各个执行机构之间运动相互关联,运动速度也与发动机油门位置相关,无法实现各执行机构独立控制。

③ 自带发动机液压驱动方式

      液压驱动方式的动力传输路线是:发动机→液压泵→输料和撒布机构的液压马达。这种驱动形式结构简单,控制方便,但传动效率较低;发动机功率需求偏大。

④ 融雪剂撒布机液压驱动方式如下图所示:

液压驱动方式

⑤ 除雪车混雪筒驱动系统设计

       除雪车辗雪筒结构如下图所示,其主要是用于安装聚丙烯或者不锈钢钢丝刷盘的棍雪筒芯轴(3)、(5)通过法兰安装于装有轴承的两端支撑架(2)、(6)及中间支撑加(4)上。驱动马达(1)、(7)分别安装于两端的支撑架(2)、(6)上,并通过花键轴驱动棍雪筒芯轴(3)、(5)的转动,从而达到使辗雪筒鲲动清除积雪的作用。

除雪车混雪筒驱动系统

2.2 场地调研

      根据我们对国内外的相关产品及技术分析发现,目前的除雪研究仍存在很多问题需要解决,并且在路况方面,并没有针对街道等地段融冰除雪的相关工具,因此我们设计了一款专门针对盲道的除雪车。

      首先是对盲道的相关调研分析。我们大多数见到的盲道如下所示:

      盲道路面坑洼不平整,且大部分盲道颜色与周边路面不同。专门帮助盲人行走的道路设施。盲道一般由两类砖铺就,一类是条形引导砖,引导盲人放心前行,称为行进盲道;一类是带有圆点的提示砖,提示盲人前面有障碍,该转弯了,称为提示盲道。

2.3 比赛场地设置

      根据比赛规则,我们需要在 1.2m*1.2m 的场地内模拟出我们需要的环境。我们决定采用黑线来模拟盲道,如下图所示,与地板颜色的区别是首要方面,将黑线的宽度调节到与盲道大致相同,并且能够满足比赛场地要求。

我们所选用的融雪剂为食用盐,如下图所示:

在模拟积雪方面,为了更加贴切实际,我们使用了市面上可以买到的人造雪粉仿真雪花,如下图所示:

        以上条件及道具能够满足我们模拟盲道积雪路面的环境,并且符合比赛要求,我们在这个场地中进行了调试以及相关比赛视频录制。

3. 功能设计

3.1 功能设计思路

      该作品整体结构主要由车身、前端毛刷、后置撒布装置以及相关传感器等构成。其中,车身采用探索者套件拼装而成,前端毛刷齿轮、刷盘以及后置撒布装置及料斗由3D打印制作而成。前端毛刷将表层积雪清扫到两侧,并扫开部分杂物,达到除雪清障效果。后置滚轴装置将盐巴碾碎便于落下,用于除去较实积雪以及冰层,防止盐巴结块以及控制流速作用。下方阀门开合使融雪剂顺利落下。自动循迹避障,自主检测前方道路,对盲道进行循迹。

3.2 机械结构设计

3.2.1 车身设计

      车身主要由探索者套件拼装而成,考虑到该作品的行进路况比较特殊,在雨雪天气采用普通轮胎容易打滑,或者是被过厚积雪影响车轮转动,所以在设计时我们采用了履带式轮胎,能够很好地解决这一问题。

3.2.2 扫雪清障单元

      在设计前端清障装置时,根据我们收集到的资料显示,目前市面上采用的清障装置有推铲式或毛刷式。推铲式大部分是将积雪向前推,除雪宽度大,效率高。但由于盲道路面问题,使用这种结构容易经常与地面摩擦,造成损伤,减少使用寿命。因此我们采用毛刷式结构,且毛刷类似于扫地车式。该装置能够将路面表层覆盖的松动的积雪清扫到两侧,拥有同样的除雪宽度同时,能够对路面的简单杂物等进行一定的清理作用。

        我们使用两个齿轮通过电机来模拟毛刷。其中一个齿轮连接电机,另一个齿轮采取空套机构,由另一个齿轮带动旋转。

3.2.3 融雪剂撒布单元

      对于后置除雪剂撒布装置,我们设计了几种方案,其中包括利用振动筛、滚轴等。其中关于振动筛装置,由于雨雪天气的温度以及其他多种因素,如果作为除雪剂的盐巴结块,根据我们的实验,振动筛不一定能够将结块的盐巴粉碎并让其顺利落下,对该除雪车的除雪工作造成影响。因此我们设计了滚轴装置,该装置在电源启动后滚轴开始运作,两个滚轴反方向向内旋转,通过控制两只滚轴的轴心距来调节滚轴距离,控制盐巴碾碎程度,能够避免因各种因素导致盐巴结块的问题,并且能够在一定程度上控制除雪剂流速。在滚轴装置下方装有阀门开合装置,当电源启动后开合装置打开将其倾洒出去。

3.2.4 总体效果图

​3.3 控制程序设计

3.3.1 主要功能

      该作品是基于 Arduino 进行编程控制,由探索者套件以及我们自主设计并3D打印零件所组装而成。

      其中车身是该作品的基础,由探索者套件拼装而成。车轮采用履带式。

      超声波传感器为小车提供了避障功能,在检测到前方由障碍物时停止运动并且发出蜂鸣器警报。在行走的同时检测周围环境,并作出相应的判断指令及动作,防止机器人撞到障碍物、发出警报。

      灰度传感器根据检测路面黑线模拟盲道,达到循迹功能。

      后置料斗中,滚轴能有效放置融雪剂结块,并达到控制流速的作用,在电源开关启动后,滚轴开始转动,料斗下方撒盐装置阀门打开,进行融雪剂的抛洒工作。

      前端毛刷,在电源打开后开始转动工作,将道路前方积雪清扫至两侧,并达到一定的清障效果。

3.3.2 功能模块

      ① 自动循迹模块:本作品采用黑线模拟盲道,使用灰度传感器进行自动循迹功能。

      ② 避障报警模块:本作品使用超声波传感器,对前方道路进行检测。当检测到前方 20cm(由于比赛场地受限,此处我们设置的是20cm处,当应用于实际当中时将根据具体情况进行调节)有障碍物时停止运动,并且蜂鸣器发出警报,提醒前方人员离开或及时处理障碍物。

      ③ 滚轴控制模块:当电源启动后电机带动其中一个滚轴转动,由齿轮带动另一个滚轴。

      ④ 毛刷控制模块:当电源启动后电机带动齿轮及连接的刷盘旋转,另一个刷盘采用空套结构由齿轮带动旋转。

      ⑤ 阀门开合模块:当电源启动后,舵机带动阀门开启,停止供电后闭合。

3.3.3 主程序流程图

3.3.4 主程序摘要

#include <Servo.h>int i = 0;int leftMotor1 = 9;//左轮int leftMotor2 = 10;int rightMotor1 = 5;//右轮int rightMotor2 = 6;//超声波int inputPin=A4; // 定义超声波信号接收接口int outputPin=A5; // 定义超声波信号发出接口//灰度int lefthui = A2;int righthui = A3;//蜂鸣器int ring = 12;//舵机Servo myServo;void setup() {// put your setup code here, to run once://串口初始化Serial.begin(9600);//初始化电机myServo.attach(4);myServo.write(0);//测速引脚初始化pinMode(leftMotor1, OUTPUT);pinMode(leftMotor2, OUTPUT);pinMode(rightMotor1, OUTPUT);pinMode(rightMotor2, OUTPUT);//超声波控制引脚初始化pinMode(inputPin, INPUT);pinMode(outputPin, OUTPUT);//初始化灰度pinMode(lefthui,INPUT);pinMode(righthui,INPUT);//初始化蜂鸣器pinMode(ring,OUTPUT);Servoopen();delay(3000);}void loop() {// put your main code here, to run repeatedly:avoidance();}void Forward(){analogWrite(leftMotor1, 90);analogWrite(leftMotor2, 0);analogWrite(rightMotor1, 90);analogWrite(rightMotor2, 0);}void Stop(){analogWrite(leftMotor1, 0);analogWrite(leftMotor2, 0);analogWrite(rightMotor1, 0);analogWrite(rightMotor2, 0);}void turnRight(){analogWrite(leftMotor1, 150);analogWrite(leftMotor2, 0);analogWrite(rightMotor1, 0);analogWrite(rightMotor2, 150);}void turnLeft(){analogWrite(leftMotor1, 0);analogWrite(leftMotor2, 150);analogWrite(rightMotor1,150);analogWrite(rightMotor2, 0);}void avoidance(){int dis = getDistance(); //距离if(dis <= 20){Stop();digitalWrite(ring,HIGH);}else{digitalWrite(ring,LOW);run();}// run();delay(150);}//舵机开合盖void Servoopen(){int pos;for (pos = 0; pos <= 90; pos += 1){myServo.write(pos); // tell servo to go to position invariable 'pos'delay(15); // waits 15ms for the servo to reachthe position}}void Servoclose(){int pos;for (pos = 90; pos >= 0; pos -= 1){myServo.write(pos); // tell servo to go to position invariable 'pos'delay(15); // waits 15ms for the servo to reachthe position}}//灰度循迹void run(){int a = digitalRead(lefthui);int b = digitalRead(righthui);Serial.println(a);Serial.println(b);if(a==0&&b==0)Forward();if(a==1&&b==0)turnLeft();if(a==0&&b==1)turnRight();}int getDistance(){digitalWrite(outputPin, LOW); // 使发出发出超声波信号接口低电平 2μsdelayMicroseconds(2);digitalWrite(outputPin, HIGH); // 使发出发出超声波信号接口高电平 10μsdelayMicroseconds(10);digitalWrite(outputPin, LOW); // 保持发出超声波信号接口低电平int distance = pulseIn(inputPin, HIGH); // 读出脉冲时间distance= distance/58; // 将脉冲时间转化为距离(单位:厘米)Serial.println(distance); //输出距离值return distance;}

4. 作品创新点及应用前景

4.1 作品创新点

      ① 采用滚轴转动机构可以碾碎已经结块了的盐巴,防止由于雨雪天气等情况的影响使盐巴结块堵塞,造成其不能自然均匀落下。

      ② 前端采用毛刷设计,除去表层积雪以及清障功能。

      ③ 全自动循迹避障,自动导航盲道,并且对道路前方状况进行避障报警。

4.2 应用前景

      本作品结构功能等并不复杂,在经过实验后,能够完成设计前期列举的基本功能,能够针对盲道进行有效的融冰除雪功能。全自动循迹避障系统,能够自主进行一系列工作。该产品主要针对了目前市面上并没有同类型产品的现状,能够有效解决现阶段该路段并未解决的融冰除雪工作。在未来随着技术的更新,我们也将丰富更多功能,来完善这一作品。

5. 作品难点及解决方案

5.1 作品难点及遇到的问题

      ① 控制流速是作品中非常重要的功能,也是我们设计过程中最困难的点,我们设计了多种方案并不断改进讨论。

      ② 超声波传感器检测问题,对前方障碍物误判导致无法前进。

      ③ 沿黑线循迹时会在转向时多次偏移调整位置影响前进的流畅性。

      ④ 调试过程过程中电脑多次无法检测到串口,对调试过程的影响。

5.2 解决方案

      ① 在我们设计不同的方案过后,经过实验模拟,我们选择了最终相对有效的一种。

      ② 通过更换超声波传感器以及多次实验,反复尝试得到结果。

      ③ 通过修改程序,调整黑线并多次尝试得以解决。

      ④ 多次更换数据线进行多次连接,或者更换电脑进行调试。

6. 结语

      随着对融冰除雪方面的不断研究以及各方面技术的发展,解决冬天路面结冰积雪的方法也会越来越多,越来越高效。目前市面上针对马路、高速公路等大型路况的产品更多,我们设计的盲道除雪车相对来说结构较为简单,但功能基础、简易的同时也能基本达到预期效果,且对路况更具有针对性,能够满足街道等路段除雪不足的问题,相信在未来科技的不断发展中,也能够更具有人文关怀地满足其他条件下的问题,制造出更多高效产品。

参考文献

[1] 娄胜利,尚晓攀,韩宗睿.新型抗路面凝冰除雪装备的探究与研发[J].中国公路,2021(24):87-90.DOI:10.13468/j.cnki.chw.2021.24.032.

[2]童垚,张艳丽,尹礼鑫,韩宗文.一种多功能自动扫雪车设计[J].科学技术创新,2020(33):193-194.

[3]张飞.冬季城市街道融雪除冰防滑复合板应用技术研究[J].西部交通科技,2020(02):169-171.DOI:10.13282/j.cnki.wccst.2020.02.045.

[4]冷冰,崔宝辉,任健.车载式融雪剂撒布机的四种驱动方式[J].工程机械与维修,2014(03):138-139.

[5]李旭俊, 智能化多功能除雪设备技术研究与开发. 广西壮族自治区,中国重汽集团柳州运力专用汽车有限公司,2020-08-26.

[6]李旭俊, 多功能除雪车. 广西壮族自治区,中国重汽集团柳州运力科迪亚克机械有限责任公司,2017-07-07.

[7]刘尚宏,耿改龙.一种除雪车用高压热风快速融冰烘干装置[J].商用汽 车,2022(09):88-90+93.DOI:10.20042/j.cnki.1009-4903.2022.9.001.

[8]陈泳松.除雪车辊雪筒驱动系统设计[J].装备制造技术,2021(03):64-66+92.

[9] 魏晖昕 . 晋 中 高 速 公 路 除 雪 车 推 雪 铲 宽 度 优 化 [J]. 公 路 交 通 科技,2022,39(04):166-172.

[10]田秋艳.多功能机场除雪车的多模态转向系统[J].筑路机械与施工机械化,2020,37(07):56-59.

[11]薛志敏.关于除雪车抛雪装置传动方式的应用研究[J].装备制造技术,2020(06):207-208+214.

[12]铁子甲, 一种变电站用便携式除雪车. 陕西省,国网陕西省电力公司渭南供电公司,2019-11-01.

[13]方园·, 一种清除冻结积雪的除雪车. 安徽省,安徽琼钰刷业有限公司,2019-10-29.

[14]顾海东.机场除雪利器——OSHKOSH P 系重型除雪车模型赏析[J].专用汽车,2016(01):78-81.

[15] 陈传忠 . 浅 谈 自 动 化 除 雪 车 的 创 新 设 计 [J]. 山 东 工 业 技术,2015(06):39.DOI:10.16640/j.cnki.37-1222/t.2015.06.116.

更多详情请见:【S045】智能盲道除雪小车

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/325428.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue2 - 生命周期

目录 1&#xff0c;介绍1&#xff0c;初次渲染2&#xff0c;数据改变后的重渲染 2&#xff0c;生成周期钩子执行顺序 1&#xff0c;介绍 创建 vue 实例和创建组件的流程基本一样。 1&#xff0c;初次渲染 做一些初始化操作&#xff0c;主要设置一些私有属性到实例中。 运行 b…

十种编程语言的对比分析

在当今的软件开发领域&#xff0c;编程语言扮演着至关重要的角色。不同的编程语言各有其特点和适用场景&#xff0c;选择合适的编程语言能够提高开发效率和软件质量。本文将对十种常见的编程语言进行对比分析&#xff0c;帮助读者了解它们的优缺点和适用场景。 一、Python Pyt…

【java】期末复习知识点

简单不先于复杂&#xff0c;而是在复杂之后。 文章目录 填空题封装包主类开发过程的改变interfaceabstract class访问控制关键字继承多态object 类Java I/O(输入/输出)异常线程和进程创建线程的两种基本方法 编程题Hello World编写Swing程序&#xff0c;显示一个空白窗口 填空题…

发票信息提取v1.2.0

程序介绍 “发票信息提取”是一款用于提取电子发票的PDF、XML文件中的开票信息到excel表格的软件&#xff0c;无需联网及进行复杂配置&#xff0c;打开即用。目前支持增值税电子发票&#xff08;非数电票&#xff09;原始PDF文件&#xff0c;及数电票的XML文件。 更新内容 增加…

怎么查询网络出口IP

怎么查询自己的网络的出口IP 背景 一般跟第三方服务进行接口数据交互的时候&#xff0c;对方都会让我们提供调用接口的网络的出口IP&#xff0c;对方会把该IP地址加到对方的白名单中。这样我们才能有权限进行接口的访问。 解决办法 下面介绍三种常用的查询网络出口IP的办法…

uniapp点击跳转传对象

目录 传对象传对象传送组件接受组件 最后 传对象 传对象 传送组件 点击传给组件 <view class"dki-tit-edit" click"gotificatedit(item)">编辑 </view>gotificatedit(item){console.log(item,item);let options JSON.stringify(item);uni.…

Mysql 分割字符串,一行变多行,@rownum,mysql.help_topic

1 前言 朋友最近遇到一个比较棘手的 sql 问题&#xff0c;让我帮忙看看&#xff1a; 他有两张表 testa 和 testb &#xff0c;一个表存的日期&#xff0c;另一个表存字符串例如 2023-11-01,2023-11-02&#xff0c;如何将这两张表关联起来&#xff0c;只查 testa 表的数据&#…

分布式系统架构设计之分布式缓存技术选型

一、概述 随着互联网业务的快速发展&#xff0c;分布式系统已经成为了解决大规模并发请求、高可用性、可扩展性等问题的重要手段。在分布式系统中&#xff0c;缓存作为提高系统性能的关键技术&#xff0c;能够显著降低数据库负载、减少网络延迟、提高数据访问速度。当面对大量…

【安卓的签名和权限】

Android 编译使用哪个key签名&#xff1f; 一看Android.mk 在我们内置某个apk的时候都会带有Android.mk&#xff0c;这里面就写明了该APK使用的是什么签名&#xff0c;如&#xff1a; LOCAL_CERTIFICATE : platform表明使用的是platform签名 LOCAL_CERTIFICATE : PRESIGNED…

大模型加速库flash-attention的安装教程

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

Spark Streaming的容错性与高可用性

在实时数据处理领域&#xff0c;容错性和高可用性是至关重要的。Apache Spark Streaming是一个强大的工具&#xff0c;用于实时数据处理和分析&#xff0c;具备卓越的容错性和高可用性。本文将深入探讨Spark Streaming的容错性机制&#xff0c;以及如何实现高可用性的实时数据处…

深度学习中的自动化标签转换:对数据集所有标签做映射转换

在机器学习中&#xff0c;特别是在涉及图像识别或分类的项目中&#xff0c;标签数据的组织和准确性至关重要。本文探讨了一个旨在高效转换标签数据的 Python 脚本。该脚本在需要更新或更改类标签的场景中特别有用&#xff0c;这是正在进行的机器学习项目中的常见任务。我们将逐…