]追加された行はこの色です。削除された行はこの色です。[#d85c2822]今回は、コース上を走っているマシンを見つけだしマシンめがけて外からブロックを投げるものと、そのマシンの後ろを5秒間追尾して、ブロックを投げるというものの2つである。追われる側はマシンの後ろに光センサをつけ、追う側はその光を感知すればよい。プログラムは追われるためにライントレースするプログラムに加え、光を見つけ出して5秒間光を追尾してブロックを投げるというものと、光を見つけ出して外から打ち出すものの3つのプログラムを作る必要がある。[#n128cb56]車輪を動かすためのモーターが1つしか使えない。光センサ1つでライントレースをしなければならない。[#fc682978]今までのように、タイヤに直接モーターをつけようとすると、モーターが2つ必要になる。ここで、ディファレンシャルギアを使うことによってモーター1つで前進や曲がることができるようになる。後退することはできない。左右にくねくねとさせることによって前進させる。[#i1a2ffc3]#ref(./ディファレンシャルギア.JPG,70%)このようにディファレンシャルギアをつなげた。ディファレンシャルギアはタイヤが必要以上に回転した場合空回りするというもの。#ref(./ストッパー1.JPG,70%)このように左右ともギアにストッパーをかける。することによって、タイヤが後ろ回転しないようにする。これでディファレンシャルギアを作用させる。&ref(./CA3C02961.JPG,50%);上の写真はボヤけて見えにくいと思うが、打ち出す前後を比較したものである。初め、ピッチングマシンのようにタイヤにはさんで打ち出す方法やブロックを持って投げるような方法を考えたが、最終的にモーターにつなげたハンマーのようなものでブロックを打ち出すという方法をとった。&ref(./CA3C02941.JPG,50%);上の写真は装填前後を比較したものである。初め、ブロックはストッパーにより止められているが、モーターを少し始動させてストッパーを外すとブロックが転がって自動的に装填される。//whileの中が正しい場合繰り返す。}黒→白→黒→白というように左右にくねくねさせながらライントレースする。黒を認識するまで左に曲がらせ黒を認識したら0,2秒間右に曲げることを繰り返す。このプログラムでコース上を走らせることはできたが、外枠しか走らすことができなかった。}//終わりマシンが回っている間に光センサで光を感知し、強い光を感知する度に変数light_maxを更新させる。1周した後、light_maxの値は一番強い光の値になっている。その後もう一度light_maxの場所まで移動し、ブロックを強い光めがけて投げつける。//whileの中が正しい場合繰り返す。}10秒の間に最大値(逃げるRCX)を探し、再び見つけたら打ちだす。基本的に上と同じです。[#g175219e]・ディファレンシャルギアがうまく噛み合わなくて、走らせようとしてもギギギっと変な音がしてなかなか走らすことができなかった。噛み合うように外からギアをひっぱって最後はうまく走るようになった。・光センサが2つあれば黒線をまたいで、もし黒線を踏んだら修正するという方法がとれたが、光センサは1つしか使えないし、今回はディファレンシャルギアを使用するので直進もできないのでライントレースする方法に悩まされた。・光を探し出す際に、相手は光センサの小さい光なので探し出すことが困難であることと、相手もくねくねと進んでいるのでとても難しかった。[#b71494bd]今までモーター2つで車を走らせるということが当たり前になっていたが、ディファレンシャルギアを学んでその概念が覆された。モーター1つでちゃんと機能させるには苦労した。最初はディファレンシャルギアの仕組みを理解する必要があったし、制作段階では噛みあわせ等の理由で走らなかったり、プログラムも走行の仕方が今までと全く違ったので難しかった。[#i0666bc4]これまではプログラム重視だったが、今回はロボもある程度考えないといけなかった。プログラムもややこしく今までの集大成のような課題だった。ディファレンシャルギアを使った走行も最初はギアがしっかり噛み合わなかったり、思うように走行しなくて苦労した。書くべきことは書けています。プログラムの方に細かいミスがいくつかあると思います。後から改良したり、他の人でも読みやすいように、まとまりごとの改行やindentを使ってください。1人目の15行目では、=は代入なので、等しいという意味では==です。2人目では、定義の位置に気を付けてください。サブルーチン内で定義すると、それが呼び出されるまで定義されませんし、呼び出されるたびに定義することになります。run内のwhileの制御が怪しい気がします。写真に解説を入れると良いと思います。動作する所に印を付けるだけでも変わります。