[[2014a/Member]]

#contents



*課題2について [#a2a2f69a]

**メンバー紹介 [#j1385904]
今回は、4人で課題に取り組むことになった。ここに参加メンバーを記しておく。

・kiyomizu(私)
・suiden
・
・ryu-abe




**課題2の内容 [#qd8221b9]

まず、課題2の内容やルールを確認したいと思う。今回は、ロボットコンテストをクラス全体で行うとのことでルールが前回の課題1より増え、新たに評価基準も設けられている。すべてをここに記すとレポートが煩雑になると考えられるため、以下に大まかなルールや内容のみ記しておく。

 内容
 1.下図のスタート地点にロボットの機体を置き、プログラムを実行する。(これ以降、機体に触れてはならない。)
 2.図の左半分に置かれている紙コップ(番号が1から順に振られているもの)を右半分へ運搬する。
 3.右半分に置かれている紙コップに、2で運搬してきた紙コップを重ねる。
 4.どのような出来だったのか評価を受ける。

CENTER:#ref?????(2014a/Member/kiyomizu/Mission2/robo2.PNG,30%,図1課題2のコース)

・ルール補足&br;
(注1*左側に置かれる紙コップの位置はA,B,Cの地点である。&br;
ただし、紙コップの順序は、競技直前にさいころを振った結果により決定される。&br;コップにはそれぞれ1から3までの番号が振られているので、コップの配置はある程度ランダムなものになる。
)

(注2*評価は、まずコップを重ねる正確さ{同じ番号に重ねることができれば10点、番号が1つずれたならば2点、番号が2つずれたか重ねることができなかったならば0点}の得点{これを基本得点とする}を審判が決める。次に、そのロボットの動作や機体の美しさなどを他の全てのチームが20点満点で評価しその平均点{これを技術点とする}を求める。これら基本得点と技術点の合計点により評価を数値化し各チームで競い合う。)
(注2*紙コップは通常の使用をする際に置く向きとは、逆向き{幅の広い方が下}に置かれている。)

(注3*評価は、まずコップを重ねる正確さ{同じ番号に重ねることができれば10点、番号が1つずれたならば2点、番号が2つずれたか重ねることができなかったならば0点}の得点{これを基本得点とする}を審判が決める。次に、そのロボットの動作や機体の美しさなどを他の全てのチームが20点満点で評価しその平均点{これを技術点とする}を求める。これら基本得点と技術点の合計点により評価を数値化し各チームで競い合う。)

上を見て、やるべきことを考えたところ、やはり課題1の時と同じように2段階の作業が必要であることがわかった。&br;
1つ目、今回の課題をクリアするための能力を持ったロボットを作る。&br;2つ目、それを要求通りに動かすプログラムを作る。以下、それらについて書きたいと思う。&br;



*ロボットの制作 [#x8295818]

**課題2をクリアするための能力を持ったロボットを作る [#g3278492]

さて、課題2をクリアするためにどのような能力が必要であろうか。私たちのグループは次の5つの能力が必要であると結論を出した。

 ・移動する能力
 ・紙コップを検知する能力
 ・紙コップをつかむ能力
 ・紙コップを持ち上げる能力
 ・紙コップを重ねる能力

 <移動する能力>…紙コップを移動させ重ねるという課題であるが、フィールドがそこそこ広いので機体をスタート地点に置いたまま、なんらかの手段で(ロボットの腕をバカ長く作りそれを使って紙コップを操作するなど)課題達成を目指すというのは、無理があるだろうということになり、できるだけコンパクトかつフィールド上を動き回れる機体を制作しようということになった。図1がロボットの土台部分で、ここに機体の移動を司る車輪などが搭載されている。
 <移動する能力>…紙コップを移動させ重ねるという課題であるが、フィールドがそこそこ広いので機体をスタート地点に置いたまま、なんらかの手段で(ロボットの腕をバカ長く作りそれを使って紙コップを操作するなど)課題達成を目指すというのは、無理があるだろうということになり、できるだけコンパクトかつフィールド上を動き回れる機体を制作しようということになった。図1がロボットの土台部分で、ここに機体の移動を司る車輪などが搭載されている。(また、部分的にライントレースが必要だと考えられたので土台部分にすでに光センサーが取り付けられている。)


 <紙コップを検知する能力>…紙コップを検知する能力であるが、2つの案が挙がった。1つ目、紙コップにタッチセンサーを当て、センサーが反応したかしなかったかで判断するというもの。これは、紙コップによって果たしてタッチセンサーが反応するのか(つまり、タッチセンサーが反応するには紙コップが軽すぎはしないか)、またタッチセンサーが反応するよううまくセンサーを加工できたとしてもコップを捕まえる機構の邪魔になるのではないかとの意見により却下された。
 <紙コップを検知する能力>…紙コップを検知する能力であるが、3つの案が挙がった。&br;
 1つ目、紙コップにタッチセンサーを当て、センサーが反応したかしなかったかで判断するというもの。これは、紙コップによって果たしてタッチセンサーが反応するのか(つまり、タッチセンサーが反応するには紙コップが軽すぎはしないか)、またタッチセンサーが反応するよううまくセンサーを加工できたとしてもコップを捕まえる機構の邪魔になるのではないかとの意見により却下された。&br;
 2つ目、超音波センサーを使って紙コップとの距離を測り、検知するというもの。これは、実現されれば考案されたものの中で一番確実にコップを補足できると考えられたが、超音波センサーそのものの取り扱いの難しさなどにより却下された。&br;
 3つ目、紙コップに何らかの模様をつけそれを光センサーで読み取り識別するというもの。これならば、紙コップにつける模様を工夫することによってある程度確実性を上げることも可能であり、比較的容易にできるのではということになり、3つ目すなわち、光センサーによる識別を採用することが決定した。なお、紙コップの模様は図2を参照のこと。


#ref?????(2014a/Member/kiyomizu/Mission1/robo1_2.png,50%,図1課題1のコース)図2

 <紙コップをつかむ、持ち上げる、重ねる能力>…開発初期段階では、つかむ能力と持ち上げる能力を別々にする案が出たが、コンピュータ同士の通信が必要となる(モーターの都合上、2台のコンピュータを使う必要が出てくるため)ので複雑になると考えられるこちらに対し、つかむ能力と持ち上げる能力を1つのモーターで賄うことが可能な機構が制作されたため、より簡単にできることをわざわざ複雑にする必要はないとの結論に至り、結果的に図3のような機構を採用することになった。 この機構の原型は私の制作したものである。が、少々大きすぎ、重すぎたため後にも述べているがロボットの異常な動作の原因になったと考えられ、suiden氏による軽量化を経て図3のようなすっきりとした形状になった。ちなみに、改造前の私のオリジナルの機構は図4に示しておく。&br;
 原理を説明すると図5のように、はさむ機構がまず稼働し、掴んだ瞬間にこれまで稼働していた挟む機構の回転が停止し、代わりにこの機構全体の根本にある、モーターと直結した部分が動き(今までは、挟む機構に動力を伝えていたが、それが稼働しなくなることによりこの機構が動き出す)、持ち上げることができるようになるというわけである。言葉で説明するよりも実際に見た方が早いと思われるので図5も合わせて参照されたい。



 



そんなこんなでできたのがこのロボット(図6)である。(実は、先にも述べた通り1回ロボットの機体も大幅に改修しているのだが、一応回収前の機体も図7に示しておく。機体の驚きのダイエットに注目して欲しい。)


*プログラムの制作 [#lc114c90]

**課題2をクリアするために必要なプログラムを組む [#q65542e7]




ロボットの機体ができたので、プログラムを組む。先ほど盛り込んだ機能











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