懐中電灯に向かってブロックを投げるロボットを作ること。secret」を参考にして、白いホイールを投げるロボットを作成し、以下の動きをするようにプログラムを作成せよ。(重複しないように一人一つ以上のプログラムを作成すること)1.全方向から懐中電灯の方向を探しだし、懐中電灯を狙ってブロックを投げる。方向を定めたのち、懐中電灯の30cm以内に近づかない範囲で必要な距離を移動してもよい。懐中電灯は動かさないが、いろいろな距離や方向にある懐中電灯に対応できるロボットにすること。懐中電灯を狙ってブロックを投げる。見失った時には再び全方向から懐中電灯を探しだす。7秒以上追尾できたら懐中電灯に向かってブロックを投げる。懐中電灯の代わりに携帯のライトなどを利用してもよい。モータ、光センサ、タッチセンサはそれぞれ2個まで使用可。平面的な方向だけでなく懐中電灯の高さまで含めた方向を探す場合にはモータを3個使用してもよい。今回のアームは、遠心力をつかってブロックを投げるタイプを採用した。投げる長さの調整が少し難しかった。少ないパーツで多くの部分を動かすためギアが複雑になったが、きれいに収まった。課題2の応用に頼ったところが多くあった。新しい発見はあまりなかったけれど、このプログラミングをほぼ理解できたと思う。前回はプログラミングに時間がかかったのに対し、今回はプログラミングが割とはやくた。逆にロボットは、ディファレンシャルギアを使ったり、ロボットの面で工夫しなければならないことが、たくさんあり、その部分を改良するのに、特に時間がかかった。今回の知識は、ロボコンに活かせる知識がたくさんあったのでぜひつぎは、つかってみたい。†コメントをどうぞ一つ目のプログラムに関して言えば、2つ目と4つ目のifの命令内容が一緒なのでまとめたほうがいいかもしれません。二つ目に関しては、懐中電灯は左右にも動くので二つ光センサがあることを生かしてください。09:13:26とさ犬さんのプログラムは、「懐中電灯のある方向」ではなく、「探し始めてから一番最初にある明るさに到達したところ」に向かって投げるプログラムなので、懐中電灯の種類などを変えたら上手くいかなくなるかもしれません。Fe2+さんのプログラムは課題のどれなのか明記してください。2人とも、while(true)に対して、投げた後にループを抜けるようにしたほうが良いと思います。23:04:27授業中に説明された課題をもう一度よく読んで、プログラムを改良してください。1つ目の課題ではこさかさんの言うとおりですし、2つ目は右の方がが明るいときも左の方が明るいときも同じ動きをするのでは追跡できないと思います。センサ1が55でセンサ3が95のときロボットはどう動きますか?ifの場合分けをもう一度考えてください。18:28:20一つ目のプログラムに関して言うと、light_maxの値が変化せず0のままなので、すぐに後半部分に入ってしまいます。前半のどこかに何かlight_maxを入れる予定だったのだと思いますが、もう一度確認してみてください。17:06:42一つ目のプログラムは最も明るい方向を向けるかが不安な点が残るかと思います。回転して光を探すときに右まわりも左まわりも同じなので、2つめのifの中で場合分せずに両方とも左回りの方がプログラムがすっきりします。場合分けするのでしたら、回転の速度を変えるなどした方がよいです。二つ目のプログラムについても同様なことが言えます。