一、学习目标
理解并学会使用走中间的算法
二、程序详解
先看下结构和代码
// _走中间
public static void _zou_zhong_jian() {
su_du_cha = GetMath_FToInt(GetMath_Abs(((GetDist(33) - GetDist(35)) / 100)));
if ((GetDist(33) < GetDist(35))) {
SetMotor(1, (su_du + su_du_cha));
SetMotor(2, (su_du + su_du_cha));
SetMotor(3, su_du);
SetMotor(4, su_du);
}
else {
SetMotor(1, su_du);
SetMotor(2, su_du);
SetMotor(3, (su_du + su_du_cha));
SetMotor(4, (su_du + su_du_cha));
}
// 结束如果
}
1.定义两个变量 速度和速度差 ,主要是用于小车在前进的过程中通过距离传感器返回的值进行动态的速度调整,下图两个箭头就是利用距离传感器检测栏杆返回距离值。
2. 速度差 这个变量的值的 是利用 取整(求绝对值(左侧距离传感器返回数值 - 右侧距离传感器返回数值) / 100) 这样一个建模公式计算获得,利用左右两个距离传感器获得的距离差,缩小一定的倍数取整获得的值。这个公式是经过多次试验确定的,还是比较稳定的,如果你有更好的方法,你也可以试着自己建一个模型。
3.判断左右距离传感器的大小确定小车在路上的位置,然后利用 速度 与 速度+速度差 的左右轮速度差值进行动态调整 。