†マインドストームを使った似顔絵を描くロボットの作成。似顔絵はA4用紙に収まるようにする。以下が実際に描いた似顔絵である。我々の班はペン先がx軸y軸の二つの自由度で動くことにより似顔絵を描くロボットを制作した。動力源はモーターなので回転運動を上下運動に変換する必要がある。この機構を二つ作りそれぞれx軸y軸としてペン先を動かす。ペン先を紙から離したり付けたりするためにペンのついている棒を押さえつけたり離したりする機構を3つ目のモーターを使い作った。†gtというサブルーチンを次のように定義する。Wait(400);}これは可動範囲を100等分してx軸y軸を決め、移動したい分の値を入力して、それをモーターの回転角度に変換して回転させるというサブルーチンである。RotateMotorでは角度が入力された分に達するまで次の動作が実行されない。そのためzという引数を入れて細かく等分して、x軸y軸をそれぞれ交互に少しづつrepeatで繰り返し動かし、なめらかな斜めの線や曲線描く。correctionは補正のための値である。gtはの入力値は移動分だったので動作前の位置情報log_x,log_yを使って入力する値を直接座標の値にした関数gfを定義する。gt(x-log_x,y-log_y,z);log_x=x;log_y=y;ペン先を上下させる関数pu,pdを定義する。定義された関数などを使うことでペン先を以下のプログラムで思うように動かす。以下が実際に使ったプログラム全体である。図を描くロボットは状況を判断させて動かすロボットと違い一定の動作をただ実行するロボットである。それゆえ、今回行ったように関数などを事前に決めておいてあとはペン先を思い通りに動かすように値だけを変えるようにするのが楽であることがわかった。x-y直交座標にすることでx軸y軸に平行な線を描く分には簡単である。曲線などは上下運動をx,yそれぞれ異なる時間の媒介関数に従って動かさなければならないので少し複雑になってしまう。モーターは入力の通りに正確に動いてくれないので微妙な調節が必要であった。ペン先の高さについても近すぎると摩擦が大きく動きにくくなり、遠すぎれば描かれないので微妙な調節が大変であった。†x-y直交座標だと曲線、特に円を描くのが難しいので円をたくさん使うような図を描く場合はペンを固定してタイヤを動かして図を描くようなロボットのほうが有利である。今回のプログラムではモーターの一定の角度の回転で動く上下分はいつでも一定としたが、厳密にはモーターの初期位置により同じ動かしたい量でも回転角度は変わってくる。そのことを含めたプログラムを作るべきであった。