我有一个问题,该程序将允许iRobot创建移动并在接近障碍物时向右转90度。 我使用热传感器与iRobot Create一起捕获温差,网格将是4x4。
这个想法是借助4x4网格,我需要做一个比较。
-
void detection(void)
{
int j,k,l,m,a,b,c,d,x,y
%average values for each row (RowAverage)
readbuff[i] = recv_data;
j=(readbuff[2]+readbuff[3]+readbuff[4]+readbuff[5]+readbuff[6]+readbuff[7]+readbuff[8]+readbuff[9])/4
k= (readbuff[10]+readbuff[11]+readbuff[12]+readbuff[13]+readbuff[14]+readbuff[15]+readbuff[16]+readbuff[17])/4
l= (readbuff[18]+readbuff[19]+readbuff[20]+readbuff[21]+readbuff[22]+readbuff[23]+readbuff[24]+readbuff[25])/4
m= (readbuff[26]+readbuff[27]+readbuff[28]+readbuff[29]+readbuff[30]+readbuff[31]+readbuff[32]+readbuff[33])/4`
%find the highest average among the 4 rows (HighestAverage)
if (j > k)
{
a=j;
}
else (a>k)
{
a=k;
}
if (k > l)
{
a=k;
}
else (a>l)
{
a=l;
}
if (l > m)
{
a=l;
}
else (a>m)
{
a=m;
}
%divide individual row
b=j/a
c=k/a
d=l/a
e=m/a
%average of the top 2 rows and bottom 2 rows
x=(j+k)/2
y=(l+m)/2
...
}
我可以知道如何设置阈值,以便当x小于y时,它不会超过0.08吗?
答案 0 :(得分:0)
如果您想确保当x小于y时,x的值绝不会超过0.08,您可以执行以下操作:
if (x < y) {
if (x > 0.08) {
x = 0.08;
}
}