CN112183133B - 一种基于ArUco码引导的移动机器人自主充电方法 - Google Patents

一种基于ArUco码引导的移动机器人自主充电方法 Download PDF

Info

Publication number
CN112183133B
CN112183133B CN202010885831.7A CN202010885831A CN112183133B CN 112183133 B CN112183133 B CN 112183133B CN 202010885831 A CN202010885831 A CN 202010885831A CN 112183133 B CN112183133 B CN 112183133B
Authority
CN
China
Prior art keywords
mobile robot
coordinate system
aruco
charging
monocular camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010885831.7A
Other languages
English (en)
Other versions
CN112183133A (zh
Inventor
陈启军
石文博
刘成菊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tongji University
Original Assignee
Tongji University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tongji University filed Critical Tongji University
Priority to CN202010885831.7A priority Critical patent/CN112183133B/zh
Publication of CN112183133A publication Critical patent/CN112183133A/zh
Application granted granted Critical
Publication of CN112183133B publication Critical patent/CN112183133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/28Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/14Plug-in electric vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明涉及一种基于ArUco码引导的移动机器人自主充电方法,包括步骤:对机器人设置充电触点以及单目相机,并在其运行环境中布局设有ArUco码的充电桩;建立环境地图,标记充电桩的位置及朝向;设置导航目标点、目标姿态,规划移动机器人的运动轨迹;识别充电桩上的ArUco码,获取其在图像上的角点坐标;将单目相机获取的机器人位姿与机器人自身提供的线速度、角速度相结合,获取精确移动机器人位姿;采用PID方法控制机器人前往充电桩进行对接,进行自主充电。与现有技术相比,本发明使用ArUco码引导稳定,在有光的前提下,能够达到100%的充电成功率;引导流畅,能够使机器人快速、平滑地对接充电桩。

Description

一种基于ArUco码引导的移动机器人自主充电方法
技术领域
本发明涉及移动机器人技术领域,尤其是涉及一种基于ArUco码引导的移动机器人自主充电方法。
背景技术
自主移动机器人是一种使用激光、摄像头等导引装置,能够自主按照任意导引路线行驶的机器人。由于其具有自主移动的特点,也可以搭配平台、箱体、屏幕等上层建筑,移动机器人在工业、物流业、商业等领域中能够节省人力使用、降低运营成本,具备广泛的应用平台和前景。自主移动机器人一般是由车载的蓄电池进行供电,由于电池容量有限,通常在运行几个小时后就需要补充电量,因此,自主充电是其需要实现的重要功能之一,当电量较低或需要充电时,机器人需要自主的返回对接充电桩进行充电,从而具备自主的持续作业能力。对自主充电方法的研究成为了近年来的重要课题。
目前常用的自主充电方式,是使用红外传感器技术进行移动与对接,目前公开的移动机器人自主充电方法也都是使用了红外技术。该项技术中,移动机器人通过接收充电桩发出的红外信号确定相对位置,进而根据引导来向充电桩运动。由于使用多个红外传感器检测信号强度能够方便得到位置信息,因此这种自主充电方式受到了广泛的青睐。然而,使用红外技术具有以下的不足:1、红外信号具有传输距离较小的固有性质,必须距离充电桩较近时才能接收到;2、红外信号发射时,角度较大的范围发射强度很小,需要使用高精度的红外信号检测电路才能够检测;3、容易受到其他红外信号的干扰。最近,一些基于红外与摄像头融合引导的方法被提出,一定程度改善了单纯使用红外技术的范围小等问题,但使用多传感器较为复杂和冗余。
视觉定位引导的方法逐渐开始在移动机器人自主充电中占有一席之地,但目前尚未有基于纯视觉的移动机器人自主充电方法公开。卡内基梅隆大学开发出的Sage机器人,通过使用CCD识别三维路标的方式,引导机器人返回充电站。此外,还有方法通过识别特别制作的色块或图标,对移动机器人进行定位,但并没有应用在自主充电领域。最近有研究提出使用SIFT等特征点法直接识别充电桩,这种方法虽然取得了一定的效果,但消耗了大量计算资源,且具有一定的误识别率。因此,目前基于视觉引导的移动机器人自主充电方法,无论引导精度还是速度都不能满足实际应用的需求。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于ArUco码引导的移动机器人自主充电方法,该方法能够实现远距离引导回充,且引导流畅,能够使移动机器人快速、准确、平滑地对接充电桩实现稳定的自主充电过程。
本发明的目的可以通过以下技术方案来实现:
一种基于ArUco码引导的移动机器人自主充电方法,该方法包括如下步骤:
S1:对移动机器人正后方设置充电触点以及用以捕获移动机器人正后方实时图像的单目相机,并在移动机器人运行环境中的布局多个设有ArUco码的充电桩,各充电桩的充电槽与所述充电触点处于同一高度上,每一个ArUco码设有各自对应的ID。
S2:建立移动机器人活动的环境地图,在环境地图中标记出各充电桩的位置及朝向。
S3:设置导航目标点以及充电触点和单目相机的镜头的目标姿态,规划移动机器人的运动轨迹,直到移动机器人到达目标点,并达到目标姿态。到达目标姿态后,若相机未识别到ArUco码,则通过旋转的方式寻找ArUco码。具体地:
将充电桩前方1m的位置设为导航目标点,将充电触点和单目相机的镜头正对充电桩设为目标姿态,规划移动机器人的运动轨迹,对移动机器人进行带有避障功能的导航,当移动机器人到达目标点位置后,控制移动机器人进行原地旋转,直至达到既定的目标姿态。到达目标姿态后,若单目相机未识别出ArUco码,则控制移动机器人以先逆时针,后顺时针的方式旋转,直至寻找到ArUco码。
S4:利用单目相机识别充电桩上的ArUco码,获取ArUco码在图像上的角点坐标,并通过角点间关系解算与坐标系变换,得到视觉信息提供的移动机器人与充电桩坐标系之间的位姿变换关系。
本步骤具体操作过程包括:
4.1、调用ArUco官方库中的检测函数,通过自适应阈值颜色分割以及透视变换方法识别单目相机捕获的图像中的ArUco码,进而获取角点的坐标:
调用ArUco官方库中的检测函数,检测函数首先将单目相机捕获的彩色图像转换为灰度图像,移除灰色像素,保留黑色、白色像素,获取黑白二值化图像,从黑白二值化图像中寻找所有由黑色边界包围的四边形,对四边形区域进行透视变换,获取规范形态,将规范形态的四边形区域根据大小和边界进行分格处理,通过每个格子的黑白颜色判断该区域是否为一个ArUco码,若是,则计算出其对应的字典ID,若该ID与预先固定在充电桩上的ArUco码ID相同,则表示相机捕获到了充电桩上的ArUco码,进而获取该ArUco码对应的角点在图像上的坐标。
4.2、根据实际使用的ArUco码获取ArUco码边长,获取标定的单目相机参数,包括单目相机的内参数矩阵和单目相机的畸变矩阵,利用上述参数结合上一步获取的角点坐标,计算ArUco码坐标系相对于单目相机坐标系的旋转矩阵,并基于旋转矩阵计算ArUco码坐标系相对于单目相机坐标系的变换矩阵。
4.3、根据单目相机、移动机器人坐标系间固定的变换关系,通过坐标系变换,获取移动机器人初始位姿。具体地:
固定一个世界坐标系,将该世界坐标系的原点设置为距离充电桩正前方=移动机器人半径的点,获取ArUco码坐标系相对于世界坐标系的变换矩阵
Figure BDA0002655540670000031
其表达式为:
Figure BDA0002655540670000032
式中,r为移动机器人的半径;
同时,获取移动机器人坐标系相对于单目相机坐标系的变换矩阵
Figure BDA0002655540670000033
其表达式为:
Figure BDA0002655540670000034
式中,
Figure BDA0002655540670000035
为单目相机固定位置到移动机器人中心的距离;
通过
Figure BDA0002655540670000036
以及步骤4.2得到的ArUco码坐标系相对于单目相机坐标系的变换矩阵,计算移动机器人坐标系相对于世界坐标系的变换矩阵
Figure BDA0002655540670000037
其表达式为:
Figure BDA0002655540670000041
式中,
Figure BDA0002655540670000042
为ArUco码坐标系相对于单目相机坐标系的变换矩阵;
基于移动机器人坐标系相对于世界坐标系的变换矩阵,使用移动机器人在世界坐标系下的2D位姿表示移动机器人的定位,定位表达式为:
Figure BDA0002655540670000043
x=pw1
y=pw2
Figure BDA0002655540670000044
式中,pw为世界坐标系下移动机器人的位置,pw*为pw对应行列处的元素值,
Figure BDA0002655540670000045
为移动机器人坐标系相对于世界坐标系的变换矩阵
Figure BDA0002655540670000046
对应行列处的元素值,(x、y、θ)为移动机器人的2D位姿。
S5:将单目相机获取的移动机器人位姿与移动机器人自身提供的移动机器人线速度、角速度相结合,获取精确移动机器人位姿。
进一步地,采用扩展卡尔曼滤波法,将单目相机提供的移动机器人位姿,与移动机器人自身轮式里程计提供的移动机器人线速度、角速度相结合,获取精确移动机器人位姿。
本发明采用的扩展卡尔曼滤波方法中,状态向量估计值
Figure BDA0002655540670000047
的表达式为:
Figure BDA0002655540670000048
其中,
Figure BDA0002655540670000049
是k时刻的移动机器人位姿估计值,
Figure BDA00026555406700000410
是t时刻的移动机器人速度估计值,Δt为采样间隔,k-1表示上一时刻。
状态转移矩阵Fk为上式右边矩阵的雅可比矩阵,可以求得表达式为:
Figure BDA00026555406700000411
由于观测得到的测量向量Yk与Xk为一一对应关系,因此测量转换矩阵H是一个单位矩阵,表达式为:
Figure BDA0002655540670000051
扩展卡尔曼滤波的使用还需要根据实际情况提供演化噪声方差Qk、测量噪声方差Rk以及初始的协方差矩阵P0。之后,扩展卡尔曼滤波便可以使用公式,结合实时采集的测量向量和滤波参数,对卡尔曼增益Kk、协方差矩阵Pk以及融合估计的状态向量Xk进行计算,状态向量Xk中的前三个数值便对应精确估计的移动机器人的实时位姿(xk、yk、θk),计算表达式为:
Figure BDA0002655540670000052
Figure BDA0002655540670000053
Figure BDA0002655540670000054
Figure BDA0002655540670000055
在按照上述步骤S4、S5的引导过程中,若发生单目相机漏识别ArUco码的偶发情况,则在发生偶发情况的时刻调整演化噪声方差Qk以及测量噪声方差Rk的值,从而完全相信移动机器人自身轮式里程计提供的移动机器人线速度、角速度,使用扩展卡尔曼滤波算法计算机器人位姿。
S6:依据精确移动机器人位姿规划移动机器人每一时刻的期望朝向,以期望朝向与实际朝向之间的差值作为输入误差,采用PID方法控制机器人前往充电桩进行对接,进行移动机器人的自主充电。具体步骤包括:
6.1、选择移动机器人的朝向θ作为被控量,每个t时刻以期望朝向θr,t与实际朝向θu,t之间的差值作为输入误差θe,t,利用PID方法控制移动机器人的角速度wt
输入误差θe,t为期望朝向θr,t与实际朝向θu,t之间的差值,其表达式为:
θe,t=θr,tu,t
利用PID方法控制移动机器人的角速度的控制规律为:
Figure BDA0002655540670000056
6.2、使用步骤6.1输出的移动机器人的角速度计算移动机器人的输出线速度,根据角速度、线速度控制移动机器人沿平滑轨迹快速前往充电桩与之对接;
6.3、当检测到某时刻移动机器人位姿在x方向的数值xt小于0,则判断移动机器人已与充电桩实现对接,发布刹车信号制动,使移动机器人的线速度、角速度为零,进而使其始终保持对接状态,实现自主充电。
本发明提供的基于ArUco码引导的移动机器人自主充电方法,相较于现有技术至少包括如下有益效果:
1)本发明基于单目相机和ArUco码对移动机器人进行引导,相比于传统的红外技术对近距离的充电桩的限制要求,本发明能够实现远距离引导回充,相比于识别图表或色块的方式,本发明利用相机识别ArUco码可以得到更丰富的视觉信息,为移动机器人提供其在世界坐标系下的更加精准的位姿,识别更加稳定,定位精度高,且只会占用很少的计算资源,从而可以对图像实时处理、对移动机器人实时控制,引导移动机器人快速、准确、平滑地对接充电桩,对接成功率可以达到100%;
2)本发明在自主充电引导的第一阶段使用激光为主传感器,能够在地图上的任意位置导航到充电桩前方1米左右的位置,实现了机器人在任意位置的自主回充,满足实际应用的要求;
3)本发明结合了单目相机的视觉信息和轮式里程计的速度信息进行定位,避免了误差的累积,能够得到更加精确的机器人位姿,两种位姿信息结合的方式使移动机器人在其中一种信息丢失的极端状况下仍然可以继续被引导,大大增加了自主充电过程的稳定性;
4)本发明融合了ArUco码与轮式里程计的定位信息,提高了定位精度,实现了对充电桩的实时精确定位,且能够保证在看不到ArUco码的偶发情况下,移动机器人仍然可以继续定位和导航;
5)本发明使用PID运动控制方法,可保证机器人以一条平滑的路线对接充电桩,并可以尽量正对与充电桩对接,避免了路线的震荡,减少了自主充电过程的对接时间。
附图说明
图1为实施例中移动机器人上相机、触点安装位置示意图;
图2为实施例中设有ArUco码的充电桩的正视结构示意图;
图3为实施例中基于ArUco码引导的移动机器人自主充电方法的流程示意图;
图4为实施例中移动机器人使用激光导航前往充电桩前方目标点的示意图;
图5为实施例中ArUco码识别定位的流程图;
图6为实施例中使用扩展卡尔曼滤波估计移动机器人位姿流程图;
图7为实施例中移动机器人自主充电运动控制流程图;
图8为实施例中移动机器人角速度PID控制框图;
图9为实施例中移动机器人的一条对接轨迹示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
实施例
本发明涉及一种基于ArUco码引导的移动机器人自主充电方法,该方法主要原理在于:当移动机器人检测到电量低于一定阈值、或接收到人为发出的充电指令后,移动机器人将自主返回对接充电桩,进行自主充电。在使用本方法进行自主充电之前,移动机器人以及环境场景应当已经完成了以下两个准备阶段的工作:
1、在移动机器人的正后方底部位置,安装一个充电触点,该触点与机载电池、移动机器人控制箱相连,在触点触碰到充电桩的充电槽后,即可同时给机器人供电、给机载电池充电。在充电触点的正上方,安装一个单目相机,该相机与控制箱通过USB接口连接,提供正后方的实时图像。移动机器人外观以及相机、触点安装位置如图1所示。在移动机器人运行环境中的任意合适位置,放置一个固定有ArUco码的充电桩,充电桩的充电槽应与移动机器人的充电触点处于同一高度上。固定有ArUco码的充电桩的外观如图2所示。
2、建立一张2D环境地图,并标出充电桩在地图上的位置与朝向。
在完成了准备阶段工作的基础上,如图3所示,本发明一种基于ArUco码引导的移动机器人自主充电方法包括以下四个步骤:
步骤一、以激光为主传感器,规划并导航到地图上充电桩前方1m左右的位置,并使单目相机大致朝向充电桩。到达目标位置和姿态后,若单目相机视野中没有ArUco码,则移动机器人通过原地旋转的方式寻找ArUco码。
该步骤可以具体分为以下两个部分:
(1)本方法能够使移动机器人在环境中的任意位置返回充电桩进行自主充电,在绝大多数情况下,移动机器人不会距离充电桩很近从而直接看到固定的ArUco码。因此,本方法首先以激光为主传感器,将充电桩前方1m的位置设置为导航目标点,将充电触点和摄像头正对充电桩设置为目标姿态,进行带有避障功能的导航。本实施例中,移动机器人使用Dijkstra算法进行全局路径规划,使用模糊PID运动控制保障移动机器人沿规划的路线行驶,使用激光以及超声波传感器检测周围障碍物,通过软件状态机在必要的时候进行避障操作。到达目标点位置后,机器人再进行原地的旋转,到达既定的目标姿态。机器人前往目标点的过程可以在地图上实时观察,如图4所示。
(2)第(1)部分的激光导航能够将机器人引导到充电桩前方1m左右的位置,位置误差能够在5cm以内,但偶然会存在旋转不到位的情况,这会导致此时机器人视野中没有ArUco码。因此在本实施例中,若完成第(1)部分后没有看到ArUco码,则机器人将采用先逆时针旋转、再顺时针旋转的方式,寻找ArUco码,此时的机器人线速度v=0m/s,角速度的表达式为:
Figure BDA0002655540670000081
其中,t为第(2)部分开始到现在的时间。
一旦在某一时刻,移动机器人在图像中识别到了ArUco码,将进行步骤二。
步骤二、使用单目相机识别固定在充电桩上的ArUco码,得到ArUco码在图像上的角点坐标,并通过角点间关系解算与坐标系变换,得到视觉信息提供的机器人与充电桩坐标系之间的位姿变换关系。
本实施例中,如图5所示,该步骤可以具体细分为以下三个部分:
(1)调用ArUco官方库中的检测函数,通过自适应阈值颜色分割以及透视变换方法识别图中的ArUco码,得到角点的坐标。具体地:
检测函数首先将相机采集到的彩色图像转换为灰度图像,再使用Otsu算法移除灰色的像素,只留下黑色、白色像素,得到黑白二值化的图像,然后从中找出所有由黑色边界包围的四边形,接下来,对四边形区域进行透视变换,来得到规范的形态,这一区域根据大小和边界分为了8*8的格子,通过每个格子的黑白颜色来得到该区域是否是一个ArUco码,若是一个ArUco码,再计算出它的字典ID。
本实施例中,使用的ArUco码的字典ID号为2,若单目相机捕获到的图像中找到了字典ID号为2的ArUco码,那么就说明它就是固定在充电桩上的ArUco码,进而获取它的角点在图像上的坐标。
(2)调用ArUco官方库中的位姿计算函数,通过角点坐标的关系解算,结合标定的相机参数,算出相机与ArUco码坐标系间的坐标变换。具体地:
计算位姿需要知道4个输入量:相机的内参数矩阵mK、畸变矩阵mDistCoef、ArUco码实际边长l和角点坐标corners。在安装相机之前,首先使用张氏标定法对相机进行参数标定,得到相机的内参数矩阵mK和相机的畸变矩阵mDistCoef,边长l由实际使用的ArUco码决定,在本实施例中,l=0.063m,角点坐标corners则已经在第(1)部分中得到。
输入上述4个变量,位姿计算函数会返回ArUco码的旋转向量rvecs和平移向量tvecs,根据上述的向量,计算ArUco码坐标系相对于相机坐标系的旋转矩阵
Figure BDA0002655540670000091
表达式为:
Figure BDA0002655540670000092
其中,α和n分别为旋转向量的旋转角和旋转轴,满足rvecs=αn,符号^是向量到反对称的转换符。
最后计算得到ArUco码坐标系相对于相机坐标系的变换矩阵
Figure BDA0002655540670000093
表达式为:
Figure BDA0002655540670000094
(3)根据相机、机器人坐标系间固定的变换关系,通过坐标系变换,得到机器人位姿。具体地:
人为固定一个世界坐标系,该坐标系的原点为充电桩正前方r距离的点,坐标系朝向与ArUco码坐标系一致,其中r为机器人半径,也就是说,为了最准确的对接充电桩,机器人需要把世界坐标系原点设为目标点。ArUco码坐标系相对于世界坐标系的变换矩阵
Figure BDA0002655540670000095
是固定的,表达式为:
Figure BDA0002655540670000096
同样,机器人坐标系相对于相机坐标系的变换矩阵
Figure BDA0002655540670000097
也是固定的,表达式为:
Figure BDA0002655540670000101
其中,
Figure BDA0002655540670000102
为相机固定位置到机器人中心的距离。
通过
Figure BDA0002655540670000103
以及第(2)部分中得到的
Figure BDA0002655540670000104
这三个变换矩阵,可以计算出机器人坐标系相对于世界坐标系的变换矩阵
Figure BDA0002655540670000105
表达式为:
Figure BDA0002655540670000106
为了直观的表示机器人的位姿,同时移动机器人只受控于2D平面,因此本发明方法使用机器人在世界坐标系下的2D位姿来最终表示机器人的定位,2D位姿可以通过(x、y、θ)三个值来表示,根据
Figure BDA0002655540670000107
可以求得机器人位姿,表达式为:
Figure BDA0002655540670000108
x=pw1
y=pw2
Figure BDA0002655540670000109
其中,pw为世界坐标系下机器人的位置,pw*
Figure BDA00026555406700001010
都表示矩阵对应行列处的元素值。
综合以上三个部分的内容,在步骤二中,单目相机的视觉信息为机器人提供了其在世界坐标系下的位姿(x、y、θ),并且该位姿随着图像的实时采集而更新,在本实施例中,更新频率可以达到20Hz,充分满足机器人自身定位实时性的要求。
步骤三、使用扩展卡尔曼滤波方法,将相机提供的机器人位姿,与轮式里程计提供的机器人线速度、角速度相结合,得到更加精确的机器人位姿。
在步骤二中,相机的视觉信息为机器人提供了其在世界坐标系下的位姿(x、y、θ),通过相机可以直接观测得到机器人位姿,因此相机可以提供位姿的观测值。由于不可避免的机器人晃动等因素,相机采集到的图像一般会伴随一定程度的运动模糊,从而影响步骤二中的识别准确率,对位姿估计产生误差,该误差可以近似认为服从高斯分布。
一般的移动机器人都配备有轮式里程计,如编码器或霍尔传感器等,轮式里程计通过计算一小段时间内轮子的转动幅度,来得到该段时间内机器人的平均移动速度,并将它近似为该时刻的瞬时速度,从而实时提供机器人的线速度和角速度(v、ω),而根据上一时刻机器人的位姿和机器人当前时刻的速度,可以估算出当前时刻机器人的位姿,因此轮式里程计也可以提供位姿的观测值。由于轮式里程计固有的工作机理,其得到的机器人位姿也存在一定的误差,该误差也可以近似认为服从高斯分布。
因此,对于视觉信息和里程计信息的融合问题,本发明将其转化成了一个典型的扩展卡尔曼滤波问题,对视觉和里程计分别得到的位姿进行了融合滤波,流程如图6所示。通过扩展卡尔曼滤波,得到的机器人位姿更加精确,且不会有误差的累计问题,确保误差始终在一个很小的范围内。
本发明采用的扩展卡尔曼滤波方法中,状态向量估计值
Figure BDA0002655540670000111
的表达式为:
Figure BDA0002655540670000112
其中,
Figure BDA0002655540670000113
是k时刻的机器人位姿估计值,
Figure BDA0002655540670000114
是t时刻的机器人速度估计值,Δt为采样间隔,k-1表示上一时刻。
状态转移矩阵Fk为上式右边矩阵的雅可比矩阵,可以求得表达式为:
Figure BDA0002655540670000115
由于观测得到的测量向量Yk与Xk为一一对应关系,因此测量转换矩阵H是一个单位矩阵,表达式为:
Figure BDA0002655540670000116
进一步,扩展卡尔曼滤波的使用还需要提供演化噪声方差Qk、测量噪声方差Rk以及初始的协方差矩阵P0。在本实施例中,在相机能够看见并识别到ArUco码的一般情况下,三者的表达式为:
Figure BDA0002655540670000121
Figure BDA0002655540670000122
Figure BDA0002655540670000123
之后,扩展卡尔曼滤波便可以使用公式,结合实时采集的测量向量和滤波参数,对卡尔曼增益Kk、协方差矩阵Pk以及融合估计的状态向量Xk进行计算,向量Xk中的前三个数值便对应精确估计的机器人实时位姿(xk、yk、θk),计算表达式为:
Figure BDA0002655540670000124
Figure BDA0002655540670000125
Figure BDA0002655540670000126
Figure BDA0002655540670000127
此外,由于遮挡或机器人抖动,偶然会出现漏识别ArUco码,进而无法提供视觉信息的机器人位姿的情况,本发明使用扩展卡尔曼滤波一并解决这个问题。当这种情况出现时,本发明调整演化噪声方差Qk以及测量噪声方差Rk的值,从而选择完全相信并采用轮式里程计提供的位姿信息,表达式为:
Figure BDA0002655540670000128
Figure BDA0002655540670000129
这种情况下,扩展卡尔曼滤波将完全通过轮式里程计提供的上一时刻速度估计值
Figure BDA00026555406700001210
来计算当前的机器人位姿估计值
Figure BDA00026555406700001211
可对丢失视觉位姿信息的情况有一个很好的应急处理。
步骤四、根据位姿规划机器人每一时刻的期望朝向,以期望朝向与实际朝向之间的差值作为输入误差,使用PID方法控制机器人前往充电桩,并精确对接。
步骤三得到了精确的机器人在世界坐标系下的实时位姿(xt、yt、θt),为了能够精准、快速、平滑地对接充电桩,还需要基于实时位姿进行精准的运动控制。本发明使用了PID运动控制方法控制机器人前往充电桩并精确对接,如图7所示,该步骤可以具体分为以下三个部分:
(1)选择机器人的朝向θ作为被控量,以期望朝向θr与实际朝向θu之间的差值作为输入误差θe,使用PID方法控制机器人的角速度,如图8所示。
具体地,在t时刻,机器人与世界坐标系原点即目标点的角度
Figure BDA0002655540670000131
的表达式为:
Figure BDA0002655540670000132
本发明令每一时刻的期望朝向θr,t为角度
Figure BDA0002655540670000133
的1.5倍,表达式为:
Figure BDA0002655540670000134
这样能够让机器人以一个圆弧状的轨迹前往充电桩,使得y可以首先接近0,从而让机器人以一个正对的姿态对接充电桩。
本发明的输入误差θe,t为期望朝向θr,t与实际朝向θu,t之间的差值,表达式为:
θe,t=θr,tu,t
PID控制规律为:
Figure BDA0002655540670000135
在本实施例中,设定Kp=0.33,Ki=0,Kd=0.17。通过PID控制规律实时得到当前时刻的输出角速度wt
(2)使用输出角速度wt计算输出线速度vt
具体地,输出线速度的大小则由输出角速度决定,应满足随着输出角速度绝对值的增大而减小,且最小不小于0,最大不超过提前给定的最大线速度vmax
在本实施例中,输出线速度vt的计算公式为:
Figure BDA0002655540670000136
通过步骤四的(1)、(2)两部分能够得到t时刻实时的输出速度(vt、wt),这样可以控制机器人沿一条平滑的轨迹,快速前往充电桩与之对接。如图9所示,是机器人在初始位姿(x0、y0、θ0)开始前往充电桩的轨迹。
(3)在检测到某时刻移动机器人位姿在x方向的数值xt小于0时,表示机器人已经与充电桩对接,发布刹车信号制动,使vt=0,wt=0,从而始终保持对接状态,进行充电。
本发明基于单目相机和ArUco码对移动机器人进行引导,相比于传统的红外技术对近距离的充电桩的限制要求,能够实现远距离引导回充,相比于识别图表或色块的方式,本发明利用相机识别ArUco码可以得到更丰富的视觉信息,为移动机器人提供其在世界坐标系下的更加精准的位姿,识别更加稳定,定位精度高;在引导过程中只会占用很少的计算资源,从而可以对图像实时处理、对移动机器人实时控制,引导移动机器人快速、准确、平滑地对接充电桩。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的工作人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种基于ArUco码引导的移动机器人自主充电方法,其特征在于,包括下列步骤:
1)于移动机器人正后方设置充电触点以及用以捕获移动机器人正后方实时图像的单目相机,并在移动机器人运行环境中的布局多个设有ArUco码的充电桩,各充电桩的充电槽与所述充电触点处于同一高度上;
2)建立移动机器人活动的环境地图,在环境地图中标记出各充电桩的位置及朝向;
3)设置导航目标点以及充电触点和单目相机的镜头的目标姿态,规划移动机器人的运动轨迹,直到移动机器人到达目标点,并达到目标姿态;
4)利用单目相机识别充电桩上的ArUco码,获取ArUco码在图像上的角点坐标,并通过角点间关系解算与坐标系变换,得到视觉信息提供的移动机器人与充电桩坐标系之间的位姿变换关系;
5)采用扩展卡尔曼滤波法,将单目相机获取的移动机器人位姿与移动机器人自身轮式里程计提供的移动机器人线速度、角速度相结合,获取精确移动机器人位姿;
6)依据精确移动机器人位姿规划移动机器人每一时刻的期望朝向,以期望朝向与实际朝向之间的差值作为输入误差,采用PID方法控制移动机器人前往充电桩进行对接,进行移动机器人的自主充电;
步骤4)包括下列步骤:
41)调用ArUco官方库中的检测函数,通过自适应阈值颜色分割以及透视变换方法识别单目相机捕获的图像中的ArUco码,进而获取角点的坐标;
42)调用ArUco官方库中的位姿计算函数,通过角点坐标的关系解算,结合标定的单目相机参数,获取单目相机与ArUco码坐标系间的坐标变换,得到基于旋转矩阵计算ArUco码坐标系相对于单目相机坐标系的变换矩阵;
43)根据单目相机、移动机器人坐标系间固定的变换关系,通过坐标系变换,获取移动机器人初始位姿;具体内容为:
固定一个世界坐标系,将该世界坐标系的原点设置为距离充电桩正前方一个移动机器人半径长度的点,获取ArUco码坐标系相对于世界坐标系的变换矩阵
Figure FDA0003456790030000021
其表达式为:
Figure FDA0003456790030000022
式中,r为移动机器人的半径;
同时,获取移动机器人坐标系相对于单目相机坐标系的变换矩阵
Figure FDA0003456790030000029
其表达式为:
Figure FDA0003456790030000023
式中,
Figure FDA0003456790030000024
为单目相机固定位置到移动机器人中心的距离;
通过
Figure FDA0003456790030000025
以及步骤42)得到的ArUco码坐标系相对于单目相机坐标系的变换矩阵,计算移动机器人坐标系相对于世界坐标系的变换矩阵
Figure FDA0003456790030000026
其表达式为:
Figure FDA0003456790030000027
式中,
Figure FDA0003456790030000028
为ArUco码坐标系相对于单目相机坐标系的变换矩阵;
基于移动机器人坐标系相对于世界坐标系的变换矩阵,使用移动机器人在世界坐标系下的2D位姿表示移动机器人的定位。
2.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,步骤3)的具体内容为:
将充电桩前方1m的位置设为导航目标点,将充电触点和单目相机的镜头正对充电桩设为目标姿态,规划移动机器人的运动轨迹,对移动机器人进行带有避障功能的导航,当移动机器人到达目标点位置后,控制移动机器人进行原地旋转,直至达到既定的目标姿态。
3.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,步骤41)的具体内容为:
调用ArUco官方库中的检测函数,检测函数首先将单目相机捕获的彩色图像转换为灰度图像,移除灰色像素,保留黑色、白色像素,获取黑白二值化图像,从黑白二值化图像中寻找所有由黑色边界包围的四边形,对四边形区域进行透视变换,获取规范形态,将规范形态的四边形区域根据大小和边界进行分格处理,通过每个格子的黑白颜色判断该区域是否为一个ArUco码,若是,则计算出其对应的字典ID,若该ID与预先固定在充电桩上的ArUco码ID相同,则表示单目相机捕获到了充电桩上的ArUco码,进而获取该ArUco码在单目相机捕获的图像上对应的角点坐标。
4.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,步骤42)的具体内容为:
根据实际使用的ArUco码获取ArUco码边长,获取标定的单目相机参数,包括单目相机的内参数矩阵和单目相机的畸变矩阵,利用上述参数结合步骤41)获取的角点坐标,计算ArUco码坐标系相对于单目相机坐标系的旋转矩阵,并基于旋转矩阵计算ArUco码坐标系相对于单目相机坐标系的变换矩阵。
5.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,移动机器人在世界坐标系下的2D位姿表示移动机器人的定位的表达式为:
Figure FDA0003456790030000031
x=pw1
y=pw2
Figure FDA0003456790030000032
式中,pw为世界坐标系下移动机器人的位置,pw*为pw对应行列处的元素值,
Figure FDA0003456790030000033
为移动机器人坐标系相对于世界坐标系的变换矩阵
Figure FDA0003456790030000034
对应行列处的元素值,(x、y、θ)为移动机器人的2D位姿。
6.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,若引导过程中发生单目相机漏识别ArUco码的偶发情况,则在发生漏识别ArUco码的当前时刻完全相信里程计提供的移动机器人线速度、角速度,使用扩展卡尔曼滤波算法计算移动机器人位姿。
7.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,步骤6)包括下列步骤:
61)选择移动机器人的朝向θ作为被控量,以期望朝向θr与实际朝向θu之间的差值作为输入误差θe,利用PID方法控制移动机器人的角速度;
62)使用步骤61)输出的移动机器人的角速度计算移动机器人的输出线速度,根据角速度、线速度控制移动机器人沿平滑轨迹快速前往充电桩与之对接;
63)当检测到某时刻移动机器人位姿在x方向的数值xt小于0,则判断移动机器人已与充电桩实现对接,发布刹车信号制动,使移动机器人的线速度、角速度为零,进而使其始终保持对接状态,实现自主充电。
8.根据权利要求1所述的基于ArUco码引导的移动机器人自主充电方法,其特征在于,执行步骤3)时,若到达目标姿态后,单目相机未识别到ArUco码,则控制移动机器人以先逆时针,后顺时针的方式旋转,直至寻找到ArUco码。
CN202010885831.7A 2020-08-28 2020-08-28 一种基于ArUco码引导的移动机器人自主充电方法 Active CN112183133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010885831.7A CN112183133B (zh) 2020-08-28 2020-08-28 一种基于ArUco码引导的移动机器人自主充电方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010885831.7A CN112183133B (zh) 2020-08-28 2020-08-28 一种基于ArUco码引导的移动机器人自主充电方法

