时间:2024-07-28
宋黎明,管翼森,孟文宝
(1.洛阳理工学院机器人学院,河南洛阳 471023;2.固高科技(深圳)有限公司,广东深圳 518000)
随着我国城市化进程的加快和人民对美好生活需求的提升,公园、广场、道路两旁、社区周围的绿篱等,是不可或缺的人文风景线。绿篱苗木的修剪及造型作为城市绿化作业中的一项经常性工作,涉及面广,不仅作业内容、对象及条件差异大,而且季节性和地域性特点鲜明[1]。目前,在城市园林、道路两侧隔离绿带养护中,工作人员普遍使用修枝剪刀和手持式绿篱机进行修剪[2]。这种作业方式具有消耗大量体力、工作效率低下和发生事故率高等缺点[3]。由于养护工人短缺的原因,绿化工人上岗前的培训常常无法得到有效落实,技术水平存在着很大的差异,所以修剪后绿篱尺寸的整齐性和美观性往往得不到保证[4]。同时,用机器人代替人力工作是未来的趋势。这就迫切需要研制出一种专门用于绿篱造型的机器人来提高设备的自动化、智能化水平,减少人工造型所带来的各种缺点。
本文采用智能车与修剪机械手相结合的设计思路,以单片机为控制核心,采用人体红外、超声波模块实现移动避障与测距,并且通过Raspberry Pi(树莓派)控制视觉模块识别绿篱外观,并与预设造型匹配,并建立信息通讯,最终由Arduino单片机读取各个模块数据进行实时判断,并进行电机控制,使得机器人自动对小型绿篱进行平面轨迹和正弦轨迹形状的修剪造型。该机器人具有高度的自动化,能够较好地克服人工的缺点,大大减少了人力物力的浪费,实现了设计要求。
本设计以小型绿篱为工作对象,应具备的功能有:(1)识别工作环境中的人和物,保证机器人能够安全、准确地进行移动;(2)根据绿篱高度调节机器人高度,裁剪出符合要求的造型。由于圆柱形机械手具有结构紧凑、活动空间适中,控制简单等优点,因此,本设计将具有四自由度的圆柱形机械手置于具有避障功能的智能车上,共同组成了小型绿篱造型机器人[5]。其组成示意图如图1所示,图中机械手由动力系统、修剪机构和视觉系统组成。该机器人系统以Arduino单片机为主控芯片,由直流电机、舵机和各类传感器和多种调压电路组成。其包括基于ATMEGA系列为核心的主控系统和树莓派为核心的视觉控制系统,控制智能车运动,控制机械臂运动。系统总体框图如图2所示。
图1 机器人组成示意图
图2 系统设计总体结构图
智能车主体采用了12 V供电的25-GA370直流减速电机作为动力源,设计并选择了专用的铝制底板,前、后轮均采用直流电机控制,保证车体的稳定性。机械手由直流电机伸缩杆调节修剪高度,舵机(DG-995 15 kg)用来控制末端执行器旋转的自由度,共同完成末端在空间上的位置变换。末端执行器选择齿形刀具,通过直流减速电机带动齿条移动完成切割工作。机器人三维模型如图3所示。
图3 机器人三维模型图
主控制板是机器人的核心,承担着接收和发送各个模块指令的任务,主控板选用ArduinoUNO R3开发板。因为Arduino是一款便捷灵活、方便上手的开源电子原型平台,其生态中包括多种开发板、模块、扩展板[6]。其中,UNO R3是最适合入门且功能齐全、使用量最多的Arduino开发板。Arduino Uno是一款基于ATmega328P的微控制器板。它有14个数字输入/输出引脚(其中6个可用作PWM输出),6个模拟输入,16 MHz晶振时钟,USB连接,电源插孔,ICSP接头和复位按钮。只需要通过USB数据线连接电脑就能供电、程序下载和数据通讯。
电源模块由电池和可调降压稳压模块组成,其中电池采用4块14.8 V/2 200 mA的航模电池分别为主控板、舵机、直流电机供电和视觉系统供电。可调降压稳压模块选用LM2596S芯片,可以将输入电压为3.3~40 V的输出为1.25~35 V。在系统中需要的输入电压为5 V和12 V,通过调节该模块电阻的阻值来得到需要的电压[7]。
机器人在户外工作时,需要随时获取人和周围障碍物的情况,从而实现对人和障碍物的避障功能。本机器人中选择8个HC-SR04超声波测距模块和4个CT-418型人体热释传感器,均布在智能车前、后、左、右4个方向,用来避障和测距。
HC-SR04超声波测距模块可提供2~400 cm的非接触式距离感测功能,测距精度达到3 mm。由VCC(电源正)、trig(控制端)、echo(接收端)和GND(电源负)4个引脚组成。超声波测距利用I/O触发实现,即主控板发出至少10 μs的高电平信号,模块自动发送8个40 kHz的方波,并不断检测是否有超声波信号返回,如果检测到信号返回,I/O端口输出高电平,且保持的时间就是超声波从发射到接收的时间。最终根据公式s=vt/2计算出距离。
CT-418型人体热释传感器是一种检测人或动物身体发射的红外线而输出电信号的传感器,用于检测人体或动物的活动情况。当该传感器监测到周围温度有变化时,受热释电效应影响会在传感器内部的两个电极上产生电荷,即在两电极之间产生微弱的电压,经放大电路放大后输出信号。
机器人中选择常用的H桥电机驱动模块L298N来实现直流减速电机的控制。主控板通过I/O对L298的输入端写入不同的高或低电平组合,就能够实现对电机转向的控制,从而实现智能车运动。L298N的逻辑表如表1所示。通过主控板基于PWM脉宽调频控制方式的PID控制L298芯片输入端PWM波的占空比可以调整电机转速,以达到稳定控制电机的方向及运动速度,实现机器人在复杂环境下的稳定运动[8]。
表1 L298N的逻辑表
舵机的转动角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的。因此,舵机驱动模块选择以PCA9685为芯片的PWM舵机驱动模块。电压范围为3.3 V和5 V,通过地址控制脚来控制设备的IIC地址。
视觉系统主要由Raspberry Pi(树莓派)控制板和摄像头组成。Raspberry Pi是由树莓派基金会研发的,基于Linux系统的单板机电脑,具有优秀的扩展性和易开发性,适用于各个年龄段的人学习使用,并且支持多种语言进行应用开发,包括C语言和Python脚本等,现有大量的开源软件,也便于实行开发扩展。本项目中选择Raspberry Pi 3B+,采用Broadcom BCM2837B0,CPU主频1.4 GHz,内存为1 GB。
摄像头型号为HBV-1714,采用OV9750(1/3)CMOS传感器,视场角为30°,焦距为3.85 mm,分辨率为1 280×480、50帧/s,通过摄像头实时拍摄绿篱外观,结果反馈至树莓派控制板中进行模板匹配,指导机器人进行外观造型。
根据设计要求,机器人在上电后能够独立完成一段小型绿篱修剪,因此,在上电后,机器人需要能够满足自由移动,并修剪绿篱的动作。将机器人放置在指定位置,各模块初始化,由视觉系统中摄像头拍摄待修剪绿篱外观[9],通过匹配找到合适的修剪方式,并规划机械手运动路径[10],由树莓派将信号发送至Arduino的I/O端口,经过主控板处理后,驱动机械手舵机和末端执行器运动,并且主控板对各个传感器识别信号进行算法逻辑处理后进行控制电机,实现机器人运动。软件设计流程图如图4所示。
图4 系统软件流程图
按照设计图将机器人机械和电控硬件分别安装在相应区域,在实验室中以冬青树(长×宽×高为50 cm×50 cm×100 cm)为模拟实验对象,测试其工作效果,实验结果如表2所示。
表2 实验结果汇总表
本款机器人完成了设计中要求的视觉检测外观,匹配绿篱造型,完成机械手水平、垂直和简谐运动轨迹规划,并能够根据环境条件完成机器人移动作业。通过测试可得该机器人从原理上可以完成小型绿篱外观造型的任务,但是存在一定的误差,该误差可以通过人工适当修复完成,误差产生原因在于机械结构振动、环境中光线变化影响摄像头拍摄等。
经过测试结果可知,本文在小型绿篱造型设计机器人正常移动的前提下,实现了水平、垂直和简谐运动轨迹,总体上控制效果较好,能够完成预期的功能,并且具有自动化较高、操作简单等特点,具有良好的应用前景。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!