一种基于激光里程计的阿克曼底盘矫正方法与流程

文档序号:35959774发布日期:2023-11-08 22:00阅读:49来源:国知局
一种基于激光里程计的阿克曼底盘矫正方法与流程

本发明涉及机器人,具体来说,涉及一种基于激光里程计的阿克曼底盘矫正方法。


背景技术:

1、对于阿克曼底盘的机器人,其底盘的前轮转向控制通常由一个电机控制,通过控制电机的转向角度,带动连杆结构从而控制底盘的前轮转向。电机的转向角度与前轮转向角度的关系可以由连杆结构的传动关系计算得到,但有时复杂的连杆关系导致计算方式复杂,且有些传动方式的计算公式没有解析解,需要用数值优化的方法求解。并且在电机位置安装和连杆结构安装、连杆传动形变等误差,按照理论计算出来的对应关系也有所偏差。

2、参考图1,图1是阿克曼结构运行模型,可以将其简化为自行车模型,其中车辆前后轴之间距离l、转弯半径r、车辆前两轮转向值θ、车辆线速度v、角速度ω。

3、

4、v=ωr   (2)

5、

6、根据公式(1),可以通过获取车辆前后轴的距离l、转弯半径r来获得车辆前两轮转向值θ;这种方案需要测量转弯半径r,现有技术中可以采用半圆标定法来获取转弯半径r,这样就可以实现方向盘的角度与转弯半径的关系的标定,或者是计算车辆前两轮转向值θ。根据公式(3),可以获取车辆线速度、角速度、车辆前后轴的长度来进行自动标定。

7、本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。


技术实现思路

1、针对相关技术中的上述技术问题,本发明提出了一种基于激光里程计的阿克曼底盘矫正方法,其包括如下步骤:

2、s2,控制前轮电机朝第一方向转动,并转动到第一前轮电机角度angle_max,其中第一前轮电机角度为前轮电机能达到的最大角度;

3、s3,获取第一激光里程计位置p1(x1,y1,yaw1);控制机器人后轮速度前进,第一前轮电机角度angle_max不变,保持机器人做圆周运动;实时监测激光里程计的位置,若此时位置的与p1位置中的yaw相差大于第一预设角度时停止运动,获取第二激光里程计位置p2(x2,y2,yaw2);根据第二激光里程计位置p2、第一激光里程计位置p1获取第一圆周运动半径r1;并根据第一圆周运动半径r1、阿克曼底盘的轴距l获取第一前轮转向角度theta_max;

4、s4,控制前轮电机朝第二方向转动,并转动到第二前轮电机角度angle_mid;

5、s5,控制机器人后轮速度前进,第二前轮电机角度angle_mid不变,保持机器人做圆周运动;实时监测激光里程计的位置,若此时位置的与p2位置中的yaw相差大于第一预设角度时停止运动,获取第三激光里程计位置p3(x3,y3,yaw3);根据第三激光里程计位置p3、第二激光里程计位置p2获取第二圆周运动半径r2;并根据第二圆周运动半径r2、阿克曼底盘的轴距l获取第二前轮转向角度theta_mid;

6、s6,根据第一前轮转向角度、第二前轮转向角度,获取前轮转向角度与电机转向角度的关系,其中前轮转向角度与电机转向角度为线性关系。

7、具体的,所述方法还包括:s1,控制前轮电机使得前轮的转向角度为0度,记此时前轮电机角度为angle_0。

8、具体的,所述步骤s6包括:重复执行步骤s4-s5获取第三前轮电机角度angle_3、第四前轮电机角度angle_4、第n前轮电机角度angle_n及第三前轮转向角度theta_3、第四前轮转向角度theta_4、第n前轮转向角度theta_n;根据所述第一前轮转向角度、第二前轮转向角度、第三前轮电机角度、第四前轮电机角度、第n前轮电机角度及第三前轮转向角度theta_3、第四前轮转向角度theta_4、第n前轮转向角度theta_n使用最小二乘法获取前轮转向角度与电机转向角度的关系,其中前轮转向角度与电机转向角度为线性关系。

9、具体的,所述第二前轮电机角度angle_mid为:

10、具体的,所述第一预设角度为30度。

11、第二方面,本发明的另一个实施例提供了一种基于激光里程计的阿克曼底盘矫正装置,其包括如下单元:

12、第一前轮电机角度获取单元,用于控制前轮电机朝第一方向转动,并转动到第一前轮电机角度angle_max,其中第一前轮电机角度为前轮电机能达到的最大角度;

13、第一前轮转向角度获取单元,用于获取第一激光里程计位置p1(x1,y1,yaw1);控制机器人后轮速度前进,第一前轮电机角度angle_max不变,保持机器人做圆周运动;实时监测激光里程计的位置,若此时位置的与p1位置中的yaw相差大于第一预设角度时停止运动,获取第二激光里程计位置p2(x2,y2,yaw2);根据第二激光里程计位置p2、第一激光里程计位置p1获取第一圆周运动半径r1;并根据第一圆周运动半径r1、阿克曼底盘的轴距l获取第一前轮转向角度theta_max;

14、第二前轮电机角度获取单元,用于控制前轮电机朝第二方向转动,并转动到第二前轮电机角度angle_mid;

15、第二前轮转向角度获取单元,用于控制机器人后轮速度前进,第二前轮电机角度angle_mid不变,保持机器人做圆周运动;实时监测激光里程计的位置,若此时位置的与p2位置中的yaw相差大于第一预设角度时停止运动,获取第三激光里程计位置p3(x3,y3,yaw3);根据第三激光里程计位置p3、第二激光里程计位置p2获取第二圆周运动半径r2;并根据第二圆周运动半径r2、阿克曼底盘的轴距l获取第二前轮转向角度theta_mid;

16、前轮转向角度与电机转向角度关系获取单元,用于根据第一前轮转向角度、第二前轮转向角度,获取前轮转向角度与电机转向角度的关系,其中前轮转向角度与电机转向角度为线性关系。

17、具体的,前轮转向角度与电机转向角度关系获取单元包括:重复执行第二前轮电机角度获取单元、第二前轮转向角度获取单元,获取第三前轮电机角度angle_3、第四前轮电机角度angle_4、第n前轮电机角度angle_n及第三前轮转向角度theta_3、第四前轮转向角度theta_4、第n前轮转向角度theta_n;根据所述第一前轮转向角度、第二前轮转向角度、第三前轮电机角度、第四前轮电机角度、第n前轮电机角度及第三前轮转向角度theta_3、第四前轮转向角度theta_4、第n前轮转向角度theta_n使用最小二乘法获取前轮转向角度与电机转向角度的关系,其中前轮转向角度与电机转向角度为线性关系。

18、具体的,所述装置还包括:前轮电机角度归零单元,用于控制前轮电机使得前轮的转向角度为0度,记此时前轮电机角度为angle_0;

19、第三方面,本发明的另一个实施例提供了一种非易失性存储器,所述非易失性存储器上存储有指令,所述指令被处理器执行时,用于实现如上述的一种基于激光里程计的阿克曼底盘矫正方法。

20、第四方面,本发明的另一个个实施例提供了一种机器人,所述机器人包括:一处理模块,一阿克曼底盘,一存储模块,一激光里程计,所述存储模块存储有指令,在所述指令被执行时,用于实现如上述的一种基于激光里程计的阿克曼底盘矫正方法。

21、本发明的基于激光里程计的阿克曼底盘矫正方法,通过激光里程计可以自动获取机器人的转弯半径r,并根据机器人的转弯半径r可以计算出前轮转向角度与前轮电机角度的关系,从而能够避免安装误差和传动误差的影响。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1