1.一种基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,包括以下步骤:S1、在ROS中订阅相机发布的话题和里程计发布的话题;
S2、从相机发布的话题中提取图像序列集,并对图像序列集进行视觉里程计处理,得到无真实尺度运动轨迹数据;
S3、从相机发布的话题中提取相机位移量Scamera,并从里程计发布的话题中提取机器人里程计位移量Sodometer;
S4、根据尺度比例关系,由相机位移量Scamera和机器人里程计位移量Sodometer计算得到相机尺度因子λ;
S5、用相机尺度因子λ乘以无真实尺度运动轨迹数据,得到真实尺度运动轨迹数据;
S6、对毫米波雷达扫描得到的点云数据PM进行坐标变换,得到世界坐标系点云数据PW;
S7、将世界坐标系点云数据PW按其对应真实尺度运动轨迹数据的时间戳进行注册,得到关于障碍物的地图。
2.根据权利要求1所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S2中对图像序列集进行视觉里程计处理,得到无真实尺度运动轨迹数据,包括以下步骤:S21、提取图像序列集中每帧图像序列IMAi的ORB特征点,其中i表示当前帧数,i的取值为闭区间[1,N]中的整数,N为帧总数;
S22、用PnP算法对每帧图像序列IMAi的ORB特征点和其下一帧图像序列IMAi+1的ORB特征点进行匹配,得到每帧图像序列间的初始位姿变换;
S23、通过Bundle Ajustment方法,由每帧图像序列IMAi的ORB特征点和每帧图像序列间的初始相机位姿计算得到每帧图像序列间初始相机位姿的误差函数;
S24、通过Levenberg-Marquard算法优化每帧图像序列间初始相机位姿的误差函数Φ,得到数值最小化的误差函数及其对应的每帧图像序列间的相机位姿估计;
S25、将每帧图像序列间的相机位姿估计拟合成曲线,得到无真实尺度运动轨迹数据。
3.根据权利要求2所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S23中重投影误差Φ的计算公式为:其中,ξ表示当前相机位姿的李代数,n表示匹配特征点总数,ui表示第i个特征点的像素位置,K表示相机内参,si表示第i个特征点的深度,Pi表示第i个特征点在世界坐标系中的坐标。
4.根据权利要求1所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S4中相机位移量Scamera、机器人里程计位移量Sodometer和相机尺度因子λ的尺度比例关系为:
5.根据权利要求1所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S6包括以下步骤:S61、根据毫米波雷达与相机之间的外参,构建毫米波雷达坐标系到相机坐标系的变换矩阵TCM,将毫米波雷达点云数据PM变换为相机坐标系点云数据PC;
S62、根据相机位姿,构建相机坐标系到世界坐标系的变换矩阵TWC,将相机坐标系点云数据PC变换为世界坐标系点云数据PW。
6.根据权利要求5所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S61中将毫米波雷达点云数据PM变换为相机坐标系点云数据PC的变换式为:PC=TCM·PM (3)。
7.根据权利要求5所述的基于毫米波雷达与视觉SLAM的定位与建图方法,其特征在于,所述步骤S62中将相机坐标系点云数据PC变换为世界坐标系点云数据PW的变换式为:PW=TWC·PC (4)。