EV3 三光感巡线简易实现原理

3 篇文章 1 订阅


点击查看视频效果

读取三个光感的黑白范围(前文有光感校对示例原理)

rd_max_1
rd_max_2
rd_max_3
rd_min_1
rd_min_2
rd_min_3


每个的中值


rd_zz_1
rd_zz_2
rd_zz_3


rd_zz_#=(rd_max_#-rd_min_#)/2+rd_min_#






读传感器当前实际值


rd_sj_1
rd_sj_2
rd_sj_3




在线状态(bool)0:在线 1:脱线


is_online_1
is_online_2
is_online_3
is_online_#=rd_sj_#>rd_zz_#




归一化


rd_gy_1
rd_gy_2
rd_gy_3


rd_gy_# =rd_sj_# /(rd_max_# -rd_min_# )






三光感数据到左右轮作用的转换




总量rd_gy_1+rd_gy_2+rd_gy_3+1   //之所以+1是防止除以0无意义


左边量rd_gy_1+rd_gy_2+0.5
右边量rd_gy_1+rd_gy_2+0.5




zy_left=左边量/总量
zy_right=右边量/总量






分配功率
ab为放大系数
左功率=zy_left*a+(zy_left-zy_right)*b;
右功率=zy_right*a+(zy_right-zy_left)*b;




记录光感在线和脱线的状态
000全在线
101中光感在线
110右光感在线
011左光感在线
111脱线
....
脱线前一次的状态为我们脱线后调整方向提供依据。必须得记录下来


curr_online
last_online


curr_online=is_online_1*100    +is_online_2*10    +is_online_3


if(curr_online!=111){


    last_online=curr_online;


}








脱线时的判断


if(curr_online==111){
    if(last_online==110){
        //左脱,右拐
    }
    if(last_online==11){
        //右脱,左拐
    }
    //...
}


点击查看视频效果


















评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值