文章目录
- 1 项目的前期准备
- 1.1 从5个方面初步分析客户需求
- 1.2 方案评估与验证
- 1.3 签订合同
- 2 项目规划
- 2.1 定义客户端的详细需求
- 2.2 制定项目管理计划
- 2.3 方案评审
- 3 详细设计
- 3.1 硬件设备的选择与环境搭建
- 3.2 软件开发平台与开发工具的选择
- 3.3 机器视觉系统的整体框架与开发流程
- 3.4 交互界面设计
- 3.5 Halcon与开发工具
- 4 项目交付
- 4.1 软件功能测试
- 4.2 现场调试
- 4.3 系统维护
机器视觉一般都要求与现有生产线或者测试控制系统配合使用,因此机器视觉项目不仅要提供视觉产品,而且要提供能够与客户的自动化系统集成的完整解决方案。由于项目的复杂性和协同性,机器视觉项目的顺利完成离不开好的规划和细致的执行。
1 项目的前期准备
1.1 从5个方面初步分析客户需求
在立项之前,要与客户沟通,明确项目的基本需求,以便评估项目的可行性。主要包括五个方面
(1)项目来源:主要指项目的意义,前景,市场价值等高层级的内容。
(2)开发内容:包括视觉系统要完成的任务、待实现的主要功能,明白大致需要“做什么”。
(3)使用环境:明确客户的使用环境很重要,包括硬件、软件和结构等方面的使用需求。对于机器视觉项目而言,使用环境往往影响设计方案的选择。例如:客户可能对设备的结构尺寸等有特别的要求,因此需要根据使用环境选择合适的图像采集设备;又比如,有时客户工作的计算机操作系统比较特殊并且无法更换,这就需要对软硬件的兼容程度和运行效率进行评估。
(4)开发方式:需要了解客户希望以何种形式完成开发,如共同开发或者完成承揽,是否接受外包等,还有项目中双方的工作与责任如何分配,如哪一方负责采购相机等。
(5)交付成果与形式:明确交付产品的内容与形式,如软件、硬件设备和文档等。
1.2 方案评估与验证
得到初步需求以后,根据被检测样品和检测环境,可以进行方案可行性评估,一般包括六个方面。
(1)技术可行性。
(2)时间要求。
(3)空间要求:比如相机焦距,有限的使用空间有时会影响到相机的成像质量。
(4)光照环境
(5)通信接口
(6)成本与费用。
1.3 签订合同
签订合同的时候,除了要关注商务部分,还要关注以下技术部分的内容。
(1)项目的范围:功能点,如待检测的对象,应完成的工作等。
(2)明确验收标准
(3)其他确认:
如(1)视觉检测的判定标准(2)系统最终交付时间和阶段性成果等。(3)相机镜头、采集卡等设备由哪一方采购,以及采购时间和待选择的厂家信息等。(4)其他,如机械结构设计的要求,以及培训和售后的要求等。
2 项目规划
规划阶段要进行的主要工作包括订定义客户的详细需求、指定项目管理计划、方案评审等。
2.1 定义客户端的详细需求
2.2 制定项目管理计划
2.3 方案评审
3 详细设计
3.1 硬件设备的选择与环境搭建
(1)相机:一般选择工业相机,主要用于图像采集和成像。
(2)镜头:镜头关系到成像的质量,应根据实际项目的需要选择合适的镜头。
(3)采集卡:采集卡的功能是将数字信号或模拟信号转换后传送给计算机主机
(4)连接方式:值相机的连接方式
(5)光源:根据拍摄的需求选择光源或布置光照环境。
(6)结构件:指机器视觉设备所需的机械组件,如夹具、支架、固定装置等。
3.2 软件开发平台与开发工具的选择
机器视觉项目的软件开发一般包括所用到的图像库、算法和开发平台,可根据项目需要和开发者的偏好进行选择。
(1)图像库:指图像处理算法包,目前比较主流的适用于机器视觉的算法包有OpenCV、Halcon、Labview等。其中Opencv的应用最为广泛,但在机器视觉中有很多局限性。因此工业视觉检测目前主要还是使用Halcon,其算法集成度高。
(2)算法:主要指为了检测项目中的具体内容而设计的软件解决方法,如边缘检测、特征匹配、文字识别等,都是为了完成检测步骤中特定检测任务而设计的。
(3)开发平台:值开发软件的工具。
3.3 机器视觉系统的整体框架与开发流程
算法实现分为图像输入、中间处理和输出三部分。工业相机设备获取图像作为第一步,Halcon图像处理包括图像预处理、图像增强、图像分割、特征提取、图像理解等,这些作为第二步;算法实现后,将其导出为C++代码,供界面编程使用。
交互实现部分不涉及图像处理算法,采用合适的开发工具即可,比如Qt,MFC等工具。
机器视觉开发的基本框架如下:
(1)采集图像
(2)图像处理
(3)图像分析
(4)结果输出
3.4 交互界面设计
3.5 Halcon与开发工具
开发平台的选择范围比较广,比较常用的有Visual studio和Qt,在编写软件界面方面功能都十分强大。因此,开发者可能根据项目需要或自己擅长的开发平台进行选择。
4 项目交付
4.1 软件功能测试
软件功能测试主要是在到达客户现场之前对软件行测试,是在交付之前进行的内部测试,测试目的是检查机器视觉系统的基本功能是否符合《产品需求规格说明书》的要求。软件功能测试的主要内容如下:
(1)采集图像功能:主要测试采集的图像是否正常
(2)功能模块测试:逐条核对应有的功能是否完全实现
(3)交互界面测试:主要测试用户在与系统进行交互的过程中是否有异常
(4)通信测试:测试机器视觉系统与外部通信接口的数据传输是否正常
4.2 现场调试
目的是检查机器视觉系统在实际工作场景中是否能正常运转,这一步也是客户对机器视觉系统的验收,将针对合同查看系统是否满足验收标准。这部分工作主要分为三点:
(1)设备安装
(2)系统连调:调试完整的程序,按实际应用场景中的正常使用流程进行检测调试,由于现场调试时的不确定因素比较多,如环境光、机械振动、系统兼容性等都有可能导致异常的出现,因此应当在交付之前提前做好充足的准备,对可能出现的异常情况进行模拟和预防,并预留好解决异常的时间和人员。
(3)文档交接:包括合同中的指定文档资料,如用户使用手册、常见问题及解决方法、开发总结报告、验收报告、装箱单、软件光盘等。
4.3 系统维护
交付结束后的工作主要有人员培训和设备维护等。
人员培训班主要是对客户方的实际使用者和测试者等相关人员进行操作培训,结合用户使用手册进行实际操作的讲解,同时对注意事项和可能出现的异常情况的处理方法进行说明。
设备维护主要是对交互的软硬件的后期技术支持。良好的技术支持不仅是专业精神的体现,也能维持与客户的良好关系,为未来的合作建立基础。
加油,争取在一年至两年之内当上项目经理,略略略