[B-巡线机器人] B题_上海赛区_上海大学——巡线机器人设计报告

  [复制链接]

1

主题

1

帖子

2

积分

一粒轻沙

Rank: 1

积分
2
查看: 12609回复: 8 发表于 2019-10-28 15:28:27   只看该作者
学校:上海大学 作者:程航 高良磊 刘成语
指导老师:丁晓青
   
本题设计了一个四旋翼飞行器,利用四旋翼飞行器的光流模块定位完成巡线任务,可以按照指定路线完成飞行,同时利用OpenMV模块完成条形码与二维码的识别与拍摄存储,再利用显示装置读取SD卡显示拍摄到的条形码与二维码图片,最后用手机去识别条形码与二维码。该飞行器采用 TM4C129G 型芯片作为飞控芯片,并设计了自己编写的飞控系统,采用OpenMV模块作为视觉模块,完成图像采集及处理等功能,两个主要模块相配合,最终完成既定的飞行任务。该飞行器包括了OPENMV模块、MPU9250、BMP280气压计、KS103超声波模块、PMW3901光流激光定高模块、VL53L0X激光测距模块、电动云台。测试表明,在题目所给的地面环境中,飞机能完成巡线运动,并在此过程中完成条形码与二维码的识别与拍照存储,从而满足题目要求。
关键词:飞行器  巡线  二维码识别  声光报警
巡线机器人(B 题)
【本科组】
1.引言
    该题目设计一基于四旋翼飞行器的巡线机器人,能够巡检电力线路及杆塔状态,发现异常时拍摄存储,任务结束传送到地面显示装置上显示。巡线机器人中心位置需安装垂直向下的激光笔,巡线期间激光笔始终工作,以标识航迹。
分析该题目,其主要涉及到飞行器激光测距寻杆,飞行器定点移动巡线,OpenMV识别黄色色块,OpenMV识别条形码与二维码等问题。飞行器激光测距寻杆主要依赖于激光模块准确读取目标点位置信息,飞行器定点移动巡线主要靠光流模块对捕获图像的处理以及位置的判定,OpenMV识别黄色色块主要依赖于阈值化处理,利用OpenMV IDE的阈值编辑器选择合适的阈值,来识别指定颜色色块,OpenMV识别条形码与二维码是通过条形码与二维码的编解码规则来实现。
2.设计方案
本系统主要由四旋翼自主飞行器部分构成,其中飞行器主要由PMW3901光流模块,OPENMV视觉模块、KS103超声波模块、BMP280气压计模块、MPU9250九轴传感器模块组成,下面分别论证这几个模块的选择。
2.1整体设计方案选择2.1.1飞机定高方案的论证与选择
方案一:激光定高:易受地面投影干扰,且无法在吸光材质的地面上稳定悬停。
方案二:超声波定高:超声波模块指向性强,检测迅速,易于无人机实时控制,但是易受环境噪声干扰从而影响定高数据。
由于该选题对场地地面有一定要求,因此综合实际情况,最终选择方案二。并且针对超声波模块易受环境噪声干扰的特性,将超声波数据与气压计数据进行融合,从而减轻干扰。
2.1.2飞机巡线定位方案的论证与选择
方案一:依靠光流定位移动:光流定位是利用摄像头采集图像数据,采用光流算法去求得两帧图像间位移,从而实现定位,同时利用PID控制飞行器移动至目标点。该方案可以由飞行器独立完成,无需依赖OpenMV图像识别,并且定位结果较为准确。
方案二:依靠OPENMV图像识别移动:该题目中,由于地面铺设材料是极淡的条纹状,因此OPENMV识别难度很大,并且会增加OPENMV与飞行器之间的协议复杂度,从而增加飞行器的飞行负担,因此根据实际情况来看,该方案不适合。
综合以上两种方案,最终选择方案一。
2.1.3照片格式的论证与选择
方案一:拍摄原始图像:原始图像即像素模式为RGB模式,也就是常见的彩色图像,彩色图像色彩信息丰富,但其像素计算量较大,由于该选题中拍摄的照片为二维码与条形码等,因此彩色图像并不适合。
方案二:拍摄灰度图: 灰度图像即像素模式为灰度级模式,灰度图像色彩信息较为单一,但是保存图像时计算量较小且效率较高,也符合二维码与条形码的图像特性,因此灰度图比较适合该选题任务要求。
综合以上两种方案,选择方案二,并且将分辨率格式设置为分辨率更高的VGA格式,并且图片格式保存为JPG,将压缩质量设置为最高,从而优化拍摄图片质量,增加识别率。
2.1.4飞行器巡线方案的论证与选择
方案一:改变旋向控制飞行方向:通过调整旋转方向来控制飞行器飞行,会改变飞行器运动坐标系,从而造成光流定位困难,精度得不到保证,从而影响巡线任务的完成。
方案二:电动云台控制摄像头旋转:电动云台控制摄像头旋转可以让飞行器保持飞行方向不变下,从而不会影响运动坐标系,光流定位更加准确,更适用于该任务的完成。
综合以上两种方案,选择方案二,从而保证飞行器飞行稳定。
2.1.5 照片拍摄方案的论证与选择
方案一:识别到黄色色块直接拍照:该方案所需时间短,软件设计简单,但是拍摄到的图像质量难以保证,手机识别率很低。
方案二:识别到条形码或二维码后拍照:识别到黄色色块后进入识别条形码的任务中,采用限时识别,超时盲拍的方案,给定识别时间,若识别到则进行照片拍摄,若在规定时间识别不到,则原地盲拍,既保证飞行任务不超时,也保证条形码照片的拍摄。二维码的拍照原理类似。
经过大量调试可得结论,方案二更适合于该任务。
2.2 器件选型
飞控板型号:TM4C129G
光流模块型号:PWM3901
超声波模块型号:KS103
激光模块型号:VL53L0X
姿态解算模块型号:MPU9250
3.理论分析与计算3.1图像处理  
该选题中,二维码识别和图片拍摄功能是要通过图像处理来实现,通过OV7670摄像头来采集灰度图。OpenMV通过串口把视野中黄色色块中心点与图像中心的相对偏移量发送给飞控板,然后飞控对偏移量进行读取,利用光流模块进行位置调整,直至调整至目标物中心。
3.1.1阈值
    该选题中,黄色凸起物图像识别需要利用到阈值化处理,通过设置色块阈值来实现特定色块识别,具体的阈值通过OpenMV IDE中的阈值编辑器来确定。对得到的二值化图像再进行像素点个数的限定以提高黄色色块的识别率。
