目次
こだま
ユージ
黄色いホイールを2個以上連射できるロボットを作成する
こだま→懐中電灯をゆっくり動かしたとき懐中電灯に向かって進み、懐中電灯の動きを止めれば一定の距離(懐中電灯から30cm以上離れた距離)まで近づいて懐中電灯を狙ってブロックを投げる。
ユージ→全方向から2つの懐中電灯の方向を探しだし、懐中電灯を狙ってホイールを投げる。可能な限り正確な方向に投げること。
今回のロボットはブロックを複数投げつけるため、どうしても大きくなってしまいます。というわけで、私たちのチームは軽量化(コンパクト)を目指して作りました。 今回はホイールを連射できるようにするのがキーポイントなので、あらかじめ複数のアイディアを出さないと詰まってしまうのではないかと心配でした。
ディファレンシャルギアを採用させていただきました。ディファレンシャルギアとは、1個のモーターで左右のタイヤを動かすことができる便利なシステムです。最初何も知らない状態で作り始めたので、ストッパーをつけ忘れてたり、ギアの数を間違えたりと、いろいろ苦労しました。個人的にはこのコンパクトさが気に入ってます。
土台のみです。少し光センサーの高さが心配ですが、まぁ大丈夫だろうということでこうなりました。
今回はこの部分を考えるのが一番苦労しました。なぜかというと、これを考える前に2つ案があり作成まで至ったのですが、それが両方とも却下されたからです。この場合はゴルフみたいにホイールを打ち出します。
ホイールを固定・供給を同時にこなす今回のロボットの中で一番重要な役割を果たす部分です。試行錯誤の結果、これがシンプルかつ安定した仕事をこなせます。
これがそれぞれの部分を合わせた全体像です。ホイールを飛ばす部分がそれほど重くないので、土台をコンパクトにしても十分動くことができました。
ホイールを足すとこんな感じになります。見えづらくてすみません。
ホイールを打ち出す部分の制作にあたり、作成まで至ったのに却下されたパーツを紹介します。
ホイールを飛ばすにあたり、これが真っ先に思い浮かんだのですが実際に飛ばしてみたところ、5cmも飛びませんでした。また、ホイールの供給に苦労するだろうということで却下されました。
2つ目の案です。時間をかけて作成したのですが失敗に終わり、あまりのショックで写真を撮り忘れました。イメージとしては人間の腕を再現した感じです。文字通りロボットが投げつけます。しかし、投擲の際に複数詰めてたホイールがすべて飛んでいってしまった上に思うようなところに行かなかったので却下されました。
無駄なパーツをできるだけ使わないようにして、軽量化し、すばやく動けるようにするとともに、ホイールを打ち出す際に邪魔になるものがなくなるようにしました。
また、ホイールを連射しなければいけなかったので、アームを回転させるだけで、簡単にホイールを発射できるようにしました。
#define L 60 //Lで光を探すための閾値 #define M 80 //Mで光との距離を調節するための閾値 task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); //センサ1は光センサに接続 SetSensor(SENSOR_2,SENSOR_LIGHT); //センサ2は光センサに接続 while((SENSOR_1<M) && (SENSOR_2<M)){ //光に近づくまで繰り返し if(SENSOR_1>L){ //どちらも明るければ直進 if(SENSOR_2>L){ OnFwd(OUT_A); Wait(50); OnRev(OUT_A); Wait(50); } if(SENSOR_1>L){if(SENSOR_2>L){ //左が明るければ左に行く OnFwd(OUT_A); Wait(100); }} else{ if(SENSOR_2>L){ //右が明るければ右に OnRev(OUT_A); } } } OnFwd(OUT_B); //光に近づけばブロックを投げる Wait(200); Off(OUT_B); } }
#define Light 70 //閾値を設定 #define Eye SENSOR_1 //光センサを設定 task main() { SetSensor(Eye, SENSOR_LIGHT); //光センサー repeat(2){ //2回繰り返し whlie(Eye < Light){ //括弧内はライト探索動作 OnFwd(OUT_A); } OnFwd(OUT_B); //見つけ次第ホイール打ち出し Wait(200); Off(OUT_B); OnFwd(OUT_A); //ちょっと右にターン Wait(200); Off(OUT_A); } Off(OUT_A); //仕事を果たしたら機能停止 Off(OUT_B); }
今回は前よりも製作時間が短くていつもより大変だった。
プログラムもロボットもかなり大雑把になってしまった。
本当はもっと凝ったタスクを作りたかったのですが、ちょっと時間が足りなくて粗末なプログラムになってしまいまいた。その分最終課題のロボコンで挽回したいと思います。
コメントをどうぞ