Publications (2)

Publication Number Publication Date
CN112183133A CN112183133A (zh) 2021-01-05
CN112183133B true CN112183133B (zh) 2022-05-31

Family

ID=73924593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010885831.7A Active CN112183133B (zh) 2020-08-28 2020-08-28 一种基于ArUco码引导的移动机器人自主充电方法

Country Status (1)

Country Link
CN (1) CN112183133B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113370816B (zh) * 2021-02-25 2022-11-18 德鲁动力科技(成都)有限公司 四足机器人充电桩及其精定位方法
CN113156944B (zh) * 2021-03-28 2023-03-07 西北工业大学 一种室内移动机器人充电路径规划与运动控制算法
CN113258638A (zh) * 2021-05-14 2021-08-13 江苏天策机器人科技有限公司 一种机器人智能充电方法及充电系统
CN113378750B (zh) * 2021-06-23 2024-06-07 北京哈崎机器人科技有限公司 一种充电桩对接方法、装置、计算机设备和存储介质
CN113263929A (zh) * 2021-06-25 2021-08-17 北京图什科技有限公司 一种移动充电系统及移动充电定位方法
CN113821047A (zh) * 2021-08-18 2021-12-21 杭州电子科技大学 一种基于单目视觉的无人机自主降落方法
CN113696180A (zh) * 2021-08-31 2021-11-26 千里眼(广州)人工智能科技有限公司 机器人自动回充方法、装置、存储介质及机器人系统
CN114397886B (zh) * 2021-12-20 2024-01-23 烟台杰瑞石油服务集团股份有限公司 一种充电方法及充电系统
CN114179664B (zh) * 2021-12-30 2024-04-19 杭州蓝芯科技有限公司 一种amr自主充电的方法、电子设备、计算机存储介质
CN114527755A (zh) * 2022-02-21 2022-05-24 山东新一代信息产业技术研究院有限公司 一种机器人自动回桩充电的方法、设备、存储介质
CN114663494A (zh) * 2022-03-18 2022-06-24 欧姆龙(上海)有限公司 三维物体的空间姿态的标注方法、装置以及电子设备
CN114675657B (zh) * 2022-05-25 2022-09-23 天津卡雷尔机器人技术有限公司 一种基于红外摄像头模糊控制算法回巢充电的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106969766A (zh) * 2017-03-21 2017-07-21 北京品创智能科技有限公司 一种基于单目视觉和二维码路标的室内自主导航方法
CN108983603A (zh) * 2018-06-27 2018-12-11 广州视源电子科技股份有限公司 一种机器人与物体的对接方法及其机器人
CN109374003A (zh) * 2018-11-06 2019-02-22 山东科技大学 一种基于ArUco码的移动机器人视觉定位与导航方法
CN110116407A (zh) * 2019-04-26 2019-08-13 哈尔滨工业大学(深圳) 柔性机器人位姿测量方法及装置
CN110502010A (zh) * 2019-08-15 2019-11-26 同济大学 一种基于贝塞尔曲线的移动机器人室内自主导航控制方法
CN111179356A (zh) * 2019-12-25 2020-05-19 北京中科慧眼科技有限公司 基于Aruco码的双目相机标定方法、装置、系统和标定板

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106406338B (zh) * 2016-04-14 2023-08-18 中山大学 一种基于激光测距仪的全向移动机器人的自主导航装置及其方法
JP6470322B2 (ja) * 2017-01-16 2019-02-13 本田技研工業株式会社 自律移動型ロボット運行管理システム
CN108594822A (zh) * 2018-05-10 2018-09-28 哈工大机器人(昆山)有限公司 基于二维码的机器人定位方法、机器人充电方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106969766A (zh) * 2017-03-21 2017-07-21 北京品创智能科技有限公司 一种基于单目视觉和二维码路标的室内自主导航方法
CN108983603A (zh) * 2018-06-27 2018-12-11 广州视源电子科技股份有限公司 一种机器人与物体的对接方法及其机器人
CN109374003A (zh) * 2018-11-06 2019-02-22 山东科技大学 一种基于ArUco码的移动机器人视觉定位与导航方法
CN110116407A (zh) * 2019-04-26 2019-08-13 哈尔滨工业大学(深圳) 柔性机器人位姿测量方法及装置
CN110502010A (zh) * 2019-08-15 2019-11-26 同济大学 一种基于贝塞尔曲线的移动机器人室内自主导航控制方法
CN111179356A (zh) * 2019-12-25 2020-05-19 北京中科慧眼科技有限公司 基于Aruco码的双目相机标定方法、装置、系统和标定板

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ArUco-SLAM:基于ArUco二维码阵列的单目实时建图定位系统;邢伯阳,潘峰,冯肖雪;《北京理工大学学报》;20200430;第40卷(第四期);第427-433页 *