3.1.2 图像格式及分辨率
    拍摄照片格式选取了JPG,并将压缩质量调整至100以提高图像质量。拍摄照片分辨率选取了VGA格式,分辨率大小为640*480,经测试满足任务要求。
3.2  位置调节
根据光流模块定位算法来建立空间坐标系,通过给定目标点坐标,让光流模块对无人机移动进行引导,从而实现定点移动,进而完成选题要求的巡线任务。
3.3  串级PID控制
       角度/角速度—串级PID控制算法可以增加飞行器的稳定性并提高它的控制品质,从而使得飞行器的适应能力更强。通过给予飞行器期望角度,代入外环角度环PID控制器,得到期望角速度,将其带入内环角速度环PID控制器,结合测得实时角速度输出姿态控制量,控制量转换为 PWM 去控制电机,从而控制四轴。
4.电路与程序设计

4.1 硬件电路设计

1.jpg 2.jpg


   图4.1.1 视觉模块PCB板图正面               4.1.2 视觉模块PCB板图反面 3.jpg 4.jpg



   图4.1.3 飞控PCB板图正面                          4.1.4 飞控PCB板图反面

视觉模块硬件设计要点:   
主控采用STM32H7高性能单片机,其主频为400MHz,相较于216MHz的STM32F7有接近150%的帧率提升。
相较于BGA封装的sensor,采用软排线的摄像头模组,减小体积的同时,避免了BGA手工焊接困难的问题,还可以根据实际需求更换不同功能的摄像头。
接口方面采用了USB-Type-C接口,其寿命和稳定性都有大幅提高且不易损坏。
设计时为了使设备工作更加稳定,选用了4枚大容量钽电容,以确保图像信号的稳定无杂波。
采用双面元器件布局,以压缩PCB的体积,并采用双面板设计,减少加工成本和周期。
板子上配备了两个独立的大功率驱动电路,负责放大IO的控制能力,其中一个现在用于控制蜂鸣器,保证声音足够响亮。
配备3路舵机控制信号输出,用来快速转动响应。
为了在调试时不至于损坏电脑,在USB供电和DC供电间使用了2枚二极管和一个电感进行隔离。
降压部分选择线性稳压以确保输出的电源稳定无波纹。(见图4.1.1、4.1.2)
飞控板硬件设计要点:
采用高性能的TM4C129芯片,主频为120MHz。
分离式双电源供电,电池电压经分压板降压后输入飞控板,一路3.3V稳压负责供应板子上的核心芯片,另一路负责所有的外部设备。
供电部分预留50%以上的供电余量,防止出现供电不足的情况,同时可减少线性电源的发热。
配备2路舵机接口,可以由飞控直接控制舵机转动。
飞控板上从单片机引出了4路串口,1路IIC接口和2路SPI接口,具有丰富的扩展性。
设计了4位拨码开关用于模式切换,以应对各种复杂的飞行任务。
设置了一键起飞按键,可脱离遥控完成自主起飞。
预留了nRF无线模块的接口,可以方便的进行调试或遥控飞行
设计时为了使设备工作更加稳定,选用了4枚大容量钽电容,以应对电流陡升的情况,确保飞行稳定。
PCB在设计时精确测量了无人机的桨叶间距,确保不会与桨叶进行碰撞
外接扩展设备提供供电选择跳线,可自行选择3.3V或5V供电。(见图4.1.3、4.1.4)
4.2 系统组成框图与原理框图

