CN111324121B - 一种基于激光雷达的移动机器人自动充电方法 - Google Patents

一种基于激光雷达的移动机器人自动充电方法 Download PDF

Info

Publication number
CN111324121B
CN111324121B CN202010124488.4A CN202010124488A CN111324121B CN 111324121 B CN111324121 B CN 111324121B CN 202010124488 A CN202010124488 A CN 202010124488A CN 111324121 B CN111324121 B CN 111324121B
Authority
CN
China
Prior art keywords
point cloud
charging pile
coordinate
coordinates
robot
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
CN202010124488.4A
Other languages
English (en)
Other versions
CN111324121A (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.)
Sichuan Artigent Robotics Equipment Co ltd
Original Assignee
Sichuan Artigent Robotics Equipment 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 Sichuan Artigent Robotics Equipment Co ltd filed Critical Sichuan Artigent Robotics Equipment Co ltd
Priority to CN202010124488.4A priority Critical patent/CN111324121B/zh
Publication of CN111324121A publication Critical patent/CN111324121A/zh
Application granted granted Critical
Publication of CN111324121B publication Critical patent/CN111324121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • 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
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/70Energy storage systems for electromobility, e.g. batteries

Abstract

本发明涉及机器人控制领域,特别涉及一种基于激光雷达的移动机器人自动充电方法。方法的步骤包括:S1、采用二维激光雷达水平扫描,获取充电桩及充电桩周围墙面的线状点云数据;S2、将点云数据转换为二维坐标系下的点云坐标,构建点云数组;S3、从点云数组中筛选出预选点云坐标;S4、根据充电桩的宽度、充电桩的厚度和预选点云坐标,计算充电桩中点坐标,并计算充电桩中点坐标相对于机器人的角度;S5、机器人根据充电桩中点坐标和充电桩中点坐标相对于机器人的角度,移动到充电桩进行充电。本发明利用点云数据,利用了充电桩与墙壁之间的相对位置关系,计算出了用于机器人充电导航的充电桩坐标,定位准确、计算简便,运算量少。

Description

