1.一种机器人自动充电的充电座搜寻方法,其特征在于,所述机器人具有可360°旋转的底盘,所述底盘上固定安装有激光雷达,所述激光雷达发射激光束对周围环境中的障碍物进行探测,以获得与障碍物相关的激光雷达数据;所述充电座(1)的前面板上开设有向内凹进的左凹槽(1.1)和右凹槽(1.2),所述左凹槽和右凹槽对称设置在所述充电座的两侧,所述左凹槽和右凹槽的高度均与所述激光雷达的扫描高度平齐设置,所述左凹槽、右凹槽以及位于所述左凹槽和右凹槽之间的中间面板(1.3)共同形成充电座特征;所述充电座搜寻方法包括以下步骤:S1、初步搜索充电座特征,判断机器人是否搜索到充电座特征,如果机器人搜索到充电座特征,则执行步骤S2;如果机器人未搜索到充电座特征,则控制机器人的底盘旋转一定角度后再次搜索充电座特征;
S2、计算充电座的初步位置,判断机器人距离充电座(1)位置的远近,如果机器人充电座距离机器人的位置近,则直接精确搜索充电座位置;如果机器人充电座距离机器人的位置远,则控制机器人运行到充电座前方的充电参考点C,判断机器人到达参考点C后,再精确搜索充电座位置;
所述步骤S1中初步搜索充电座特征的算法具体如下:
1.1、读取一帧激光雷达数据,将所有扫描到的激光雷达数据点保存到激光雷达数据点Data数组中,激光雷达数据点的数据包括扫描距离和扫描角度;
1.2、先使用自适应变阈值分割方法确认分割阈值,定义分割阈值线性函数Div=f(D),以确定不同激光雷达数据点的分割阈值;再计算相邻两个激光雷达数据点L
1.3、遍历分割区块R
1.4、对所有分割区块R
1.5、计算充电座所在区块的中心点坐标P
2.根据权利要求1所述的充电座搜寻方法,其特征在于,所述步骤S2中精确搜索充电座位置的算法如下:
2.1、读取一帧激光雷达数据,将所有扫描到的激光雷达数据点保存到激光雷达数据点Data数组中,激光雷达数据点的数据包括扫描距离和扫描角度;
2.2、设置一个近距扫描参数值,遍历激光雷达数据点Data数组中激光雷达数据点,过滤掉无效数据和超出扫描范围的激光雷达数据点;
2.3、遍历过滤后的激光雷达数据点Data数组,计算两点之间的差值Δd,当Δd超过直线特征阈值时,根据充电座特征,从激光雷达数据点Data数组中找出与充电座激光数据模型相符的连续激光雷达数据点,先定位出充电座特征的上升沿和下降沿数据点,最终得到充电座中间面板的左特征点和右特征点;一个完整的所述充电座特征从左到右依次包括左面板(1.4)、左内凹沿(1.5)、左凹槽内壁板、左返回沿(1.6)、中间面板(1.3)、右内凹沿(1.7)、右凹槽内壁板、右返回沿(1.8)以及右面板(1.9);
2.4、根据充电座的左特征点和右特征点数据,判断机器人处于充电座垂直中线的左侧还是右侧,当线段PL的长度大于线段PR的长度时,机器人位于充电座中线的右侧,反之在左侧;已知∠LPR的角度和线段PL、线段PR的长度,根据余弦定理和三角函数,计算出∠POV的角度,并判断机器人是否处于直接对接充电区,当∠POV小于20°时,机器人可以直接开始后退对接充电座,当∠POV大于等于20°时,先要控制机器人运行到充电参考点C;
2.5、如果机器人不在直接对接充电区,机器人所在点的坐标为P(x,y),机器人的运行方向为向量PC,计算向量PC在激光雷达坐标系中的角度和模长度|PC|,将向量PC在激光雷达坐标系上的角度转换为里程坐标系上的角度β,机器人先转动角度β,再前进|PC|距离,到达充电参考点C。