CN116124125A - 基于激光的二维码地图自动创建方法 - Google Patents

基于激光的二维码地图自动创建方法 Download PDF

Info

Publication number
CN116124125A
CN116124125A CN202310149296.2A CN202310149296A CN116124125A CN 116124125 A CN116124125 A CN 116124125A CN 202310149296 A CN202310149296 A CN 202310149296A CN 116124125 A CN116124125 A CN 116124125A
Authority
CN
China
Prior art keywords
dimensional code
map
link
coordinate system
laser
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.)
Pending
Application number
CN202310149296.2A
Other languages
English (en)
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.)
Chongqing Chang'an Minsheng Fuyong Logistics Co ltd
Original Assignee
Chongqing Chang'an Minsheng Fuyong Logistics Co ltd
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 Chongqing Chang'an Minsheng Fuyong Logistics Co ltd filed Critical Chongqing Chang'an Minsheng Fuyong Logistics Co ltd
Priority to CN202310149296.2A priority Critical patent/CN116124125A/zh
Publication of CN116124125A publication Critical patent/CN116124125A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3841Data obtained from two or more sources, e.g. probe vehicles
    • 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/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Landscapes

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

Abstract

本发明提供了一种基于激光的二维码地图自动创建方法,通过激光定位、惯性测量单元及里程计测量单元融合的高精度定位(可到达+‑5mm精度)反向解算生成二维码地图,较依赖人工手工测量粘贴生成的二维码地图,具有较高精度,使得前期得到更高精度的二维码地图,从而提高后期的定位精度;并且降低部署阶段对施工人员贴二维码地标精度的要求(位置偏差只要在摄像头的视场角范围内,均可实现后续识别定位,提高了部署效率,节约了部署周期。

Description

基于激光的二维码地图自动创建方法
技术领域
本发明涉及二维码地图的技术领域,具体涉及一种基于激光的二维码地图自动创建方法。
背景技术
在室内机器人或是工业移动AGV的使用场景时,通常定位采用二维码定位,一般需要人工用墨盒或激光测量仪,确定需要粘贴的二维码地标的位置和角度,随后采用人工粘贴的方式粘贴到指定位置和角度上,随后手工录入各个二维码的位置角度作为二维码地图,用于后续定位,此过程一方面前期部署时间长,一方面对工人的粘贴精度要求高;另一方面人工粘贴精度造成二维码地图不准,从而影响后续定位精度。
因此,如何提高二维码地图的精度,降低二维码地图和导航定位地图之间的误差是当前面临的问题。
发明内容
针对现有技术中所存在的不足,本发明提供了一种基于激光的二维码地图自动创建方法,以解决现有技术中在室内机器人或是工业移动AGV的使用场景时,采用二维码地图定位不够精准,面临误差较大的问题。
本发明提供了一种基于激光的二维码地图自动创建方法,含有激光雷达、摄像单元、惯性测量单元及里程计测量单元的AGV,并分别获取所述激光雷达的激光点云数据坐标系hokuyo_link、摄像单元的相机坐标系camera_link、所述惯性测量单元的数据坐标系imu_link、所述里程计测量单元的里程计坐标系odom_link及AGV的本体坐标系base_link,还包括:
S1、获取所述惯性测量单元的不确定度量值imu*,将摄像单元和惯性测量单元联合标定,得到所述惯性测量单元的零偏bias和高斯白噪声noise,获取所述里程计测量单元的里程计值odom*,获取所述摄像单元的内参矩阵K,并分别获取在所述本体坐标系base_link下所述hokuyo_link、camera_link及imu_link的安装位置和安装角度,分别定义为激光雷达、摄像单元及惯性测量单元的坐标;
S2、铺设二维码地标,通过所述摄像单元进行视觉定位,并通过激光定位生成表示环境的二维码地图Map及base_link在该地图中的实时位姿;
S3、基于所述视觉定位和实时位姿生成二维码地图,判断是否新增实时位姿,若是新增则更新二维码地图,否则不做更新。
可选地,所述通过所述摄像单元进行视觉定位,包括:
解算所述相机坐标系camera_link在当前二维码地标的坐标系下的位姿
Figure BDA0004090220670000021
和所述二维码地标的id,记为markInfo。
可选地,所述并通过激光定位生成表示环境的二维码地图Map及base_link在该地图中的实时位姿,记为
Figure BDA0004090220670000022
包括:
所述激光定位包含融合定位和激光slam两个级联的功能模块,将所述imu*和odom*输入所述融合定位模块,经融合后odom*记为融合里程值robot_odom,并将所述robot_odom与所述激光点云共同输入到下一级激光slam模块,采用RBPF算法进行同时建图与定位,生成表示环境的二维码地图Map及base_link在该地图中的实时位姿,记为
Figure BDA0004090220670000023
可选地,所述基于所述视觉定位和实时位姿生成二维码地图,包括:
S301、初始化用于保存markInfo信息的MarkInfos容器、初始化用于保存robot_odom信息的RobotOdoms容器、用于维护RobotOdoms容器的最大长度阈值的odomWin_th及用于维护MarkInfos容器的最大长度阈值的markWin_th;
S302、获得所述相机坐标系camera_link到本体坐标系base_link下的位姿转换矩阵
Figure BDA0004090220670000024
S303、不断检查是否有新的融合里程值robot_odoom解算出来,若有则将新的robot_odom加入到RobotOdoms容器中,并通过滑动窗口的方法的,删除窗口中最旧的值,来维护RobotOdoms的长度不大于odomWin_th,否则不做变化;
S304、不断循环检测所述视觉定位是否识别到新的二维码信息,若有新markInfo,将markInfo中的camera_link坐标系在mark_link坐标系下的位姿
Figure BDA0004090220670000025
转换为camera_link坐标系到mark_link坐标系下的转换矩阵
Figure BDA0004090220670000026
S305、检测到新的二维码信息时,在所述RobotOdoms容器中查找与当前时刻前后最近时间戳的robot_odom,分别定义为RobotOdom_pre和RobotOdom_after。若还没有RobotOdom_after,则继续等待直到最新时刻的robot_odom消息到来;
S306、对所述RobotOdom_pre和RobotOdom_after按时间进行插值,预估与当前二维码信息的时间戳markinfo.time时刻对应的RobotOdom*值,并将通过插值获得的位姿信息RobotOdom*转为本体坐标系base_link到二维码地图Map的转换矩阵
Figure BDA0004090220670000031
S307、通过转换矩阵计算当前二维码在二维码地图Map坐标系下的位姿
Figure BDA0004090220670000032
S308、通过当前二维码的位姿
Figure BDA0004090220670000033
计算在二维码地图Map下的坐标
Figure BDA0004090220670000034
和所述AGV在二维码地图Map下位姿;
S309、对二维码的多个实时位姿
Figure BDA0004090220670000035
做滤波处理,求得均值
Figure BDA0004090220670000036
及方差,并记录至MarkInfos容器;
S310、在保存二维码地图Map前不断检测是否有新的二维码,若有则保存该二维码的实时位姿
Figure BDA0004090220670000037
若检测到识别过的二维码的实时位姿
Figure BDA0004090220670000038
则重复S304-S309,实现二维码地图Map的更新并保存。
可选地,所述通过转换矩阵计算当前二维码在二维码地图Map坐标系下的位姿
Figure BDA0004090220670000039
所述
Figure BDA00040902206700000310
计算式为:
Figure BDA00040902206700000311
其中T.inv()表示求矩阵的逆矩阵,因为对坐标系转换矩阵,存在
Figure BDA00040902206700000312
相比于现有技术,本发明具有如下有益效果:
1、增加了定位精度,通过前期部署完二维码后,借助激光及惯导融合的高精度定位(可到达+-5mm精度)反向解算生成二维码地图,较依赖人工手工测量粘贴生成的二维码地图,具有较高精度。
2、仅在前期部署阶段借助激光后期投入应用过程仍然采用二维码+惯导融合定位机器人,在提高后期定位精度的同时,不增加客户成本,实现了低成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程示意图;
图2为本发明中S303的流程示意图;
图3为本发明中S305的流程示意图;
图4为本发明中建图所涉及的传感器结构示意图;
图5为本发明中整体建图的流程示意图;
图6为本发明中建图所涉及的传感器坐标系示意图;
图7为本发明中S304中GetTranslation流程图;
图8为本发明中S304的坐标系转换关系示意图;
图9为本发明中多个传感器时间匹配及插值示意图;
图10为本发明中另一实施例的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实例中相同标号的功能单元具有相同和相似的结构和功能。
参见图1,本发明提供了本发明提供了一种基于激光的二维码地图自动创建方法,含有激光雷达、摄像单元、惯性测量单元及里程计测量单元的AGV,并分别获取所述激光雷达的激光点云数据坐标系hokuyo_link、摄像单元的相机坐标系camera_link、所述惯性测量单元的数据坐标系imu_link、所述里程计测量单元的里程计坐标系odom_link及AGV的本体坐标系base_link,还包括:
S1、获取所述惯性测量单元的不确定度量值imu*,将摄像单元和惯性测量单元联合标定,得到所述惯性测量单元的零偏bias和高斯白噪声moise,获取所述里程计测量单元的里程计值odom*,获取所述摄像单元的内参矩阵K,并分别获取在所述本体坐标系base_link下所述hokuyo_link、camera_link及imu_link的安装位置和安装角度,分别定义为激光雷达、摄像单元及惯性测量单元的坐标;
S2、铺设二维码地标,通过所述摄像单元进行视觉定位,并通过激光定位生成表示环境的二维码地图Map及base_link在该地图中的实时位姿;
S3、基于所述视觉定位和实时位姿生成二维码地图,判断是否新增实时位姿,若是新增则更新二维码地图,否则不做更新。
本实施例中:
参见图5,一、首先,对建图所需的各类传感器进行标定,传感器数据及坐标系定义如下:
image(摄像单元)——摄像头采集的图像;
Imu(惯性测量单元)——6轴惯性测量单元采集的三轴线加速度和三轴角速度,表示为imu(time,accx,accy,accz,angx,angy,angz),其中time为采样时刻时间戳;
Odom(里程计测量单元)——左右两个驱动轮上安装有轮式编码器,可得到左右两个主动轮的转速odom(time,vl,vr);
scan——(激光雷达)单线激光雷达传感器传回的点云数据scan(time,rangs,intensities,包含距离rangs及反射强度信息intensities。
参见图6,上述各个传感器的坐标系定义如下:
imu_link——imu数据基于的坐标系;
hokuyo_link——激光点云数据定义遵循的坐标系;
imu_link及hokuyo_link采用各传感器厂商自行定义的坐标系;
camera_link——相机坐标系,按照机器视觉中约定坐标系进行定义;
base_link——(机器人本体坐标系)机体坐标系,定义两驱动轮中心点位置为原点,机器人正前方为x方向,左侧为y方向;
odom_link——开机时刻的机体坐标系定义为里程计坐标系;
mark_link——二维码坐标系,三轴定义如下图4,系原点定义在二维码图表的正中心;
map——地图坐标系,用户自定义,本方案先将开始建图时刻的base_link系定义为map坐标系;
map*——更新后地图坐标系,用户自定义。
其次,标定内容和算法,其中噪声标定用于度量各传感器测量数据的不确定性,内参用于求解传感器数据,外参用于后续的坐标系转换;
imu可与相机联合标定,得imu的零偏bias(accx,accy,accz,angx,angy,angz)及高斯白噪声noise(accx,accy,accz,angx,angy,angz),重新定义带有不确定性的imu数据为imu*=(imu,cov),cov=bias+noise;可得imu与相机之间的坐标关系;
相机内参矩阵K=[f/dx,0cx;0,f/dy,cy;0,0,1],其中包括焦距fx,fy,主点位置(cx,cy)及像素与真实环境的大小比例dx,dy用于后续二维码定位模块;
里程计相机联合标定的里程计的内参及不确定度noise。
内参包括里程计两轮间距及左右轮半径,采用两轮差速模型(详见https://zhuanlan.zhihu.com/p/89939454。),通过如下公式:
Figure BDA0004090220670000064
将编码值odom转换为里程计值odom*(time,x,y,θt),以上具体实现采用OpenCalib开源标定工具箱中各类传感器标定模块或者kalibr_allan开源算法模块实现,同时采用OpenCalib开源标定工具可进行各类传感器的外参标定得到imu_link,camera_link,hokuyo_link分别在机体坐标系base_link下的安装位置和角度偏差,分别定义为:
Figure BDA0004090220670000061
Figure BDA0004090220670000062
Figure BDA0004090220670000063
二、然后,进入建图流程,1.铺设二维码地标,在部署时人工按照提前设定的距离间隔铺设二维码地标,铺设二维码地标的位姿精度不用太高(位置偏差只要在摄像头的视场角范围内,角度可360°任意方向);2.在无移动物体及人员的环境中,遥控机器人路过各个二维码地标铺设点上方,此时搭载控制器会自动生成二维码地图,过程的算法流程如下。四路传感器数据会分别进入视觉定位及激光定位单元。
在视觉定位中,通过摄像单元的定焦摄像头,采集二维码,当采集到的图像信息中有二维码信息时,由于二维码的尺寸已知,故根据计算机视觉的小孔成像原理,采用PnP算法(可参考https://blog.csdn.net/cocoaqin/article/details/77848588);
解算出相机坐标系在二维码坐标系下的位置和姿态(后续简称位姿)
Figure BDA0004090220670000071
及识别出当前二维码的Id标号,记为:markInfo(time,Pose,Id),其中time为获得时刻的时间戳,Pose即
Figure BDA0004090220670000072
表示camera坐标系在mark坐标系下的位姿;Id表示识别的二维码中包含的Id信息值,用来标记每个二维码的唯一编号,当摄像头视野出现二维码地标时该模块触发。
激光定位包含融合定位和激光slam两个级联的功能模块,首先将imu*及odom*数据输入融合定位单元,采用扩展卡尔曼滤波算法解算将odom*中x,y,θt作测量值,imu*中由于机器人在二维平面运动,accz=0,angx=0,angy=0,所以只对accx,accy,angz进行速度积分,加速度双重积分作为状态更新值。经融合后里程计记为robot_odom,融合后里程计数据与激光点云共同输入到下一级激光slam模块,可采用RBPF算法进行同时建图与定位,生成表示环境的二维码地图Map及base_link在该地图中的实时位姿,记为
Figure BDA0004090220670000073
三、二维码地图生成
(一)初始化需要用到的变量:
MarkInfos——保存视觉定位模块得到的markInfo信息,可用map作为数容容器,用各个mark的Id作为map的key值;
RobotOdoms——存放融合定位模块输出的robot_odom信息,不限容器类型;
odomWin_th——维护RobotOdoms容器的最大长度阈值;
markWin_th——维护MarkInfos容器的最大长度阈值。
(二)通过文件查询的方式加载标定模块所得的相机坐标系到机器人机体坐标系下的位姿转换矩阵
Figure BDA0004090220670000074
(三)参见图2,不断检查是否有新的融合里程值robot_odom解算出来,若有则将新的robot_odom加入到RobotOdoms容器中,并通过滑动窗口的方法的,删除窗口中最旧的值,来维护RobotOdoms的长度不大于odomWin_th。
(四)不断循环检测视觉定位模块是否识别到新的二维码信息,若有新markInfo,将markInfo中的camera_link坐标系在mark_link坐标系下的位姿
Figure BDA0004090220670000081
转换为camera_link坐标系到mark_link坐标系下的转换矩阵
Figure BDA0004090220670000082
具体参见图8,求坐标系C下的点P的位姿Pc在坐标系M下的位姿Pm,只不过点P是C的坐标原点。可通过先分别绕着mark_link的z轴,y轴,x轴,旋转
Figure BDA0004090220670000083
角度将camera_link系转到与mark_link系相同位姿,随后再对旋转后的camera_link系进行平移,至与mark_link系重合,以实现P点坐标系从C转到M的过程,所述P点坐标求解过程如下:
Figure BDA0004090220670000084
多项式整理:
Figure BDA0004090220670000085
其中:
Figure BDA0004090220670000086
此处可将点P(xc,yc,zc)定义成camera_link的坐标原点这一特殊点,通过公式(2)~(4)实现已知camera_link坐标系在mark_link坐标系下的位姿
Figure BDA0004090220670000087
求解出转换矩阵
Figure BDA0004090220670000088
即为图7中GetTranslation过程。
(五)由于各传感器数据是一系列的离散采样数据,采样时间一般不会完全对齐,故当有新的二维码定位信息出现时,需在RobotOdoms容器中查找与当前时刻前后最近时间戳的robot_odom,如图3所示,定义为RobotOdom_pre,RobotOdom_after。若还没有RobotOdom_after,则继续等待直到最新时刻的robot_odom消息到来。
(六)参见图9,对多个传感器(激光雷达、摄像单元、惯性测量单元及里程计测量单元)获得的RobotOdom_pre,RobotOdom_after按时间进行插值,预估与当前二维码信息的时间戳markinfo.time时刻对应的RobotOdom*值。认为短时间间隔内位姿为线性匀速变化,具体参见如下公式:
Figure BDA0004090220670000091
Figure BDA0004090220670000092
随后对插值获得的位姿信息RobotOdom*通过GetTranslation从本体坐标系到地图坐标系的转换矩阵
Figure BDA0004090220670000093
(七)通过转换矩阵
Figure BDA0004090220670000094
将二维码坐标系下一点转到二维码地图map坐标系下的位姿转换矩阵
Figure BDA0004090220670000095
即对二维码坐标系下的任意点P_{mark}左乘一个
Figure BDA0004090220670000096
矩阵,即可得到该点在map坐标系下的位姿P_{map}。所以
Figure BDA0004090220670000097
称为mark系到map系的位姿转换矩阵,转换式为:
Figure BDA0004090220670000098
其中T.inv()表示求矩阵的逆矩阵,因为对坐标系转换矩阵,存在
Figure BDA0004090220670000099
(八)上一步的换矩阵,通过GetTranslation的反向实现函数GetPosition可求解当前markInfo.Id的二维码在全局地图map坐标系下的坐标
Figure BDA00040902206700000910
截止当前步骤为止已完成生成二维码地图MarkMap的核心内容——求解
Figure BDA00040902206700000911
有了该值,在定位时可通过在MarkMap中检索识别到的mark的Id号,获得该Id的二维码在map下的坐标
Figure BDA00040902206700000912
再进一步通过如下公式实现通过二维码传感器得到机器人在map下的位姿:
Figure BDA0004090220670000101
(九)对同一个Id的二维码的多个测量解算结果
Figure BDA0004090220670000102
做滤波处理,概率统计的均值
Figure BDA0004090220670000103
及方差,通过ADDelement加入到MarkInfos容器中。其中方差作为各个Id的二维码位姿的不确定度,可用于后续二维码定位的不确定噪声之一。
(十)在收到保存地图的命令前会不断检测是否有新Id的二维码识别,若有则新增该Id的二维码
Figure BDA0004090220670000104
若是旧Id的二维码的定位,则通过Step5-Step13步骤求解及UpdateCov更新二维码地图,直到接收到保存地图命令,保存MarkInfos作为MarkMap结束。
进一步地,机器人在各个二维码地标上遍历完后会自动生成二维码地图,此地图的坐标系与激光栅格地图一致,是启动时刻机器人的初始位姿,而实际启动时刻机器人的位姿一般很难调整为与实际环境参照物一致,从而导致生成的二维码地图坐标与人们熟悉的建筑环境坐标系存在偏差,不易于展示。故此二维码地图更新模块的作用即为按照客户需求,对二维码地图的坐标系进行重新设定。二维码地图更新模块接收并显示激光slam模块输出的栅格地图,用户可在该界面通过点击的方式输入新的系的原点位姿。
参见图10,在另一实施例中,如图,所示为一间仓库的二维栅格地图,其中靠左的圈内为原始的坐标系(红-x轴,绿-y轴,蓝-z轴),在地图上拾取一向量,其中(x,y)为二维平面上的位置坐标,为向量与系x轴正方向的夹角,定义为新的坐标系记为坐标系。如图中靠右箭头所示,原点在箭头的起点位置,x轴方向在箭头方向,y轴方向为x轴逆时针旋转90度,z轴向上。
二维向量投影到三维的坐标表示为
Figure BDA0004090220670000105
即map*在map坐标系下的位姿,则原map系下的二维码地图MarkMap中的各个二维码坐标
Figure BDA0004090220670000106
可通过以下公式转到map*坐标系下,从而完成二维码地图的坐标系更新。
Figure BDA0004090220670000107
相比于传统方案,本发明降低了降低部署阶段对施工人员贴二维码地标精度的要求(位置偏差只要在摄像头的视场角范围内,本项目中位置偏差允许范围可达+-5cm,角度可360°任意方向),提高部署效率;并通过前期部署完二维码后,借助激光及惯导融合的高精度定位(可到达+-5mm精度)反向解算生成二维码地图,较依赖人工手工测量粘贴生成的二维码地图,具有较高精度;并且仅在部署前期的建图阶段借助激光,实际应用过程中可取掉激光传感器,或者仅在前期部署阶段采用高精度带有激光传感器的建图用机器人,后期投入应用过程仍然采用二维码+惯导融合定位机器人,在提高后期定位精度的同时,不增加客户成本;同时,根据前端地图显示界面的方便,例如实际贴的二维码横纵方向与建筑体本身或者货架方向不水平,可快捷方便地对AGV定位所用二维码地图坐标系原点进行调整,从而实现后端AGV所用定位地图方向与前端显示地图方向一致。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (5)

1.一种基于激光的二维码地图自动创建方法,包括含有激光雷达、摄像单元、惯性测量单元及里程计测量单元的AGV,并分别获取所述激光雷达的激光点云数据坐标系h okuyo_link、摄像单元的相机坐标系camera_link、所述惯性测量单元的数据坐标系imu_link、所述里程计测量单元的里程计坐标系odom_link及AGV的本体坐标系base_link,其特征在于,还包括:
S1、获取所述惯性测量单元的不确定度量值imu*,将摄像单元和惯性测量单元联合标定,得到所述惯性测量单元的零偏bias和高斯白噪声noise,获取所述里程计测量单元的里程计值odom*,获取所述摄像单元的内参矩阵K,并分别获取在所述本体坐标系base_link下所述h okuyo_link、camera_link及imu_link的安装位置和安装角度,分别定义为激光雷达、摄像单元及惯性测量单元的坐标;
S2、铺设二维码地标,通过所述摄像单元进行视觉定位,并通过激光定位生成表示环境的二维码地图Map及base_link在该地图中的实时位姿;
S3、基于所述视觉定位和实时位姿生成二维码地图,判断是否新增实时位姿,若是新增则更新二维码地图,否则不做更新。
2.如权利要求1所述的基于激光的二维码地图自动创建方法,其特征在于,所述通过所述摄像单元进行视觉定位,包括:
解算所述相机坐标系camera_link在当前二维码地标的坐标系下的位姿
Figure FDA0004090220660000011
和所述二维码地标的id,记为markInfo。
3.如权利要求2所述的基于激光的二维码地图自动创建方法,其特征在于,所述并通过激光定位生成表示环境的二维码地图Map及base_link在该地图中的实时位姿,包括:
所述激光定位包含融合定位和激光slam两个级联的功能模块,将所述imu*和odom*输入所述融合定位模块,经融合后odom*记为融合里程值robot_odom,并将所述robot_odom与所述激光点云共同输入到下一级激光slam模块,采用RBPF算法进行同时建图与定位,生成表示环境的二维码地图Map及base_link在该地图中的实时位姿,记为
Figure FDA0004090220660000012
4.如权利要求3所述的基于激光的二维码地图自动创建方法,其特征在于,所述基于所述视觉定位和实时位姿生成二维码地图,判断是否新增实时位姿,若是新增则更新二维码地图,否则不做更新,包括:
S301、初始化用于保存markInfo信息的MarkInfos容器、初始化用于保存robot_odom信息的RobotOdoms容器、用于维护RobotOdoms容器的最大长度阈值的odomWin_th及用于维护MarkInfos容器的最大长度阈值的markWin_th;
S302、获得所述相机坐标系camera_link到本体坐标系base_link下的位姿转换矩阵
Figure FDA0004090220660000021
S303、不断检查是否有新的融合里程值robot_odom解算出来,若有则将新的robotodom加入到RobotOdoms容器中,并通过滑动窗口的方法的,删除窗口中最旧的值,来维护RobotOdoms的长度不大于odomWin_th,否则不做变化;
S304、不断循环检测所述视觉定位是否识别到新的二维码信息,若有新markInfo,将markInfo中的camera_link坐标系在mark_link坐标系下的位姿
Figure FDA0004090220660000022
转换为camera_link坐标系到mark_link坐标系下的转换矩阵
Figure FDA0004090220660000023
S305、检测到新的二维码信息时,在所述RobotOdoms容器中查找与当前时刻前后最近时间戳的robot_odom,分别定义为RobotOdom_pre和RobotOdom_after。若还没有RobotOdom_after,则继续等待直到最新时刻的robot_odom消息到来;
S306、对所述RobotOdom_pre和RobotOdom_after按时间进行插值,预估与当前二维码信息的时间戳markinfo.time时刻对应的RobotOdom*值,并将通过插值获得的位姿信息RobotOdom*转为本体坐标系base_link到二维码地图Map的转换矩阵
Figure FDA0004090220660000024
S307、通过转换矩阵计算当前二维码在二维码地图Map坐标系下的位姿
Figure FDA0004090220660000025
S308、通过当前二维码的位姿
Figure FDA0004090220660000026
计算在二维码地图Map下的坐标
Figure FDA0004090220660000027
和所述AGV在二维码地图Map下位姿;
S309、对二维码的多个实时位姿
Figure FDA0004090220660000028
做滤波处理,求得均值
Figure FDA0004090220660000029
及方差,并记录至MarkInfos容器;
S310、在保存二维码地图Map前不断检测是否有新的二维码,若有则保存该二维码的实时位姿
Figure FDA00040902206600000210
若检测到识别过的二维码的实时位姿
Figure FDA00040902206600000211
则重复S304-S309,实现二维码地图Map的更新并保存。
5.如权利要求4所述的基于激光的二维码地图自动创建方法,其特征在于,所述通过转换矩阵计算当前二维码在二维码地图Map坐标系下的位姿
Figure FDA0004090220660000031
所述
Figure FDA0004090220660000032
计算式为:
Figure FDA0004090220660000033
其中T.inv()表示求矩阵的逆矩阵,因为对坐标系转换矩阵,存在
Figure FDA0004090220660000034
CN202310149296.2A 2023-02-22 2023-02-22 基于激光的二维码地图自动创建方法 Pending CN116124125A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310149296.2A CN116124125A (zh) 2023-02-22 2023-02-22 基于激光的二维码地图自动创建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310149296.2A CN116124125A (zh) 2023-02-22 2023-02-22 基于激光的二维码地图自动创建方法

Publications (1)

Publication Number Publication Date
CN116124125A true CN116124125A (zh) 2023-05-16

Family

ID=86304614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310149296.2A Pending CN116124125A (zh) 2023-02-22 2023-02-22 基于激光的二维码地图自动创建方法

Country Status (1)

Country Link
CN (1) CN116124125A (zh)

Similar Documents

Publication Publication Date Title
CN110033489B (zh) 一种车辆定位准确性的评估方法、装置及设备
CN110873883B (zh) 融合激光雷达和imu的定位方法、介质、终端和装置
CN111121754A (zh) 移动机器人定位导航方法、装置、移动机器人及存储介质
CN111156998A (zh) 一种基于rgb-d相机与imu信息融合的移动机器人定位方法
CN111487642A (zh) 基于三维激光和双目视觉的变电站巡检机器人定位导航系统及方法
CN108469826B (zh) 一种基于机器人的地图生成方法及系统
CN110411457B (zh) 基于行程感知与视觉融合的定位方法、系统、终端和存储介质
CN113074727A (zh) 基于蓝牙与slam的室内定位导航装置及其方法
KR20220025028A (ko) 시각적 비콘 기반의 비콘 맵 구축 방법, 장치
CN114612348B (zh) 激光点云运动畸变校正方法、装置、电子设备及存储介质
CN113358112B (zh) 一种地图构建方法及一种激光惯性里程计
CN112146682B (zh) 智能汽车的传感器标定方法、装置、电子设备及介质
CN113763548B (zh) 基于视觉-激光雷达耦合的贫纹理隧洞建模方法及系统
CN110458885B (zh) 基于行程感知与视觉融合的定位系统和移动终端
WO2022110797A1 (zh) 一种标定方法、装置、电子设备及存储介质
CN115272596A (zh) 一种面向单调无纹理大场景的多传感器融合slam方法
Tang et al. LE-VINS: A robust solid-state-LiDAR-enhanced visual-inertial navigation system for low-speed robots
KR102490521B1 (ko) 라이다 좌표계와 카메라 좌표계의 벡터 정합을 통한 자동 캘리브레이션 방법
CN117310627A (zh) 一种应用于车路协同路侧感知系统的联合标定方法
CN117388830A (zh) 激光雷达与惯性导航的外参标定方法、装置、设备及介质
CN116698014A (zh) 一种基于多机器人激光slam和视觉slam地图融合与拼接方法
CN115200572B (zh) 三维点云地图构建方法、装置、电子设备及存储介质
CN116124125A (zh) 基于激光的二维码地图自动创建方法
CN113495281B (zh) 可移动平台的实时定位方法及装置
US11992961B2 (en) Pose determination method, robot using the same, and computer readable storage medium

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