一种基于激光雷达的移动机器人自动充电方法
技术领域
本发明涉及机器人控制领域,特别是涉及一种基于激光雷达的移动机器人自动充电方法。
背景技术
目前室内自主移动机器人大多数采用码盘,陀螺仪,IMU,激光雷达等传感器采集相应信息,通过融合算法来估算机器人实时的姿态。
码盘类似于汽车的里程计,通过计算轮毂转动的圈数来推算机器人运动的路程,但是机器人在运动过程中难免受到打滑,轮胎磨损等因素的影响导致码盘检测误差,并且会随着机器人运动逐渐累加,无法有效消除误差积累。
陀螺仪和IMU(Inertial measurement unit惯性测量单元)由于电子器件的电气特性会出现零漂(零漂是输入为0的时候的输出)的现象,并且会随着时间误差逐渐累积,同样无法有效消除误差积累。
激光雷达是一种雷达系统,是一种主动传感器,所形成的数据是点云形式。其工作光谱段在红外到紫外之间,主要发射机、接收机、测量控制和电源组成。工作原理为:首先向被测目标发射一束激光,然后测量反射或散射信号到达发射机的时间、信号强弱程度和频率变化等参数,从而确定被测目标的距离、运动速度以及方位。除此之外,还可以测出大气中肉眼看不到的微粒的动态等情况。激光雷达的作用就是精确测量目标的位置(距离与角度)、形状(大小)及状态(速度、姿态),从而达到探测、识别、跟踪目标的目的。与前两种检测手段相比较,激光雷达的方式没有累积误差,获取的点云数据较为准确,但是激光雷达获取的点云数据并不能直接得到用于机器人导航的充电桩的坐标信息需要对点云数据进行处理。虽然现有技术中,有大量机器人自主充电的定位和导航方法,但是算法复杂,计算量大,需要多种检测手段协作完成,成本高,不利于商业上的应用。
发明内容
本发明充分利用激光雷达的点云数据,以及充电桩与墙壁之间的相对位置关系,提出了一种基于激光雷达的移动机器人自动充电方法。基于该方法获取充电桩坐标信息后,可以直接用于给机器人导航。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于激光雷达的移动机器人自动充电方法,步骤包括:
S1、采用二维激光雷达水平扫描,获取充电桩及充电桩周围墙面的线状点云数据,充电桩为长方体,并且长方体的一面与墙面贴合;
S2、将点云数据转换为二维坐标系下的点云坐标,构建点云数组;
S3、点云数组中筛选出预选点云坐标,预选点云坐标依次是左墙面点云坐标、充电桩上与墙面平行一面的点云坐标和右墙面点云坐标;
S4、根据充电桩的宽度、充电桩的厚度和预选点云坐标,计算充电桩中点坐标,并计算充电桩中点坐标相对于机器人的角度;
S5、机器人根据充电桩中点坐标和充电桩中点坐标相对于机器人的角度,移动到充电桩进行充电。
作为本发明的优选方案,从点云数组中筛选出预选点云坐标的步骤包括:
S11,计算点云数组中相邻两个点云坐标之间的斜率值;
S12,点云数组中删除斜率值的绝对值大于斜率阈值的点云坐标,构建预选点云坐标。
进一步的,斜率阈值的取值范围是(2~10)。
作为本发明的优选方案,步骤S4包括以下步骤:
S21,从预选点云坐标中依次取间隔数为N的两个点云坐标Pi和Pi+N,计算Pi和Pi+N两点云坐标之间的间隔斜率;
S22,当间隔斜率范围为(-M,0)时,相应的点云坐标存入A数组中,当间隔斜率在范围为(0,M)时,相应的点云坐标存入B数组中;
S23,从A数组中取一个点云坐标Qi,从B数组中取一个点云坐标Rj,计算点云坐标Qi和点云坐标Rj之间的距离L,计算点云坐标Qi和点云坐标Qi-1之间的距离L1,计算点云坐标Rj和点云坐标Rj+1之间的距离L2;
S24,若L的值等于充电桩宽度,并且L1和L2的值同时等于充电桩的厚度,提取相应的A数组点云坐标Qs和B数组点云坐标Rd,点云坐标Qs和点云坐标Rd为充电桩的左右端点点云坐标;
S25,根据点Qs和点Rd计算充电桩中点坐标,并计算充电桩中点坐标相对于机器人的角度。
进一步的,N的取值为5,M的取值为3。
作为本发明的优选方案,步骤S25计算充电桩中点坐标的公式为:
x_data=(pcl_cloud_xyz.points[left_num].x+pcl_cloud_xyz.points[right_num].x)/2;
y_data=(pcl_cloud_xyz.points[left_num].y+pcl_cloud_xyz.points[right_num].y)/2;
其中,x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
作为本发明的优选方案,充电桩中点坐标相对于机器人的角度的计算公式为:
z_data=atan((pcl_cloud_xyz.points[right_num].x-pcl_cloud_xyz.points[left_num].x)/(pcl_cloud_xyz.points[right_num].y-pcl_cloud_xyz.points[left_num].y))/π*180
其中,z_data是充电桩中点坐标相对于机器人的角度;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
作为本发明的优选方案,步骤S5包括以下步骤:
机器人向二维坐标系下的X轴方向旋转,旋转的角度为充电桩中点坐标相对于机器人的角度;
机器人在二维坐标系下的X轴方向上移动距离DX,距离DX根据充电桩中点坐标计算得到;
机器人在二维坐标系下的Y轴方向上移动距离DY,距离DY根据充电桩中点坐标计算得到;
机器人与充电桩对接,进行充电。
作为本发明的优选方案,距离DX的计算公式为:
DX=x_data-reserved_distance*cos((z_data)/180*π)
距离DY的计算公式为:
DY=y_data+reserved_distance*sin((z_data)/180*π)
其中,reserved_distance为预留距离;x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;z_data是充电桩中点坐标相对于机器人的角度。
基于相同的构思,本发明还提出了一种基于激光雷达的移动机器人自动充电系统,包括激光雷达、至少一个处理器,以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任一项的方法。
与现有技术相比,本发明的有益效果:
本发明利用激光雷达扫描出来的点云数据,通过将点云数据转换为点云相对于移动机器人本体坐标系下的坐标,并且利用了充电桩与墙壁之间的相对位置关系,计算出用于机器人充电导航的充电桩坐标,该方法定位准确、计算简便,运算量少。
附图说明:
图1为本发明一种基于激光雷达的移动机器人自动充电方法的流程图;
图2为本发明实施例1中仿真环境俯视示意图;
图3为本发明实施例1中雷达点云数据示意图;
图4为本发明实施例1中未经处理的雷达扫描示意图;
图5为本发明实施例1中的剔除充电桩侧面点云后的点云示意图;
图6为本发明实施例1中的计算点云斜率的示意图;
图7为本发明实施例1中获取充电桩位置及坐标的流程图;
图8为本发明实施例1中机器人移动到正对充电桩位置的示意图;
图9为本发明实施例1中机器人移动到充电桩位置的示意图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例1
本方案利用二维激光雷达扫描出来的点云数据,通过将点云的距离数据经过一系列的坐标变化转换为相对于移动机器人本体坐标系下的二维点云坐标,计算出充电桩中点的坐标,控制机器人移动到充电桩的位置,从而进行自动充电。一种基于激光雷达的移动机器人自动充电方法的流程图如图1所示。本方法的步骤包括:
S1、采用二维激光雷达水平扫描,获取充电桩及所述充电桩周围墙面的线状点云数据,所述充电桩为长方体,并且所述长方体的一面与墙面贴合。
将移动机器人返回至充电桩附近,例如,将移动机器人返回到以充电桩中点为圆心,K为半径的范围内,机器人返回至充电桩附近的仿真环境如图2所示,K的取值是一个范围,根据激光雷达的参数决定,例如,根据激光雷达扫描距离、测量角度、测量步长设定,作为优选方案,K的取值设定为1.5米。
然后,二维激光雷达水平扫描获得点云数据。二维激光雷达水平扫描获得点云数据的示意图如图2所示。激光雷达在水平面上,从左到右扫描或者从右到左扫描,二维激光雷达的主要控制参数包括测量步长Measurementsteps、测量角度Detectionangle、角度分辨率Angularresolution、雷达扫描的开始角度angle_min、雷达扫描的结束角度angle_max、两次扫描增加的角度angle_increment。
本实施例中,测量步长Measurementsteps为1081步,测量角度Detectionangle为270°,角度分辨率Angularresolution通过测量步长和测量角度计算得到,为0.25(270%1081≈0.25°)。获取的点云数据为点云与雷达之间的距离集,表示为range[0]~range[1080]。
S2、将点云数据转换为二维坐标系下的点云坐标,构建点云数组。
将点云数据转换为二维坐标系下的点云坐标采用现有的函数实现。在ros操作系统中,控制激光雷达产生形如“scan”的话题,订阅激光雷达话题,即可使用点云数据,订阅激光雷达话题的命令为:sensor_msgs::LaserScan LaserScandata,获取的点云数据为LaserScandata,采用isnan()函数删除其中的无穷值,采用isinf()函数删除非数值,删除后,剩下的点云数据即为有效的点云数据。
接下来,将点云数据从距离数据转换成基于激光雷达坐标系的坐标数据,再将激光雷达坐标系变换到机器人本体坐标系,即可获取以机器人本体坐标为坐标系的点云坐标,这些点云坐标集构成了点云数组。转换过程采用ros操作系统自带的转换函数。其中,机器人本体坐标系为以机器人中心为原点,机器人和雷达的方向为x轴正方向,逆时针旋转90°为Y轴正方向,具体可见图4。
S3、从点云数组中筛选出预选点云坐标,所述预选点云坐标依次是左墙面点云坐标、充电桩上与墙面平行一面的点云坐标和右墙面点云坐标。
如图4所示,图中是未经处理的雷达扫描示意图,机器人在右下方,点云覆盖的范围是左边墙面、充电桩的正面、充电桩的右侧面和右边墙面,充电桩的左侧面因为被遮挡,机器人的激光雷达不能扫到,没有点云数据。由图4可知,充电桩右侧面的点云,相邻两点的坐标在X轴方向变化非常大,而在Y轴方向变化非常小,即Δx/Δy的值会很大。充电桩右侧面以及墙面的Δx/Δy较小,因此只要Δx/Δy的绝对值不要太小就可以保留正面的点云而删除右侧面的点云,通过实验测出阈值,只要Δx/Δy大于该阈值,即可剔除充电桩右侧面的点云,经过实验获得阈值范围是(2~10),根据具体应用场景可以择优选择。剔除充电桩右侧面的点云后的剔除充电桩侧面点云后的点云示意图如图5所示。图4和图5是以机器人在右下方为例,来说明点云的筛选,但是方案并不限定只是机器人在右下方的情景,当机器人在左下方时,用相同的方法,也可以删除充电桩左侧面的点云。还有机器人刚好正对充电桩的情况,此时,获取的点云数组的点云坐标就是预选点云坐标。
剔除充电桩侧面点云后,点云数组包括左墙面点云坐标、充电桩上正面的点云坐标和右墙面点云坐标,此时,将仅包括左墙面点云坐标、充电桩上正面的点云坐标和右墙面点云坐标的点云坐标数组命名为预选点云坐标,将这些预选点云坐标从左墙面左边第一个点云坐标开始,依次从左到右排列构成预选点云坐标数组,或者将这些预选点云坐标从右墙面右边第一个点云坐标开始,依次从右到左排列构成预选点云坐标数组,两种排列方式都可以,为了更好的说明方案,本实施采用从左到右的排序方式。
S4、根据充电桩的宽度、充电桩的厚度和所述预选点云坐标,计算充电桩中点坐标,并计算所述充电桩中点坐标相对于机器人的角度。
获取充电桩位置及坐标的流程图如图7所示,包括以下步骤:
S21,从预选点云坐标数组中依次取间隔数为N的两个点云坐标Pi和Pi+N,计算Pi和Pi+N两点云坐标之间的间隔斜率,其中,i是点云排序的序号。计算间隔斜率的示意图如图6所示,图中间隔数取为5,每隔5个点计算斜率,图中线段代表斜率,这线段不是实际存在的,只是为了便于描述画上的,如果点云的间距是相等的,线段如图中所示是平行的,如果点云的间距是不相等的,这些线段就不平行,图6中给出了线段平行的情况。
S22,当所述间隔斜率范围为(-M,0)时,相应的点云坐标存入A数组中,当所述间隔斜率在范围为(0,M)时,相应的点云坐标存入B数组中。
从图6中可以看出,由于左右墙面和充电桩的位置关系,斜率并不总是为正数,也有是负数的情况,因此,可以根据斜率的正负情况将预选点云坐标数组分组。当所述间隔斜率范围为(-M,0)时,把相应的点云坐标存入A数组中,也就是当间隔斜率为负数时,只保留间隔斜率绝对值小于等于M的点云坐标,把这些点云坐标存入A数组中。当所述间隔斜率在范围为(0,M)时,相应的点云坐标存入B数组,也就是当间隔斜率为正数时,只保留间隔斜率绝对值小于等于M的点云坐标,把这些点云坐标存入B数组中。采用间隔斜率的上述条件,对点云坐标进行筛选,可以去除左墙面和右墙面距离充电桩较远的点云数据,因为距离充电桩较远的墙面点云,对充电桩中点坐标的计算没有作用,删除后,因为点云数据减少了,相应的减少了数据量,后续的计算量也相应减少了。此时,A数组中的点云坐标和B数组中的点云坐标,是用于计算充电桩中点坐标的关键点云坐标。
间隔斜率的范围可以进行设置,经过实验,可以得出M的优选值取为3,点云间隔斜率在(-3,0)时就存入数组A,点云间隔斜率在(0,3)时存入数组B。
S23,从所述A数组中取一个点云坐标Qi,从所述B数组中取一个点云坐标Rj,计算点云坐标Qi和点云坐标Rj之间的距离L,计算点云坐标Qi和点云坐标Qi-1之间的距离L1,计算点云坐标Rj和点云坐标Rj+1之间的距离L2。其中,计算点云坐标Qi和点云坐标Qi-1之间的距离是指,在A数组中,计算点云坐标Qi和其前一点点云坐标Qi-1的距离,计算点云坐标Rj和点云坐标Rj+1之间的距离L2是指,在B数组中,计算点云坐标Rj和其后一点云坐标Rj+1之间的距离。这一步计算L、L1和L2是为了后续计算充电桩中点坐标做准备。
S24,若L的值等于充电桩宽度,并且L1和L2的值同时等于充电桩的厚度,提取相应的A数组点云坐标Qs和B数组点云坐标Rd,所述点云坐标Qs和所述点云坐标Rd为充电桩的左右端点点云坐标。
首先,从A数组中取一个点云坐标,再从B数组中取一个点云坐标,计算的距离L后,将L和充电桩宽度进行比较,可能L会大于充电桩宽度,可能L会小于充电桩宽度,也必然会有两个点云坐标之间的距离等于充电桩的宽度情况,此时,并不能确定这两个点云坐标即为充电桩的左右端点点云坐标,还要看这两个点云坐标与其相邻点云坐标的距离关系,此时,会用到步骤S23中的L1和L2,当L1等于充电桩厚度并且L2也等于充电桩厚度时,就能确定这两个点云坐标为充电桩的左右端点点云坐标,将这两个点分别命名为A数组中的点云坐标Qs和B数组中的点云坐标Rd,A数组中的点云坐标Qs就是充电桩左边端点的点云坐标,B数组点云坐标Rd就是充电桩右边端点的点云坐标。
S25,根据所述点Qs和所述点Rd计算充电桩中点坐标,并计算所述充电桩中点坐标相对于机器人的角度。
计算充电桩中点坐标的公式为:
x_data=(pcl_cloud_xyz.points[left_num].x+pcl_cloud_xyz.points[right_num].x)/2;
y_data=(pcl_cloud_xyz.points[left_num].y+pcl_cloud_xyz.points[right_num].y)/2;
其中,x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
充电桩中点坐标相对于机器人的角度的计算公式为:
z_data=atan((pcl_cloud_xyz.points[right_num].x-pcl_cloud_xyz.points[left_num].x)/(pcl_cloud_xyz.points[right_num].y-pcl_cloud_xyz.points[left_num].y))/π*180
其中,z_data是充电桩中点坐标相对于机器人的角度;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
S5、机器人根据充电桩中点坐标相对于机器人的角度和充电桩中点坐标,移动到充电桩进行充电。
当已知充电桩中点坐标,机器人就可以根据自身坐标的位置,确定移动的方向和移动的距离,机器人不仅要移动到充电桩,还要将充电端口对准充电桩,因此,还需要对机器人自身的朝向进行修正,通常,将激光雷达发射的方向和机器人充电端口的朝向设置成一致的,那么,电桩中点坐标相对于机器人的角度也就是机器人需要旋转自身调整的角度。
机器人在其二维坐标系下的X轴方向上移动的距离设定为DX,距离DX根据充电桩中点坐标计算得到,计算公式为:
DX=x_data-reserved_distance×cos((z_data)/180×π)
机器人在其二维坐标系下的Y轴方向上移动距离设定为DY,距离DY根据充电桩中点坐标计算得到,计算公式为:
DY=y_data+reserved_distance×sin((z_data)/180×π)
其中,reserved_distance为预留距离;x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;z_data是所述充电桩中点坐标相对于机器人的角度。
机器人向其二维坐标系下的X轴方向旋转,旋转的角度为充电桩中点坐标相对于机器人的角度,设定充电口和机器人坐标系X轴正方向的夹角θ,θ=z_data。设机器人移动的速度为v,则x方向的分速度为:Vx=vcosθ;y方向的分速度为:Vy=-vsinθ。由于机器人自身也有一定的尺寸,如果机器人自身的俯视图为圆形,设定机器人半径为radius,则机器人实际在Y轴方向上移动的距离为:reserved_distance–radius,机器人实际在Y轴方向上移动的距离还可以计算为:距离DY减去充电桩厚度的二分之一,再减去机器人的半径。
并不限定为机器人只能先在X轴方向上移动,再在Y轴方向上移动,最后才旋转,基于本实施例上述的方法的构思,移动和角度变换的顺序调换,或是同时进行,也在本发明的保护范围之内。
机器人在其二维坐标系下的Y轴方向上移动距离,并选择角度θ后,机器人与充电桩的相对位置关系,如图8所示,此时,机器人的X坐标和充电桩的X坐标相同,并且此时激光雷达发射的方向和机器人充电端口朝向因为旋转而正对着充电桩的正面。然后,机器人根据充电桩中点的Y坐标,沿着X轴方向移动距离DX后,机器人移动到充电桩位置,机器人与充电桩对接,可以进行充电,机器人移动到充电桩位置的示意图如图9所示。
机器人可以反复进行步骤S3~S5,调整机器人的位置,以进一步降低误差。

