#author("2019-12-06T14:34:42+09:00","d7","d7")
#author("2019-12-06T14:35:40+09:00","d7","d7")
*課題2 [#c27393d7]
下の図のようなコースを各チームで作成し、「ミッション」を遂行するためのロボットを作成せよ。

** コース [#cc5fc1d0]
黒線の幅は20mmでなるべく均等な濃さにすること
(図の右半分は、文字や数字が上下逆さまになっています)。

#ref(2019b/Mission2/2019b-mission2.png,80%,課題2のコース)

** ミッション [#d3728238]

A地点を出発し、次のいずれかの経路を黒い線にそって動くロボットを作成する (他のメンバーとは別の経路になるようにする)。

*** 1人目 [#bb641b70]

+ A地点から出発
+ B
+ C (直進)
+ D (一時停止の後、直進)
+ E, F 通過
+ G (一時停止の後、左折)
+ H (一時停止の後、左折)
+ I (ボール or キューボイドをつかんでUターン)
+ H (直進)
+ J (一時停止)
+ A地点に入る(ゴール)

*** 2人目 [#m8644fff]

+ A地点から出発
+ J
+ H (直進)
+ I (ボール or キューボイドをつかんでUターン)
+ H (右折)
+ G (一時停止の後、直進)
+ D (右折)
+ E, F 通過
+ G (一時停止の後、直進)
+ C (一時停止の後、左折)
+ B (一時停止)
+ A地点に入る(ゴール)

もう一つのチームは、A', B', ... とダッシュのついた交差点のコースを使うこと。

また、3名のチームの場合は、そのうちの1名は次のコースを選ぶこと。

*** 3人目 [#cfaccbc3]
+ A地点から出発
+ J
+ H (直進)
+ I (ボール or キューボイドをつかんでそのまま直進)
+ I' (ボール or キューボイドを離してそのまま直進)
+ H' (右折)
+ G' (一時停止の後、直進)
+ D' (右折)
+ E', F' 通過
+ G' (一時停止の後、直進)
+ C' (一時停止の後、左折)
+ B' (一時停止)
+ A'地点に入る(ゴール)

交差点では1秒間停止し、丁字路では直角方向に進入する時のみ一時停止すること。


** 発表会、レポート締切りなど [#g7eb3279]
- 次の2つの関数を作り、メールで提出 (下の例を参考に、12月12日締切り)
-- ライン・トレースをして交差点で止まるという関数 (or サブルーチン) を follow_line()
という名前で作る。
-- 直進して、前方のボール(or キューボイド)をつかみ、Uターンして戻ってくるという
関数を fetch_ball() または fetch_cuboid() という名前で作る。
- 12月20日の授業終了前までにロボット本体とプログラムを完成させる
- 12月20日の授業で発表会
- レポート締切りは2020年1月10日 (木)

メールでの提出するプログラムは、添付ファイルではなくてメールの本文に
コピーすること。
また、次のようにmain関数も含めること。
(EV3のグループはpythonで)

 //
 // ボールを掴んで、Uターンし、次の交差点までライントレースするプログラム
 // 学籍番号 氏名
 
 ... (定数やマクロの意義など)
  
 void follow_line(long tmin=0, long tmax=10000)
 {
       // long tmin: スタートからの時間がtmin以下では、交差点を無視してライントレースする
       // long tmax: スタートからの時間がtmax経てば、交差点に達しなくても停止
 
   ...
 
 }
 void fetch_ball(long tmax=3000)
 {
       //  long tmax: スタートからの時間がtmax経てば、ボールをつかめなても戻ってくる
 
   ...
 
 }
 task main()
 {
    ...
 
     fetch_ball(3000);         // まずボールをつかんでUターンしてくる
     line_follow(0, 15000);    // その後次の交差点までライントレース
 }

2019年12月6日からのこのページのだいたいの訪問者数:
本日&counter(today);
昨日&counter(yesterday);
合計&counter(total);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS