程赟
摘要:在工业时代,机器人是人造机器的“终极”形式,是人类智慧的结晶。在各处工地或者制造业工厂,经常能看到搬运重物的起重机或者小推车,但这些机械的运行都需要依靠人的操作和控制。本文以教育机器人为例,基于Arduino单片机对智能搬运小车做简单的分析和研究,对电机模块和颜色传感器模块进行适当的优化和测试,提升小车的准确度和高效性,能够实现教育机器人的智能搬运。
说到20世纪最造福人类的创造之一,机器人技术的发明一定榜上有名。新型色色的特种机器人还有日渐技术成熟的工业机器人,宣告着智能制造技术的崛起。作为工业机器人的一种,智能搬运机器人也被广泛的研究和设计,本文举例说明如何实现车轮前进方向的调整,如何实现颜色的分辨。
本文智能搬运机器人基于Arduino平台进行编程,能实现将不同颜色物体循迹分类搬运到对应颜色的目标地点。
一、电机控制
机器人所用的电机,又称伺服电机,可以将收到的电子信号转换为速度进行输出,可以驱动车轮或者履带前进。本次电机使用PWM即脉冲宽度调制这种方法能够实现较简单和灵活的控制,并且有较好的动态响应。电机在与Arduino控制板连线之后,注意首先控制机器人小车的车轮的速度,避免放在桌子上从桌子上跌落,其次根据控制脉冲信号时序图进行电机调零。电机在使用脉冲序列控制并且经过零点标定后,不会旋转。如果仍旧旋转,需重新调零。
二、机器人运动控制原理及优化调整
下载程序将电机调零后,可以尝试观察用1400~1600之间的数字去修改高电平持续时间,进而观察电机的转速,不同的时间带入,电机正反转效果不同,同时速度也有差别。根据测量可得到一个电机旋转与机器人运动控制表,如表1。
电机旋转与机器人运动控制表,如表1。
根据表1可举例说明,以下为全速前进程序:
void Fast_forward(uchar a) //快速前进
{
uchar i;
currentcolor = White;
}
else if((abs(clrpulses[0] - clrpulses[2])<30)&& (abs(clrpulses[1] - clrpulses[2])<10)&& clrpulses[0]<70){
currentcolor = Black;
}
else if((clrpulses[0] < clrpulses[1]) && (abs(clrpulses[1] - clrpulses[2])>9)){
currentcolor = Blue;
}
else if((clrpulses[2] > clrpulses[1]) && (clrpulses[0] - clrpulses[1] > 100)){
currentcolor = Yellow;
}
return currentcolor;
}
此數据均基于当时环境和光线测试得来,这样才能实现较精准的颜色识别。
通过调用白平衡函数,可以知道三原色的滤波器的时间基准值,然后通过Robot_checkColor()函数进行时间值对比,得到了相应颜色的时间值,依靠分辨条件,可以识别出不同色块的颜色。
本文从电机参数的测试修改以及颜色传感器设置和识别程序这两大方面分析和优化了智能搬运机器人的程序,能够更精确的实现小车转弯的角度以及前进方式;并且基于三原色的滤波器,能够实现对不同颜色的识别。在对电机和颜色模块成功设置后,才能使得智能搬运机器人实现对不同色块的识别,进而搬动色块去到该色块对应的目的地。关于智能搬运的循迹模块,和寻找色块模块就不在这里详述了。
参考文献:
[1]基于RGB的颜色辨识系统设计[J]. 高富强,李岭,安康. 传感器与微系统. 2012(10)
[2]物料搬运移动机器人机械与控制系统设计与研究[D]. 彭天然.合肥工业大学 2016
[3]基于AVR的比赛机器人控制系统研究[J]. 王文斌,陈伟. 电气传动. 2010(07)