2016a/Member

はじめに

■課題:

似顔絵作成ロボット

■詳細:

A4紙上でロボットを走らせることにより似顔絵を描くものである。 なお筆記用具の種類、及び筆記用具のロボットへの取り付け方は自由。

ロボットに関して

■概要:

タイヤ3本を備えた台車上に本体、筆記装置を取り付けたものとなっている。 なお、タイヤ3本中前側2本と筆記装置は本体に対してケーブルで接続し稼働する仕組みである。 筆記装置はモーターにシャーペンを取り付け、モーターを中心点として約30度の間で回転・逆回転する仕組みとした。

Robo1.jpg

■工夫した点:

A4紙上という限られた範囲内で動かさなければならないため、旋回時の半径が短くなるよう筆記装置の取り付け位置をロボットの正面中心付近とした。 但し、筆記装置を正面中心に取り付けることで本体のボタンを押すのが困難となるため、固定箇所は端のみとして柔軟な構造となるようにした。

Robo3.jpg

プログラム

■概要:

課題に取り組むための実質的な作業期間は極力短く済ませるため、顔のベースはグループで共通とした。 その顔のベースへ自身の特徴を追加することでオリジナリティーを出す事とした。

■問題点:

ロボットの機敏さは動作する環境(床の材質)、電池の残量によって大きく違ってくる。 そのため各動作ごとに試験走行を繰り返し、電池がフル状態の時に設計通り動くよう稼働時間を計算しなければならなかった。

■ロボットの動き:

設計した顔は以下の通りである。

.椒織鵑魏,靴晋紕栄誕垉 

■袖喘羶瓦烹械僑暗拈回して輪郭を描く。

4蕕領愕圓ら直進して離れ、B脚中心に150度旋回して帰ってくる。

ご虧名緜眠畛目を描く。

ズ禿抓蕕領愕圓ら直進して離れ、B脚中心に180度旋回して帰ってくる。

Υ虧名緜眠畛口を描く。

О戝仰篁澆靴晋紂■袖喘羶瓦烹苅掬拈回。目元にホクロを描く。

#ref(): Usage:([pagename/]attached-file-name[,parameters, ... ][,title])

Robo4.png

↑当初の設計図

■具体的なプログラム内容:

すべて定義して名称を付けることで組み立て時に視認性を向上させている。

【左旋回360度】 #define TURN_L360 OnFwd(OUT_A,40); Wait(5645); Off(OUT_A)
【左旋回210度】 #define TURN_L225 OnFwd(OUT_A,40); Wait(3528); Off(OUT_A)
【左旋回150度】 #define TURN_L150 OnFwd(OUT_A,50); Wait(2352); Off(OUT_A)
【左旋回180度】 #define TURN_L180 OnFwd(OUT_A,50); Wait(2822); Off(OUT_A)
【左旋回045度】 #define TURN_L045 OnFwd(OUT_A,50); Wait(705); Off(OUT_A)
【0.5秒直進】  #define GO_FWD_05 OnFwd(OUT_A,40); OnFwd(OUT_B,37); Wait(500); Off(OUT_AB)
【1.0秒直進】  #define GO_FWD_1 OnFwd(OUT_A,40); OnFwd(OUT_B,37); Wait(1000); Off(OUT_AB)
【2.0秒直進】  #define GO_FWD_2 OnFwd(OUT_A,40); OnFwd(OUT_B,37); Wait(2000); Off(OUT_AB)
【3.0秒直進】  #define GO_FWD_3 OnFwd(OUT_A,40); OnFwd(OUT_B,37); Wait(3000); Off(OUT_AB)
【4.0秒直進】  #define GO_FWD_4 OnFwd(OUT_A,40); OnFwd(OUT_B,37); Wait(4000); Off(OUT_AB)
【ペン下げ】    #define ARM_DWN OnFwd(OUT_C,40); Wait(200); Off(OUT_C)
【ペン上げ】    #define ARM_UP OnRev(OUT_C,40); Wait(200); Off(OUT_C)
【稼働停止】    #define OFF Off(OUT_AB)

.椒織鵑魏,靴晋紕栄誕垉 

Wait(1000);

■袖喘羶瓦烹械僑暗拈回して輪郭を描く。 

ARM_DWN;   
TURN_L360;    
ARM_UP;

4蕕領愕圓ら直進して離れ、B脚中心に210度旋回して帰ってくる。

GO_FWD_2;
TURN_L210;    
GO_FWD_05;

ご虧名緜眠畛目を描く。

ARM_DWN;
GO_FWD_05;
ARM_UP;   
GO_FWD_05;
ARM_DWN;
GO_FWD_05; 
ARM_UP;

ズ禿抓蕕領愕圓ら直進して離れ、B脚中心に180度旋回して帰ってくる。

GO_FWD_2;
TURN_L180;    
GO_FWD_1;

Υ虧名緜眠畛口を描く。

ARM_DWN;
GO_FWD_05;    
ARM_UP;

О戝仰篁澆靴晋紂■袖喘羶瓦烹苅掬拈回。目元にホクロを描く。

TURN_L045;    
ARM_DWN;
ARM_UP;
OFF;

以上が電池がフルの状態でのプログラムである。 電池交換後3〜4回はこのプログラムで似顔絵が完成するが、それ以降は電池の消耗からか少しずつ動きにズレが生じてきたのが現状である。 モーターの出力を調整することで似顔絵はマシになるが、完璧にするのは至難の業であった。 残念ながら今回は似顔絵を描いた紙が残っていないので省略させていただく。

まとめ

やはり回転に必要な時間、直進するのに必要な時間を求めるために何度も実験するのが大変であった。 また実践的にシャーペンを取り付ければ僅かに摩擦が増し、この摩擦による動作の機敏さの低下が積もって予想通り動かないことも多くあった。 その時々に応じて数値を変えなければならないのが最大の課題であったとも言える。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-07 (木) 21:42:29