随着技术的发展创新,机器人在实际场景中应用越来越广泛。常见的有以单线激光雷达为探测传感器,激光slam方式的定位,精度通常是厘米级别的。为了能让机器人更智能化,实现与其他机器人,或传输带等设备完成自动传递物品的功能,需要机器人有很高的对位精度,通常需要小于5mm的对位精度,否则会出现物品交接失败的问题。为了提高对位精度,使用多线激光雷达,会有改善,但由于多线激光雷达价格昂贵,会大大增加成本。而视觉定位方式,由于算法复杂,会增加开发成本。
技术实现要素:
为解决上述技术缺陷,本发明提供一种自动对位方法及系统,在使用单线激光雷达,不增加额外昂贵探测传感器的前提下,实现高精度对位。具体的,本发明的技术方案如下:
一方面,本发明公开了一种自动对位方法,包括:
通过机器人上安装的激光雷达传感器检测预置在辅助定位板两端的反光条的位置;所述辅助定位板安装在需要对位的目标点位置,且其安装高度与所述激光雷达传感器的设置高度一致;
根据所述辅助定位板两端的反光条位置,获取所述辅助定位板的中心位姿;
获取所述机器人的当前位姿;
根据所述辅助定位板的中心位姿,结合所述机器人的当前位姿,控制所述机器人抵达所述对位的目标点位置,完成对位。
进一步地,所述通过机器人上安装的激光雷达传感器检测预置在辅助定位板两端的反光条的位置包括:
通过机器人上安装的激光雷达传感器扫描所述辅助定位板;
接收反射回来的激光束;
遍历所有反射回来的激光束,提取激光强度大于预设强度的激光束作为目标激光束;所述目标激光束为所述辅助定位板上的反光条反射回来的激光束;
获取所述目标激光束对应的反射激光点的中心坐标;
根据所述所有目标激光束对应的反射激光点的中心坐标,获取所述辅助定位板上的反光条的位置坐标。
进一步地,所述根据所述辅助定位板的中心位姿,结合所述机器人的当前位姿,控制所述机器人抵达所述对位的目标点位置,完成对位;具体包括:
将所述机器人当前位姿作为开始对位的起始位姿;
将所述辅助定位板的中心位姿作为对位的目标位姿;
计算所述机器人的对位速度,控制所述机器人到达所述对位的目标位置,且完成目标位姿。
进一步地,所述计算所述机器人的对位速度,控制所述机器人到达对位的目标位置,且完成目标位姿包括:
根据所述起始位姿、目标位姿,获取所述机器人从起始位置到目标位置的目标朝向;
根据所述目标朝向通过pid实时计算所述机器人的角速度;
根据所述机器人的朝向与所述目标朝向的夹角大小实时调整所述机器人的线速度;
实时控制所述机器人根据所述角速度、所述线速度进行运动,直到到达对位的目标位置,完成目标位姿。
进一步地,根据所述机器人的朝向与所述目标朝向的夹角大小实时调整所述机器人的前进速度包括:
获取目标夹角的度数;所述目标夹角为所述机器人朝向与所述目标朝向的夹角;
当所述目标夹角的度数大于预设的最大夹角度数时,控制所述机器人的线速度为0;
当所述目标夹角的度数大于0,小于所述预设的最大夹角时,根据所述目标夹角的度数、所述机器人当前的线速度,调整所述机器人的线速度大小;
当所述目标夹角的度数等于0时,控制所述机器人的线速度为预设的最大线速度。
另一方面,本发明还公开了一种自动对位系统,包括安装在需要对位的目标点位置的辅助定位板,及机器人;所述辅助定位板的两端设有反光条;所述机器人包含自动对位装置,所述自动对位装置包括安装在所述机器人上的激光雷达传感器;所述辅助定位板的安装高度与所述激光雷达传感器的设置高度一致;其中:
所述激光雷达传感器,用于通过检测预置在辅助定位板两端的反光条的位置;
所述自动对位装置还包括:
定位板确定模块,用于根据所述辅助定位板两端的反光条位置,获取所述辅助定位板的中心位姿;
机器人位姿获取模块,用于获取所述机器人的当前位姿;
对位控制模块,用于根据所述辅助定位板的中心位姿,结合所述机器人的当前位姿,控制所述机器人抵达所述对位的目标点位置,完成对位。
进一步地,所述激光雷达传感器包括:
信号发射模块,用于发射激光束扫描所述辅助定位板;
信号接收模块,用于接收反射回来的激光束;
信号处理模块,用于对所述反射回来的激光束进行数据处理,定位所述辅助定位板两端的反光条位置;具体包括:
遍历子模块,用于遍历所有反射回来的激光束,提取激光强度大于预设强度的激光束作为目标激光束;所述目标激光束为所述辅助定位板上的反光条反射回来的激光束;
坐标计算子模块,用于获取所述目标激光束对应的反射激光点的中心坐标;
反光条确定子模块,用于根据所述所有目标激光束对应的反射激光点的中心坐标,获取所述辅助定位板上的反光条的位置坐标。
进一步地,所述对位控制模块包括:
目标确定子模块,用于将所述机器人当前位姿作为开始对位的起始位姿;并将所述辅助定位板的中心位姿作为对位的目标位姿;
对位控制子模块,用于计算所述机器人的对位速度,控制所述机器人到达对位的目标位置,且完成目标位姿。
进一步地,所述对位控制子模块包括:
目标朝向获取单元,用于根据所述起始位姿、目标位姿,获取所述机器人从起始位置到目标位置的目标朝向;
角速度获取单元,用于根据所述目标朝向通过pid实时计算所述机器人的角速度;
线速度调整单元,用于根据所述机器人的朝向与所述目标朝向的夹角大小实时调整所述机器人的线速度;
运动控制单元,用于实时控制所述机器人根据所述角速度、所述线速度进行运动,直到到达对位的目标位置,完成目标位姿。
进一步地,所述线速度调整单元根据所述机器人的朝向与所述目标朝向的夹角大小实时调整所述机器人的线速度具体包括:
所述线速度调整单元获取目标夹角的度数;所述目标夹角为所述机器人朝向与所述目标朝向的夹角;
当所述目标夹角的度数大于预设的最大夹角度数时,所述线速度调整单元控制所述机器人的线速度为0;
当所述目标夹角的度数大于0,小于所述预设的最大夹角时,当所述目标夹角的度数大于0,小于所述预设的最大夹角时,根据所述目标夹角的度数、所述机器人当前的线速度,调整所述机器人的线速度大小;
当所述目标夹角的度数等于0,所述线速度调整单元控制所述机器人的线速度为预设的最大线速度。
本发明使用单线激光雷达,不用额外增加昂贵的探测传感器设备,或者复杂的软件算法,即在可控成本的前提下,达到高精度对位的目的。由于算法简单,使用的原始传感器数据,精度主要取决于激光雷达的探测误差,从而避免使用粒子滤波、点云匹配等复杂算法带来的软件误差。此外,本发明中用于对位的辅助定位板同样成本低,易于安装。