1. 引言
工厂车间中有大功率的机器及发电机组,当机器开动会产生极大的噪音,这些噪声污染不仅严重影响工厂工作人员的身体健康,而且浪费了大量的能量[1]。噪声作为一种声能,当噪声的声音强度达到一定能量值时就可以被利用。目前通常采用吸声的方法来控制噪声[2]。如果采用一种声电转换材料,或者其他的声电转换装置,一方面可以吸收噪声,另一方面则可以将噪声能量收集起来转换成电能加以利用[3],根据相关研究,这种方法是可行的。如噪声达到160 dB的喷气式飞机,其声功率达到10000 W;噪声达到140 dB的大型鼓风机,其声功率为100 W。
2. 基于反式喇叭的噪声发电机构
2.1. 喇叭的声电转化原理
当音频电流通过扬声器的音圈时,这个通电的线圈就会产生磁场。同时,扬声器内部还设有一个固定的永磁体,它产生一个恒定的磁场,声电转换装置原理图如图1所示。
Figure 1. Schematic diagram of dynamic microphone sound-to-electricity conversion device
图1. 动圈式声电转换装置原理图
当线圈中的电流方向改变时,它产生的磁场方向也会随之改变,线圈就会受到磁场力的作用。当线圈中的电流是交流电(即方向不断变化的电流)时,这个磁场力是一个不断变化的力,这个力会驱动线圈(以及与之相连的振膜或纸盆)前后振动。
这个振动的过程就是将电能转化为机械能(声能)的过程。振膜的振动会带动周围空气的振动,从而形成声波,这些声波传播到我们的耳朵里,我们就听到了声音。
2.2. 基于反式喇叭的噪声发电机构
首先噪声使得振膜振动,随即音圈在环形磁铁的磁场里做切割磁力线运动时,便会产生感生电压,电势差的产生便伴随着电流的出现,其发电结构原理如图2所示。
Figure 2. Schematic diagram of noise power generation structure
图2. 噪声发电结构原理图
2.3. 全波整流电路
这里声能转换的电能是交流电,用电烙铁将二极管焊成全波整流电路,将交流电转变为直流电储存在蓄电池中,全波整流电路的焊接如图3所示。
Figure 3. Schematic diagram of welding full-wave rectifier circuit
图3. 焊接全波整流电路原理图
2.4. 电能的收集与处理
由于压电材料本身带有电荷,又能产生交流电,相当于一个交流电源和电容器进行并联,根据戴维南定理电路等效为,见下图。当作用在压电元件上的力消失后,压电元件产生的电荷立即消失。所以,需外接一大容量电容C0对压电元件产生的电荷进行储存。
当受到作用力F作用其表面时,产生电荷[4]。
Q = g33FSp式中:Q为产生电荷,C;F为作用力,N;g33为电场应力常数;Sp为压电材料受压面积,m2。输出电压V = g33FSp/Cp = g33P(Sp)2/Cp式中:Cp为压电材料极间电容,F;P为有效声压力,Pa。
实验证明:当外接负载电阻R与压电元件等效阻抗相同时,负载吸收的能量最大,当外接电容C0与压电元件极间电容相等时,能量传输效率最大。
由于球状阵列中每个单元压电材料的谐振基频相同,所以声电转换后形成的电压波形几乎相同[5],可以将同一阵列上的声电转换单元串联,相当于将多个交流电池串联组成交流电压供电源。但是在有些不确定因素的情况下,由于空间的限制,不可能将每个单元的振动膜面积都做成1m2,所以考虑通过倍压整流电路,将电压放大N倍并对电容进行充电,让电容电压达到一定数值时,驱动充电控制芯片工作并对蓄电池进行充电[6]。
2.5. “开源节流”光伏发电设计
在机器人上巧妙地设计了“开源节流”太阳能板,在日间光照充足的情况下,太阳能板能够收集并将能量储存到小电池中,而在夜间光照较弱时,单片机会进入到“休眠”状态,能耗从原来500 mA降低到10 mA以下,并由小电池中储存的能量来维持运行,且该装置成本低廉,可量产,绿色环保,其结构设计如图4所示。
Figure 4. Structural design diagram of “cost-effective” solar panel
图4. “开源节流”太阳能板结构设计图
3. 搬运机器人结构设计
1) 搬运机器人的成品尺寸:长260 mm、宽150 mm、高100 mm。
系统的工作流程大致为:基于视觉技术的搬运小车首先通过车身前面的双目摄像头进行初次定位,对目标物体进行第一次拍摄,确定目标所在位置,将其传至计算机控制端,将其转化为三维坐标输出,其样品与3D模型如图5所示。
通过蓝牙模块传至控制板STM32F103RCT6,STM32将三维坐标折算为电机转多少圈,输出至电机驱动板,驱动轮子进行相应的转动,当小车趋近目标物体时,单目摄像头再次进行拍照定位,计算机将其转化为平面的二维坐标,输出给控制机械臂的舵机控制板,驱动机械臂准确抓取物体。
2) 电机是AGV搬运小车驱动动力装置,电机的选型将会影响整个小车的性能。目前用在AGV小车动力驱动的电机有步进电机、直流/交流伺服电机和直线减速电机等,L298N电机驱动器与底盘搬运模型如图6所示。
Figure 5. Overall model of the handling robot (left) and 3D diagram (right)
图5. 搬运机器人总模型(左)与3D图(右)
Figure 6. L298N motor driver and handling chassis model
图6. L298N电机驱动器与搬运底盘模型
步进电机直接将数字脉冲信号转化为角位移,主要是结构简单,成本低廉并且具有很高的可靠性,但是步进电机有时候会存在空载启动频率,速度太高就会影响启动,频率特别低的时候还会导致振动,会使整个系统不太稳定;直流伺服电机通过脉冲数来控制电机旋转圈数来实现位移,属于闭环控制,控制精度较高,而且调速范围很宽,易于控制;减速电机承受过载能力较强,体积小,传动比分级精细,而且能耗低,本搬运小车驱动轮子的电机选择蜗轮蜗杆减速电机会优于其他两种。
小车底盘结构上所采用的是四个减速直流电机,每两个电机通过一个电机驱动板L298N进行驱动控制。由于每个电机所带动的轮子需要有相应的转速,因此我们需要利用PID控制直流减速电机的运动[7],因为电机在转动的情况下由于受到电压的影响,速度会产生一定的变化,为了解决转速差的问题,决定Keil进行编程控制整个机械结构中所有电机的转动和移动。
电机的闭环是指当信号从输入端传入输出端的时候,然后再从输出端反馈到输入端的情况[8]。当需要被控制的对象受到外界因素的干扰的情况时,它的实现的实际情况可能会和我们本身想要实现的情况产生一定的偏差,而闭环控制系统便会对这种偏差进行处理,从而产生比较正确的信息,进而保证实现较为理想的工作状态。
PID线性控制起步的时间比较早,并且是一种经常使用的方法。它主要是由比例,积分,微分环节构成的,其中比例是最为基础的,而积分是用来消除稳态误差的,微分则是为了增大响应的速度,它的控制原理是先用设定的值去减去真实的值,从而得到偏差,然后再利用比例、积分、微分等对其偏差进行处理。
针对于电机的闭环控制系统,为了消除电压对于转速的影响,利用Keil进行编程。
3) 机器人还配备专门的高能量密度、长寿命锂离子电池,提升小车的续航能力。
4) 搬运机器人可通过上位机或python编程控制,其控制界面如图7所示。
Figure 7. Upper computer control of the handling robot
图7. 上位机控制搬运机器人
5) 搬运机器人的驱动登台设计
本文基于视觉技术的行进小车采用的全向轮材质是橡胶,小车主体主要是亚克力板组装而成,结合系统结构和需求分析,行进小车整个系统参数见表1。
Table 1. System parameters of the traveling trolley
表1. 行进小车系统参数
参数 |
取值 |
符号 |
AGV小车自重 |
10 kg |
gm |
AGV小车负载 |
12 kg |
gl |
AGV最大加速度 |
0.4 m/s2 |
α |
摩擦系数 |
0.65 |
μ |
轮子半径 |
37.5 mm |
γ |
行驶最高坡度 |
1度 |
β |
AGV搬运小车在运行过程中需要克服的阻力包括:小车本身的重力、刚开始启动时的最大静摩擦阻力、AGV加速运行时的加速阻力以及坡道阻力,其驱动登台结构设计如图8。
Figure 8. Structural design of the drive platform for the handling robot
图8. 搬运机器人的驱动登台结构设计
尽管这些阻力不一定会同时出现,但是为了计算出来最大的总阻力值,在这里将所有的阻力都算进去计算,并忽略掉十分微小的空气阻力[9]。
运行过程总阻力为:
(2-1)
当AGV匀速运动时,满载时AGV所承受的最大摩擦阻力为:
(2-2)
当AGV小车在做加速运动时,AGV在满载情况下按照所需的加速度a和总质量可以得到最大加速阻力是:
(2-3)
一般情况下,AGV运行的场所的路面都是平地,单考虑到由于地面施工误差也许会存在一定的坡度,已知最大坡度为1度,则坡道阻力为:
(2-4)
最终可得最大阻力为167.04 N,求解AGV运动时最大阻力矩为
(2-5)
由式2-5知,总力矩为0.6 N·m,且本文采用四轮驱动,因此每个轮子仅需要0.15 N·m的扭矩,则选择型号为CHW-GW4632-370ABHL蜗轮蜗杆减速电机(12.0 V, 3 W),具体工作参数如下表2所示:
Table 2. Working parameters of the four-wheel drive motor
表2. 四轮驱动电机工作参数
特性 |
参数 |
特性 |
参数 |
工作电压 |
12.0V |
额定转速 |
132 |
额定功率 |
3W |
额定电流 |
<0.4 |
额定转矩 |
1.6 |
空载转速 |
185 |
空载电流 |
<1.5A |
变速比 |
1:32 |
选定电机为CHW-GW4632-370ABHL蜗轮蜗杆减速电机(12.0 V, 3 W)。
4. 基于六轴柔性抓取的机械臂结构设计
4.1. 整体结构设计
(1) 整体结构主要由底盘、肩关节、大小中臂、抓手六个自由度以及电机、舵机等几个关键部分组成。
(2) 对于机械臂的控制,靠32路舵机控制板将程序导入后来进行相应的活动。用Lobot Servo Control V2.1平台通过添加动作组进而控制舵机的转角,从而控制机械臂的移动进而实现抓取目标物体的目的。
控制信号从接收后通过一定的通道进入信号调制芯片,从而会获得直流偏置电压。在舵机的内部有一个基准电压,通过对直流偏置电压和电位器的电压进行比较,从而获得一定的电压差。对于电机的正反转则是依靠电压差的正负来实现的。舵机的控制需要的一般是20 ms左右的时基脉冲,该脉冲的高电平部分分布在0.5 ms~2.5 ms之间,对于180度的角度为例,控制的对应关系为0.5 ms对应0度,1.0 ms对应45度,1.5 ms对应90度,2.0 ms对应135度,2.5 ms对应180度。
舵机控制板的供电电压在5 V~7.2 V,当通过数据线将舵机控制板和电脑相连接的时候,如果控制板指示灯亮,即说明连接成功。如果显示为红色,则说明并未连接成功。
(3) 对于舵机控制采用的是LobotServoControlV2.1这个软件来添加动作组。设计的机械臂主要包括两个动作。当进行左右按键的时候,其每次旋转过的角度都是15度。
并且当控制脉冲在1.5 ms时会处于居中的位置。首先第一个动作是初始姿态所应该在的位置,也就是刚开始所谓的复位动作。由于机械臂加上整个爪头会使得整个抓取的机械结构部分很沉重。为了避免小车出现重心不稳,发生侧翻等情况,同时也为了避免整个机械臂在小车靠近目标物体抓取地方来回地晃动的情况出现,因此在小车的上板上安置了爪头的卡槽,这样当小车在第一次靠近目标物体的时候,整个小车在行驶的过程中会比较的平稳。因此,需要对小车的初始位置找到一定的参数,使得它在那个特定的地方的时候,可以保持整个车体相对稳定。
当没有对该软件添加任何动作参数时,其复位参数默认为1500,在默认值左右两个不同的方向拖拽鼠标的时候,舵机会实现两个方向的转动。
为了控制整个机械臂的运动,我需要两个舵机,一个16个接口的舵机控制板,利用两个舵机同时对整个机械臂进行控制。在此过程中,需要连接两个接口,添加2组动作,即可实现机械臂的初始姿态以及前伸两种状态。如图所示,标注了各个引脚的功能。
针对于舵机控制板而言,笔记本电脑所提供的电量不足以提供控制机械臂运动的力。因此需要外接电源,而外接电源需要的是5 V的电源但由于电池所能提供的电源是12 V,因此,我需要用稳压模块将12 V的电压转换为5 V的电压然后给SM32F103RCT6供电,进而将舵机控制板连接在STM32F103RCT6上,通过外接电源利用软件添加动作进而控制机械臂的移动。
首先,对于该舵机控制板我先通过一个数据线将整个舵机控制板与笔记本电脑相连然后再通过外接电源给整个舵机控制板供电,然后打开整个舵机控制板的开关。通过引脚0和引脚1连接两个舵机,然后设置初始状态和抓取状态的运动参数。初始状态对于0引脚我设置的参数是1320,对于1号引脚我设置的参数是1620,这样我的整个爪头部分会正好落在小车底盘结构上底板的键槽中。对于抓取状态部分,0号引脚我设置的参数是960,1号引脚设置的参数是1000,这样爪头部分正好可以落在被抓取物品上,机械臂和爪头装配如图9所示。
舵机控制的装配示意图如图所示,上面的黑色舵机部分便是控制整个机械臂移动的。整个机械臂的移动需要利用两个舵机进行控制。但有一点需要特别重视,就是当组装整个机械结构的时候,我们首先要做到的是让舵机回中,然后再进行进一步的安装,从而避免出现卡死以至于机械臂与舵机连接处因出现较大的摩擦力而损伤垫片的情形。
Figure 9. Assembly diagram of the robotic arm and gripper
图9. 机械臂和爪头装配图
4.2. 机械臂图纸设计
1. 整体传动结构设计采用了带传动的方式,将42步进电机作为动力源[10],通过精确的动力传输,驱动减速箱实现对机械臂各个运动部位的精细控制。提高了系统的稳定性和可靠性,而且通过减速箱的扭矩放大作用,增强了机械臂的负载能力和运动精度。
2. 具体来说,42步进电机以其高扭矩输出和精确的步进角度控制,为机械臂提供了强有力的动力支持。步进电机的精确 控制特性,使得机械臂在执行复杂动作时,能够实现更加精确的定位,这对于需要高精度操作的工业应用至关重要。
3. 减速箱在这里起到了至关重要的作用。它不仅能够降低电机的转速,提高系统的扭矩输出,还能够通过齿轮的减速比,进一步增强机械臂的稳定性和控制精度。
4. 带传动作为一种传动方式,其柔韧性和弹性能够吸收部分由电机产生的振动,减少对机械臂结构的冲击,同时也便于实现长距离的动力传输。带传动的维护相对简单,成本较低,适合于需要频繁启停和变速的场合。
5. 此外,整体传动结构设计还考虑到了系统的可扩展性和可维护性。通过模块化设计,各个部件可以方便地进行更换和升级,以适应不断变化的工业需求。
4.3. 肩关节与大臂连接处的设计
在机械臂的肩关节与大臂连接处,由于需要带动大臂和小臂进行复杂运动,该部位的传动结构面临较大的力和阻力。为了应对这一挑战,我们采用了滚边轴承作为关键的配合组件。滚边轴承以其低摩擦系数和高承载能力显著降低了运动过程中的阻力,同时提高了机械臂运动的精确性和流畅性[11]。这种轴承通过滚动元件减少摩擦,从而降低能量损耗,提高效率,机械臂肩关节与大臂连接处如图10所示。
Figure 10. Connection diagram of the shoulder joint and upper arm
图10. 肩关节与大臂连接图
高承载能力确保了在大臂和小臂运动时,传动结构能够稳定地传递所需的力。此外,滚边轴承的维护简便,良好的密封性能减少了维护需求,延长了使用寿命。为了进一步减少摩擦和磨损,可能需要一个适当的润滑系统,以确保轴承在最佳状态下运行。通过这种设计,我们确保了机械臂在执行任务时的稳定性和可靠性,同时提升了其整体性能。
4.4. 重量补偿稳定结构设计
在机械臂的设计中,肩关节与大臂的连接处以及大臂与小臂的连接处,都采用了专门设计的重量补偿稳定结构,以应对它们各自不同的力学环境和工作需求。肩关节与大臂连接点承受的力主要涉及到较大的静态和动态负荷,因此设计了一种稳定性和效率。这种设计[12]确保了机械臂在高负荷工作时仍能保持稳定性和精确弹簧拉力系统,能够提供足够强度的补偿力,以平衡机械臂的重量,同时保持传动结构的性,机械臂重量补偿稳定结构如图11所示。
Figure 11. Design diagram of weight compensation and stabilization
图11. 重量补偿稳定设计图
在大臂与小臂的连接处,重量补偿结构的设计则针对不同的力学特性进行了调整。这个区域所需的补偿力量可能较小,但同样关键,需要确保机械臂在各种工作状态下都能够精准执行任务而不受重量影响的干扰。因此,工程师们采用了适当的弹簧力量来平衡这一部分的重量,从而优化机械臂的整体性能和可靠性。这种精细调节和优化不仅提高了机械臂的操作效率,还有效延长了其关键部件的使用寿命。
4.5. 微动开关的设计
在四轴机械臂的每个关节设置微动开关,是为了实现精确的限位保护、位置反馈、紧急停止功能,以及增强控制逻辑和状态监测。这些开关能够防止机械臂因过载而损坏,确保其在预定范围内精确运动,同时在异常情况下迅速触发安全机制,保障操作安全,四轴连接微动开关结构如图12所示。
Figure 12. Connection diagram of the four-axis linkage with microswitch
图12. 四轴连接微动开关连接图
此外,它们还为机械臂的智能控制提供了必要的硬件支持,使得机械臂能够根据实时反馈自动调整运动,提高了操作的直观性和维护的便捷性。总之,微动开关是提高机械臂安全性、可靠性和智能化水平的关键组件。
5. 视觉识别结构与研究
研究使用OpenCV进行实时图像采集和处理的方法,如图像增强、噪声去除、特征提取等。利用深度学习技术训练垃圾识别和定位的模型,研究如何提高模型的准确度和稳定性[13]。研究如何优化图像处理和深度学习算法的运行效率,以实现在嵌入式系统上的高效运行。以下为视觉识别的研究过程。
1、由LabelMe对常见的工业区垃圾进行标注。
2、Yolov5对标注好的垃圾利用深度学习技术训练垃圾识别,其视觉识别与标记效果如图13所示。
Figure 13. Visual recognition and marking based on LiDAR
图13. 基于激光雷达的视觉识别与标记
3、由Python串口通信发送检测到的垃圾数据给控制垃圾托盘的单片机来进行视觉识别任务。
识别算法为适应复杂的工作环境和多变的目标物体,单目算法采用的为Yolov5模块,训练框架基于koras、TensorFlow,其算法Yolov5模块识别效果如图14所示。
Figure 14. Recognition effect of the Yolov5 module used in the monocular algorithm
图14. 单目算法所用Yolov5模块识别效果
训练集共包含约25000张46大类不同种类的图片。为保证训练的速度与效果,采用的为GPU训练方式,标注软件为labelme32-5.1.0-Chinese。在训练过程中,总计耗时10天,训练精度loss值为5左右。
在移动至单目摄像头识别范围后,将关闭双目摄像头,打开顶部单目摄像头。单目摄像头调用文件里的样本图片进行模板匹配,框出目标物体并输出其质心坐标。此时底盘不断进行移动校准直至图像中质心坐标接近预设数值。
进行模板匹配时,先将视频按帧处理为图片,再调用yolo函数进行匹配,然后得出角点坐标,进而算出目标图片的中心坐标。
为了获取相机的内外参数矩阵和消除图像畸变,所以在双目测距之前需进行相机标定,角点监测图像与双目测距标定如图15所示。
Figure 15. Corner detection image and binocular ranging calibration diagram
图15. 角点监测图像与双目测距标定图
本文所用的标定方法为Zhang的棋盘格标定法,标定模板是角点数6 × 9的棋盘,棋盘格大约为28 mm × 28 mm。为保证标定的精度,左右摄像头的图片集设置为20组,大小为640 × 480的图片。MATLAB的标定工具相对于OpenCV内置的标定工具精度较高,故采用MATLAB的stereoCameraCalibrator库进行标定。此外为了保证标定精度,先单独进行左右摄像头的标定,最后再进行立体标定。经实验检测最后标定误差低于0.5%。
双目测距与人眼功能类似,其一般选择左摄像头为基准,选择另一个摄像头为参照,这样可获得两个不同的图像,一个是左基准摄像头拍摄的图片,另一个是右参考摄像头拍摄的图片。然后通过左右摄像头拍摄图片的相同特征点的不同位置来计算出视差,进而得出物体的深度信息。P为待测物体坐标点,PL、PR为左右相机成像点,CL、CR为左右光心点,f为相机焦距,XL、XR为左右相机距图像光心的水平距离,XL − XR即为视差。在理想条件下,由以上参数可根据相似原理计算出目标点的三维坐标,具体公式如下:
(1)
可得
(2)
可得
(3)
由公式可得,f、B、XL、XR均为已知参数,只需计算出XL − XR便可得到目标的三维坐标。此外由于视差与深度存在反比的关系,视差值随物体的深度增大而减小,在距离较远的位置视差极小的波动就会导致深度较大的变化,所以双目测距只适用于距离适中的物体。双目测距原理图如图所示。
1、将识别到的垃圾种类信号传递给垃圾桶。
2、实时捕捉并分析工业区的异常状况,如泄漏、火灾隐患等。一旦发现潜在问题,将立即通过预设的通讯方式向管理人员发送警报,以便及时采取措施。
3、管理人员可以通过远程监控系统实时查看机器人的工作状态和周围环境。同时,摄像头还可以记录并传输清洁过程中的视频资料,为后续的工作评估、优化提供有力支持。搬运小车在工作时首先由双目摄像头拍照上传至PC端,使用控制板自带的WIFI模块,再将计算机计算出来的三维坐标通过蓝牙模块传至STM32控制板上,AGV小车就能通过无线网络与控制端PC端进行连接与传输,这样大大方便了操作,视觉识别蓝牙模块如图16所示。
Figure 16. Visual recognition bluetooth module diagram
图16. 视觉识别蓝牙模块图
6. 结束语
根据计算数据表明,通过在工业区清洁机器人安装噪声发电装置,不仅能够有效减少其他化石燃料的使用与排放,而且能够充分利用地域优势来产生电能。另外如果能根据车间内噪声分布的特点,对声电转换装置进行合理的调试与布局,选择更高性能的声电转换材料,进一步提高声电转换效率,从而充分发挥噪声发电的优势,提高噪声发电效率,最大限度地减少环境污染,贯彻绿色环保节能的理念。