4.2.1系统组成框图
5.png
图4.1系统组成框图

4.2.2电路原理框图

6.png


图4.2 飞行器原理框图

4.3软件设计流程图


7.png 8.jpg
[size=18.6667px]图4.3.1 飞行器工作流程图     图4.3.2 Openmv模块工作流程图

图4.3.1说明:
上电之后飞行器初始化各个模块,当按下按钮之后两秒飞行器自动起飞,之后飞行器会飞至A杆左侧30cm处,然后沿黑线向B杆移动3m,检测黄色凸起物,若找到黄色凸起物,则发出声光报警,前后调整位置让黄色凸起物在视野中间,此过程限制4秒,若在4秒内黄色凸起物成功移动到视野中心,则飞行器向黑线靠近10cm识别黄色凸起物上的条形码并拍照,若4秒内无法让黄色凸起物移动到视野中心,则发出指令给OpenMV,令其直接拍3张照片。当飞行器走满3m时,则开始读取激光测距数据,检测到距离低于70cm时表示移到了B杆处,然后校正自身的位置到距离B杆30cm处,之后每移动0.15m拍一张照片,共拍3张,然后绕过B杆,云台方向向左转180度,从B杆向A杆移动3m,当看到黄色凸起物时声光报警,最后在A杆边降落。
图4.3.2说明:
OpenMV 上电后,SD卡中的main.py文件自动运行。主程序中会通过串口接收飞控命令来确定当前任务。初始化后,视觉模块执行寻找异物(黄色色块)任务,发现异物后飞机会逐渐停下,并调整位置以便条形码的识别。当飞行器距离异物30cm以内时开启声光报警。因摄像头OV7670支持的分辨率有限,故飞行器要尽量靠近异物。为了排除识别时间过长的情况,保证任务的顺利完成,飞控会在超过一定时间发送命令使OpenMV立刻拍照,接着再次进入寻找异物的任务。
巡线单程结束后,飞行器会在绕杆过程中的固定三个点分别发送识别二维码命令。视觉模块一旦接受到命令会立刻拍摄一张作为备用,然后开始识别二维码。任一点位一旦识别成功就会立马拍摄三张照片并覆盖备用的照片。同时OpenMV给飞控发送指令使其进入返程任务。
接着视觉模块再次进入识别异物任务和声光报警,但是返程时不会进行拍摄。直到完成任务。
5.系统测试5.1测试方法
1.飞行器部分:飞行器上电后,飞控板和视觉模块正常工作,在飞行模式为手动模式下,能通过遥控器使飞行器垂直起飞,前后左右运动,降落等功能,另外能基本完成定点悬停任务以及定点移动任务,在旋翼轴下方悬挂重物后,调整起飞偏移量后,飞行器能够基本稳定悬停,因此飞行器部分工作正常。
2.光流模块:在场地内,手持飞机使飞行器处于不同高度,测试数据正确且基本保持不变。手持飞机使飞行器平稳的上下运动,观察高度数据同样平稳变化无突变值。光流模块工作正常。
3.OpenMV模块:OpenMV模块主要完成黄色凸起物与二维码的识别以及照片拍摄任务,以及通过串口与飞控板完成通信功能,OpenMV上电后,进行黄色色块的识别,识别到后进行条形码的拍摄,在飞行器行至杆塔B处,进行二维码的识别,识别到后进行二维码的拍摄。
5.2 测试条件
检查多次,硬件电路与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。同时在一些接口上用硅胶进行强化,确保接口的稳定可靠。严格按照题目条件制作场地,可通过遥控器观察飞行高度,空间位置,各姿态数据等,当出现问题时有万用表,示波器等检测工具,从而方便进行测试。
5.3 测试过程及结果分析
5.3.1 测试结果
1、飞行器放置在自定起点位置,一键启动,飞行器垂直上升至1m的高度,悬停十秒后自动降落,在此时间内,飞行器的水平坐标并未发生大幅偏移。
2、飞行器上电,一键启动,能够按照自定路线完成巡航,巡航过程中,摄像头基本能够拍摄到场地内的任意范围。
3、OpenMV模块连接串口调试助手,双方通信正常,OpenMV可以通过接收串口调试助手发出的指令完成识别任务,同时发送正确的应答。
4、手持OpenMV测试黄色色块识别,识别率接近百分之百。测试条形码与二维码的识别,在距离约为20cm处,识别率可以满足任务要求。
5、飞行器分别在四个旋翼轴下方悬挂重物,经过修改偏移量之后,飞行器能够稳定悬停。
5.3.2 测试结果分析
根据上述测试结果,由此可以得出以下结论:
1、飞行器能原地起飞并完成悬停。
2、飞行器能够悬挂重物并完成稳定悬停,摆动范围能够满足题目要求。
3、飞行器能够定点移动并在目标点悬停。
4、飞行器能够准确识别黄色色块并靠近色块中心完成悬停。
5、飞行器能够准确识别条形码。
6、飞行器能够准确识别二维码。
综上所述,本设计达到设计要求。

