2016a/Member

目次

課題

課題はクラスメイトの似顔絵を描くことである。

ロボットの概形

ev3全体の概形
ev3全体の概形

ペンの下ろし方は、歯車を回転することでペン先を設置させる方法である。

ペンを持ち上げるときは特に気をつけた。

rotatepenの速度を速くしすぎると、回転しすぎるので押させる必要があるが、

遅すぎるとモーターの駆動力がモーターを持ち上げるのに必要な力に達し得ないので、

速すぎず、遅すぎずの速さに設定した。

描画の手順

まずは前置き部分と定義である  

!/usr/bin/python
import ev3dev.ev3 as ev3
import time
left = ev3.LargeMotor('outD')
right = ev3.LargeMotor('outA')
arm = ev3.MediumMotor('outC')
def forward(t,dl,dr):
       left.run_forever(duty_cycle_sp=dl)
       right.run_forever(duty_cycle_sp=dr)
       time.sleep(t/1000)
       left.stop()
       right.stop()
def rotatepen(t,da):
       arm.run_forever(duty_cycle_sp=da)
       time.sleep(t/1000)
       arm.stop()

顔のラインを描く

forward(1000,29,20)
forward(1000,38,10)
forward(2500,12,1)''

髪を書く

forward(4100,30,-15)
forward(3100,-30,15)
forward(2400,38,-18)
forward(2400,-40,24)
forward(2400,45,-20)
forward(2600,-38,20)
forward(2400,47,-23)
forward(2600,-35,25)
forward(2600,39,-24)
forward(2600,-32,24)
forward(2100,40,-21)
forward(1600,-32,24)
forward(1400,45,-23)

一度ペン先をあげて、回転する.。 できるだけ車体を用紙の横と平行にする

time.sleep(1)
rotatepen(1000,40)
forward(2100,45,-23)
forward(2230,27,2)
forward(1600,-50,-50)

 

目を描く 

forward(1000,20,20)
time.sleep(1)
rotatepen(1100,-32)
time.sleep(1)
rotatepen(1100,40)
forward(1000,20,20)
time.sleep(1)
forward(1000,35,35)
rotatepen(1100,-32)
time.sleep(1)
rotatepen(1100,40)

先ほど通った奇跡上を後退してたどり、 楕円常時移動して途中でペンを下ろして口をかく

forward(3900,-30,-30)
forward(1000,25,33)
time.sleep(1)
rotatepen(1100,-29)
forward(1000,20,28)

完成!

547 KB,実際描いた画である

感想

ペンの設置が不規則であるため、少し車体の動きを変えてしまう イレギュラーを発生させてしまうため、同じプログラミングでも 同じ動きができなかった。 プログラミング制作時間は10時間を要した。 そのため、ロボットプログラミングに少し慣れてきた。


添付ファイル: filepenrotate.gif 242件 [詳細] filek.PNG 244件 [詳細] file掛けた画.png 230件 [詳細] fileghjk.PNG 119件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-02 (火) 22:53:07