#contents
#ls2(2007a/A2/課題3右,link,課題3ページ一覧)

光に向けてモノを投げるロボット


*ロボット [#fe1830e1]
モーターを2つ、光センサー2つを使用。
懐中電灯の光を探し、光を追跡したり、光に向かってモノを投げるロボットを作成した。


&ref(2007a/A2/課題3右/200707041940000.jpg,40%,ロボ1);
&ref(2007a/A2/課題3右/NEC_0018.JPG,40%,ロボ2);
&ref(2007a/A2/課題3右/NEC_0023.jpg,40%,ロボ3);

**ベース [#k7bc9975]
**[[ベース>2007a/A2/課題3右/ロボットベース]] [#j33dce63]

今回はモーター2つという制限があったので、動力部には1つしかモーターを使えなかった。
ヒント(http://yakushi.shinshu-u.ac.jp/robotics-photo/2005/2005-12-08/)を参考にし、モーター1つでも駆動できるベースを作成した。

&ref(2007a/A2/課題3右/NEC_0008.JPG,40%,ベースの画像1);
&ref(2007a/A2/課題3右/NEC_0009.JPG,40%,ベースの画像2);
**[[センサー>2007a/A2/課題3右/センサー]] [#ad3b51fc]

***工夫点 [#k3c6dcc9]
●ヒント通りに組むと、空回りする場合があったので、空回りの原因であった小さいギアを極力減らし、組み直した。

&ref(2007a/A2/課題3右/NEC_0006.JPG,40%,ギア);
&ref(2007a/A2/課題3右/NEC_0007.JPG,40%,ギア2);
**[[投げる装置>2007a/A2/課題3右/投げる装置]] [#bc32c002]

●逆回転を防ぐストッパーの位置にも気を使い、確実に逆回転を防ぐようにした。

&ref(2007a/A2/課題3右/NEC_0004.JPG,40%,ストッパー1);
&ref(2007a/A2/課題3右/NEC_0005.JPG,40%,ストッパー2);
*プログラム [#uce57730]

●前輪部分には摩擦が少ないローラーを使用した。これにより机上でスムーズに移動できるようになった。
**[[課題3の1>2007a/A2/課題3右/プログラム1]] [#jc099af1]

&ref(2007a/A2/課題3右/200707041837000.jpg,40%,前輪);

***苦労した点 [#n8732623]
●モーター1つという新しい試みであったが、まずヒントページのギアの仕組みを理解するのに苦労した。
**[[課題3の2>2007a/A2/課題3右/プログラム2]] [#sf988753]

●左右の車輪を駆動させるギア数が同じだとうまく動かないということに最初気づかず、原因解明に苦労した。

●初め前輪に一輪車を使用したがバランスが悪く、結局うまくいかなかった。改善策として前に記したようにローラーを使用することにした。
**[[課題3の3>2007a/A2/課題3右/プログラム3]] [#a4064b0d]

&ref(2007a/A2/課題3右/200707041836000.jpg,40%,前輪ビフォア);

*全体を通しての感想 [#lb5287f6]

***改善点 [#xe0ce1f2]
●ローラーの前輪は机の上などの摩擦係数が少ないところではうまく動くが、カーペットの上などでは思うように動けない。汎用性の点で、このことが今後の改善点として挙げられる。
●一週間という短期間の中でプログラムを3つ作らなくてはならなかったので予定を合わせて他の日に会わざるをえず、とても忙しい中での作業だった。(みずまる)

●ロボットが出来上がらないとプログラムが組めないということであせってしまい逆にロボットの製作に時間がかかってしまった。(みずまる)

***感想 [#g5494168]
●やはりモーター1つという制限が厳しかった。ギアを小さくすると遅くなるし空回りもしやすくなる。しかし大きいギアだけだと組み合わせや配置に苦労する。このバランスが難しかった。
●プログラムの製作は急ぎながらも正確におこわなければならなかったがとても良い経験になったと思う。(みずまる)

●センサーにはかなりこだわったし、時間もかけた。課題3の3でその工夫が生かせたのが最高にうれしかった。(いっせー)

●今回はプログラムよりもロボットに力を入れた。努力のかいあって良いものができて良かった。(いっせー)


**センサー [#i8be2a54]

担当:いっせー

今回は光センサーを2つ使用した。
光を効率よくさがすために斜め左右に、そして斜め上を向くようにセンサー2つを配置した。
虫の触覚をイメージした。

&ref(2007a/A2/課題3右/NEC_0015.JPG,40%,センサー);

***工夫点 [#n6875229]
●今回意識したことは『向き、高さの調整が可能なこと』である。

●向き、高さの調節を手軽に可能にするという発想は、前回のラインレースロボットのセンサー配置の失敗から来たものである。

●具体的には、調節はパーツを繋ぐ穴の位置を変えることで行う。高さは3段階(実用的には2段階)、向きは2段階変更できるようになっている。

&ref(2007a/A2/課題3右/NEC_0014.JPG,40%,センサー);

●また、今回時間の都合上タッチセンサーまで手が回らなかったことから、急遽光センサーのユニットに衝撃吸収の機能を付け足して、簡易フロントバンパーとも呼べなくもない構造になっている。


***苦労した点 [#xb5b9dfc]
●可動と固定を両立することに苦労した。(この点に関しては結局完全には達成できなかった)

●固定に関して、ブロックの穴の数がジョイント部とあわせることが地味に大変だった。

***改善点 [#vfc8d31b]

●可動を実現するために、故意にいくつかの点が完全に固定されてない状態になっている。調節可能という理念は達成できたが、代わりにパーツの位置のズレから生ずる誤差が大きくなってしまった。

●時間があったらタッチセンサーも取り付けたかった。

***感想 [#c1ebe8d0]

●コンセプトである『調節可能』を今回は『センサーユニット自体が可動』という形で表現してみた。発想としては悪くなかったのだが、ロボットにとって誤差が大きくなるということはプログラムを組む上で痛手となってしまった。次回はもっと違うアプローチをする必要があると感じた。

●もしセンサーが4つ使用できたらやってみたいアイディアがあった。残念。

**投げる装置 [#l7331f73]
&ref(2007a/A2/課題3右/NEC_0013.JPG,40%,アーム);
●モーターを規定通り一個使ってホイールを投げる装置を作成した。少しでも遠くに投げられるように装置をベースの上に装着した。
***工夫点 [#rbebb2db]
&ref(2007a/A2/課題3右/NEC_0010.JPG,40%,ギア);
●モーターに直づけのアームでは面白くないし、また、発想に乏しいと思い、ギアを3つ使ってできるだけ腕の長いものでバランスが崩れないものを作った。

&ref(2007a/A2/課題3右/NEC_0012.JPG,40%,手の部分);
&ref(2007a/A2/課題3右/NEC_0011.JPG,40%,手の部分2);
●ホイールを落とさないように最低限の補強を加えた。
***苦労した点 [#pa7413be]
●一番最初はモーターについているギアが小さかったため投げる速度が遅く、とても投げているとは言えなかったが、一回り大きいものを使うことである程度のスピードを得ることができた。

&ref(2007a/A2/課題3右/NEC_0022.JPG,40%,失敗ギア);
●一番大きいギアを使うとモーターに力がなくギアを回すことができなかったためアームを動かすことができなかった。

&ref(2007a/A2/課題3右/NEC_0020.JPG,40%,失敗アーム);
●最初に作った手の部分は、カッコよさを重視したため重くなってしまい投げる時にスピードがでなかった
***改善点 [#c5350453]
●やはり、まだ投げる速度が遅く、理想的な斜方投射にならず水平投射に近いものなってしまうため、更なる軽量化とギアの組み合わせの改良が必要となる。
***感想 [#m358208c]
●物を投げるという作業は思った以上に力を必要とし、思った通りには動いてくれないので、少しでも理想に近づくためにより綿密な計画を立てないといけないと思った。

●もっと正確で飛距離をだせるアームを思いつけなかったので残念だった。

*プログラム [#uce57730]

**課題3の1 [#xc67549c]

担当:いっせー

『全方向から懐中電灯の方向を探しだし、懐中電灯に向けてブロックを投げる。懐中電灯は動かさない。』という課題にそったプログラムを作成した。

***実際のプログラム [#gb214d20]

 #define THRESHOLD 90 //光の強さの境界を90に設定
 #define RUN_TIME50 //タイマー用の設定。今回は使用しない
 
 sub  straight() //直進するためのプログラム。今回は使用しない
 {
         OnFwd(OUT_A);
         Wait(23);
         Off(OUT_A);
         OnRev(OUT_A);
         Wait(12);
         Off(OUT_A);
 }
 
 sub search() //光を探してモノを投げるプログラム
 {
    SetSensor(SENSOR_1,SENSOR_LIGHT); //センサー1を光センサーに設定
    SetSensor(SENSOR_3,SENSOR_LIGHT); //センサー3を光センサーに設定
    
         if((SENSOR_1<THRESHOLD)&&(SENSOR_3<THRESHOLD)){
             OnRev(OUT_A); //光が見当たらなければ回転し光を探す
         } else   {
             Off(OUT_A);
             OnRev(OUT_C);
             Wait(10);
             Off(OUT_C); //見つけたら投げる
         }
 } 
   
 
 task main ()
 {
    
 search(); 
 
 } 

***工夫点 [#eaf640f9]
●今後の作課題を楽にするためサブルーチンを積極的に活用した。

***苦労した点 [#n3780b2d]
●この段階では特になし。

***改善点 [#p4e59e23]
●実はまだ未完成である。片方のセンサーしか反応しなかった時の反応が未設定。

***感想 [#e7a67eee]
●時間がなかった。1人で全部やるのは無理。

**課題3の2 [#g4db3899]
***実際のプログラム [#g820f0af]
***工夫点 [#wcfb8fb1]
***苦労した点 [#l5c3178f]
***改善点 [#g7c38fd4]
***感想 [#y6616d59]

**課題3の3 [#lf0d53db]
***実際のプログラム [#z1b5818a]
***工夫点 [#mcc115cb]
***苦労した点 [#wd1d0b70]
***改善点 [#q57fe897]
***感想 [#y44d9f45]

コメントをどうぞ
*コメントをどうぞ [#c078e5f3]
-光センサーの工夫はなかなかのものではないでしょうか! 今後の更新に期待しています。 -- [[まいける(TA)]] &new{2007-07-05 (木) 00:30:38};
-途中までではあるが、なかなか見やすく作れていると思います。 -- [[ヒロヤ]] &new{2007-07-05 (木) 09:12:26};
-1ページが重くないよう分割して、見やすくしてみました -- [[いっせー]] &new{2007-07-12 (木) 21:15:33};
-分割していることで、説明がわかりやすくなっていてよいと思います。 -- [[ヒロヤ]] &new{2007-07-14 (土) 22:27:55};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS