各チームで交差点が2つ以上のコースを作成し、そのコースを3周するロボットを作成する。交差点のうちの1つには500mlの空の紙パックを置き、次のような動作をするプログラムを作成せよ。1、紙パックを迂回する、あるいは紙パックを元の位置に戻した後コースに戻って進む。(交差点を通過後、紙パックが元の位置にあればよい。)2、紙パックを次の交差点まで運んでいき、その交差点に紙パックを残して更に黒い線に沿って進む。早さと正確さにも気をつけること。こだわったところは紙パックをつかむ、または移動させる部分です。モーターの回転を利用し、紙パックをしっかりつかめるようにしました。試作�を軽量化したものです。今度は紙パックがうまく固定できず、移動の最中に紙パックが外れてしまいました。最終的に出来上がったロボットの本体はこちら!!試作�よりも軽量化し、先端にゴムを巻きつけることによって紙パックを滑らないようにしてしっかりつかめるようになりました。動きやすくするために両側に大きなタイヤを付け、後方に小さなタイヤを付けました。交差点は3つにしました。カーブはできるだけ急にならないようにし、曲がりやすいようにしました。}このプログラムはタッチセンサーがうまく反応しなかったときに作ったプログラムです。光センサーが両方とも黒に反応したとき、交差点とみなして紙パックをつかむようにしたのですが、これでは紙パックがない交差点でもつかむ動作をしてしまうのであまりいいプログラムではありません,,,そこでもう一つ、タッチセンサーに反応したらつかむ動作をするプログラムを作りました。途中までは<その1>と同じです。}}<その2>は、光センサーが両方とも黒に反応したとき(普通の交差点)は直進、タッチセンサーが反応したとき(紙パックがある交差点)では紙パックをつかむ動作をするようにしました。1台だけで走らせるようだったのでもう一つのロボットを避けるプログラムは必要なかったので、タッチセンサーを紙パックに反応する方にまわしました。}//taskmain交差点に着いたとき、通り過ぎてからパックを後ろに置き去るようにしたのですが、Uターンが余りうまくいきませんでした。この調整に多くの時間がかかりました。最初の内は紙パックをセンサーで感知できず、そのため「スタート地点を固定しておき、交差点の数によって掴む・離すを制御」としたのですが、実際にはセンサーが巧く働いたので、それからプログラムの一部のみをあわてて変更しました。なんだかおかしなルーチンになってしまったのはその為です。†なかなかうまくいきませんでした。プログラムを簡略化したり、ロボットを軽量化したり、できることがあったと思うので今後の課題に生かしたいと思いました。紙パックが思ったより軽くて思うようにタッチセンサーが働かなかったのですが、タッチセンサーの位置をもっと工夫すれば働いたと思います。†コメントよろしくお願いします。センサーのif部分、実はもっとスリム化できます。センサーが白か黒か(もしくは触っていないか触っているか)を、その都度ifで判断するのではなく、「無反応なら0を、反応なら1を返す関数」を作ってみるといいかもしれません。3のようにしてしまうと、なんらかの理由でiが3を飛ばして4に増えてしまった場合、永遠に止まらないプログラムになってしまいます。3としておいた方が良いでしょう。across変数が2,4,8,10,14,16のときに紙パックを離すのかがいまいちわかりません...というか、whileの条件でacross<=7のときだけループ内が実行されるのならば、across==8とか10とかは意味があるのでしょうか?あと、コースは3周する決まりだったと思います。04:02:15やってみたんですけど、うまくできませんでした。17:06:51はい。