技术领域
本发明属于自动巡航机器人技术领域,具体涉及一种基于自动循迹的机器人行走方法及行走装置。
背景技术
自动巡航机器人由于其自身体积小、灵活度高等优点,在日常生产生活中得到了越来越广泛的应用,其主要依靠车内以计算机系统为主的智能驾驶仪来实现无人驾驶。目前,自动巡航机器人一般是利用车载传感器来感知车辆周围环境,并根据感知获取道路位置、车辆位置及障碍物信息,进而控制车辆的转向和速度,实现车辆在道路上自动、安全、可靠地行驶。
但是,目前的自动巡航机器人往往设计复杂,体积较大,且姿态识别不够精准,用户体验感不佳。
发明内容
本发明的目的在于提供一种基于自动循迹的机器人行走方法及行走装置,能够实现行走机器人的自动循迹,且路线识别精确,为行走机器人的自动巡航提供可靠稳定的硬件支持,同时,还兼具结构简单、成本低廉、使用方便等诸多优点。
本发明采用的技术方案如下:
一种基于自动循迹的机器人行走方法,包括
S1、采集行走机器人行驶路线前方道路的图像;道路上设有由连续黑点组成的用于机器人行走的轨迹黑线;
S2、获取二值化图像;
S3、采样轨迹黑线图像内像素点并计算采样像素点的灰度值;
S4、阈值分割二值化图像,提取道路上的轨迹黑线图像,剔除道路以外干扰区域图像;
S5、根据轨迹黑线图像灰度值计算黑点位置,获取轨迹黑线图像区域内轨迹黑线的偏移角度;
S6、根据轨迹黑线偏移角度计算行走机器人行走路线。
进一步地,所述步骤S3具体包括:
按照预设分辨率,采用隔行扫描的方式采集轨迹黑线图像内像素点图像;
计算采样点对应位置的灰度值。
进一步地,所述步骤S4中阈值分割过程具体包括:
将采集的像素点灰度值构成数据集;
定义特征值T并根据特征值判断数据集每一行采样数据中边缘位置对应的采样数据;
获取每行像素点的边缘位置坐标并对图像进行阈值分割。
本发明还公开了一种采用上述基于自动循迹的机器人行走方法的行走装置,包括
行走模块,用于装载机器人沿道路黑线行走;
图像采集模块,用于基于OpenCV进行行走路线前方图像的采集;
中央处理模块,用于根据采集数据进行灰度值及偏移角度计算、根据黑线偏移角度进行行走路线制定、控制行走模块按照指定路线行走;
供电模块,用于为行走装置提供直流电源;
BMS电池管理模块,用于控制供电模块按照制定的充电曲线进行充电。
进一步地,所述中央处理模块包括MCU和PID控制模块,MCU上设有用于程序下载的调试接口。
进一步地,所述MCU型号采用MSP430F149。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、通过采集行驶方向图像,提取图像中轨迹黑线中连续黑点的灰度值,计算黑线偏移方向,并进而控制行走机器人按照既定路线进行循迹行走,实现行走机器人的自动循迹行走,且计算方法简单,路线计算结果精确可靠,有效提升行走机器人使用可靠性,提高行走机器人性能,提升用户体验感;
2、通过对图像进行阈值分割,降低采集图像中外部因素的干扰,保障灰度值提取准确度和黑线偏移角度计算准确度,进而保障行走机器人自动循迹的准确性;
3、通过设计包括行走模块、图像采集模块等模块的行走装置,结构简单,成本低廉,实现了行走机器人的自行循迹行走,为用户生产生活提供便利,同时,自动循迹效率高,准确度高,有效提升用户体验感;
4、通过添加BMS电池管理模块,对电池健康状态进行实时监控,使电池按照特定充电曲线进行充电,从而有效地延长电池使用寿命。
附图说明
图1为本发明中行走方法的流程图。
图2为本发明中行走装置的原理框图。
图3为本发明中包括轨迹黑线的跑道的结构示意图。
具体实施方式
本发明公开了一种基于自动循迹的机器人行走方法,包括以下步骤:
S1、采集行走机器人行驶路线前方道路的图像;道路上设有由连续黑点组成的用于机器人行走的轨迹黑线;
S2、获取二值化图像;
S3、采样轨迹黑线图像内像素点并计算采样像素点的灰度值;
S4、阈值分割二值化图像,提取道路上的轨迹黑线图像,剔除道路以外干扰区域图像;
S5、根据轨迹黑线图像灰度值计算黑点位置,获取轨迹黑线图像区域内轨迹黑线的偏移角度;
S6、根据轨迹黑线偏移角度计算行走机器人行走路线。
本发明还公开了一种采用基于自动循迹的机器人行走方法的行走装置,包括
行走模块,用于装载机器人沿道路黑线行走;
图像采集模块,用于基于OpenCV进行行走路线前方图像的采集;
中央处理模块,用于根据采集数据进行灰度值及偏移角度计算、根据黑线偏移角度进行行走路线制定、控制行走模块按照指定路线行走;
供电模块,用于为行走装置提供直流电源;
BMS电池管理模块,用于控制供电模块按照制定的充电曲线进行充电。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。
如图1所示,本发明公开了一种基于自动循迹的机器人行走方法,包括以下步骤:
S1、采集行走机器人行驶路线前方白色跑道的图像,白色跑道上设有由连续黑点组成的用于机器人行走的轨迹黑线。
S2、获取二值化图像。
本实施例采用OpenCV进行数据采集。通过摄像头采到的小车道信息黑白分明,摄像头近端采集到的黑线灰度值在6070左右,采集到的最远端数据灰度值为80~90,其中,白线的灰度值为200左右,因此本实施例采用灰度值可以清晰识别黑线及跑道。
本实施例中摄像头采集一场画面的信号共采样40行,每行80个点,各点的灰度值存在一个二维数组当中,为了从二维数组中准确的提取出黑线信息,即黑线在这个二维数组中的坐标,将数据进行二值化处理,本实施例在进行二值化处理时选择100或者120作为二值化的灰度阈值,大于灰度阈值的数据点判定为白点,反之则判定为黑点。据此即可筛选黑点位置。在轨迹黑线二值化后,视信号仅包含黑白二种电平,为黑线位置识别打下基础。
S3、采样轨迹黑线图像内像素点并计算采样像素点的灰度值。
按预设分辨率,以隔行扫描的方式轨迹黑线图像上的点,当扫描到某点时,将该点处图像的灰度转换成与灰度值对应的电压值,然后将电压值通过视信号端输出,摄像头连续地扫描图像上的行,则输出就是一段连续的电压信号,连续电压信号的高低起伏反映了该行图像的灰度值变化。
当扫描完一行,视信号端就输出一个低于最低视频信号电压的电平(如0.3V),并保持一段时间,这样紧接每行图像输出的电压信号之后会出现一个电压“凹槽”,即行同步脉冲,行同步脉冲是扫描换行的标志。接下来,跳过一行继续开始新的一行的扫描,直至扫描完该场的视信号,然后出现一段场消隐区。该区中有若干个复合消隐脉冲,其中有一个消隐脉冲远宽于其它消隐脉冲,称为场同步脉冲,场同步脉冲是扫描换场的标志,标志着新的一场视频信号的到来。
摄像头的图像数据技照8bit灰度信号输出,或者是用8bitA/D去采样,最终输出的值为0~255范围内的一个,输出的数值灰度信号的大小,图像颜色越深灰度值越小。
S4、阈值分割二值化图像,提取白色跑道上的轨迹黑线图像,剔除白色跑道以外干扰区域图像。
阈值分割过程具体包括:
将采集的像素点灰度值构成数据集;
定义特征值T并根据特征值判断数据集每一行采样数据中边缘位置对应的采样数据;
获取每行像素点的边缘位置坐标并对图像进行阈值分割。
用于采集图像的摄像头除了能够采集到白色跑道和轨迹黑线的灰度值,还能到采集到跑道以外干扰场景的灰度值,例如地板,如果外部干扰场景颜色较深,就会对轨迹黑线的定位产生极大千干扰。
白色跑道与地板颜色差异较大,因此,本发明采用阈值分割算法将白色跑道与地板进行分割,筛除白色跑道以外场景对场内图像提取的干扰,具体为:本实施例采用阈值分割算法确定每一个采样行中的跑道左右起始坐标,筛除深色地板对黑线定位的干扰。
判定白色跑道灰度值和地板颜色灰度值的國值通过现场调试获取,或将某行数组中的最大值减去一个特定减值后所得结果定义为阈值,例如减去20。例如采样到的某一行数据为(……,97,98,99,90,95,199,200,210,201,65,67,70,73,203,204,201,90,93,95,………),从这个数组中就即可判定跑道的左边缘是灰度值为199所在的点,右边缘为右侧201灰度值所在的点。
在计算过程中,对采集的视频信号进行二值化处理,单片机获取的即是0或1的二值信号组成的数据组,0代表黑点灰度值,1代表白点灰度值。从白色跑道左边缘开始处理这一行数据组,同时计数黑白点的个数和灰度值跳变的次数,当跳变次数为2时,黑线坐标位置=白色跑道左边缘纵坐标值+白点个数+黑点个数/2。当遇到十字交又线、起跑线或者其它干扰信号时,可能导致采集的数据组经处理后得到的跳变值不为2,由于每场画面采40行,而通过10行以上有效数据即可判断出跑道黑线位置,因此,此时选择将此行干扰信号忽略,或用前一行有效数据进行替代,该部分数据的忽略不会影响到正常的黑线提取。
S5、根据轨迹黑线图像灰度值计算黑点位置,获取轨迹黑线图像区域内轨迹黑线的偏移角度。
S6、根据轨迹黑线偏移角度计算行走机器人行走路线。
本发明还公开了一种采用上述基于自动循迹的机器人行走方法的行走装置,包括
行走模块,用于装载机器人沿白色跑道黑线行走,如图3所示,白色跑道上设有由连续黑点组成的用于机器人行走的轨迹黑线;
图像采集模块,用于基于OpenCV进行行走路线前方图像的采集;
中央处理模块,用于根据采集数据进行灰度值及偏移角度计算、根据黑线偏移角度进行行走路线制定、控制行走模块按照指定路线行走;
供电模块,用于为行走装置提供直流电源;
BMS电池管理模块,用于控制供电模块按照制定的充电曲线进行充电。
如图2所示,中央处理模块优选包括MCU和PID控制模块,MCU型号为MSP430F149。
MCU设有用于程序下载的调试接口用于对整个行走装置进行程序更新和调试,MCU上分别连接有时钟电路和复位电路。为了将灰度值所转化的电压信号变化可视化及行走路线等信息的可视化,MCU还连接有液晶显示器,便于用户观察和查看。PID控制模块连接有编码器、OpenCV处理模块和按键电路,实现自动循迹过程中的闭环控制。
供电模块设有AC充电及DC充电两个充电口,AC充电口通过AC-DC转换模块连接电池,外部AC充电桩的交流电通过AC-DC转换模块转化为直流电并存储在电池中,为行走装置提供电力支持,同时,通过AC或DC对电池进行充电的过程中,采用BMS电池管理模块对电池进行实时监控,让电池按照特定的充电曲线进行充电,从而有效地延长电池使用寿命,保障电池充电安全。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
机译: 机器人,一种行走控制装置和一种行走控制方法,其通过改变机器人的行走模式来确保行走稳定性
机译: 具有上部行走结构的行走基座的机器人行走装置
机译: 一种用于行走行走的装置,尤其是行走于防护罩或电池类型的行走装置