|
发表于 2023-1-3 23:16:15
|
显示全部楼层
本帖最后由 yep 于 2023-1-4 00:05 编辑
![](https://bbs.cmnxt.com/data/attachment/album/202301/03/195605ku55ag3bupzxj941.png)
如图 转向角度与功率之间关系:
横坐标为 转向角度(-100~100)
纵坐标为 功率变化(左右电机,目标功率为50)
由图可知
当转向角度为-100~0时:
左电机功率变化为-50~50,右电机功率为恒定50
当转向角度为0~100时:
左电功率为恒定50,右电机功率为50~-50
得到公式:
左电机功率 :
如果 转向角度为<0时 功率= 目标功率 × 100÷目标功率×2 + 50 否则 功率 = 目标功率
右电机功率:
如果 转向角度为>0时 功率= -1× 目标功率 × 100 ÷(目标功率 × 2)+ 50 否则 功率 = 目标功率
python lambda公式- power_motor = lambda angle,power: (angle * (100/abs(power*2)) + power,float(power)) if angle <= 0 else (float(power), -1*angle * (100/abs(power*2)) + power)
- left,right=power_motor(-10,-50)
- print(left,right)
复制代码
修改公式匹配 当功率为负现象。
- power_motor = lambda angle,power: (angle * (100/(power*2)) + power,float(power)) if angle <= 0 else (float(power), -1*angle * (100/(power*2)) + power)
- left,right=power_motor(-10,-50)
- print(left,right)
复制代码
修改公式途中发现:
当机器人往那边转时,那边的车轮功率会变化:
由EV3 labview版本 调整转向可得
如图
![](https://bbs.cmnxt.com/data/attachment/album/202301/03/235934kbugutur93h97hhu.png)
把功率与转向值画一个坐标查看规律
![](https://bbs.cmnxt.com/data/attachment/album/202301/03/235934vmdynywm5cbyy1ig.png)
可以得到再进行简单得推算就可以验算结果是否正确了。
但是算到最后,感觉自己算了个寂寞,并没有什么P用。
|
|