#author("2019-12-13T09:40:22+09:00","strand","strand")
#author("2019-12-14T23:56:01+09:00","strand","strand")
[[2019b/Member]]
#contents
*はじめに [#d133b5ae]
~課題は思っていたより難航した。それとほとんど同じ理由で、制作の作業が想像していたものとかなり相違していた。
~相違の一つ目は自分が汎用性のあるロボットを作るとかなり曖昧に考えていた作業が、決められたルートへ動かくような命令を作るような単調な作業ばかりだったからだ。これは目的を達成させるためには最短であるので、自分の思慮が浅かったことを知れた。
~二つ目にロボットが想像通り動いてくれなかったことだ。計算していた角度とまがった角度が異なっていたりと、予想通り動くと思っていた自分としては、ストレスのたまるものだった。しかし、機械がプログラミングから予測される行動と異なる動きをすることを知れてよかったと思う。時間があればクローズドループのようなものを作りたいが時間以前に技術が足りないから難しい。
~二つ目にロボットが想像通り動いてくれなかったことだ。計算していた角度とまがった角度が異なっていたりと、予想通り動くと思っていた自分としては、ストレスのたまるものだった。
~しかし、機械がプログラミングから予測される行動と異なる動きをすることを知れてよかったと思う。
~時間があればクローズドループのようなものを作りたいが時間以前に技術が足りないから難しい。
~そして、次の段落からは作った過程を書く。その次は苦労したり工夫した点を、最後にまとめを書こうと思う。
*作る過程 [#l52c2ee5]
#ref(2019b/Member/strand/Mission1/IMG_20191108_180110992.jpg,60%,ロボット完成写真)
*工夫した点 [#cbb1e640]
完成した作品↓
#ref(2019b/Member/strand/Mission1/IMG_20191108_180110992.jpg,40%,ロボット完成写真)
~まず似顔絵を作る際簡単にするために直線の幾何学的な形にしようとなって、角ばった顔の似顔絵を描きそれに長さや角度を書き込みそれに沿ってプログラミングを書いた。
~最初はbreakを使って両輪を動かそうとしたのだが、直進の後に回転させるのが難しいとわかり最終的にtank_drive.on_for_degrees()を乱用した。

~一旦作ったプログラムの一部を貼ろうと思う。

 from ev3dev2.motor import MoveTank, OUTPUT_B, OUTPUT_C
 from ev3dev2.motor import MediumMotor, OUTPUT_D
 tank_drive = MoveTank(OUTPUT_B,OUTPUT_C)
 motor_center = MediumMotor(OUTPUT_D)

 #!face line
 tank_drive.on_for_degrees(5,5,124.8)
 tank_drive.on_for_degrees(-5,5,87)
 tank_drive.on_for_degrees(5,5,145.6)
 tank_drive.on_for_degrees(-5,5,175)
 tank_drive.on_for_degrees(5,5,145.6)
 tank_drive.on_for_degrees(-5,5,87)
 tank_drive.on_for_degrees(5,5,124.8)
 tank_drive.on_for_degrees(-5,5,87)
 tank_drive.on_for_degrees(5,5,145.6)
 tank_drive.on_for_degrees(-5,5,175)
 tank_drive.on_for_degrees(5,5,145.6)
 tank_drive.on_for_degrees(-5,5,255)
 tank_drive.on_for_degrees(5,5,212)
 motor_center.on_for_degrees(-15,45)

 #!eyes
 tank_drive.on_for_degrees(5,-5,175)
 tank_drive.on_for_degrees(5,5,62.4)
 tank_drive.on_for_degrees(5,-5,175)
 tank_drive.on_for_degrees(5,5,42)
 motor_center.on_for_degrees(15,45)
 tank_drive.on_for_degrees(5,5,42)
 motor_center.on_for_degrees(-15,45)
 tank_drive.on_for_degrees(5,5,42)
 motor_center.on_for_degrees(15,45)
 tank_drive.on_for_degrees(5,5,42)
 motor_center.on_for_degrees(-15,45)
 tank_drive.on_for_degrees(-5,5,175)
 tank_drive.on_for_degrees(5,5,42)
~ .....続く
~とtank_drive.on_for_degrees()を乱用している。
だが、作業がうまくいったわけでない。それは次の段落で言いたい。
*工夫した点と苦労した点 [#cbb1e640]
~まず一番に苦労したのは最初に書いた機械のずれである。
~直角に曲がってほしいところが75度くらいになってしまったり、微調節を多くした。
~その中で機械のずれがやるたびに強弱が出るとわかった。
~そこの影響で最終的に課題を行った際もつまずいてしまった。
~そして工夫したというべきかわからないがペンの固定には少し時間をかけた。
#ref(2019b/Member/strand/Mission1/IMG_20191108_180138770.jpg,70%,ロボット固定部分)
~ここはただ輪ゴムで止めるだけでなく、様々な部品を使ってペンを真ん中にずれないように固定した。
*最後に [#u697145d]
~完成したロボットによる課題の似顔絵↓
#ref(2019b/Member/strand/Mission1/IMG_20191108_180905129.jpg,40%,課題)
~先程申し上げた通り少しずれてしまっている。
~機械のずれはなぜ生まれるか疑問に思ったので次回はそれを考えながら作りたい。
~



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