9.png
     图
5.3.2
测试结果图

6.结论
经过此次四天三夜的电子设计竞赛,我们更加认识到了在工程任务中经验与效率的重要性。工程经验是在不断的实践中积累出来的,对于一些实际问题而言,工程经验比理论基础更为重要,它可以大大提高解决问题的效率,从而加快工程进度;工程效率则是工程人的基本素养,保证高效的工程效率是解决工程问题的关键。另外,工程问题的解决也很大程度上取决于方案的选择,一个灵活的方案可以大大简化问题解决的步骤,同时也能增强解决问题的鲁棒性。当然,在此过程中在这次比赛中,我们也意识到了团队精神的重要性,分工合作,相互沟通配合是完成团队任务的重要因素。总而言之,这次比赛对于我们而言是一次终身难忘的经历,也更加激发了我们对于无人机开发的兴趣,当然,我们也会更加砥砺前行,积累更多的工程经验,培养更好的工程素养,成为一名更加优秀的工程人。








打赏

参与人数 1赫兹币 +5 收起 理由
电赛小编 + 5 赞一个!

查看全部打赏

150

主题

446

帖子

1961

积分

审核员

Rank: 9Rank: 9Rank: 9

积分
1961
发表于 2019-10-31 08:29:24   只看该作者
谢谢楼主分享

43

主题

241

帖子

509

积分

单晶硅锭

Rank: 3Rank: 3

积分
509
发表于 2019-10-31 08:31:05   只看该作者
谢谢 同学分享 麻烦问下 有没有什么附件能够作为参考的? 谢谢了

0

主题

2

帖子

73

积分

一粒轻沙

Rank: 1

积分
73
发表于 2020-3-18 14:09:32   只看该作者
谢谢分享

0

主题

5

帖子

58

积分

一粒轻沙

Rank: 1

积分
58
发表于 2021-6-23 17:41:46   只看该作者
报告写的很好,很厉害!

0

主题

4

帖子

83

积分

一粒轻沙

Rank: 1

积分
83
发表于 2021-7-26 18:56:34   只看该作者
很棒,很棒,很棒。很棒,很棒

12

主题

49

帖子

1361

积分

单晶硅锭

Rank: 3Rank: 3

积分
1361
发表于 2021-10-27 20:39:29   只看该作者
感谢分享

打赏

参与人数 12赫兹币 +54 收起 理由
hu158 + 5
fu188 + 5
lithiumice + 5
zombiejbt + 4
csj0710 + 4
hw123456 + 4
RHAnthony + 4
bly + 3
mei187 + 5
blueblues + 5
JTao + 5
shenweizuibang + 5

查看全部打赏

0

主题

6

帖子

4

积分

一粒轻沙

Rank: 1

积分
4
发表于 2021-11-4 21:06:48   只看该作者
去阿强去吃  

0

主题

6

帖子

4

积分

一粒轻沙

Rank: 1

积分
4
发表于 2021-11-4 21:32:03   只看该作者
感谢分享
快速回复 返回顶部 返回列表