Skip to content

Commit a97b461

Browse files
Update main.c
1 parent d01e710 commit a97b461

File tree

1 file changed

+22
-22
lines changed
  • arc_design_contest/2018/XDU_Autofollowing_suitcase/src

1 file changed

+22
-22
lines changed

arc_design_contest/2018/XDU_Autofollowing_suitcase/src/main.c

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include "u8g.h"
88
#include <string.h>
99
#include "arc.h"
10-
#define FOLLOW_DISTANCE 120 //跟随距离
10+
#define FOLLOW_DISTANCE 120
1111
#define STOP_DISTANCE 80
1212
#define LOST_DISTANCE 300
1313
#define ALARM_DISTANCE 400
@@ -53,7 +53,7 @@ void u8g_prepare(void)
5353
}
5454
static void draw(int32_t temp, uint16_t pmm)
5555
{
56-
char s[]="Temperature: . C"; //温度
56+
char s[]="Temperature: . C";
5757
s[12]=(int)(temp/100)+48;
5858
s[13]=(int)((temp-((int)(temp/100))*100)/10)+48;
5959
s[15]=(int)(temp%10)+48;
@@ -162,14 +162,14 @@ static void stop(void)
162162
int main(void)
163163
{
164164
uint8_t rcv_buf[28];
165-
int a0_to_a1;//基站0到基站1距离
166-
int a0_to_a2;//基站0到基站2距离
167-
int a1_to_a2;//基站1到基站2距离
168-
int t_to_a0;//标签到基站0距离
169-
int t_to_a1;//标签到基站1距离
170-
int t_to_a2;//标签到基站2距离
171-
double a=20.0;//等边三角形边长
172-
double b,c,d,f,jiaodu,y;//坐标表示
165+
int a0_to_a1;
166+
int a0_to_a2;
167+
int a1_to_a2;
168+
int t_to_a0;
169+
int t_to_a1;
170+
int t_to_a2;
171+
double a=20.0;
172+
double b,c,d,f,jiaodu,y;
173173
uint32_t rcv_cnt;
174174
uint32_t i = 0;
175175
uint32_t baudrate = 115200;
@@ -231,23 +231,23 @@ int main(void)
231231
a0_to_a2=(rcv_buf[25]<<8) |(rcv_buf[24]) ;
232232
a1_to_a2=(rcv_buf[27]<<8) |(rcv_buf[26]) ;
233233
}
234-
y=(t_to_a0*t_to_a0-t_to_a1*t_to_a1)/(2*a);//标签y方向坐标
234+
y=(t_to_a0*t_to_a0-t_to_a1*t_to_a1)/(2*a);
235235
b=2*a*a+2*t_to_a2*t_to_a2-t_to_a0*t_to_a0-t_to_a1*t_to_a1;
236236
c=t_to_a0*t_to_a0+t_to_a1*t_to_a1-2*a*a-2*t_to_a2*t_to_a2;
237237
d=t_to_a0*t_to_a0-t_to_a1*t_to_a1;
238238
f=sqrt1(c*c+3*d*d);
239239
jiaodu=b/f;
240-
jiaodu=acos1(jiaodu)*180.0/PI; ////////基于三点定位原理,建立空间直角坐标系,计算方位角
240+
jiaodu=acos1(jiaodu)*180.0/PI;
241241
printf("jiaodu=%lf\n",jiaodu);
242-
if(t_to_a2>FOLLOW_DISTANCE&&t_to_a2<LOST_DISTANCE) //如果距离大于跟随距离
242+
if(t_to_a2>FOLLOW_DISTANCE&&t_to_a2<LOST_DISTANCE)
243243
{
244244
if(right_obstacle>0)
245245
right_obstacle--;
246246
if(left_obstacle>0)
247247
left_obstacle--;
248248
if(turn_left)
249249
{
250-
if(dis_m<80) //正前方障碍物距离小于80cm,继续转,否则前进。
250+
if(dis_m<80)
251251
{
252252
left();
253253
}
@@ -269,11 +269,11 @@ int main(void)
269269
left_obstacle = 2;
270270
}
271271
}
272-
else if(dis_l<30||dis_m<30||dis_r<30) //如果障碍物距离小于30,小车后退
272+
else if(dis_l<30||dis_m<30||dis_r<30)
273273
{
274274
back();
275275
}
276-
else if(dis_l<50||dis_r<50)//如果障碍物距离小于50,小车朝另一边走。
276+
else if(dis_l<50||dis_r<50)
277277
{
278278
if(dis_l<50)
279279
{
@@ -286,29 +286,29 @@ int main(void)
286286
right_obstacle =2;
287287
}
288288
}
289-
else if(y<=0&&(jiaodu>=40&&dis_l>=80||jiaodu>=70)&&left_obstacle==0)//标签在小车左边40度,并且左边没有障碍物。或者标签在小车左边大于70度。朝标签方向旋转。
289+
else if(y<=0&&(jiaodu>=40&&dis_l>=80||jiaodu>=70)&&left_obstacle==0)
290290
{
291291
left();
292292
}
293293
else if (y>0&&(jiaodu>40&&dis_r>80||jiaodu>70)&&right_obstacle==0)
294294
{
295295
right();
296296
}
297-
else if(dis_m<50) //如果正前方障碍物小于50cm
297+
else if(dis_m<50)
298298
{
299-
if(dis_r>50||dis_l>50)//左边或者右边障碍物大于50cm,则朝没有障碍物的地方转。
299+
if(dis_r>50||dis_l>50)
300300
{
301-
if(dis_r>dis_l) //1:进入朝右转模式,一直转到正前方没有障碍物,再往前走。
301+
if(dis_r>dis_l)
302302
{
303303
turn_right=1;
304304
}
305305
else
306306
{
307-
turn_left = 1; //进入朝左转模式,一直转到正前方没有障碍物,再往前走。
307+
turn_left = 1;
308308
}
309309
}
310310
}
311-
else if(right_obstacle==0&&left_obstacle==0) //标签在正前方,并且左右没有障碍物
311+
else if(right_obstacle==0&&left_obstacle==0)
312312
{
313313
forward();
314314
}

0 commit comments

Comments
 (0)