2019b/Member/shabuhara/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019b/Member]]
*目次 [#ncc2899f]
#contents
*概要 [#dcb143f9]
課題1にて作成したNXTを用いたお絵かきロボットです。~
相方の似顔絵を書くというものでした。~
*ロボットの説明 [#g48f13f3]
#ref(20191121190441.jpg)
これが今回私達が作ったロボットです。~
二本のアームがひし形みたいになっており、左右をいい感じに...
ペン先を縦横無尽に動かすことができます()~
ペン先を持ち上げる場所は、当初はこのマシンの下につけるつ...
考えなしにアームを作る機構をはしゃいで作っていたらそんな...
上に乗っかているなんかかっこいいやつがほぼ180°回転し、持...
少しこの昇降機でこだわった点が、重心を後ろに乗せることで...
NXTの本体はこの中のどのパーツよりもクッソ重くて、真ん中に...
見た目がごちゃついているところが一押しです。~
#ref(20191121190600.jpg)
アームの先端のペンを括り付けてあるところです。~
ここで拘ったところはアームが合体するところを1点にすること...
最初は適当に固定していましたが、グニャグニャになってしま...
ペンをつけるところは、レゴの板でひっついているためすごい...
地味にかなり便利でした。~
*プログラムの紹介 [#uce4e53d]
#define S 10 //speed
#define A 193 //昇降機の回転幅
task main ()
{
RotateMotor(OUT_A,20,A);
RotateMotor(OUT_B,S,100);
RotateMotor(OUT_A,20,-A);
右の頬から描くために筆を一度持ち上げています。~
今回作ったロボットは複雑なプログラムよりも根性が必要でし...
OnFwd(OUT_B,13);
OnFwd(OUT_C,11);
Wait(1200);
OnFwd(OUT_B,5);
OnFwd(OUT_C,16);
Wait(900);
右側の頬と顎を描くための場所。現在地から下に線を引くため...
2つのRotateMotorを同時に動かす方法がわからなかったので時...
Off(OUT_BC); //毎回Offしないと上手く行かなかった
OnFwd(OUT_B,-18); /*左上に押し上げるためBモーターだけを
Wait(900); */
Off(OUT_BC);
OnFwd(OUT_BC,-10); /* //左の頬を描くために両方を回して上...
Wait(1400); */
Off(OUT_BC);
OnFwd(OUT_B,15); /*
OnFwd(OUT_C,9); 右下へ
Wait(550); */
Off(OUT_BC);
OnFwd(OUT_C,-18); /*
OnFwd(OUT_B,-14); 右上へ
Wait(400); */
Off(OUT_BC);
OnFwd(OUT_B,15); /*
OnFwd(OUT_C,8); 右下へ
Wait(530); */
Off(OUT_BC);
RotateMotor(OUT_C,13,-80); //微調整
Off(OUT_BC);
OnFwd(OUT_B,S); /*
OnFwd(OUT_C,-8); 右上へ長く
Wait(200); */
Off(OUT_BC);
前髪をなんとか表現しようと頑張ったところです。本当は頭の...
うまく円を書くことができず苦肉の表現になっています。
RotateMotor(OUT_A,20,A);
RotateMotor(OUT_BC,S,45);
RotateMotor(OUT_C,20,10);
RotateMotor(OUT_A,20,-A);
右目から描くために一旦筆を浮かせて描き始めまで移動
RotateMotor(OUT_B,S,-16);
RotateMotor(OUT_C,S,15);
RotateMotor(OUT_A,20,A);
描いたら浮かせて今度は左目へ
RotateMotor(OUT_B,S,-20);
RotateMotor(OUT_C,S,20);
RotateMotor(OUT_A,20,-A);
左目の地点に移動
RotateMotor(OUT_B,S,-16);
RotateMotor(OUT_C,S,15);
RotateMotor(OUT_A,20,A);
右から左へ線を描き鼻を描くために浮かせる
RotateMotor(OUT_B,S,16);
RotateMotor(OUT_C,S,-15);
RotateMotor(OUT_B,S,10);
RotateMotor(OUT_C,S,-10);
RotateMotor(OUT_BC,S,10);
RotateMotor(OUT_A,20,-A);
非常に手間取って顔の真ん中、鼻へ
RotateMotor(OUT_BC,S,15);
RotateMotor(OUT_A,20,A);
鼻を描いたら今度は口へ
RotateMotor(OUT_C,15,30);
RotateMotor(OUT_A,20,-A);
RotateMotor(OUT_B,10,14);
RotateMotor(OUT_C,10,-20);
RotateMotor(OUT_C,10,-30);
RotateMotor(OUT_A,20,A);
}
口はかなりブレが大きくこのときははみ出してしまっています。~
*プログウラムをしての感想 [#fdb82ed3]
何という洗練されていないプログラムでしょう。
最初は両方の角度を同時に動かして書いていくつもりだったの...
果たしの力量では全く叶わずついに両方動いてくれることはあ...
仕方なく今の私で唯一同時に動く時間と速さのOnFwdに過労死し...
プログラミングでこだわったことは、try and error です。~
残念だったのは自分の妥協へ向かう心の強さです。~
viewでモーターの回転角を表示できることを知らなかったので...
微調整を繰り返して、と非効率なことをしていました。~まず何...
*完成したもの [#a0e6fa1e]
#ref(20191121203710.jpg)
なんか画像がどうしても縦向きになってくれないので首を左に9...
この様になりました、上手いこと弧を描くことができなかった...
このときの口はかなり下にずれてしまっていますね。~
髪型や細かい特徴を出すことは今の技術ではできませんでした。~
比較対象がないので大きさをごまかせていますが、実際はかな...
これはアームを近くまで引き寄せて絵を書いてしまうと昇降機...
一応は顔にかろうじて見えるものができて私は満足です。
*反省 [#rc28b6e4]
次の課題ではロボット作成の段階から自分のプログラミング技...
よりシンプルなロボットにしようと思いました。~
サブルーチンを用いてmainをスッキリさせるようにしていきた...
今回で唯一良かったところは持ち運びの簡単さです。~
アームもコンパクトに収納でき、本体も平べったいので鞄に楽...
良かった点も次に引き継いでより良い結果になるよう頑張りた...
終了行:
[[2019b/Member]]
*目次 [#ncc2899f]
#contents
*概要 [#dcb143f9]
課題1にて作成したNXTを用いたお絵かきロボットです。~
相方の似顔絵を書くというものでした。~
*ロボットの説明 [#g48f13f3]
#ref(20191121190441.jpg)
これが今回私達が作ったロボットです。~
二本のアームがひし形みたいになっており、左右をいい感じに...
ペン先を縦横無尽に動かすことができます()~
ペン先を持ち上げる場所は、当初はこのマシンの下につけるつ...
考えなしにアームを作る機構をはしゃいで作っていたらそんな...
上に乗っかているなんかかっこいいやつがほぼ180°回転し、持...
少しこの昇降機でこだわった点が、重心を後ろに乗せることで...
NXTの本体はこの中のどのパーツよりもクッソ重くて、真ん中に...
見た目がごちゃついているところが一押しです。~
#ref(20191121190600.jpg)
アームの先端のペンを括り付けてあるところです。~
ここで拘ったところはアームが合体するところを1点にすること...
最初は適当に固定していましたが、グニャグニャになってしま...
ペンをつけるところは、レゴの板でひっついているためすごい...
地味にかなり便利でした。~
*プログラムの紹介 [#uce4e53d]
#define S 10 //speed
#define A 193 //昇降機の回転幅
task main ()
{
RotateMotor(OUT_A,20,A);
RotateMotor(OUT_B,S,100);
RotateMotor(OUT_A,20,-A);
右の頬から描くために筆を一度持ち上げています。~
今回作ったロボットは複雑なプログラムよりも根性が必要でし...
OnFwd(OUT_B,13);
OnFwd(OUT_C,11);
Wait(1200);
OnFwd(OUT_B,5);
OnFwd(OUT_C,16);
Wait(900);
右側の頬と顎を描くための場所。現在地から下に線を引くため...
2つのRotateMotorを同時に動かす方法がわからなかったので時...
Off(OUT_BC); //毎回Offしないと上手く行かなかった
OnFwd(OUT_B,-18); /*左上に押し上げるためBモーターだけを
Wait(900); */
Off(OUT_BC);
OnFwd(OUT_BC,-10); /* //左の頬を描くために両方を回して上...
Wait(1400); */
Off(OUT_BC);
OnFwd(OUT_B,15); /*
OnFwd(OUT_C,9); 右下へ
Wait(550); */
Off(OUT_BC);
OnFwd(OUT_C,-18); /*
OnFwd(OUT_B,-14); 右上へ
Wait(400); */
Off(OUT_BC);
OnFwd(OUT_B,15); /*
OnFwd(OUT_C,8); 右下へ
Wait(530); */
Off(OUT_BC);
RotateMotor(OUT_C,13,-80); //微調整
Off(OUT_BC);
OnFwd(OUT_B,S); /*
OnFwd(OUT_C,-8); 右上へ長く
Wait(200); */
Off(OUT_BC);
前髪をなんとか表現しようと頑張ったところです。本当は頭の...
うまく円を書くことができず苦肉の表現になっています。
RotateMotor(OUT_A,20,A);
RotateMotor(OUT_BC,S,45);
RotateMotor(OUT_C,20,10);
RotateMotor(OUT_A,20,-A);
右目から描くために一旦筆を浮かせて描き始めまで移動
RotateMotor(OUT_B,S,-16);
RotateMotor(OUT_C,S,15);
RotateMotor(OUT_A,20,A);
描いたら浮かせて今度は左目へ
RotateMotor(OUT_B,S,-20);
RotateMotor(OUT_C,S,20);
RotateMotor(OUT_A,20,-A);
左目の地点に移動
RotateMotor(OUT_B,S,-16);
RotateMotor(OUT_C,S,15);
RotateMotor(OUT_A,20,A);
右から左へ線を描き鼻を描くために浮かせる
RotateMotor(OUT_B,S,16);
RotateMotor(OUT_C,S,-15);
RotateMotor(OUT_B,S,10);
RotateMotor(OUT_C,S,-10);
RotateMotor(OUT_BC,S,10);
RotateMotor(OUT_A,20,-A);
非常に手間取って顔の真ん中、鼻へ
RotateMotor(OUT_BC,S,15);
RotateMotor(OUT_A,20,A);
鼻を描いたら今度は口へ
RotateMotor(OUT_C,15,30);
RotateMotor(OUT_A,20,-A);
RotateMotor(OUT_B,10,14);
RotateMotor(OUT_C,10,-20);
RotateMotor(OUT_C,10,-30);
RotateMotor(OUT_A,20,A);
}
口はかなりブレが大きくこのときははみ出してしまっています。~
*プログウラムをしての感想 [#fdb82ed3]
何という洗練されていないプログラムでしょう。
最初は両方の角度を同時に動かして書いていくつもりだったの...
果たしの力量では全く叶わずついに両方動いてくれることはあ...
仕方なく今の私で唯一同時に動く時間と速さのOnFwdに過労死し...
プログラミングでこだわったことは、try and error です。~
残念だったのは自分の妥協へ向かう心の強さです。~
viewでモーターの回転角を表示できることを知らなかったので...
微調整を繰り返して、と非効率なことをしていました。~まず何...
*完成したもの [#a0e6fa1e]
#ref(20191121203710.jpg)
なんか画像がどうしても縦向きになってくれないので首を左に9...
この様になりました、上手いこと弧を描くことができなかった...
このときの口はかなり下にずれてしまっていますね。~
髪型や細かい特徴を出すことは今の技術ではできませんでした。~
比較対象がないので大きさをごまかせていますが、実際はかな...
これはアームを近くまで引き寄せて絵を書いてしまうと昇降機...
一応は顔にかろうじて見えるものができて私は満足です。
*反省 [#rc28b6e4]
次の課題ではロボット作成の段階から自分のプログラミング技...
よりシンプルなロボットにしようと思いました。~
サブルーチンを用いてmainをスッキリさせるようにしていきた...
今回で唯一良かったところは持ち運びの簡単さです。~
アームもコンパクトに収納でき、本体も平べったいので鞄に楽...
良かった点も次に引き継いでより良い結果になるよう頑張りた...
ページ名: