基于OpenCV的机械臂驱动系统设计
- 格式:doc
- 大小:98.50 KB
- 文档页数:6
基于机器视觉的机械手臂运动控制系统设计随着科技的不断进步,机器视觉技术得到了极大的发展,进而为机械手臂运动控制系统的设计提供了新的思路和技术支持。
基于机器视觉的机械手臂运动控制系统是一种新的技术,该技术将机器视觉技术与机械手臂控制技术相结合,可以实现机械手臂的精确定位和高效运动控制,为工业自动化生产提供了新的解决方案。
一、机器视觉技术的应用机器视觉技术是指利用计算机对图像进行分析和处理的技术,该技术的应用范围非常广泛。
在工业制造领域,机器视觉技术可以应用于产品检测、物料分类、表面检测等方面。
二、机械手臂运动控制系统的设计机械手臂是一种可以代替人手完成工作的机器人,它在工业自动化领域起到了非常重要的作用。
机械手臂运动控制系统是机械手臂的核心,它可以控制机械手臂的运动、定位、速度等参数,保证机械手臂能够精确地完成工作任务。
机器视觉技术的应用为机械手臂运动控制系统的设计提供了新的思路和技术支持。
基于机器视觉的机械手臂运动控制系统的设计需要考虑以下几个方面:1、摄像头的选择:选择合适的摄像头对于基于机器视觉的机械手臂运动控制系统的设计至关重要,需要考虑图像分辨率、帧率、感光度等参数,以保证摄像头能够满足系统的需求。
2、图像预处理:由于图像噪声等因素的存在,机器视觉采集到的图像可能存在一定的误差,因此需要对图像进行预处理,包括灰度化、滤波、二值化等操作,以保证后续的图像处理可以得到更准确的结果。
3、目标检测和定位:基于机器视觉的机械手臂运动控制系统的核心是目标检测和定位,需要采用合适的算法对采集到的图像进行处理,以识别目标并确定其在机械手臂工作空间内的位置和姿态。
4、运动控制:目标检测和定位之后,机械手臂需要按照预设的轨迹进行运动控制,以实现精确的位置和姿态控制。
运动控制需要考虑机械手臂的运动学特性、动力学特性等因素,以保证机械手臂的运动速度、加速度等参数能够满足系统的需求。
三、机器视觉技术在机械手臂运动控制系统中的应用基于机器视觉的机械手臂运动控制系统可以应用于很多领域,包括电子制造、汽车制造、食品加工等。
《基于OpenCV的工业机器视觉软件开发》篇一一、引言随着科技的进步,工业自动化已成为现代制造业不可或缺的一部分。
而工业机器视觉系统则是实现工业自动化的关键技术之一。
基于OpenCV(开源计算机视觉库)的工业机器视觉软件开发,为工业生产带来了更高的效率和更准确的检测。
本文将详细介绍基于OpenCV的工业机器视觉软件开发的相关内容。
二、OpenCV简介OpenCV是一个开源的计算机视觉和机器学习软件库,包含了大量计算机视觉算法的实现。
它具有跨平台、高效、可扩展等优点,被广泛应用于图像处理、视频分析、物体检测、人脸识别等领域。
在工业机器视觉软件开发中,OpenCV发挥着重要的作用。
三、基于OpenCV的工业机器视觉软件开发1. 系统架构设计基于OpenCV的工业机器视觉软件开发系统架构主要包括硬件层、驱动层、算法层和应用层。
硬件层包括工业相机、光源、执行器等设备;驱动层负责与硬件设备的通信和数据传输;算法层则是利用OpenCV等计算机视觉算法进行图像处理和识别;应用层则是根据具体需求,将算法层的结果应用于实际生产中。
2. 图像预处理图像预处理是机器视觉系统的重要环节,主要包括图像滤波、二值化、边缘检测等操作。
在OpenCV中,提供了丰富的图像处理函数,如高斯滤波、中值滤波、阈值分割等。
通过这些函数,可以有效地去除图像中的噪声、提高图像的对比度,为后续的图像识别和检测提供良好的基础。
3. 目标检测与识别目标检测与识别是机器视觉系统的核心任务。
在OpenCV中,提供了多种目标检测与识别的算法,如基于特征的方法(SIFT、SURF等)、基于深度学习的方法(CNN、深度神经网络等)。
这些算法可以有效地从图像中检测出目标物体,并对其进行分类和识别。
在工业生产中,这些算法被广泛应用于产品质量检测、零件识别、机器人导航等领域。
4. 软件开发与实现基于OpenCV的工业机器视觉软件开发需要具备一定的编程能力和计算机视觉知识。
基于计算机视觉的采摘机械臂控制系统设计目录一、内容概括 (2)1.1 背景与意义 (3)1.2 研究目标与内容 (3)二、相关理论与技术 (4)2.1 计算机视觉基本原理 (6)2.2 机器人的基本控制原理 (7)2.3 摘要算法与数据处理技术 (9)三、采摘机械臂系统设计 (10)3.1 机械臂结构设计 (11)3.2 末端执行器设计 (13)3.3 传感器模块设计与选型 (14)四、基于计算机视觉的末端执行器识别与定位 (15)4.1 末端执行器外观特征提取 (16)4.2 基于计算机视觉的末端执行器定位 (17)4.3 末端执行器抓取策略研究 (18)五、基于计算机视觉的机械臂运动控制 (19)5.1 运动规划 (21)5.2 控制算法设计 (23)5.3 实时校正与补偿 (24)六、实验验证与分析 (26)6.1 实验平台搭建 (26)6.2 实验过程与结果分析 (28)6.3 结论与改进方向 (29)七、总结与展望 (30)7.1 研究成果总结 (31)7.2 研究不足与局限性 (32)7.3 未来工作展望 (33)一、内容概括本文档主要介绍了基于计算机视觉的采摘机械臂控制系统设计的相关内容。
设计该系统的目的在于实现自动化、智能化的采摘作业,提高采摘效率和质量,降低人工成本。
整个系统设计基于计算机视觉技术,通过对采摘环境的实时图像识别与处理,实现对机械臂的精准控制。
计算机视觉技术:研究并应用计算机视觉技术,实现对采摘环境的实时图像获取、处理和分析。
通过图像识别、目标定位等技术,获取目标果实的准确位置和特征信息。
机械臂控制系统:设计适用于采摘作业的机械臂结构,研发相应的控制系统。
该系统能够接收计算机视觉系统传递的目标信息,通过算法计算和控制机械臂的运动,实现对目标果实的精准采摘。
人工智能算法:运用机器学习、深度学习等人工智能技术,对计算机视觉和机械臂控制系统进行优化。
通过训练模型,提高系统对目标果实的识别准确率、定位精度和采摘效率。
基于机器学习的机械臂抓取系统设计发布时间:2023-01-31T03:54:23.182Z 来源:《中国科技信息》2022年第18期作者:孙伟杰王皓周祺李景阳[导读] 近些年来,随着科技的不断发展,机械臂因其工作效率高的优点在工业生产中的被广泛应用孙伟杰王皓周祺李景阳滨州学院航空工程学院山东滨州 256603摘要:近些年来,随着科技的不断发展,机械臂因其工作效率高的优点在工业生产中的被广泛应用,但传统机械臂通常按既定流程进行目标抓取工作,无法接受外界信息,当目标位置改变时便需要重新设定控制程序,因此结合当下智能制造的发展趋势,将机器视觉技术与机械臂控制技术相结合,提高机械臂的智能化程度具备重要的研究意义和应用价值。
本文针对传统机械臂无法自主抓取的局限性,以Kinect v2 视觉传感器和六轴机械臂为研究对象,将机器视觉技术应用于机械臂抓取任务中,提高机械臂抓取系统的感知能力,实现机械臂的自主抓取功能。
关键词:机器视觉;目标定位;机械臂;轨迹规划基金项目:山东省大学生创新训练项目(S202210449099)。
0引言机械臂是工业机器人中最常见的一种构型,通常按照人类的手臂关节去设计,拥有模仿人类手臂去完成移动物体、抓取目标、操作工具等工作的能力。
目前在工业机器人领域,机械臂常用于焊接、抓取、搬运以及采摘等生产活动,机器人中也出现很多安装两个机械臂的人形服务机器人。
机械臂在处理固定流程工作,如定点抓取与放置、工件的装配等重复性的任务上有着人类难以企及的效率与准确率,传统的工业生产中,依据固定的工作流程,控制器指挥机械臂完成生产任务,机械臂的每一次动作都是规划好的,所以对于分拣货物、采摘果蔬等需要判别或一定自主性的工作任务便显得捉襟见肘,而将机器视觉技术与机械臂控制相结合,就等于赋予机械臂一双“眼睛”,让它能够像人一样自主识别需要抓取或分拣的目标。
基于机器视觉的机械臂控制系统解决了机械臂在复杂工作环境和工作任务中灵活性不足的问题,在本质上提高了机械臂的自主程度和智能程度,增强了机械臂的适应性。
桌面级机械臂的智能控制方法作者:李洪成张淑丽郝昕刘胜辉来源:《科技创新与应用》2020年第05期摘; 要:提供一种桌面级机械臂的智能控制方法,对其控制系统方案进行整体设计,使用树莓派来驱动电机,在其上安装机器人操作系统ROS,使用YOLO算法来实现目标物体的检测与识别,并将此整合到OpenCV中,用ROS系统的MoveIt!工具包进行运动路径规划。
结果表明,该方法满足桌面级机械臂智能抓取物体的需求。
关键词:机械臂;树莓派;YOLO算法;OpenCV;ROS中图分类号:TP241; ; ; ; 文献标志码:A; ; ; ; ;文章编号:2095-2945(2020)05-0042-02Abstract: This paper provides a smart control method of desktop-level robotic arm, design the overall control system solution, use Raspberry Pi to drive the motor, install the robot operating system ROS on it, and use YOLO algorithm to achieve the detection and recognition of target objects And integrate this into OpenCV, use MoveIt! Toolkitof ROS system for motion path planning. The results show that this method meets the needs of desktop-level robotic arms to grasp objects intelligently.Keywords: robot arm; Raspberry Pie; YOLO Algorithm; OpenCV; ROS随着“工业4.0”和“中国制造2025”的持续推进,机械臂的相关领域得到快速发展。
一种基于PyQt的机械臂运行控制系统,主要包括人机交互界面模块、上位机主控模块、仿真与控制模块、轨迹优化模块、USB转串口模块。
该控制系统是基于PyQt友好的GUI编程框架搭建的机械臂控制系统,可完成机械臂的基本操作,仿真与在线示教,多参数实时显示等功能,用户在Windows操作系统上下载并安装该控制系统的上位机软件,通过USB转串口模块实时获取机械臂运动的相关参数,对其量化处理后发送给轨迹优化模块,该模块根据正逆运动学公式和笛卡尔轨迹规划算法优化运行轨迹,仿真与控制模块根据优化的运行轨迹完成仿真功能,人机交互界面模块给用户提供各类控制按钮和机械臂参数显示。
本技术大幅度扩展了机械臂控制器的功能,同时提高了控制器的人机交互性能。
技术要求1.一种基于PyQt的机械臂运行控制系统,其特征在于:包括人机交互模块,上位机主控模块,仿真与控制模块,轨迹规划模块,USB转串口模块;人机交互模块发送控制指令给上位机主控模块,传输技术人员的操作指令,上位机主控模块根据控制命令,发送仿真参数给仿真与控制模块,同时发送关节角度参数给轨迹优化模块;实际机械臂工作台通过USB转串口模块,接受来自上位机主控模块的操作指令,最终完成机械臂的运行控制;1)人机交互模块,接受来自操作人员点击的系统启动信号后,分别激活上位机主控模块,仿真与控制模块,轨迹规划模块,USB转串口模块;操作人员在人机交互模块上点击各模块的任务命令,发送不同类型的控制命令给上位机主控模块;同时人机交互模块接受来自上位机主控模块的机械臂运行相关参数,并进行实时显示,完成人机交互功能;2)上位机主控模块,对各种数据、参数和指令进行解析、处理、调度和收发;上位机主控模块接受来自USB转串口模块的机械臂关节角度参数,末端执行器速度,加速度参数,通过网络通信的方式接受来自仿真与控制模块加工处理过的实际机械臂控制指令字符串,接受来自轨迹优化模块优化完成的各关节角度参数,接受来自人机交互模块传输的操作人员控制指令;上位机主控模块根据系统运行顺序,把人机交互模块发送的控制指令解析后发送给轨迹优化模块,接受轨迹优化模块优化后的机械臂各关节角参数,通过网络通信的方式,把优化的机械臂各关节角参数发送给仿真与控制模块,根据上位机主控模块的逻辑控制器,接受来自仿真与控制模块的控制指令;最后上位机主控模块把从仿真与控制模块接受的控制命令,使用仿真与控制模块的后置处理器程序,转化为机械臂实际可执行代码,发送可执行代码给USB转串口模块;3)仿真与控制模块,接受来自上位机主控模块的仿真参数,并把仿真参数转化为PyQt语言,依托PyQt强大的Python内核,直接调用RoboDK动态函数库,把仿真运行参数转化为控制机械臂3D模型仿真运行的执行代码;同时仿真与控制模块接受上位机主控模块的机械臂示教参数,并把该参数实时对应到仿真与控制模块的机械臂3D模型中各运动关节上,实现仿真示教并记录仿真运行轨迹的离散点坐标,把坐标参数以字符串的形式存储起来,并把该字符串输入到机械臂对应的D-H参数模型中,得到对应的实际机械臂运行轨迹参数列表,通过仿真与控制模块中的后置处理器软件,自动生成实际机械臂运行控制指令;最后,通过网络通信方式把机械臂运行控制指令发送给上位机主控模块;4)轨迹优化模块,接受来自上位机主控模块的机械臂各关节角参数数组,结合当前所使用的机械臂型号的机构参数,使用D-H参数建模方法建立机械臂各关节的基坐标系,利用正运动学公式求解末端执行器在世界坐标系下的位姿参数,进而求出整条示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;考虑到实际机械臂运行的离散特性,该模块对优化完的轨迹进行逆运动学计算,得出执行优化后的示教轨迹所对应的关节角参数数组;最终发送关节角控制参数数组给上位机主控模块;5)USB转串口模块,用于连接实际机械臂工作台和上位机主控模块,完成两者的信息交互,同时保证数据的实时传输;该模块将电脑PC端USB接口转化为通用串口,实现上位机主控模块和机械臂控制器之间的信息双向通信;USB转串口模块接受机械臂控制台上关节角度传感器的角度参数,计算后的末端执行器位置,速度,加速度信息,同时接受上位机主控模块发送的机械臂运行控制指令;含有校验计算功能单元,对发送端数据进行二补数校验,对接收端数据进行逐字节相对校验;通过USB转串口模块,发送包含校验码的机械臂运行状态参数字符串给上位机主控模块。
2020年5期众创空间科技创新与应用Technology Innovation and Application桌面级机械臂的智能控制方法*李洪成,张淑丽*,郝昕,刘胜辉(哈尔滨理工大学软件与微电子学院,黑龙江哈尔滨150080)随着“工业4.0”和“中国制造2025”的持续推进,机械臂的相关领域得到快速发展。
桌面级机械臂不同于工业机械臂在特定环境下进行抓取物体,桌面级机械臂具有环境多变、人机智能交互、精准抓取等特点[1]。
因此,针对此需求,建立以树莓派作为微型计算机,搭载ROS 系统和OpenCV ,在其上运行YOLO 算法进行目标物体识别与检测,利用MoveIt!机械臂仿真包进行其路径规划的方法。
1桌面级机械臂的整体控制方案在树莓派(Raspberry Pi 3)微型计算机安装上ROS 操作系统,利用机械臂摄像头拍摄的照片,对其进行目标物体的识别与检测,将目标物体的坐标位置转化为控制参数,进行对目标物体的抓取。
控制系统方案图如图1所示。
图1控制系统方案2基于Raspberry Pi 3的步进电机控制机械臂通过Raspberry Pi 3驱动步进电机,从而实现机械臂在三维坐标系中自由活动。
首先,通过Python 和C++的编程来控制步进电机,此方式有效避免传统方式对机器操作的复杂性,降低了控制其运动的风险性。
其次,通过GPIO 引脚精确接受传感的信息和不同的频次的脉冲,能有效提高操作机械臂的精度和准确性[2]。
与顶部组件的Arduino 组合,不同的传感信息和执行结果在两者之间传送,实现步进电机和舵机的信息通信,从而实现机械臂的多用途、高效率、高精度的作业。
3使用YOLO 算法进行目标物体识别3.1YOLO (You Only Look Once )算法YOLO 算法是基于深度学习的多目标识别物体深度神经网络模型,该算法任务是在机械臂的摄像头拍摄图片后,利用深度卷积神经网络进行特征提取,对图片上的这些物体分类和确认出物体在图片中的中心位置,图片检测速度达到实时检测的要求[3],其算法的流程框架模型如图2所示。
图1机械臂PUMA560整体控制原理
接入抱闸保护中,另外两条直接用来控制信号电压。
其对应的系统控制设计图如图1所示。
在明确了系统控制原理之后,需要按照系统设计中的将对应的系统设计管理要点整合,以关节控制作为整个系统设计关键性指标,并且针对不同的线路运行采取不同的线路检测工作,作为满足系统应用的关键性设
关节控制系统设计
关节控制系统设计也是计算机视觉机械臂手眼标定系统设计中的一项关键性元素,将其系统设计要素实施能理优化控制进行分析。
设定计算机视觉获取的图像为向量f其对应的矩阵向量为f’,r代表空间向量,
度变化矢量。
其对应的空间视觉服务关系表述为:f’=f·r’
说明在计算机视觉图像的获取处理中,
处理和机械臂运行的矩阵关系变化之间具有明显的关联性,只有将其机械臂运行中的视觉图像矩阵构建好,
才能满足整体的视觉转化工作开展需求。
3计算机视觉机械臂手眼标定系统实践结果
按照计算机视觉机械臂手眼标定系统设计中的功能。
文章编号:2095-6835(2023)20-0102-03基于视觉辨识的机械臂控制系统设计于秋波1,王颖2,孙辰光3,董家璇4(1.天津津铁供电有限公司,天津300171;2.天津津铁电子科技有限公司,天津301799;3.天津工业大学计算机科学与技术学院,天津300387;4.天津工业大学电气工程学院,天津300387)摘要:机械臂可以代替人在高温、高湿、高压、高危等环境中工作,它在工业生产中的重要性已经被各国的科研工作者所认可,因此各种形式的机械臂控制系统被广泛研究。
基于嵌入式微控制器,采用视觉辨识相关技术,进行相关软件和硬件设计。
基于视觉辨识的机械臂控制系统可以简化现有的机械臂控制系统,特别适用于高污染等特殊工作环境中,且其对于中国机器人及相关技术的发展具有一定的参考和启发意义。
关键词:机械臂;视觉辨识;机械臂控制系统;单片机中图分类号:TP241;TP273文献标志码:A DOI:10.15913/ki.kjycx.2023.20.030中国对于机械臂控制系统的研究相比发达国家还存在一定的差距,但是近10年来随着视觉辨识技术的发展及中国科技水平和工业自动化水平的提升,机械臂控制系统的研究得到了显著提高。
机械臂的控制系统是机器人的核心部分,其主要功能是使机械臂根据不同的工况进行运动、改变姿态或运行轨迹等,实现机械臂控制的方法有多种,最终目的是使机械臂编程简单、控制方便、操作更加人性化。
归纳起来,现有的比较成熟的机械臂控制方法主要有如下两大类[1]:①固定程序控制的机械臂。
主要的控制方式是采用单片机、可编程控制器或数字信号处理器等作为控制核心,事先将编写好的系统固化在芯片内部,系统开始按照既定程序工作,缺点是工艺、流程、工位等不能随便更改,从这个意义来讲它只能算是一种自动化设备,而不是一种智能化的机械系统[2]。
然而这种控制方式具有系统设计和控制方式非常简单、易于实现的优点,所以在一些工序、工位固定的流水线上经常可以看到,但是它不适于在工序繁杂、工况复杂的环境中应用。
基于OpenCV的机械臂驱动系统设计作者:马超范光宇张治军黄达何群来源:《电脑知识与技术》2016年第33期摘要:该文主要对四自由度机械臂控制系统进行了研究与设计,用于识别物体并抓取运输。
首先,该文先对机械臂的整体机械结构进行设计包括它的底座、躯干、以及机械爪等,然后选择合适的躯干以及钩爪的驱动方式,构建出机械臂的机械结构部分;然后,我们则对其运动方式进行设计,包括电路控制板和驱动装置的选择,数据的接收以及发送方式,以及后期图像接口的设计等;在软件系统上选择了可移植能力强大的OpenCV,其提供的视觉处理算法非常丰富强大:扫描图像对齐、图像去噪、物体分析等,从而加强控制软件的可靠性和机器人运行过程的安全性。
实验表明,该机械臂控制系统采用OpenCV不仅具有很好的控制精度,还具有很好的稳定性、准确性,而且在很大程度上改善了定位精度。
关键词:六自由度机械臂;OpenCV;伺服;制动中图分类号:TP302 文献标识码:A 文章编号:1009-3044(2016)33-0227-031 机械臂控制系统软件设计1.1 开发环境本设计的开发环境是arduino。
Arduino是一款完全开源的电子原型平台,包含了arduino 板和arduino IDE。
由欧洲开发团队开发,使用类似C语言的processing开发环境。
Arduino可以自行设计或者购买已经焊接好的板子,程序代码写在arduino IDE上,实现对arduino板子的控制。
1.2 国内外研究现状作为近几十年来发展起来的一种自动设备,机械臂可以通过编写软件程序来完成目标任务,它不仅大部分机械臂共同的机械有点,而且特别具有人的视觉以及判断能力。
在作业过程中,机械臂控制的准确性和对环境的适应性,已经使其在各个领域有着广阔的发展前景。
高级类型的机械臂,可以执行更复杂的操作。
将机器臂运用于工业生产过程,除了可以提高生产率之外,还能够减弱工人的劳动强度,使生产过程实现自动控制。
因此机械臂在近几年得到了愈来愈广泛的应用。
在国外,工业机器人的发展已经较为成熟,涵盖于各个行业,已经得到了非常广泛的运用,而相比国内,我国基础产业跟不上,机械设计的工艺也达不到一个极高的水平,而且部分设计不够系统科学,大多处于一个模仿的阶段。
以上原因导致我国工业机器人在国际上并不能达到一个较高的水准。
如今国内企业需要革新自己的技术,加强学习才能在国际市场上占有一席之地。
1.3 总体思路1.3.1 机械臂软件设计核心思路摄像头采集视频图像->利用OpenCV获得图像的一帧->对此帧图像进行滤波处理->将图像序列帧由RGB模型转为HSV模型->对得到的二值图像进行轮廓检测->创建回调函数并对得到的三幅图像进行合并->创建滑动条窗口->将得到的图像分为H,S,V三幅单通道图像->在目标体上绘制轮廓。
本文提到的OpenCV函数库是一个开源的跨平台的视觉图像处理库,利用此库中提供的开源算法并加以逻辑上的改进来提取摄像头中帧图像,再使用颜色阈值调节功能进行颜色识别,再对结果进行一系列的处理达到预期要求。
1.3.2 OpenCV简介OpenCV是一个基于开源发型的跨平台计算机视觉库,可以运行在众多操作系统上,由一系列C函数和C++类构成,轻量且高效,其提供的视觉处理算法非常丰富,被大量使用于众多科学领域,卫星地图的图像整合拼凑;医学界病人器官图像的去噪处理;安全系统中的物体动态监测而预警;军事行动中代替人眼而进行众多无人操作与活动,不光如此,在图像处理能力外,还能对声谱图进行识别操作从而进行对声音的识别。
1.4 单一模块1.4.1 颜色识别颜色识别的首当之事应是正确选取颜色空间,常用的颜色空间有RGB、CMY、HSV、HIS等。
本文采用RGB和HSV。
RGB(红、绿、蓝)可以看成一个三维的坐标系,一个坐标点表示一种颜色。
HSV是颜色空间模型。
表示颜色的是Hue,与坐标点不同,他使用有角度的圆形来表示相应颜色,比坐标点更加灵活。
表示饱和度的是Saturation,饱和度越低,则颜色填充就越少,例如圆心处取值为0,那么颜色会非常的淡,从底部往上,圆的半径r越来越大,那么颜色就会越来越深。
表示颜色的亮度的是Value,同理,也是从圆锥底端到顶端的数值渐变,底部表示为黑色,而顶端表示为白色。
在实际实验环境中,RGB颜色经测验非常容易受到强光、弱光、阴影等其他因素的干扰。
相比之下,HSV空间能更加稳定的处理这些光照的变化从而能更好地反应颜色本质、传达正确信息。
1.4.2 图像获取与处理1.4.2.1 图像获取与预处理利用体感周边外设中强大的Kinect摄像头(VideoCapture(…))获取周围环境图像,读取一张图片或视频中的一帧图像,进行两次滤波后利用cvtColor(imgOriginal, imgHSV,COLOR_BGR2HSV)函数进行RGB与HSV的转换,再在HSV空间下对彩色图像做直方图均衡化。
高斯滤波函数:cvSmooth(…CV—GAUSSIAN…)。
真实图像的邻近点像素如果变化,不会十分明显,因为真实图像的像素点是缓慢迁移变化的,但是如果两个像素点倏忽变化的话,便会有很大的像素差,就是我们说的噪点,这时候便要用到广泛用于图像处理的减噪的高斯滤波,他对整幅图进行加权平均,从而能够减少噪声却又不失真(保留信号)。
中值滤波函数:cvSmooth(…CV—MEDIAN…)。
有时候图像中会有孤立的噪声点从而会形成较大差异,这样会影响平均值也会产生较大噪音,所以便使用非线性平滑的中值滤波,他把图像中的孤立的噪声点用其领域中各个点值的中值代替从而有效的去噪并且能够保护信号边缘使之不模糊,其算法也十分简单。
1.4.2.2 图像细处理与生成创建滑动条:返回所读取的颜色参数阙值。
本文设定了6个参数:[LowHue(色度下限值)HighHue(色度上限值)LowSaturation(饱和度下限值)HighSaturation(饱和度上限值)HighBrightness(亮度上限值)LowBrightness(亮度下限值)]之后得到返回的参数阙值,便用于检查图像像素灰度是否在设置的范围内并且可以得到目标颜色的色度、饱和度和亮度单通道图像。
将得到的三个单通道图像进行按位与运算,这样便能检测其二值图像,由于此时会出现噪声,所以采用膨胀腐蚀的方法进行图像形态学处理,使得到的目标体进行最大的连通。
图像生成:查找轮廓和绘制轮廓,轮廓正确勾勒,图像便能正确显示。
利用OpenCV中对灰度图像处理的Canny边缘检测法(cvCanny(…)),将试图独立的候选像素拼装成轮廓,轮廓的形成是对这些像素运用滞后性阙值,Canny边缘检测算法是高斯函数的一阶导数,是对信噪比与定位精度之乘积的最优化逼近算子。
Canny函数输入输出的都为灰度图,在边缘检测完成后,利用“cvFindContours(…)”函数得到输出的图像的轮廓函数(在二值图像中),检测轮廓个数,然后再用“cvDrawContours (…)”函数绘制检测的轮廓。
2 机械臂控制系统硬件设计2.1 自由度及关节本机械手臂采用4个电机实现4自由度,进行手臂的升降,转动,抓取,移动等功能。
2.2 基座及连杆2.2.1 基座基座是机械手臂的支撑,起到稳固的作用,为了使机械手臂更加的稳定,增大其与表面的接触面积,降低重心,提升其稳定性能。
同时,基座的剩余部分,可用于防止控制的单片机及其扩展版,使空间充分利用。
2.3 机械手臂设计机械手是机械行业中必不可少的一个部分,主要起到操作,转移等功能。
根据工件的不同,机械手的精度,重量,形状,光滑程度等都会不一样,以至于达到节省成本或准确夹取工件等实际要求。
一般机械手包括:1)灵巧手;2)吸附手;3)夹取手;4)专用操作器。
本设计因实现的主要功能是夹取物体并转移,工件物体不确定,因此采用夹取手作为机械手臂的机械手进行操作。
2.4 驱动方式调用Servo实现对舵机的控制,定义多个舵机,控制多个舵机,具体内容根据实际情况进行调试。
采用for语句,当红外或者视觉采集到数据,给予反馈,实现舵机的停止或执行下一步。
舵机的转动的角度通过脉冲宽度占空比实现。
由于舵机牌子不同,舵机转动的角度也会不同。
本机械手臂通过电机的扭矩进行传动。
手臂的升降,转动,抓取都是由能够承受很大力的电机进行完成。
在机械手臂抓取物体时,尽量的平稳,并且力不能够过大或者过轻,移动时活动空间大。
机械行业一般常用的驱动方式有液压驱动,电机驱动和气压驱动三种方式,每种驱动方式各有优劣。
本设计机械手臂中,要求驱动时满足一下条件:1)输出功率适中,效率高;2)精准度尽可能的高;3)便于维护,调试;4)安全性高;5)成本低。
综上所述,本设计采用电机驱动的方式对机械手臂进行驱动。
电机参数如表所示:本机械手臂采用控制角度的方式控制手臂。
在初始位确定的情况下,通过控制角度,实现电机的转动,其优点是,能够精确控制位置,但是因为需要进行初始位置,导致运行时间过长。
本文设计方案传动方式为舵机直接传动,故不多作介绍。
3 结论机械臂控制系统是当今社会的一项非常重要的研究课题,尽管其发展已经有了一段很长的历史,但是其发展并不完全成熟。
无论是学术界、工业还是在教育教学方面都一直在进行着这方面的研究,距离成熟阶段还要有一段时间。
本设计是基于OpenCV六自由度机械臂驱动系统的设计,以六自由度机械臂为控制对象,以arduino为开发环境,辅以有着丰富视觉处理算法的OpenCV软件,并在此基础上,采用先进的控制理论,以正确的控制方法为指导,进行了系统的硬件设计。
在整个系统的设计中,硬件的设计是本论文研究的重点,芯片的选型是系统硬件设计的保证,并且辅以可靠性分析为指导,保证了系统运行的可靠性和稳定性。
从实验结果中看出,我们设计制作的基于OpenCV的四自由度机械臂能够和一些中小型机器人控制器的性能要求类似,在操作灵活度、控制精度、易操作性等方面都表现出优秀的性能。
然而,仍有一些不足之处需要进一步的改进。
1)机械臂的传感器提升。
作为机械臂的控制对象,其结构、性能的优劣成为了机械臂的重中之重、中流砥柱,为了实际运行效果的完美,我们机械臂的手爪部分应加入压力等传感器,为控制的精准提供、保证更为完整的信息。
2)完善机械臂自动控制算法。
算法的优良决定了机械臂是否能自动协调运行,特别在输入参数和机械臂抓取后的运输,需要更加优化、灵活的算法,从而将计算出的控制参数变得更加精确和一体。
3)视觉的广泛性运用。
视觉不单单只作用与颜色的阈值识别,还包括如骨骼识别,轮廓识别等等,再后续的研究中,添入以上功能,可以使机械臂的作用范围变得更加的广泛。