2015b/Member/sun16/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2015b/Member]]
*目次 [#x722f2f8]
#contents
*課題内容 [#o0f04a75]
課題:自分の氏名か出身地の7画以上の漢字を書く"書道ロボッ...
・私は出身地である鹿児島の「鹿」という字を選びました。選...
*書道ロボットの説明 [#ea884dd0]
**どのようにして字を書くか。 [#c1e6faa1]
・書道ロボットを制作するにあたって、まず直面した問題が、...
**制作過程 [#mb26eb74]
・目標はあってもなかなかうまくいかないものだと実感しまし...
#ref(./DSC_0183[1].jpg,45%,制作風景)
↑制作風景…制作初期段階。完成にはもう少しかかりそう...
**ロボットの特徴・ギミック [#db4df766]
・紆余曲折ありながらも、完成した書道ロボット。私たちの班...
#ref(./DSC_0209[1].jpg,35%,制作したロボット)
↑書道ロボット全体…結構どっしりとしたロボットになり...
#ref(./DSC_0210[1].jpg,35%,左右運動ギミック)
↑左右運動のギミック…赤い矢印で示しているところにモ...
*プログラム [#g0b3191b]
#define fwd(out,t) OnFwd(out);Wait(t);Off(out);//t秒間前...
#define rev(out,t) OnRev(out);Wait(t);Off(out);//t秒間後...
#define SLOW(m,OUT,t) repeat(t){m(OUT);Wait(1);Off(OUT);};
#define DOWN SetPower(OUT_B,10);fwd(OUT_A,40);OnRev(OUT_...
#define UP SetPower(OUT_B,10);OnRev(OUT_B);Wait(50);Off(...
#define SUP SetPower(OUT_B,10);OnFwd(OUT_C);OnRev(OUT_B)...
void move(int lx, int ly,int time)
{
int i;
int x=lx;
int y=ly;
if(x<0) x*=-1;
if(y<0) y*=-1;
SetPower(OUT_A,x);
SetPower(OUT_C,y);
for(i=0;i<time;i++){
if(lx>0){
OnRev(OUT_A);
}
if(lx<0){
OnFwd(OUT_A);
}
if(ly>0){
OnFwd(OUT_C);
}
if(ly<0){
OnRev(OUT_C);
}
Wait(1);
}
SetPower(OUT_A,10);
SetPower(OUT_C,10);
}
・上記のプログラムが書道ロボットを動かす基盤となるもので...
task main ()
{
UP;
//スタート位置へ
fwd(OUT_A,775);
//1:縦に1本線を書く
DOWN;
move(0,8,25);
Off(OUT_AC);
UP;
//2:横に1本線を書く
move(7,0,150);
Off(OUT_AC);
DOWN;
move(-7,0,290);
Off(OUT_AC);
UP;
//3:下に移動しながらはらう
DOWN;
move(-1,10,100);
UP;
//4:コの字を書く
move(2,-10,95);
Off(OUT_AC);
DOWN;
move(7,0,290);
Off(OUT_AC);
move(0,5,24);
Off(OUT_AC);
move(-7,0,312);
Off(OUT_AC);
UP;
//5:縦二本線を書く(コの字の中間あたりに)
move(4,0,125);
Off(OUT_AC);
DOWN;
move(0,-5,41);
Off(OUT_AC);
UP;
move(3,0,55);
Off(OUT_AC);
DOWN;
move(0,5,44);
Off(OUT_AC);
UP;
//6:左側の匕を書く
move(-5,0,145);
Off(OUT_AC);
move(0,10,19);
Off(OUT_AC);
DOWN;
move(0,10,60);
Off(OUT_AC);
move(10,-1,50);
Off(OUT_AC);
UP;
move(0,-7,4);
Off(OUT_AC);
DOWN;
move(-10,0,87);
Off(OUT_AC);
UP;
//7:右側の匕を書く
move(0,-10,4);
Off(OUT_AC);
move(7,0,152);
Off(OUT_AC);
DOWN;
move(0,10,52);
Off(OUT_AC);
move(10,0,148);
Off(OUT_AC);
UP;
move(-10,0,36);
Off(OUT_AC);
move(0,-10,45);
Off(OUT_AC);
DOWN;
move(-10,0,147);
//後ろに下がって完成
UP;
Off(OUT_ABC);
move(0,10,150);
Off(OUT_AC);
}
・関数を用いたことによりプログラムの容量が大きくなりすぎ...
*結果 [#g3ebfb34]
#ref(./DSC_0048[1].jpg,45%,鹿)
・上の写真が書道ロボットで書いた「鹿」になります。私の中...
*まとめ・感想 [#ia7817b7]
・今回の課題を通してロボット制作の難しさ、プログラムを組...
終了行:
[[2015b/Member]]
*目次 [#x722f2f8]
#contents
*課題内容 [#o0f04a75]
課題:自分の氏名か出身地の7画以上の漢字を書く"書道ロボッ...
・私は出身地である鹿児島の「鹿」という字を選びました。選...
*書道ロボットの説明 [#ea884dd0]
**どのようにして字を書くか。 [#c1e6faa1]
・書道ロボットを制作するにあたって、まず直面した問題が、...
**制作過程 [#mb26eb74]
・目標はあってもなかなかうまくいかないものだと実感しまし...
#ref(./DSC_0183[1].jpg,45%,制作風景)
↑制作風景…制作初期段階。完成にはもう少しかかりそう...
**ロボットの特徴・ギミック [#db4df766]
・紆余曲折ありながらも、完成した書道ロボット。私たちの班...
#ref(./DSC_0209[1].jpg,35%,制作したロボット)
↑書道ロボット全体…結構どっしりとしたロボットになり...
#ref(./DSC_0210[1].jpg,35%,左右運動ギミック)
↑左右運動のギミック…赤い矢印で示しているところにモ...
*プログラム [#g0b3191b]
#define fwd(out,t) OnFwd(out);Wait(t);Off(out);//t秒間前...
#define rev(out,t) OnRev(out);Wait(t);Off(out);//t秒間後...
#define SLOW(m,OUT,t) repeat(t){m(OUT);Wait(1);Off(OUT);};
#define DOWN SetPower(OUT_B,10);fwd(OUT_A,40);OnRev(OUT_...
#define UP SetPower(OUT_B,10);OnRev(OUT_B);Wait(50);Off(...
#define SUP SetPower(OUT_B,10);OnFwd(OUT_C);OnRev(OUT_B)...
void move(int lx, int ly,int time)
{
int i;
int x=lx;
int y=ly;
if(x<0) x*=-1;
if(y<0) y*=-1;
SetPower(OUT_A,x);
SetPower(OUT_C,y);
for(i=0;i<time;i++){
if(lx>0){
OnRev(OUT_A);
}
if(lx<0){
OnFwd(OUT_A);
}
if(ly>0){
OnFwd(OUT_C);
}
if(ly<0){
OnRev(OUT_C);
}
Wait(1);
}
SetPower(OUT_A,10);
SetPower(OUT_C,10);
}
・上記のプログラムが書道ロボットを動かす基盤となるもので...
task main ()
{
UP;
//スタート位置へ
fwd(OUT_A,775);
//1:縦に1本線を書く
DOWN;
move(0,8,25);
Off(OUT_AC);
UP;
//2:横に1本線を書く
move(7,0,150);
Off(OUT_AC);
DOWN;
move(-7,0,290);
Off(OUT_AC);
UP;
//3:下に移動しながらはらう
DOWN;
move(-1,10,100);
UP;
//4:コの字を書く
move(2,-10,95);
Off(OUT_AC);
DOWN;
move(7,0,290);
Off(OUT_AC);
move(0,5,24);
Off(OUT_AC);
move(-7,0,312);
Off(OUT_AC);
UP;
//5:縦二本線を書く(コの字の中間あたりに)
move(4,0,125);
Off(OUT_AC);
DOWN;
move(0,-5,41);
Off(OUT_AC);
UP;
move(3,0,55);
Off(OUT_AC);
DOWN;
move(0,5,44);
Off(OUT_AC);
UP;
//6:左側の匕を書く
move(-5,0,145);
Off(OUT_AC);
move(0,10,19);
Off(OUT_AC);
DOWN;
move(0,10,60);
Off(OUT_AC);
move(10,-1,50);
Off(OUT_AC);
UP;
move(0,-7,4);
Off(OUT_AC);
DOWN;
move(-10,0,87);
Off(OUT_AC);
UP;
//7:右側の匕を書く
move(0,-10,4);
Off(OUT_AC);
move(7,0,152);
Off(OUT_AC);
DOWN;
move(0,10,52);
Off(OUT_AC);
move(10,0,148);
Off(OUT_AC);
UP;
move(-10,0,36);
Off(OUT_AC);
move(0,-10,45);
Off(OUT_AC);
DOWN;
move(-10,0,147);
//後ろに下がって完成
UP;
Off(OUT_ABC);
move(0,10,150);
Off(OUT_AC);
}
・関数を用いたことによりプログラムの容量が大きくなりすぎ...
*結果 [#g3ebfb34]
#ref(./DSC_0048[1].jpg,45%,鹿)
・上の写真が書道ロボットで書いた「鹿」になります。私の中...
*まとめ・感想 [#ia7817b7]
・今回の課題を通してロボット制作の難しさ、プログラムを組...
ページ名: