絵を描くロボットの作成ということで、様々な方法を考え、その中の一つをLEGOを使って組み立てた。今回使った方法は、長いアームを左右に振る動きと、前後の動きで絵を描くものである。これにより、ロボット自体の単純・軽量化を狙うことができた。その反面、アーム部が弱点になってしまったりプログラムが難化したりと欠点も多かった。筆記部の動作は前後移動、アームの回転のみで行われる。極座標系のような動きで、範囲内であれば理論上はどのような線でも描画することができる。(図1)ただし、nxcでは三角関数は使えないので、あらかじめ動作させる座標と対応した値を計算し、プログラムを書く必要がある。式は、理論上では以下のようになる。最初に、どのようなロボットを作るかを考えた。前述の方法で動作させることができるように、いくつのモータが必要か、どの方向に取り付けるべきかを考えた。†まず、ロボットの土台となる台車部を制作した。このロボットは前後方向にのみ動けばいいので、駆動輪二輪と自由輪二輪の計四輪駆動とした。次に、左右に振る方向のモーターを取り付けた。90度回転させたので苦労した上に、それに見合う強度は得られなかった。最後に、アーム部を制作した。紙の端まで届くように長くした。自重で筆記できるように先を若干重くした。顔の形にし、一応の完成を見ることができた。懸念したとおり、アーム部分が脆弱になってしまい、ブレが大きくなってしまった。空中の旋回と筆記中の旋回の誤差が思ったよりも大きくなってしまった。†まず、アームの上げ下げ用のサブルーチンを作成した。同時に行えるようにした。計算が煩雑であり、コードが長くなるので外部プログラムを作成し、生成した。思った以上に難しく、様々な障壁があるものだと思った。第一の障壁はロボット設計で、アームやロボット自信の強度を上げるのには苦労した。第二の障壁はプログラムで、動作するはずだと思って作っても実機では簡単に動いてくれず、何回も手直しをすることになった。最後の障壁は時間だった。何回も手直しをするたびに時間を消費し、作業時間はとてつもない長さになてしまった。直し、無事に動いた時の感動は大きいものだった。直しては改善されず、落胆した分だけ正常に動作した時の喜びは大きかった。今回は初めての課題ということでスケジュールに追われることが多く、作成期間がとても長くなってしまった。これも経験の一つとして覚えておきたい。フラグを使わなくても動作の順序をきちんと指定すれば、もう少しシンプルなプログラムになると思います。あと図1は座標の計算間違い。