[[2018a/Member]]
空き缶ロボット
*課題 [#m169de99]
空き缶を分別して所定の場所に運ぶ.
#ref(./robotics 1.png,70%,全体画像)
**フィールドの説明 [#k246b3f8]
フィールドは課題2で使用した紙を使用する.

・2種類の空き缶(Aタイプ,Bタイプ)をそれぞれ3個づつ用意し,円XにABA,円YにBABとなるように3段づつ積み上げる.

・空き缶には色をつけたり文字や記号を書いてもよい.

・あるいは周囲に紙を張ってもよい.
*ルール [#aae02ea9]
**基本ルール [#qfb21725]
・競技時間は審判が続行不能と判断するまで、あるいはリタイアするまで.

・図のA地点または(および)A'地点からスタートする.ただし接地している部分はそれぞれの領域内に収まるものとする(線上はOK).上空部分は領域からはみ出してもよい.

・Aタイプの空き缶を円Y内に,Bタイプの空き缶を円X内に運ぶ.

・開始の合図から5秒以内にスタートボタンを押す作業を完了すること.

・競技が終了するまで,ロボットに触ったり人間が遠隔で操作してはならない.

・途中でうまく動かなくなった場合,1回限り再スタートすることができる(再スタートの際に別プログラムで起動してよい).
**基本得点の計算方法 [#s1c379f5]
・運んだ空き缶の数×3点.・

・空き缶を積み重ねて置くことができた場合,2段目の空き缶一つにつき2点加算,3段目の空き缶一つにつき3点加算する.

・円内からはみ出している場合,半分以下なら1点減点,半分以上なら2点減点.

・間違った円内に空き缶を置いた場合は,1個につき1点減点.

・間違った円内の2段目に空き缶を置いた場合は1個につき3点減点,その上にある空き缶は0点.
**技術点の計算方法 [#t7afc87a]
以下の動作の精度・スピード・確実性などを含めた技術的な工夫や芸術性について他の全てのチーム(5チーム)が20点満点で採点し,その平均点を求める.

得点の目安:

・空き缶を探し取りにいくまでの動作 (3点)

・空き缶を掴む動作 (3点)

・空き缶を運ぶ動作 (2点)

・空き缶を置く動作 (2点)

・空き缶を積む動作 (3点)

・2台のRCXまたはNXT,EV3の連携の良さ(2点)

・自立型のロボットとしての形や動作の美しさ,斬新さ(2点)

・その他 (3点)
*ロボットについて [#pdec2082]
#ref(./機体3.jpg,70%,ロボット画像1)
アームで前方に重量が偏るので後方の重量を増やした所機体全体の重量が大きくなり,移動する際に機体全体のぐらつきが非常に激しくなった為,我々はこの機体に「ハウルの動く城」と命名した.また,パーツの構造上,RIS本体が後ろに傾き,移動の際に機体から外れてしまう可能性があった為,課題2の時と同様に,「ウォールマリア」と名付けた壁を本体の後ろに設置してこれを解決した.しかし,ウォールマリアの製作が機体が製作された後だったので使用できるパーツが少なかった.そこで我々は,壁の密度を下げて使用するパーツを減らす「零戦作戦」を決行した.
#ref(./機体1.jpg,70%,ロボット画像2)
一番上のアームをトップアーム,真ん中をミドルアーム,一番下をボトンアームとする.
**アーム(ロボコンver.) [#g12712df]
写真ではアームが3つ付いているが,ロボコンではミドルアームを取り除いて使用した.原因は,時間が足りなかった為にミドルアーム用のプログラムが組めなかったからである.トップアームは上下に移動できるよう製作してあるが,上に移動しないと丁度一番上と真ん中の缶の接触部分に位置すことが分かったので,トップアームとボトンアームを同時に閉じて一番上と真ん中の缶を弾き,一番下の缶だけを確実にもう片方の円に入れるようにした.
**アーム(初期考案ver.) [#e13d4cf4]
先述した通り,トップアームは上下移動できるため,一番上まで移動した後にトップアームとボトンアームで缶を挟み,ミドルアームで真ん中の缶を弾いてもう片方の円に入れてもう片方の缶も同じように行う.
**ギア [#oc1e870a]
我々は今回クワガタ機構アーム2つにクラッチギヤ(白いギヤ)を採用した.これは過去の先輩方のレポートを参考にしているときに知ったのだが,このクラッチギアには”トルクが大きくかかると空転する機能がある。”ということだ.これによってモーターの回転を止めてしまうと掴んでいる空き缶が落下してしまう、だからと言ってモーターを稼働させ続けて大きく負荷を掛けるのも良くないという2つ問題点を解決することができた. 以下クラッチギアを使用した箇所.
#ref(./機体4.jpg,70%,ロボット画像3)
#ref(./機体5.jpg,70%,ロボット画像4)
*プログラムについて [#a568c395]
先述した通り,プログラムに時間がかけられなかった為ライントレースや本体間での通信は使用しなかった.以下ロボコン時に使用したプログラムである.
 #define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);
 #define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);
 #define rightsenkai(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_AC);
 #define leftsenkai(t) OnReV(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_AC);
 task main()
 {
  Wait(180);
  OnFwd(OUT_AB);
  Wait(10);
  Off(OUT_A);
  Wait(570);
  Off(OUT_B);
  OnRev(OUT_AB);
  Wait(100);
  Off(OUT_AB);
 }
アームの動作に関するプログラム.最初にWaitが書かれている理由は,Aから缶の位置まで1.8秒かかるからである.
 #define go(t) OnFwd(OUT_AC);Wait(t);Off(OUT_AC);
 #define back(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);
 #define rightsenkai(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_AC);
 #define leftsenkai(t) OnReV(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_AC);
 #define rego(t) OnRev(OUT_AC);Wait(t);Off(OUT_AC);
 task main()
 { 
  go(180);
  Wait(100);
  rightsenkai(140);
  go(400);
  Wait(100);
  rego(200);
 }
フィールド上の移動に関するプログラム.
*まとめ [#f3ab4fde]
**結果 [#wfaaff5d]
本番までにプログラムが完了しなかったため,1個の缶だけを着実にもう片方の円の中に入れるようプログラムを変更し,本番では無事1個の缶だけはもう片方の円まで運ぶことに成功した.
**感想 [#id0d4f49]
今回の課題は期末テスト直後に本番だったために時間が少なかった事に加え,前回の課題2以上にトラブル(常時メンバー不足,直前でもう一人欠席等)が発生したため,機体本体,プログラム共にあまりクオリティの高いものではなかった.しかし,残りの私を含めた2人のみで機体の仕上げとプログラミングをそれなりのクオリティでも完成することができたのは大きな成果である.機会があれば,初期に考案された方法でもテストを行ってみたい.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS