[[2019a/Member]] 目次 #contents *課題2 [#pde1fae2] コースをトレースし、ボールを運び、ゴールまで持っていく. **選んだコース [#t8d55a74] A地点から出発 → M → K(直進) → L(ピンポン玉をつかむ) → K(右折) → J(一時停止の後、左折) → I(直進) → H(直進) → G(左折) → F → E → D(一時停止の後、直進) → C(直進) → B(一時停止) → シュート→ A地点に入る(ゴール) *ロボット [#gf027040] **本体の構造 [#xa03e15a] 本体の構造は説明書に記載してあるものをつかった. **アームの構造 [#i36a8a55] アームは前にボールにかぶさるような形の構造にした. また,ボールを運ぶ際引きずる形で持っていくのでボールが左右に動かないように支えを付けた. &ref(IMG_1501[1].jpg); **全体図 [#e18207ad] &ref(IMG_1499[1].jpg); *プログラミング [#eb8fba79] **ライントレース [#d4ca93cb] 黒い線を追従するライントレースのプログラミングを作るということで,「完全に真っ白」,「白と境目の間」,「境目」,「黒と境目の間」,「完全に黒」の5つの部分に色を分けて測った。 それぞれの値は,「完全な白」=65,「白と境界」=55,「境目」=47, 「黒と境界」=42,「完全な黒」=32 それらの明るさによって曲がる方向が変わるようにする. 5段階に分けて考えると,それらは左に旋回,左に移動,直進,右に移動,右に旋回 実際にその動作を定義すると #define turn_left OnFwd(OUT_B,SPEED);Off(OUT_C); // #define turn_right Off(OUT_B);OnFwd(OUT_C,SPEED); // #define light_senkai OnRev(OUT_B,SPEED);OnFwd(OUT_C,SPEED); // #define left_senkai OnFwd(OUT_B,SPEED);OnRev(OUT_C,SPEED); #define go_straight OnFwd(OUT_BC,SPEED); *交差点 [#j282cecc] ***交差点の認識 [#le201a61] ***交差点の横断 [#g1241730] **ボール [#abd4308d] ***ボールを取るプログラム [#v2589e65] ***ボールをゴールに入れるためのプログラム [#w2eec986] **全体のプログラム [#s98fecb6] *反省・課題 [#w34ea42a]