Claims (8)

1.一种基于激光雷达的移动机器人自动充电方法,其特征在于,步骤包括:
S1、采用二维激光雷达水平扫描,获取充电桩及所述充电桩周围墙面的线状点云数据,所述充电桩为长方体,并且所述长方体的一面与墙面贴合;
S2、将点云数据转换为二维坐标系下的点云坐标,构建点云数组;
S3、所述点云数组中筛选出预选点云坐标,所述预选点云坐标依次是左墙面点云坐标、充电桩上与墙面平行一面的点云坐标和右墙面点云坐标;
S4、根据充电桩的宽度、充电桩的厚度和所述预选点云坐标,计算充电桩中点坐标,并计算所述充电桩中点坐标相对于机器人的角度;
S5、机器人根据所述充电桩中点坐标和所述充电桩中点坐标相对于机器人的角度,移动到充电桩进行充电;
从所述点云数组中筛选出预选点云坐标的步骤包括:
S11,计算所述点云数组中相邻两个点云坐标之间的斜率值;
S12,所述点云数组中删除斜率值的绝对值大于斜率阈值的点云坐标,构建所述预选点云坐标;
步骤S4包括以下步骤:
S21,从所述预选点云坐标中依次取间隔数为N的两个点云坐标Pi和Pi+N,计算Pi和Pi+N两点云坐标之间的间隔斜率;
S22,当所述间隔斜率范围为(-M,0)时,相应的点云坐标存入A数组中,当所述间隔斜率在范围为(0,M)时,相应的点云坐标存入B数组中;
S23,从所述A数组中取一个点云坐标Qi,从所述B数组中取一个点云坐标Rj,计算点云坐标Qi和点云坐标Rj之间的距离L,计算点云坐标Qi和点云坐标Qi-1之间的距离L1,计算点云坐标Rj和点云坐标Rj+1之间的距离L2;
S24,若L的值等于充电桩宽度,并且L1和L2的值同时等于充电桩的厚度,提取相应的A数组点云坐标Qs和B数组点云坐标Rd,所述点云坐标Qs和所述点云坐标Rd为充电桩的左右端点点云坐标;
S25,根据所述点Qs和所述点Rd计算充电桩中点坐标,并计算所述充电桩中点坐标相对于机器人的角度。
2.如权利要求1所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,所述斜率阈值的取值范围是(2~10)。
3.如权利要求1所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,所述N的取值为5,M的取值为3。
4.如权利要求1所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,步骤S25计算充电桩中点坐标的公式为:
x_data=(pcl_cloud_xyz.points[left_num].x+pcl_cloud_xyz.points[right_num].x)/2;
y_data=(pcl_cloud_xyz.points[left_num].y+pcl_cloud_xyz.points[right_num].y)/2;
其中,x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
5.如权利要求1所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,所述充电桩中点坐标相对于机器人的角度的计算公式为:
z_data=atan((pcl_cloud_xyz.points[right_num].x-pcl_cloud_xyz.points[left_nu m].x)/(pcl_cloud_xyz.points[right_num].y-pcl_cloud_xyz.points[left_num].y))/π*180
其中,z_data是充电桩中点坐标相对于机器人的角度;pcl_cloud_xyz.points是点云坐标数组;pcl_cloud_xyz.points[].x是点云坐标数组的x坐标;pcl_cloud_xyz.points[].y是点云坐标数组的y坐标;left_num是充电桩左端点点云;right_num是充电桩右端点点云。
6.如权利要求1所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,步骤S5包括以下步骤:
机器人向二维坐标系下的X轴方向旋转,旋转的角度为所述充电桩中点坐标相对于机器人的角度;
机器人在二维坐标系下的X轴方向上移动距离DX,所述距离DX根据所述充电桩中点坐标计算得到;
机器人在二维坐标系下的Y轴方向上移动距离DY,所述距离DY根据所述充电桩中点坐标计算得到;
机器人与充电桩对接,进行充电。
7.如权利要求6所述的一种基于激光雷达的移动机器人自动充电方法,其特征在于,所述距离DX的计算公式为:
DX=x_data-reserved_distance*cos((z_data)/180*π)
所述距离DY的计算公式为:
DY=y_data+reserved_distance*sin((z_data)/180*π)
其中,reserved_distance为预留距离;x_data是充电桩中点的x坐标;y_data是充电桩中点的y坐标;z_data是所述充电桩中点坐标相对于机器人的角度。
8.一种基于激光雷达的移动机器人自动充电系统,其特征在于,包括激光雷达、至少一个处理器,以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使至少一个处理器能够执行权利要求1-7所述任一项的方法。
CN202010124488.4A 2020-02-27 2020-02-27 一种基于激光雷达的移动机器人自动充电方法 Active CN111324121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010124488.4A CN111324121B (zh) 2020-02-27 2020-02-27 一种基于激光雷达的移动机器人自动充电方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010124488.4A CN111324121B (zh) 2020-02-27 2020-02-27 一种基于激光雷达的移动机器人自动充电方法

