关于小车伺服控制,两个前轮转向角度计算,及两个前轮转向速度计算。网上找了计算方法做过的老师看看有没有问题。
阿克曼转向的关键是「所有车轮绕同一转向中心旋转」,因此左右前轮的转向角不相等(内侧轮转向角 > 外侧轮转向角),且左右轮的转速需随转弯半径差异化调整(外侧轮转速 > 内侧轮转速)。先定义基础参数(需实测 / 标定):
参数 符号 说明 示例值
小车轴距 L 前后轮中心的纵向距离 0.6m
轮距 W 左右前轮中心的横向距离 0.4m
转弯半径 R 转向中心到小车后轮中轴线的距离 2m
直线行驶速度 V0 小车直线最大速度 1 m/s
二、左右前轮转向角计算(核心)
1. 几何推导公式
设:
R = 整车转弯半径(后轮中轴线到转向中心的距离);
θo = 外侧前轮转向角(远离转向中心的前轮);
θi = 内侧前轮转向角(靠近转向中心的前轮);
根据阿克曼几何,两侧前轮的转向角满足:
tanθo=L/(R+W/2)
tanθi=L/(R?W/2)
2. 计算示例(代入参数)
已知 L=0.6m,W=0.4m,R=2m:
外侧轮转向角:θo=arctan ( 0.6 / (2+0.2) )≈15.26°
内侧轮转向角:θi=arctan( 0.6 / ( 2?0.2 ) )≈18.43°
转向时,左右前轮的线速度需与「绕转向中心的圆周线速度」匹配,公式:
Vo= V0×((R+W/2)/ R )
Vi= V0×( ( R?W/2 ) / R )
Vo:外侧前轮速度;
Vi:内侧前轮速度;
V0:整车直线行驶速度(需先按转弯半径限幅)。
2. 速度限幅(安全前提)
先根据转弯半径限制整车最大速度(避免侧翻):
V0(MAX)=V直线max*(R/Rmin)
Rmin:小车最小转弯半径(由最大转向角决定,如Rmin=0.8m);
V直线max:直线最大速度(如 1m/s)。
3. 计算示例
已知 直线V直线max=1m/s,R=2m,Rmin=0.8m,W=0.4m:
整车限幅速度:V0=1×(2/0.8)= 2.5 m/s(但不超过直线速度,取 1m/s);
外侧轮速度:Vo=1×((2+0.2)/2)= 1.1 m/s;
内侧轮速度:Vi=1×((2?0.2)/2)= 0.9m/s。
若前轮由伺服 / 变频电机驱动,需将线速度转换为电机转速:转速
转速(n)=(V*60)/(Π*D)
D:车轮直径(如 0.2m);
n:电机转速(r/min)。
示例:外侧轮Vo=1.1m/s,D=0.2 m:
no=3.14×0.21.1×60≈105 r/min
内侧轮Vi=0.9m/s:
ni=(0.9×60)/(3.14×0.2)≈86 r/min