机器人编程按时巡线_一种智能巡线机器人以及控制方法与流程

本发明涉及智能机器人玩具领域,特别是可以稳定、精确、快速巡线的一种智能巡线机器人以及一种智能巡线机器人控制方法。

背景技术:

寻迹机器人是按照一定的路线到达指定位置,完成一定的动作后再走到下一目标位置,通常是采用不同颜色或者其他信号标记来引导进行移动的机器人,它是一个运用传感器、信号处理、电机驱动及自动控制等技术来实现路面探测、障碍检测、信息反馈和自动行驶的技术综合体。循迹机器人在军事、民用和科学研究等方面已获得了广泛的应用。例如自动化生产线的物料陪送机器人,医院的机器人护士,商场的导游机器人等,传统巡迹机器人的不足之处:一是受环境光的影响造成误判;二是光的反射容易造成相邻的红外接收管误判;三采用红外开关量(黑色1白色0),需要列出所有可能才能实现巡迹。

技术实现要素:

针对上述背景技术指出的问题,本发明所要解决的技术问题是提供一种智能巡线机器人的技术方案,采用红外逐路发射、接收采集模拟量并且滤光,有效克服强光和光反射干扰,采用加权扫描探寻黑线信息并辅以PID算法反馈控制机器人运动。

为了达到上述目的,本发明提供如下技术方案:

一种智能巡线机器人,包括:置于外壳内部的电机驱动模块、电源模块、行走装置、输入模块、红外传感器模块,所述电源模块、输入模块、电机驱动模块、红外传感器模块分别与中央控制处理模块连接,电机分别与行走装置和电机驱动模块连接。

上述技术方案中,红外传感器模块为四路,红外传感器模块位于智能巡线机器人底部用于读取黑线信息,透红外滤光片设置在红外传感器模块前端,用于滤除部分光照干扰。

上述技术方案中,电机为直流减速电机,行走装置为万向轮和车轮,车轮和直流减速电机连接,行走装置控制这控制机器人前进、后退、转向。

一种智能巡线机器人控制方法,包括如下步骤:

步骤一、校准红外传感器,让机器人扫过黑线与白线保持最大数据X_max和最小数据X_min,将传感器的读数从0—4095映射到X_min—X_max得到的结果Xi(i=0,1,2,3);

步骤二、红外传感器模块读取巡回路线黑线位置,克服接收相邻路线反射光干扰,采用加权扫描探寻巡线算法如下:

4个传感器依次加权Ai(i=0,1,2,3);Ai=1000*i;

设定智能巡线机器人在既定的正确路线时的目标值goal=1500,智能巡线机器人行驶的当前值为now,智能巡线机器人当前行驶的位置与既定目标的偏移量为offset,则智能巡线机器人的当前值由以下公式可以算出:

偏移量offset为:offset=now-goal;

步骤三、通过各个传感器反馈回来的信息判断智能巡线机器人具体位置,并通过PID算法及时调整智能巡线机器人的运动方向,避免智能巡线机器人偏离黑线过多,超出传感器的检测范围而脱轨。

上述技术方案中,智能巡线机器人底部的红外传感器模块在每个步骤中做高度检测,判断条件为:

X0+X1+X2+X3>(X0_max+X1_max+X2_max+X3_max)*0.8时智能巡线机器人停止一切运动,防止机器跌落。

上述技术方案中,在步骤二加权扫描探寻巡线算法基础上,采用增量式PID控制算法,可以同时调节左右两个电机的转速,并根据实际调试进行微调,可以使小车平稳且快速地按照既定的路线行驶,其算法如下:

其中:

KP是P的值;

TD是D的值;

1/Ti是I的值;

T是采样周期,

采用PWM脉宽调制方式控制电机转速,PID算法实现公式如下:

PWML=uo+A*e(k)+B*e(k-1)+C*e(k-2)

PWMR=uo-A*e(k)+B*e(k-1)+C*e(k-2)

其中,PWML为控制左电机的PWM波脉宽;PWMR为控制右电机的PWM波脉宽;ek第k次采样时刻输入的偏差值;ek-1第k-1次采样时刻输入的偏差值;Kp、KI、KD依次为调节的比例、积分、微分系数;uo为控制常量按。

本发明的有益效果是:采用加权扫描法增强了巡线机器人抗环境光干扰的能力,在机器人获取引导黑线信息时可以明显减小干扰信号的影响,从而增强机器人的抗干扰能力,同时在一定程度上可以忽略导航黑线的宽度对机器人巡线的影响,使巡线方式更加可靠,本发明具有结构简单,操作可靠等特点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种智能巡线机器人设计框图;

图2为读取4路红外传感器数据流程图;

图3为加权扫描探寻算法;

图4为防跌落流程图。

具体实施方式

下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据图1所示,本发明公开一种智能巡线机器人,包括:置于外壳内部的电机驱动模块、电源模块、行走装置、输入模块、四路红外传感器模块,所述电源模块、输入模块、电机驱动模块、四路红外传感器模块分别与中央控制处理模块连接,电机分别与行走装置和电机驱动模块连接,四路红外传感器模块位于智能巡线机器人底部用于读取黑线信息,透红外滤光片设置在红外传感器模块前端,用于滤除部分光照干扰。行走装置为万向轮和车轮,自由转动的万向轮主要作用是支撑机器人;车轮和直流减速电机连接,机器人的动力来源,可以通过控制这两个电机的转动方向和速度控制机器人前进、后退、转向等动作。