Publications (2)

Publication Number Publication Date
CN111324121A CN111324121A (zh) 2020-06-23
CN111324121B true CN111324121B (zh) 2023-07-18

Family

ID=71169091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010124488.4A Active CN111324121B (zh) 2020-02-27 2020-02-27 一种基于激光雷达的移动机器人自动充电方法

Country Status (1)

Country Link
CN (1) CN111324121B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112198871A (zh) * 2020-09-02 2021-01-08 创新工场(北京)企业管理股份有限公司 用于移动机器人的自主充电的方法和装置
CN112363500B (zh) * 2020-10-29 2023-05-16 深圳市普渡科技有限公司 自动回充移动方法及系统
CN112327842B (zh) * 2020-10-29 2022-06-03 深圳市普渡科技有限公司 机器人定位充电桩的方法及系统
CN112230664B (zh) * 2020-10-29 2023-06-13 深圳市普渡科技有限公司 自动回充方法及系统
CN112539756B (zh) * 2020-11-30 2023-06-20 深圳银星智能集团股份有限公司 一种长通道识别方法及机器人
CN112518759B (zh) * 2020-12-21 2022-05-17 深圳市优必选科技股份有限公司 机器人及其扫描上桩方法和装置
CN112947441B (zh) * 2021-02-06 2023-10-31 湖南克拉宇宙数字科技有限公司 一种机器人和充电座自动对接充电的控制方法
CN112927298A (zh) * 2021-02-25 2021-06-08 上海钛米机器人股份有限公司 目标对象的定位方法及装置、电子设备、存储介质
CN112666564B (zh) * 2021-03-16 2021-07-06 瓴道(上海)机器人科技有限公司 充电桩的定位方法、装置及设备、存储介质
CN113341396B (zh) * 2021-05-28 2023-12-15 深圳市优必选科技股份有限公司 机器人及其充电桩识别方法和装置
CN113341963B (zh) * 2021-05-31 2023-08-22 深圳市威睿晶科电子有限公司 一种基于激光雷达的机器人自动回基站的导航方法及系统
CN115509214B (zh) * 2021-06-04 2024-03-15 同方威视技术股份有限公司 定位控制方法和装置、自主充电控制装置、方法及系统
CN113541265B (zh) * 2021-07-29 2022-07-29 上海术理智能科技有限公司 用于机器人的自动充电系统及充电桩定位导航方法
CN115191887A (zh) * 2022-07-14 2022-10-18 杭州萤石软件有限公司 清洁机器人的控制方法及控制装置和清洁机器人系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020188A (zh) * 2016-05-17 2016-10-12 杭州申昊科技股份有限公司 一种基于激光导航的变电站巡检机器人自主充电方法
CN106356944A (zh) * 2016-10-14 2017-01-25 四川超影科技有限公司 巡检机器人自动充电激光对准系统和对准方法
CN107577236A (zh) * 2017-09-27 2018-01-12 上海有个机器人有限公司 机器人自动归位充电方法、机器人、系统以及存储介质
CN107590836A (zh) * 2017-09-14 2018-01-16 斯坦德机器人(深圳)有限公司 一种基于Kinect的充电桩动态识别与定位方法及系统
CN107825425A (zh) * 2017-11-03 2018-03-23 深圳市杉川机器人有限公司 机器人控制方法、装置、机器人以及充电座
CN108173308A (zh) * 2018-01-15 2018-06-15 潍坊歌尔电子有限公司 一种机器人充电方法及其装置
CN109141402A (zh) * 2018-09-26 2019-01-04 亿嘉和科技股份有限公司 一种基于激光栅格的定位方法以及机器人自主充电方法
CN109648602A (zh) * 2018-09-11 2019-04-19 深圳优地科技有限公司 自动充电方法、装置及终端设备
CN109755995A (zh) * 2018-12-14 2019-05-14 华南理工大学 基于ros机器人操作系统的机器人自动充电对接方法
CN110597249A (zh) * 2019-08-23 2019-12-20 深圳市优必选科技股份有限公司 一种机器人及其回充定位方法和装置
WO2019245834A1 (en) * 2018-06-22 2019-12-26 Southwest Research Institute Laser beam positioning method using a patterned mirror

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106020188A (zh) * 2016-05-17 2016-10-12 杭州申昊科技股份有限公司 一种基于激光导航的变电站巡检机器人自主充电方法
CN106356944A (zh) * 2016-10-14 2017-01-25 四川超影科技有限公司 巡检机器人自动充电激光对准系统和对准方法
CN107590836A (zh) * 2017-09-14 2018-01-16 斯坦德机器人(深圳)有限公司 一种基于Kinect的充电桩动态识别与定位方法及系统
CN107577236A (zh) * 2017-09-27 2018-01-12 上海有个机器人有限公司 机器人自动归位充电方法、机器人、系统以及存储介质
CN107825425A (zh) * 2017-11-03 2018-03-23 深圳市杉川机器人有限公司 机器人控制方法、装置、机器人以及充电座
CN108173308A (zh) * 2018-01-15 2018-06-15 潍坊歌尔电子有限公司 一种机器人充电方法及其装置
WO2019245834A1 (en) * 2018-06-22 2019-12-26 Southwest Research Institute Laser beam positioning method using a patterned mirror
CN109648602A (zh) * 2018-09-11 2019-04-19 深圳优地科技有限公司 自动充电方法、装置及终端设备
CN109141402A (zh) * 2018-09-26 2019-01-04 亿嘉和科技股份有限公司 一种基于激光栅格的定位方法以及机器人自主充电方法
CN109755995A (zh) * 2018-12-14 2019-05-14 华南理工大学 基于ros机器人操作系统的机器人自动充电对接方法
CN110597249A (zh) * 2019-08-23 2019-12-20 深圳市优必选科技股份有限公司 一种机器人及其回充定位方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jooho Lee ; Joohyun Woo ; Nakwan Kim.Vision and 2D LiDAR based Autonomous Surface Vehicle Docking for Identify Symbols and Dock Task in 2016 Maritime RobotX Challenge.《2017 IEEE Underwater Technology (UT)》.2017,第1-5页. *

