版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1研究目的及意义随着工业自动化、智能化和信息化的加速,自动控制正在逐步取代传统人工控制REF_Ref6576\r\h[1]。物料搬运的需求增大,无论是建筑工地的建材搬运还是物联网的仓储管理,都离不开物料搬运REF_Ref1338\r\h[2]。小车搬运系统已经融入了社会生活的方方面面REF_Ref1417\r\h[3]。然而,传统的小车搬运系统存在着操作繁琐,人工成本较高等问题REF_Ref1475\r\h[4]。采用增量式PID算法设计了一种分拣搬运机器人,通过控制X轴和Y轴减速电机实现物体的搬运,采用树莓派4B为控制核心,结合抗干扰黑线提取算法、轨迹图像采集算法及PID转向控制算法,设计了一种智能搬运小车的结构,结果表明设计的智能小车能根据自身的位置、速度及方向适时调节,稳定、快速的到达指定位置REF_Ref1560\r\h[5]。我国物流与采购联合会的《中国物流年鉴(2003)》中对自动化物流系统定义为:自动化物流是集光电信息技术为一体的系统工程,随着信息技术的发展,它具有更广阔的外延,典型的自动化物流技术主要包括自动化立体仓库系统、自动输系统、自动引导车系统AGVS机器人作业系统和自动控制系统等。这些自动化物流系统涉的相关的技术,主要包括自动仓库技术、分拣自动化技术、自动引导车(AGV)技术等。自动引导小车,是指装配了传感器,能够感知工作环境沿规定的路径行驶,并且可以设置运行参数的全自动小车REF_Ref1678\r\h[6]。随着科学技术的进步,物资仓储管理也有了更多的选择性,通过电子信息化建设,能够更好地提高物资仓储管理效率REF_Ref30141\r\h[7]。因此,自动引导小车在智能制造领域的应用越来越广泛。能够大量节省人力物力,人们在日常生活中,也切实地享受到了其带来的便捷,例如,快递分拣小车、火灾现场寻路、扫地机器人等等REF_Ref2302\r\h[8]。对于人力搬运而言,以往会使用人工叉车进行搬运,工作效率较低,而且存在危险REF_Ref30602\r\h[9]。使用自动引导小车不仅可以在无人监控的状态下正常运行,同时也可以通过在车的四周装上一些避障传感器来有效地躲避障碍物,有效地将人员的伤害降到了最低点REF_Ref10645\r\h[10]。近年来,随着我国自动化技术的不断发展,智能搬运小车的发展主要由机械结构部分和硬件控制电路部分组成,具有场地目标位置识别、自主路径规划、自主移动、二维码读取、物料颜色识别或形状识别、物料抓取和搬运等功能REF_Ref10720\r\h[11]。1.2国内外研究现状随着社会经济的迅速发展,工业搬运小车逐渐发展起来,进一步提高生产与分拣效率正成为行业的发展趋势,同时具有庞大的市场需求REF_Ref2426\r\h[12]。2022年,杨日容在《基于直流电机的智能搬运小车设计与实现》文中谈到设计了基于单片机控制的智能搬运小车,融合了计算机、传感器、自动控制原理、通信技术和人工智能等多个学科为一体。能够通过各类传感器对物料、路径以及外部环境进行多方位的感知与识别REF_Ref2458\r\h[13]。2021年,叶昊宸,王会良,张志高在《基于单片机控制的智能物料搬运小车的设计》文中介绍了小车整体由电路硬件系统、机械系统和软件系统三个系统构成。软件系统通过程序编写并烧录至单片机,控制主控模块芯片与ArduinoNano单片机,从而用于小车整体识别、通信与控制等过程的实现。机械系统负责执行相关运动任务,实现任务目标REF_Ref2488\r\h[14]。2020年,林健全,刘浩捷,孙伟卿在《基于STM32的智能物料搬运小车》文中讲到,文以智慧工厂中常见的搬运小车为研究对象,给出了小车总体结构、硬件设计、软件设计、系统联调四个主要设计内容,最终实现了智能搬运小车常见的沿线走、避障、站点设计、到站停、显示路程等功能REF_Ref2524\r\h[15]。2023年,VlachosIliasP.,PascazziRodrigoMartinez,ZobolasGeorge在《LeanmanufacturingsystemsintheareaofIndustry4.0:aleanautomationplanofAGVs/IoTintegration》文章中讲到将自动导引车(AGV)和物联网(IoT)来制定计划,帮助管理者将工业4.0技术集成到他们的制造系统中,实现精益自动化,通过自动化提高效率REF_Ref2556\r\h[17]。2023年,DemirMehmetHakan,DemirokMehmet在《DesignsofParticle-Swarm-Optimization-BasedIntelligentPIDControllersandDC/DCBuckConvertersforPEMFuel-Cell-PoweredFour-WheeledAutomatedGuidedVehicle》文中指出对于自动导引车(AGV),以最大的能源效率最大化运行时间是提高工作效率的最重要因素。将开发基于粒子群优化(PSO)的智能PID和I控制器,以最大限度地提高AGV的路由跟踪性能和DC/DC转换器的电压跟踪性能,同时降低功耗REF_Ref2582\r\h[18]。2022年,SteclikTomasz,CupekRafal,DrewniakMarek在《AutomaticgroupingofproductiondatainIndustry4.0:TheusecaseofinternallogisticssystemsbasedonAutomatedGuidedVehicles》文中提出一种基于流信息的AGV工作类型自动检测方法。通过K-meanss和DBScan两种不同经典聚类算法得到的结果比较。结果表明可用这两种方法之一自动检测AGV所执行的工作类型,并检测新的、以前未知的类型REF_Ref2612\r\h[19]。2021年,PrabowoYA,ImaduddinRI,PambudiWS在《Identificationofautomaticguidedvehicle(agv)basedonmagneticguidedsensorforindustrialmaterialtransfer》中对采用磁导式传感器的AGV设计一种控制器,来精准控制AGV运作REF_Ref3618\r\h[20]。2019年,AlexanderASGunawan,ValdiStevanus,AlbertusFarley在《DevelopmentofSmartTrolleySystemBasedonAndroidSmartphoneSensors》中通过使用IOIO微控制器和Android智能手机作为传感器和控制器设计的智能小车REF_Ref4878\r\h[21]。综上所述,近年来,随着工业AGV小车和汽车电子的迅速发展,智能小车得到了广泛的研究,所以对于搬运小车的控制研究也越来越多REF_Ref2651\r\h[16]。1.3主要研究内容通过PYTHON3等软件进行编程,同时不断进行实物调试测试,小车可以实现对任务的读取和不同颜色物料的识别。准确完成按照指令进行物料的抓取、物料的搬运,满足搬运小车运行的设计目标。该系统应完成的主要功能有:1.使用WIFI通信技术,手机端上位机;2.用户可在手机端进行功能选择切换:手机遥控、颜色识别;3.用户可在手机端接收搬运小车回传来的画面;4.用户可在手机端控制搬运小车移动;5.搬运小车可通过摄像头实时采集画面并回传到手机;6.搬运小车可接收手机端指令控制;7.搬运小车可完成物体抓取,搬运功能;8.搬运小车可完成颜色识别追踪功能;
第2章系统的总体结构2.1总体方案设计为实现搬运不同颜色的物料,响应智能制造发展的要求,设计了一款远程视像搬运小车控制系统设计。该小车采用模块化设计,由主控模块、摄像头模块、颜色识别传感器模块、电机驱动与机械臂等模块组成。主控模块芯片采用树莓派4B,能够用于处理各传感器收集到的数据,控制或驱动各个模块的工作。上位机上位机WiFi模块主控模块舵机模块颜色识别传感器模块摄像头模块电机驱动模块图2.1系统模块框图主控模块以树莓派4B为核心,发布的指令通过树莓派传输至舵机和小车,操控二者上下(左右)运动。摄像头装在舵机上,采集周围图像信息后传输至上位机。数据通过WIFI模块上传至云端,上位机在通过WIFI连接获取云端数据,使得能够实时查看摄像头拍取的画面。同时上位机也可通过WiFi模块完成远程操控。2.2功能需求分析2.2.1技术路线(1)硬件部分需要树莓派4B控制系统、高清摄像头、高性能总线舵机、编码器电机;(2)软件平台程序用PYTHON3等软件;(3)画原理图用AD;(4)编程语言用Python;(5)用户信息通过手机显示查看;2.3单片机型号选择主芯片可以选择树莓派4B、51单片机或32单片机。树莓派确实是一种嵌入式计算机,但与传统的台式机或笔记本电脑相比,它更加灵活、可定制化。除了使用TF卡作为存储介质外,树莓派的处理器、内存等硬件也不同于传统计算机,但其所能完成的任务却相当广泛。在树莓派上可以安装各种操作系统,包括Linux系统和Windows10IoTCore等。通过不同的软件和编程语言,树莓派可以用于各种不同的应用场景,例如物联网设备、媒体中心、智能家居等等。在树莓派上搭建一个迷你的Web服务器,搭建一个智能家居系统,制作一个机器人等等,这些都是非常有趣而且有意义的项目。总的来说,树莓派是一个非常有用和多才多艺的工具,可以让人们尝试不同的技术和项目,以及实现一些有趣的想法。51单片机/STC单片机是一种基于哈佛结构的8位单片机,是一种低成本、高性能、易于掌握和广泛应用的微控制器。它们通常使用汇编语言或C语言进行编程,具有低功耗、稳定性高等特点,常用于各种家电控制、工业控制、汽车电子、安防系统、智能家居等应用领域。其主要优势是价格低廉、易于掌握、开发资料丰富、外设资源齐全、内部Flash可编程等。而其主要缺点是运行速度慢、片上资源有限、缺少先进的外设资源和通信接口、不适用于高性能要求的场合。STM32是一种基于ARM架构的32位微控制器,在嵌入式系统的领域应用非常广泛。其通讯接口丰富,GPIO数量多,定时器数量多,中断系统完善,可用于读取大量传感器等,因此非常适合用于复杂逻辑的应用中。同时,STM32也存在着一些缺点,如价格较高,上手有一定难度等。所以综上所述,我选择树莓派4B单片机,其原理图如下。图2.2树莓派4B原理图第3章系统的硬件部分设计3.1系统总体设计为实现搬运不同颜色的物料,响应智能制造发展的要求,设计了一款远程视像搬运小车控制系统设计。该小车采用模块化设计,由主控模块、摄像头模块、颜色识别传感器模块、电机驱动与机械臂等模块组成。主控模块芯片采用树莓派4B,能够用于处理各传感器收集到的数据,控制或驱动各个模块的工作。总原理图如下图:图3.1系统总体原理图3.2系统的主要功能模块设计3.2.1蜂鸣器电路模块设计蜂鸣器是一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。结构一般为:1、蜂鸣器:发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流方波)等。这些都需要根据需要进行选择。2、续流二极管:蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏三极管,并干扰整个电路系统的其他部分。3、滤波电容:其作用是滤波,滤除蜂鸣器电流对其他部分的影响,也可以改善电源的交流阻抗,如果可能,最好是再并联一个220uF的电解电容。4、三极管:起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声。其原理图为:图3.2蜂鸣器原理图3.2.2YX4055AM驱动电路模块设计通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作。内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。原理图如下。图3.3驱动电路模块设计3.2.3按键电路模块设计本系统用到了俩个独立按键,其中一个用作系统的开始,另外一个用作系统的关闭,该种接法查询简单,程序处理简单,可节省CPU资源,2个独立按键分别与单片机的两个接口相连。原理图如下所示。图3.4按键电路模块设计3.2.4颜色识别传感器模块设计TCS34725传感器模块的工作原理是利用L ED发光照射到被测物体后,检测其返回的RGB比例值,进而进行颜色识别。其具有功耗小、体积小、安装方便等优点,可以通过串口UART或者 IIC进行数据读取和控制。此外,TC S34 725还具有7种颜色识别功能,并且可以设置单独传感器芯片工作模式,作为简单传感器模块,MC U不参与数据处理工作。这使得T CS3 472 5能够适应不同的工作环境,与单片机及电脑连接原理图如下。图3.5颜色识别传感器模块原理图3.2.5USB单目摄像头模块设计USB单目摄像头具有30万像素(640x480像素),其采用OV7725摄像头,其具有体积小、工作电压低,高效的特点。由于处理图像时使用的电流小于200MA,其又拥有USB接口,便于与树莓派4B进行连接。树莓派中,有俩个摄像头接口,一个USB和CSI接口,USB摄像头有比较长,比较灵活的USB线,方便灵活,所以采用树莓派USB2.0将树莓派4B与摄像头连接。模块图如下。图3.6USB单目摄像头模块3.2.6舵机模块设计舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统,通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。原理图如下。图3.7舵机模块原理图3.2.7WiFi通讯模块ESP8266模块是以单核32位mcuwifi芯片为主。其特点是拥有高性能无线soc,是一个完整且自成体系的wifi网络方案,能够独立运行,也可以作为slave搭载其他host运行。ESP8266WIFI串口通信模块应该是使用最广泛的一种WIFI模块之一了,因为ESP8266模块是一款高性能的WIFI串口模块。Esp8266WiFi模组原理图如下图。图3.8Esp8266WiFi模组原理图第4章系统的软件设计4.1系统的总体流程系统的软件部分主要进行小车前进设计,颜色识别设计等。程序开始运行后首先要进行初始化,将单片机的各引脚的状态按程序中的初始化命令进行初始化,单片机初始化完成后继电器控制电路导通,随后用上位机发布指令通过WIFI模块控制小车进行移动或者控制舵机左右移动。系统的总体流程图如下所示。上位机上位机WiFi模块树莓派舵机模块电机驱动模块图像传输摄像头模块颜色识别传感器数据传至云平台小车移动图4.1系统总体流程图
4.2蜂鸣器报警电路模块软件设计程序开始运行后,首先进行单片机的初始化,初始化成功后,执行小车移动或其他程序,程序运行完成后,蜂鸣器报警,发声0.5秒。由于树莓派主板上含有有源蜂鸣器,其内置振荡源,所以通电即可发出声音,其流程图如下所示。开始开始单片机初始化初始化是否成功?通过上位机发布指令执行某程序,例如小车前进结束是否是否执行成功该程序?蜂鸣器工作否是图4.2蜂鸣器工作流程图4.3驱动电路软件模块设计当单片机初始化完成后,驱动电路电路导通。随后电机驱动模块开始运行,小车随即开始运动。上位机通过WiFi模块控制树莓派4B,随后控制电机驱动模块对小车进行移动。其工作流程图如下所示。开始开始单片机初始化初始化是否成功?电路导通驱动电路开始工作结束是否图4.3驱动电路工作流程图
4.4按键电路模块设计当单片机初始化完成后,通过俩个按键传感器,系统可正常开始工作。其中分别负责开始和停止功能。按一号键开始,电源通电,单片机初始化,单片机初始化成功后,电路导通,即可开始完成各个程序的运行。如完成程序后,想关闭程序,即可直接按二号键结束,其可以直接关闭电源,停止通电。通过控制按键电路执行程序,其流程图如下。单片机初始化单片机初始化初始化是否成功?电路导通按二号键结束,关闭电源结束是否按一号键开始,通电图4.4按键模块工作流程图
4.5颜色识别模块软件设计当系统初始化完成后,开始正常工作。上位机选择颜色识别,下位机颜色识别传感器开始工作。上位机可以选择一个颜色,通过WiFi模块对主控模块下达命令,随后传感器识别到该颜色后会发送信号给单片机,单片机发送指令控制舵机向颜色传感器识别出颜色的方位转动。流程图如下。开始开始单片机初始化上位机选择颜色识别模式,并选择颜色下位机根据颜色寻找物体位置找到该色物体位置,发送信号给单片机初始化是否成功?否是单片机命令舵机对该色物体位置进行转动结束图4.5颜色识别传感器流程图4.6摄像机模块软件设计当单片机初始化完成后,开始正常工作。摄像机模块将开始工作,对前方的画面进行实时拍摄,并将画面信号发送给单片机。单片机可以对画面信号进行处理,发送给传感器可以进行颜色识别功能,发送给上位机可以进行对目标物体进行夹取或进行其他操作。流程图如下。开始开始结束初始化完成摄像机开始工作实时拍摄画面传送给单片机单片机处理画面信号,发送到传感器和上位机进行相应操作 图4.6摄像机模块流程图4.7舵机模块软件设计当系统初始化完成后,开始正常工作。下位机的PWM舵机将接受来自于上位机的信号,随后不同位置的舵机将根据指令做不同的转动。以此来完成手臂的运动工作。例如,完成颜色识别功能,对目标颜色物体位置进行转动。流程图如下。开始开始结束初始化完成上位机发送运动信号舵机接受信号,作出相应动作手臂开始运动图4.7舵机模块软件设计4.8WIFI通讯模块软件设计系统初始化完成后,开始正常工作。单片机将实时获取系统中各项数据并通过WiFi模块上传至云端,随后上位机可以从云端获取系统的实时运行信息,从而实现远程操控。本设计通过WIFI模块进行颜色识别,对前方画面进行实时拍摄。其流程图如下。开始初始化完成开始初始化完成传感器检测各项实时数值数据发生给单片机单片机通过WiFi模块发送给云端上位机从云端获取实时信息实现远程操控图4.8WiFi模块流程图第5章系统测试5.1系统实物图车体结构:小车的车体是其基础结构,通常采用坚固耐用的材料构建。车体的设计应考虑到搬运物品的重量和尺寸,以确保足够的稳定性和承载能力。驱动系统:小车的驱动系统负责提供动力和控制车辆的运动。常见的驱动系统包括电动马达、液压系统或气压系统。这些驱动系统通过传动装置(如齿轮或传动带)将动力传递到车轮上,驱动小车前进、后退或转向。控制系统:小车的控制系统是远程视像搬运小车控制的核心。它包括传感器、控制器和通信模块等组件。传感器用于获取车辆和周围环境的信息,控制器根据传感器数据制定相应的控制策略,通信模块实现与远程操作中心的数据传输和指令交互。视像系统:远程视像搬运小车通常配备视像系统,包括摄像头和显示设备。摄像头用于实时拍摄搬运过程,将图像传输到远程操作中心,供操作人员进行远程监控和指导。显示设备可以是显示屏等,用于操作人员观看实时视频和搬运任务信息。综上所述,远程视像搬运小车的组成结构包括车体结构、驱动系统、搬运装置、控制系统和视像系统等关键组件。这些组件的合理设计和优化可以提高小车的稳定性、机动性和搬运效率。图5.1成品实物图图5.2上位机界面图5.2测试原理远程视像搬运小车的软件控制硬件调试过程涉及到软件和硬件之间的相互配合和调试。远程视像搬运小车的软件控制硬件调试过程是确保软件与硬件之间正常通信和协作的关键步骤。首先,需要确保硬件连接正确。将摄像头、电机、电池和其他传感器等硬件模块正确连接到主控板。检查每个连接的稳固性和正确性,以防止松动或错误连接导致通信故障。接下来,进行硬件驱动的调试。通过软件控制,逐个测试电机和传感器的工作情况。确保电机能够按照指令旋转并具有正确的速度和方向。同时,通过读取传感器数据,验证传感器的准确性和稳定性。如果发现问题,需要检查硬件连接和配置,并进行相应的调整。在硬件调试完成后,进行软件控制的调试。编写代码来实现远程视像搬运小车的功能,如视觉识别、远程控制等。通过与主控板的通信接口(如UART、SPI或I2C)进行交互,确保指令的正确传递和执行。测试远程视像功能,验证摄像头的图像采集和传输是否正常。进行软件调试时,可以使用调试工具或串口打印输出来监视代码执行过程中的变量值和程序流程。通过调试工具的断点功能,可以逐步跟踪代码的执行过程,以找出潜在的错误或异常情况。最后,进行整体的功能测试。将远程视像搬运小车放置在合适的环境中,并进行远程控制、物体识别等操作。观察小车的行动和功能是否符合预期。根据测试结果,对软件控制和硬件配置进行必要的优化和调整,以确保远程视像搬运小车的正常运行。通过以上的软件控制和硬件调试过程,可以确保远程视像搬运小车的功能正常、稳定运行,并能够根据指令进行视觉搬运任务。5.2.1硬件实物测试系统开始运行,通过上位机控制舵机工作,几个舵机分别位于小车的机械臂关节上,以此控制机械臂运行,电机驱动可以控制小车移动,前后左右方向都可以操控。随后设置障碍物,当小车运行到障碍物前时,上位机可以控制机械臂将物体举起;在上位机选择颜色识别功能并选择物体颜色为红色,当检测到红色的物体位置发生变化时,机械臂可以随着物体的方位变化而变化,若不是红色的物体,小车机械臂不动。实验成功。图5.3控制机械手臂拿红色重物图5.4识别到不同方位的物体机械臂换方向5.2.2软件调试——树莓派系统的基本操作如何将树莓派4B连接到手机并进行调试。这里有一些步骤:第一步:准备工作:在开始之前,您需要准备以下物品:树莓派4B、一个Micro-HDMItoHDMI转接器、一根HDMI线、一个Micro-USBtoUSB-C数据线、一台装有Android系统的手机、一个OTG线、一个USB鼠标。第二步:连接树莓派和手机、将Micro-HDMI转接器插入树莓派的Micro-HDMI端口。将HDMI线插入转接器的HDMI端口。将Micro-USB数据线插入树莓派的USB-C端口。将OTG线插入手机的Micro-USB端口。将另一端的OTG线插入树莓派的USB-A端口。如果需要连接USB鼠标,请将USB鼠标插入树莓派的USB-A端口。第三步:打开开发者选项、在手机上,您需要打开开发者选项。这是一个隐藏的选项,需要进行特定的操作才能找到它。以下是如何打开它的步骤:打开手机的“设置”应用程序。滚动到底部并点击“关于手机”。找到“版本号”并连续点击7次。返回到设置菜单,您应该看到一个新的选项:“开发者选项”。点击“开发者选项”并启用“USB调试”。第四步:在树莓派上打开终端。现在,您需要在树莓派上打开终端。您可以通过以下步骤完成:将树莓派连接到显示器。在树莓派上启动终端应用程序。在终端中输入以下命令以安装ADB:sudoapt-getupdate、sudoapt-getinstalladb在终端中输入以下命令以连接到手机:adbdevices、如果连接成功,您应该会在终端中看到您的设备名称。完成步骤后可以使用ADB命令在树莓派上进行与手机相关的调试工作。到此为止,已经成功地将树莓派4B连接到手机并进行了调试。图5.5配置界面第6章总结与展望6.1总结在智能小车设计过程中,分为硬件和软件俩部分,在硬件部分设计了树莓派4B的最小系统、YX4055AM驱动电路、颜色识别传感器模块,软件部分通过查询资料,主要设计了颜色识别、小车前进等代码设计。系统的调试是通过一块树莓派4B开发板,再借助于PYTHON3等软件进行调试。调试结果符合预期。6.2展望远程视像搬运小车是一种具有搬运和视觉功能的智能设备,随着技术的不断进步,它有着许多潜在的新功能和应用。远程视像搬运小车在当前的功能基础上,可以进一步发展和创新,实现更多的新功能。以下是几个可能的新功能展望:自主导航和路径规划:远程视像搬运小车可以配备更高级的导航系统和路径规划算法。通过结合激光雷达、超声波传感器等先进的导航技术,小车可以自主避开障碍物、规划最优路径,并实现自主导航功能。智能物体识别与抓取:远程视像搬运小车可以通过视觉识别技术,实现对不同类型物体的智能识别和抓取。利用深度学习算法和图像处理技术,小车可以准确识别目标物体,并根据预设的抓取策略进行抓取操作。多模式远程控制:除了传统的手动远程控制,远程视像搬运小车可以引入更多的控制模式。例如,语音控制、姿势识别或虚拟现实技术,使用户可以以更直观和便捷的方式与小车进行交互和控制。多台小车协同工作:多台远程视像搬运小车可以通过网络通信进行协同工作,实现更复杂的任务。例如,可以将小车组成小组,共同协作搬运大型物体或分担工作负载,提高效率和灵活性。数据共享与远程协助:远程视像搬运小车可以将实时的视觉信息和操作数据与远程用户共享,实现远程协助和监控。通过网络连接和实时视频传输,用户可以远程观察和操作小车,实现远程协助和指导。随着科技的进步和需求的不断变化,远程视像搬运小车的新功能将为工业、仓储、医疗和家庭等领域带来更多的应用和便利。
参考文献[1]李洋,齐晓震,马勇,等.工业机器人在汽车行业机械加工中的应用前景分析[J].时代汽车,2023(10):25-27.[2]张浩,夏志平,张树宁,等.基于FreeRTOS的智能搬运小车新型控制研究[J].组合机床与自动化加工技术,2021,(03):102-105.[3]李爽,张志勇,于跃,等.智能应用型搬运机器人设计[J].科学技术创新,2021(22):191-192.[4]周子楠,杨琦,何海燕.基于STM32的智能物流机器人的设计[J].九江学院学报(自然科学版),2020,35(02):71-77.[5]白焕鑫,刘文飞,孟鑫,等.基于STM32的智能物料搬运小车[J].科技与创新,2022(16):44-47+51.[6]黄金豪.基于群智能优化与RRT的室内AGV路径规划算法研究[D].苏州科技大学,2022.[7]刘刚,孟瑞斌,张宁恩,等.物资仓储管理电子信息化建设分析[J].信息系统工程,2023.[8]吕秉航.基于蚁群粒子群融合算法的AGV路径规划算法研究[D].海南大学,2022.[9]马书志.工业互联网技术在数字化物流管理中的应用[J].网络安全和信息化,2023(04):25-27.[10]刘伟卓.搬运AGV系统设计及路径规划研究[D].中北大学,2022.[11]葛旺,张连震,钱思屹,等.基于Arduino的物料搬运控制系统设计[J].电子设计工程,2022,30(12):98-102.[12]孙宇翔,陈浩鹏,任传荣.基于精英策略的蚁群算法在AGV路径优化中的应用[J].物流工程与管理,2022,44(03):30-32.[13]杨日容.基于直流电机的智能搬运小车设计与实现[C],电子制作.2022.[14]叶昊宸,王会良,张志高,等.基于单片机控制的智能物料搬运小车的设计[P].科学技术创新,2021.[15]林健全,刘浩捷,孙伟卿.基于STM32的智能物料搬运小车[M].软件,2020.[16]金鑫.AGV小车的发展现状与应用趋势[J].北京工业职业技术学院学报,2021,20(01):10-13.[17]VlachosIliasP,PascazziRodrigoMartinez,ZobolasGeorge,etal.LeanmanufacturingsystemsintheareaofIndustry4.0:aleanautomationplanofAGVs/IoTintegration[J].ProductionPlanning&Control,2023,34(4).[18]DemirMehmetHakan,DemirokMehmet.DesignsofParticle-Swarm-Optimization-BasedIntelligentPIDControllersandDC/DCBuckConvertersforPEMFuel-Cell-PoweredFour-WheeledAutomatedGuidedVehicle[J].AppliedSciences,2023,13(5).[19]SteclikTomasz,CupekRafal,DrewniakMarek.AutomaticgroupingofproductiondatainIndustry4.0:TheusecaseofinternallogisticssystemsbasedonAutomatedGuidedVehicles[J].JournalofComputationalScience,2022,62.[20]PrabowoYA,ImaduddinRI,PambudiWS,etal.Identificationofautomaticguidedvehicle(agv)basedonmagneticguidedsensorforindustrialmaterialtransfer[J].IOPConferenceSeries:MaterialsScienceandEngineering,2021,1010(1).[21]AlexanderASGunawan,ValdiStevanus,AlbertusFarley,etal.DevelopmentofSmartTrolleySystemBasedonAndroidSmartphoneSensors[J].ProcediaComputerScience,2019,157(C).
附录附录A系统总电路图图A.1系统总电路图附录B源代码#!/usr/bin/python3#coding=utf8#Date:2022/06/30importsysimporttimeimportsignalimportBoardasBoardprint('''****************************************************************蜂鸣器控制******************************************************************''')ifsys.version_info.major==2:print('Pleaserunthisprogramwithpython3!')sys.exit(0)#关闭前处理defstop(signum,frame):Board.setBuzzer(0)#关闭蜂鸣器signal.signal(signal.SIGINT,stop)if__name__=='__main__':#蜂鸣器响0.5SBoard.setBuzzer(1)#设置蜂鸣器响time.sleep(0.5)#延时0.5SBoard.setBuzzer(0)#关闭蜂鸣器#!/usr/bin/python3#coding=utf8importsysimportrospyfromchassis_control.msgimport*ifsys.version_info.major==2:print('Pleaserunthisprogramwithpython3!')sys.exit(0)print('''*************************************************************************功能:小车前后左右移动**************************************************************************''')start=True#关闭前处理defstop():globalstartstart=Falseprint('关闭中...')set_velocity.publish(0,0,0)#发布底盘控制消息,停止移动if__name__=='__main__':#初始化节点rospy.init_node('car_move_demo',log_level=rospy.DEBUG)rospy.on_shutdown(stop)#麦轮底盘控制set_velocity=rospy.Publisher('/chassis_control/set_velocity',SetVelocity,queue_size=1)whilestart:#发布底盘控制消息,线速度60,方向角90,偏航角速度0(小于0,为顺时针方向)set_velocity.publish(60,90,0)#向前移动rospy.sleep(2)#延时2秒set_velocity.publish(60,0,0)#向右移动rospy.sleep(2)#延时2秒set_velocity.publish(60,270,0)#向后移动rospy.sleep(2)#延时2秒set_velocity.publish(60,180,0)#向左移动rospy.sleep(2)set_velocity.publish(0,0,0)#发布底盘控制消息,停止移动print('已关闭')#!/usr/bin/python3#coding=utf8#Date:2022/05/30importsysimportcv2importmathimportrospyimportnumpyasnpfromthreadingimportRLock,Timerfromstd_srvs.srvimport*fromstd_msgs.msgimport*fromsensor_msgs.msgimportImagefromsensor.msgimportLedfromcolor_tracking.srvimportSetTargetfromvisual_processing.msgimportResultfromvisual_processing.srvimportSetParamfromhiwonder_servo_msgs.msgimportMultiRawIdPosDurfromarmpi_proimportPIDfromarmpi_proimportMiscfromarmpi_proimportbus_servo_controlfromkinematicsimportik_transform#颜色跟踪lock=RLock()ik=ik_transform.ArmIK()__isRunning=Falsetarget_color='None'img_w=640img_h=480x_dis=500y_dis=0.167Z_DIS=0.2z_dis=Z_DISRADIUS=45x_pid=PID.PID(P=0.08,I=0.001,D=0)#pid初始化y1_pid=PID.PID(P=0.0008,I=0,D=0)y2_pid=PID.PID(P=0.0003,I=0,D=0)z_pid=PID.PID(P=0.00003,I=0,D=0)range_rgb={'red':(0,0,255),'blue':(255,0,0),'green':(0,255,0),'black':(0,0,0),'white':(255,255,255)}#初始位置definitMove(delay=True):withlock:target=ik.setPitchRanges((0,y_dis,Z_DIS),-90,-92,-88)#逆运动学求解iftarget:servo_data=target[1]bus_servo_control.set_servos(joints_pub,1500,((1,200),(2,500),(3,servo_data['servo3']),(4,servo_data['servo4']),(5,servo_data['servo5']),(6,servo_data['servo6'])))ifdelay:rospy.sleep(2)#关闭扩展板RGB彩灯defturn_off_rgb():led=Led()led.index=0led.rgb.r=0led.rgb.g=0led.rgb.b=0rgb_pub.publish(led)led.index=1rgb_pub.publish(led)#变量重置defreset():globaltarget_colorglobalx_dis,y_dis,z_diswithlock:x_dis=500y_dis=0.167z_dis=Z_DISx_pid.clear()y1_pid.clear()y2_pid.clear()z_pid.clear()turn_off_rgb()target_color='None'#初始化definit():rospy.loginfo("colortrackingInit")initMove()reset()#图像处理结果回调函数defrun(msg):globalx_dis,y_dis,z_discenter_x=msg.center_xcenter_y=msg.center_yradius=msg.datawithlock:if__isRunningandtarget_color!='None':ifradius>20:#X轴追踪x_pid.SetPoint=img_w/2.0#设定x_pid.update(center_x)#当前dx=x_pid.output#输出x_dis+=int(dx)#限幅x_dis=200ifx_dis<200elsex_disx_dis=800ifx_dis>800elsex_dis#Y轴正方向追踪ifradius-RADIUS<-3:y1_pid.SetPoint=RADIUS#设定y1_pid.update(radius)#当前dy=y1_pid.output#输出#Y轴负方向追踪elifradius-RADIUS>5:y2_pid.SetPoint=RADIUS#设定y2_pid.update(radius)#当前dy=y2_pid.output#输出else:dy=0y_dis+=dyy_dis=0.12ify_dis<0.12elsey_disy_dis=0.25ify_dis>0.25elsey_dis#Z轴追踪z_pid.SetPoint=img_h/2.0#设定z_pid.update(center_y)#当前dy=z_pid.output#输出z_dis+=dyz_dis=0.22ifz_dis>0.22elsez_disz_dis=0.17ifz_dis<0.17elsez_distarget=ik.setPitchRanges((0,round(y_dis,4),round(z_dis,4)),-90,-85,-95)#逆运动学求解iftarget:#发布舵机控制节点消息,移动机械臂servo_data=target[1]bus_servo_control.set_servos(joints_pub,20,((3,servo_data['servo3']),(4,servo_data['servo4']),(5,servo_data['servo5']),(6,x_dis)))result_sub=Noneheartbeat_timer=None#APPenter服务回调函数defenter_func(msg):globallockglobal__isRunningglobalresult_subrospy.loginfo("entercolortracking")init()withlock:ifresult_subisNone:rospy.ServiceProxy('/visual_processing/enter',Trigger)()result_sub=rospy.Subscriber('/visual_processing/result',Result,run)return[True,'enter']#APPexit服务回调函数defexit_func(msg):globallockglobal__isRunningglobalresult_subglobalheartbeat_timerrospy.loginfo("exitcolortracking")withlock:rospy.ServiceProxy('/visual_processing/exit',Trigger)()__isRunning=Falsereset()try:ifresult_subisnotNone:result_sub.unregister()result_sub=Noneifheartbeat_timerisnotNone:heartbeat_timer.cancel()heartbeat_timer=NoneexceptBaseExceptionase:rospy.loginfo('%s',e)return[True,'exit']#开始运行函数defstart_running():globallockglobal__isRunningrospy.loginfo("startrunningcolortracking")withlock:__isRunning=True#停止运行函数defstop_running():globallockglobal__isRunningrospy.loginfo("stoprunningcolortracking")withlock:reset()__isRunning=FalseinitMove(delay=False)rospy.ServiceProxy('/visual_processing/set_running',SetParam)()#APPrunning服务回调函数defset_running(msg):ifmsg.data:start_running()else:stop_running()return[True,'set_running']#APPset_target服务回调函数defset_target(msg):globallockglobaltarget_colorrospy.loginfo("%s",msg)withlock:target_color=msg.dataled=Led()led.index=0led.rgb.r=range_rgb[target_color][2]led.rgb.g=range_rgb[target_color][1]
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年针织连裤袜项目投资价值分析报告
- 2024年中国疏水泵市场调查研究报告
- 2024至2030年电脑内存项目投资价值分析报告
- 2024至2030年喷气面料项目投资价值分析报告
- 2024年高级防霉封固底漆项目可行性研究报告
- 2024年牛反绒海绵口棉鞋项目可行性研究报告
- 2024年气体净化剂项目可行性研究报告
- 医学教材 安定药
- 劳动保护规章制度与要求措施
- 少先队活动教学计划
- 建筑识图题库(260题)
- 拖拉机驾驶员培训教学课件
- 危险品培训课件(63张)
- 万兴神剪手的使用方法
- 储能项目竣工报告
- WORD版本刻度尺-A4纸打印可用
- 硫化氢二氧化碳分离技术对比
- 四年级上册数学试题-第六单元 除数是两位数的除法 测试卷-人教版【含答案】
- 部编版五年级上学期上册国学经典教育传统文化经典诵读ppt课件
- 通用城实景三维数据生产项目技术设计书
- GB∕T 16422.3-2022 塑料 实验室光源暴露试验方法 第3部分:荧光紫外灯
评论
0/150
提交评论