中央控制处理模块stm32f103c8t6单片机,用于计算处理红外光电传感器模组的采样信息;发送控制命令到电机驱动模块;将红外传感器校验的相关数据保存于存储模块;接收按键命令。

实施例设计地图为1.2m×1m,黑色引导线宽度设为24mm,红外传感器的封装宽度为5.8mm,依据黑色引导线宽度同时为减少成本设计4路红外巡线,机器人在黑线中心位置时放置两只红外传感器正对黑线6mm和18mm处,那么以12mm为间距同样在两侧放置2只。

在设计智能巡线机器人红外巡线电路板与动力车轮的轮轴之间的距离为D1,这个距离通常被称为前瞻,表示小车提前感知引导黑线的距离长度。在控制小车时控制电路和执行设备都需要相应的反应处理时间,适当的前瞻能使MCU提前获取导航黑线信息并及时地做出运动反应,从而达到减小甚至消除反应延迟的作用。

假设车体前瞻D1,电机最大转速ωmax,车轮直径d。小车全速前进时,前瞻留给车体的反应时间T为:

T=D1/[ωmax×(d÷2)]

选择一个合适的前瞻D1可以为小车争取一定的反应时间,使小车循迹效果更好。但是D1值也不能过大,如果D1值过大,小车在转弯时,由于单片机检测到路况信息变化过早,小车可能提前转弯从而影响小车的正确行使。

根据图2—4所示,一种智能巡线机器人控制方法,包括如下步骤:

步骤一、校准红外传感器,本发明使用的中央控制处理MCU是stm32f103c8t6,拥有12位ad转换器。对传感器的输出进行ad转换,获得的数据范围是0—4095,让机器人扫过黑线与白线保存4路传感器的最大数据X_max和最小数据X_min,将传感器的读数从0—4095映射到X_min—X_max得到的结果Xi(i=0,1,2,3)。4个传感器依次加权Ai(i=0,1,2,3)Ai=1000*i;

本发明采用巡回开通某一路发射,克服接收相邻反射光干扰,因为压线的那一路原本不应该接收到信号,而相邻没压线的那一路还在继续发光。由于光的反射现象,相邻没压线那一路发出的红外光很容易反射到压线的那一路红外接收管,导致判断失误,从而引起干扰。

当巡回开通某一路时,任何时候只一路发光,检测电路也接收仅这一路的信号,即使这时发光的那一路反射到压线的接收电路,但MCU并不去读取被反射的那一路,这就克服了相邻通道的反射干扰。

红外接收三极管既接收了红外发射二极管的反射光也接收了环境中的红外光。环境中的红外光可看成是一直流分量,所以可采用开关接收计算滤除环境中的红外光,先开反射管对接收三极管上电电压进行采样得到Xon,后关闭反射管对接收三极管上的电压进行采样得到Xoff。则红外模块采集的实际值可由以下公式计算:

X(i)=X(i)on-X(i)off;

X(i)=map(X(i),0,4096,X(i)_min,X(i)_max);

步骤二、红外传感器模块读取巡回路线黑线位置,克服接收相邻路线反射光干扰,采用加权扫描探寻巡线算法如下:

4个传感器依次加权Ai(i=0,1,2,3);Ai=1000*i;

设定智能巡线机器人在既定的正确路线时的目标值goal=1500,智能巡线机器人行驶的当前值为now,智能巡线机器人当前行驶的位置与既定目标的偏移量为offset,则智能巡线机器人的当前值由以下公式可以算出:

偏移量offset为:offset=now-goal;

步骤三、通过各个传感器反馈回来的信息判断智能巡线机器人具体位置,并通过PID算法及时调整智能巡线机器人的运动方向,避免智能巡线机器人偏离黑线过多,超出传感器的检测范围而脱轨,控制系统中没有反馈系统时,机器人将不知道当前行进的具体情况。加权扫描探寻巡线算法基础上,采用增量式PID控制算法,可以同时调节左右两个电机的转速,并根据实际调试进行微调,可以使小车平稳且快速地按照既定的路线行驶,其算法如下:

其中:

KP是P的值;

TD是D的值;

1/Ti是I的值;

T是采样周期,

采用PWM脉宽调制方式控制电机转速,PID算法实现公式如下:

PWML=uo+A*e(k)+B*e(k-1)+C*e(k-2)

PWMR=uo-A*e(k)+B*e(k-1)+C*e(k-2)

其中,PWML为控制左电机的PWM波脉宽;PWMR为控制右电机的PWM波脉宽;ek第k次采样时刻输入的偏差值;ek-1第k-1次采样时刻输入的偏差值;Kp、KI、KD依次为调节的比例、积分、微分系数;uo为控制常量按。

在整个控制程序中,智能巡线机器人底部的红外传感器模块在每个步骤中做高度检测,判断条件为:

当X0+X1+X2+X3>(X0_max+X1_max+X2_max+X3_max)*0.8时智能巡线机器人停止一切运动,防止机器跌落。

本发明工作流程为:

首先判断巡线机器人是否离开地面,计算式为X0+X1+X2+X3>(X0_max+X1_max+X2_max+X3_max)*0.8;若等式成立判断为离地,电机制动。若不成立执行巡线功能。将X0~X3代入计算巡线机器人相当黑线偏移计算公式的到偏移量,再将偏移量代入PID调节计算式得到左右电机速度控制量PWML和PWMR使巡线机器人向黑线偏移。重复执行以上过程实现巡线机器人沿着黑线行驶,离地制动。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

你可能感兴趣的:(机器人编程按时巡线)