Also Published As

Publication number Publication date
CN111324121A (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN111324121B (zh) 一种基于激光雷达的移动机器人自动充电方法
CN107340522B (zh) 一种激光雷达定位的方法、装置及系统
JP3659957B2 (ja) レーザーを用いる位置測定装置及び方法
CN110889808B (zh) 一种定位的方法、装置、设备及存储介质
KR20190082291A (ko) 차량 환경 맵 생성 및 업데이트 방법 및 시스템
CN109917788B (zh) 一种机器人沿墙行走的控制方法及装置
CN108663041B (zh) 一种绘制导航地图的方法及装置
KR20120037065A (ko) 자율 이동 차량용 장애물 정보 제공장치 및 그 방법
CN107632308A (zh) 一种基于递归叠加算法的车辆前方障碍物轮廓检测方法
US20130131984A1 (en) Rapid lidar image correlation for ground navigation
CN111308415B (zh) 一种基于时间延迟的在线估计位姿的方法和设备
CN111913169B (zh) 激光雷达内参、点云数据的修正方法、设备及存储介质
Langer et al. Imaging ladar for 3-D surveying and CAD modeling of real-world environments
CN112068152A (zh) 使用3d扫描仪同时进行2d定位和2d地图创建的方法和系统
CN110109146B (zh) 基于多线激光雷达的路面检测方法及装置
Norazman et al. Landmark scanning by using infrared sensor for simultaneous localization and mapping application
Kolu et al. A mapping method tolerant to calibration and localization errors based on tilting 2D laser scanner
CN114562994A (zh) 移动机器人处于动态环境中的定位方法
Kim et al. Imaging sonar based navigation method for backtracking of AUV
CN114677284A (zh) 地图构建方法、装置、电子设备及存储介质
CN117724114B (zh) 一种基于激光测距仪的三维激光扫描装置及其方法
CN114115263B (zh) 用于agv的自主建图方法、装置、移动机器人及介质
US20220214443A1 (en) Method for simultaneous localization and mapping and mobile platform using the same
WO2022153586A1 (ja) 自己地図生成装置、および自己位置推定装置
Tatoglu et al. Aerial Vehicle Rapid 3D Map Generation for Safe Landing Area Detection

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