项目的技术路线及预期成果
一、技术路线
机器人系统整体设计方案如图1所示,整个系统可以分为以下主要部分:电源模块、控制模块、摄像头模块、语音模块、电机驱动模块。其中摄像头是机器人的眼睛,可以对物体进行识别,包括形状检测和颜色检测;语音识别模块是机器人的耳朵,可以听取用户所要求的任务信息;控制模块是机器人的大脑,对于语音识别模块采集的语音信号进行分析然后确立搬运方案,对摄像头采集的图像信号进行查找目标、分析确定行程路线、分析物块形状、分析物块颜色,从而确定搬运目的地;电机驱动模块是机器人的手和脚,手是机器人的机械臂,脚是机器人的轮子,机械臂可以更好的抓取并搬运物块,轮子能使机器人运行到工作区域的各个位置;而电源模块是机器人的心脏,用于给所有模块供电,保证其正常的运行。
图1机器人系统整体设计方案
(1)电源模块
模块采用两节带保护板的18650并联电池供电,经过一个DC/DC升压模块,将电源电压稳定到5V供电,再经过线性稳压器AMS1117-3.3将其降压到3.3V给芯片供电。一般锂电池放电到2.8V就会被保护板自动断电,如果直接采用两节电池串联通过7805供电的话,那么当电压降到5.6V时,7805会因为输入输出电压差值不够,而使输出电压下降到低于5V,这时对于电机的供电驱动就会和5V时候不一致,会导致原来设置好的转动角度以及其他的新能参数有偏差,从而导致系统不正常工作,而采用升压的方案就不会因为锂电池放电导致低电压,从而保证系统正常工作。
(2)主控单元模块
该模块作为机器人的大脑,对摄像头和麦克风传入的信号进行分析处理,再通过GPIO控制电机使机器人动起来。主要由处理器、SRAM、flash/EEPROM、GPIO、WIFI等部分组成。本项目将采用ARM Cortex A系列的处理器作为核心,ARM公司的Cortex-A系列处理器适用于具有高计算要求、运行丰富操作系统以及提供交互媒体和图形体验的应用领域。鉴于本项目需要进行数字图像处理和嵌入式开发,对于数字计算的能力要求较高,我们将采用Cortex A8以上级别的芯片。
(3)语音模块
该模块作为机器人的耳朵,用于听取命令,使机器人按照命令执行任务。主要由麦克风、放大器、专业芯片组成。为了简化机器人的编程难度,我们将选用一个语音识别专用芯片—LD3320。LD3320芯片由ICRoute公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括AD、DA转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且,识别的关键词语列表是可以任意动态编辑的。
主要特征有:
l 1、通过ICRoute公司特有的快速而稳定的优化算法,完成非特定人语音识别。不需要用户事先训练和录音,识别准确率95%。 l
2、不需要外接任何辅助的Flash芯片,RAM芯片和AD芯片,就可以完成语音识别功能。真正提供了单芯片语音识别解决方案。 l
3、每次识别最多可以设置50项候选识别句,每个识别句可以是单字,词组或短句,长度为不超过10个汉字或者79个字节的拼音串。另一方面,识别句内容可以动态编辑修改, 因此可由一个系统支持多种场景。 l
4、芯片内部已经准备了16位A/D转换器、16位D/A转换器和功放电路,
麦克风、立体声耳机和单声道喇叭可以很方便地和芯片管脚连接。立体声耳机接口的输出功率为20mW,而喇叭接口的输出功率为550mW,能产生清晰响亮的声音。 l
5、支持并行和串行接口,串行方式可以简化与其他模块的连接。 l
6、可设置为休眠状态,而且可以方便地激活。
l 7、工作供电为3.3V,如果用于便携式系统,使用3节AA电池就可以满足
(4)摄像头
摄像头将采用OV7670摄像头,体积小,工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输入整帧、子采样、取窗口等方式的各种分辨率8位影像数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。
对于机器人数字图像处理的问题,由于我们并没有系统的学习过数字图像处理,而数字图像处理本身就是一个大难点,导致视觉识别是我们需要重点突破的地方。为了解决这一问题,我们将采用OPENCV的视觉库来进行图像处理。OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效—由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。由于OPENCV只支持于一些操作系统的环境下,所以在嵌入式系统这一方面,我们也需要全面的学习。优先选择嵌入式Linux。
(5)电机驱动模块
电机模块主要分为轮子电机和机械臂的电机,轮子控制机器人位置的移动,机械臂控制机器人更好的抓取物块。电机主要采用伺服电机,伺服电机具有很好的精准度,非常适合用于机器人上。通过给予伺服电机一系列脉冲信号,电机即可根据脉冲数旋转固定的角度。而对于电机供电方面,需要单独供电与主控制电路隔离开来,这样可以有效保护主电路稳定性。
(6)软件设计
软件设计基于Linux平台开发以及模块单片机开发,其语音模块上就有一个单片机,用于语音解码,将语音信号翻译成搬运任务信号。主控单元搭载Linux操作系统,用于接受搬运任务信号、接受摄像头的图像信号、输出电机控制信号、进行图像处理和整个机器人的信号交互与处理。
程序开始处于待机状态,等待用户的语音命令。这时主控单元等待语音模块的信号响应,语音模块检测到语音命令后会解析命令并向主控单元发送中断信号以及经处理过得搬运任务信号,主控单元响应中断信号并接受任务信息,同时将信息存入Flash。
接下来采用视觉导航和超声波模块来搜索物块。找到物块后,对物块进行图像分析识别出物体的形状和颜色进行归类。以确定要送到的目标地,并进行搬运。最后找到目标地并将物块放入目标地。程序判断是否执行完所有操作,如果没有完成,继续执行搬运任务。
机器人搬运程序流程图如图2所示
图2机器人搬运程序流程图
二、预期成果
1.项目总结报告一份。
2.制作分拣搬运机器人实物一件。
3. 论文一篇或申请专利一项。
|