目次
#contents
*ロボット [#l703b418]
文字を書くロボット
最初に考えたのはコンパスのようにまわりながら書くものであった。
プリンター型のものを考えた。

ev3を乗せて車のように動かすとなるとどうしてもその重さや乗せる場所を考慮せねばならずなかなか自由に作ることは困難であると考えたからである。さらにアームとベルトとタイヤを

文字を書く上でベルトコンベアの高低差が大きな問題として立ちはだかった。

↑この部分だが車輪が真ん中に置かれていることでベルトコンベアがたるんでしまいペンの高さが差が変わってしまった。

そこでなるべくその差をなくせるように高さを可動式にした。こうすれば万が一動かすときに高さが合わなくてもすぐに修正が可能である。

*プログラミングの説明 [#o3b416bd]
**メインプログラム [#oead4d38]
 task_main()
 lift = MediumMotor('outA')
 belt = LargeMotor('outB')
 tire = LargeMotor('outC')
それぞれの出力の定義

 def motor_init():
        for m in [lift,belt,tire]:
                m.reset()
                m.speed_sp=100
                m.stop_action='hold'
 def liftup():
        lift.run_to_rel_pos(position_sp=-110)
        sleep(2)
 def liftdown():
        lift.run_to_rel_pos(position_sp=110)
        sleep(2)
 def beltmove(t):
        belt.run_to_rel_pos(position_sp=t)
 def tiremove(t):
        tire.run_to_rel_pos(position_sp=-t*0.9)
ここでタイヤ、ベルト、アームの動かしかたが定義できる。
 task_main()
    def kawa(t):
        tiremove(t*2)
        sleep(2)
        liftdown()
        tiremove(t*5)
        sleep(2)
        tiremove(t*3)
        beltmove(t*-2)
        sleep(2)
        liftup()
	tiremove(t*-7)
        sleep(3)
        beltmove(t*5)
        sleep(3)
        liftdown()
        tiremove(t*4)
        sleep(2)
        liftup()
        tiremove(t*-5)
        sleep(3)
        beltmove(t*3)
        sleep(2)
        liftdown()
	tiremove(t*8)
        sleep(3)
        liftup()
「川」の部分を書くプログラミング
 
    def higashi_zenhan(t):
        beltmove(t*-7)
        sleep(3)
        tiremove(t*2)
        sleep(3)
        liftdown()
        beltmove(t*8)
        sleep(3)
        liftup()
	tiremove(t*2)
        sleep(3)
        beltmove(-t)
        sleep(3)
        liftdown()
        tiremove(t*4)
        sleep(3)
        beltmove(t*-6)
        sleep(3)
        tiremove(t*-4)
        sleep(3)
        beltmove(t*6)
        sleep(3)
	liftup()
        tiremove(t*2)
        sleep(3)
        liftdown()
        beltmove(t*-6)
        sleep(3)
 
   def higashi_kouhan(t):
        liftup()
        tiremove(t*-5)
        sleep(3)
        beltmove(t*3)
        sleep(3)
        liftdown()
	tiremove(t*11)
        sleep(4)
        liftup()
        tiremove(t*-4)
        sleep(3)
        liftdown()
        tiremove(t*4)
        beltmove(t*4)
        sleep(2)
        liftup()
        tiremove(t*-4)
        sleep(2)
        beltmove(t*-4)
        liftdown()
        tiremove(t*4)
        beltmove(t*-4)
        sleep(3)
        liftup()

*書けた文字 [#v66428dc]
*考察 [#aad30710]
文字を横方向に書くのにベルトコンベアを縦方向に書くのにタイヤをそれぞれ利用したことでプログラミングでの指定が座標できかなり手間がかからずプログラミングができた。確かに縦と横の移動には強かったが、斜めに描くところで線がひょろっとしてしまい、まっすぐに描くことができなかったので、もっとペンをつかむアームの部分を安定させることができれば複雑な字も書けたかもしれない。今回は「川東」と比較的狭くて知名度のないところを書いてしまったので、へんな空気になりかねなかった。もっとメジャーな「松本」や「長野」を書けば反応が良くなったかなと考えた。

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