Also Published As

Publication number Publication date
CN112183133A (zh) 2021-01-05

Similar Documents

Publication Publication Date Title
CN112183133B (zh) 一种基于ArUco码引导的移动机器人自主充电方法
KR101539270B1 (ko) 충돌회피 및 자율주행을 위한 센서융합 기반 하이브리드 반응 경로 계획 방법, 이를 수행하기 위한 기록 매체 및 이동로봇
Cherubini et al. Autonomous visual navigation and laser-based moving obstacle avoidance
CN112740274B (zh) 在机器人设备上使用光流传感器进行vslam比例估计的系统和方法
Ye Navigating a mobile robot by a traversability field histogram
Rusdinar et al. Implementation of real-time positioning system using extended Kalman filter and artificial landmark on ceiling
CN113587930B (zh) 基于多传感融合的自主移动机器人室内外导航方法及装置
Kagami et al. Vision-based 2.5 D terrain modeling for humanoid locomotion
CN110751123A (zh) 一种单目视觉惯性里程计系统及方法
CN114489050A (zh) 沿直线行驶的避障路线控制方法、装置、设备及存储介质
Zhao et al. Robust depth-aided visual-inertial-wheel odometry for mobile robots
Shaw et al. Development of an AI-enabled AGV with robot manipulator
US11865724B2 (en) Movement control method, mobile machine and non-transitory computer readable storage medium
CN115690343A (zh) 一种基于视觉跟随的机器人激光雷达扫描建图方法
CN117554989A (zh) 视觉融合激光雷达slam定位导航的方法及其无人机系统
CN114003041A (zh) 一种多无人车协同探测系统
Wang et al. Agv navigation based on apriltags2 auxiliary positioning
Sun et al. Detection and state estimation of moving objects on a moving base for indoor navigation
Achour et al. Localization and guidance with an embarked camera on a mobile robot
US12124270B2 (en) Systems and methods for VSLAM scale estimation using optical flow sensor on a robotic device
Zhang et al. Advanced Multi-Sensor Person-Following System on a Mobile Robot: Design, Construction and Measurements
Zhang et al. LiDAR and IMU Inertial Guidance Combined Navigation Front-End Design
Lee et al. Insufficient environmental information indoor localization of mecanum mobile platform using wheel-visual-inertial odometry
Mahdi et al. Stereo Vision Based Obstacle Avoidance Local-Planner for Autonomous Golf Cart
CN115328164A (zh) 一种移动机器人及其自主充电方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant