视觉追踪机器人系统构建研究视觉追踪机器人系统构建研究
以低成本机器人Rovio WowWee作为下位机平台,通过上位机编程,实现对单目视觉图像和红外数据的在线解
析,辨识指定物体,基于前向回溯一致性误差确定待追踪的点,构建视觉追踪机器人系统;并引入在线学习方
法,使用追踪、学习和检测算法框架提升了机器人目标追踪的性能。通过PID对机器人进行伺服控制。三组实验
初步验证了所提系统的可行性。实验使用C++在Linux下编程实现,并在Github上开源,对科研及市场应用具有
一定参考价值。
0 引言引言
机器视觉是一种利用视觉传感器与计算机实现人的视觉功能的技术,它从采集的图像中提取信息并进行处理和理解
[1]
,处理
后的结果用于机器人决策和控制。
[2]
。而视觉追踪机器人要实现的功能包括
[3]
:先通过摄像机获取目标的方位信息,核心控制
器通过相关算法判断机器人下一步该如何移动,再将这些控制信号送给机器人移动的执行元件的驱动器,使之能追踪目标物。
1 硬件平台硬件平台
视觉追踪技术作为计算机视觉领域的热门课题之一,所需硬件要具备视觉部件摄像头、与上位机通信的硬件模块(如WiFi
天线、蓝牙等)和灵活的移动控制模块。此外,为实现避障,除了单目摄像头之外,通常还会引入激光、红外线传感器等。
Rovio WowWee机器人(如图1),作为一款成本低而功能相对完善的玩具机器人,十分适合
2 通信与景物辨识通信与景物辨识
2.1 数据通信数据通信
Rovio可以接入互联网,也可工作在Adhoc模式,在此模式下机器人的IP固定,通过Socket依托TCP/IP链路向机器人发送官
方API文档所指定的HTTP请求
[4]
,机器人收到请求后产生动作并返回数据。整个流程如图2所示。
图像采集模块是机器人进行视觉追踪的重要组成部分,该模块获取当前图像并提供保存接口,提供了离线处理数据的能
力。为避免机器人与物体产生碰撞,使用红外传感器设计一简单接口来实现检测障碍物功能,根据传感器返回数据结构使用8
bit的信息量来存储信息,Bit0存储LED灯的开关状态,Bit1存储IR传感器的开关状态,Bit2存储IR检测是否有障碍的状态,0表
示无,1表示有,分别定义3个检测码:(1<<0)、(1<<1)、(1<<2),用检测码与用户接口的传感器获取的数据进行位与
操作,所获取结果即可作为传感器检测结果,如表1所示。
传感器返回信息显示此时IR打开,有障碍物。使用IR障碍物检测码检测结果为1,表示有障碍物。
系统中的传感器数据包括:3个轮子的方向、电机编码器信息、电池状态、摆臂位置、相机亮度、分辨率、帧率和WiFi信号
强度等信息。
2.2 目标识别与追踪目标识别与追踪
追踪部分引入Tracking-Learning-Detection(TLD)追踪算法
[5]
,基于其在线追踪机制,追踪机器人所采集的每一帧图像,处
理追踪结果并送入控制算法模块。TLD的追踪器、检测器和机器学习之间关系如图3所示。