2019a/Member/Hajime/Mission1
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2019a/Member]]
目次
#contents
* 課題について [#a9f11feb]
今回の課題は文字を書くロボットを作り自分でプログラミング...
文字の画数は12文字以上であること
私は今回書く字は「生田」という字を書きました。
書き順は下の写真のようにしました。
#ref(./ikutar.jpg,10%,)
* ロボットについて [#k6d6efd3]
全体画像
#ref(./ro.jpg,10%,)
私たちのロボットはプリンターのようなロボットを作ろうと考...
しかしプリンターのようにロボットの腕だけが動く機構を思い...
まず縦方向については歯車を一番小さいものからだんだん大き...
しかし、普通に組み合わせることができなかったので、穴の開...
#ref(./b.jpg,10%,歯車の組み合わせ)
これのモーターを使わないものを作り、2つを同時に動かすため...
また棒の長さが足りないので、延長して使う。
#ref(./c.jpg,10%,)
これで縦方向の機構は完成
次に横方向の機構を作る。
まず横に動かすためにラックを使用する。
ラックの上をモーターで動かす機構を作る
#ref(./d.jpg,10%,)
しかしこれだけだと安定性がないため黄色のホースを通すこと...
また、移動性能を高めるためにタイヤをつけた。
#ref(./e.jpg,10%,)
ペンの機構について
ペンの上げ下げはモーターを使い歯車を縦に動かすようにする。
そしてアームを長くし、RIS本体を超えるようにした。
#ref(./f.jpg,10%,)
ペンは先の横方向のモーターの上にのせて動かす。
#ref(./g2.jpg,10%,)
* プログラミングについて [#o29ec489]
今回、普通にプログラミングすると大きくなりすぎてしまうので
#define
を多く使い簡略化を目指した。
ペンの上げ下げのためのプログラミングです。
#define pendown SetPower(OUT_C,1);OnRev(OUT_C);Wait(10)...
#define penup SetPower(OUT_C,1); OnFwd(OUT_C);Wait(90);F...
このプログラムは生の最初のはらいのプログラムです。(一回...
#define nanamel OnRev(OUT_B);OnRev(OUT_A);Wait(20);Float...
このプログラムは動きごとに止まっておけば文字があまり汚く...
#define time Wait(50);
これは前後に動くためのプログラムです。(他の所は書く必要...
#define mae OnFwd(OUT_A);
#define back OnRev(OUT_A);
これは全部のモーターを止めるためのプログラムです。
#define stopA Off(OUT_A);
#define stopB Off(OUT_B);
#define stopC Off(OUT_C);
書き順
#ref(./ikutar.jpg,10%,)
まず最初はペンを紙に置いた状態からはじめました。
なのでペンを下げる工程をはぶくことができました。
task main()
{
nanamel;
time;
ここまでが
ここまでが?までです。
ここからのプログラムは?に移るためのものです。
penup;
time;
OnFwd(OUT_B);
Wait(10);
Off(OUT_B);
mae;
Wait(10);
Off(OUT_A);
time;
ここから?の直線を書くだけです。
pendown;
time;
pendown;
time;
OnFwd(OUT_B);
Wait(30);
Off(OUT_B);
time;
また?をするためにロボット自体を動かすプログラムです。
penup;
time;
back;
Wait(35);
stopA;
time;
penup;
time;
back;
Wait(35);
stopA;
time;
ここから?です
pendown;
time;
OnRev(OUT_B);
Wait(30);
stopB;
time;
ここから?をするために動かす動き。
penup;
time;
back;
Wait(35);
stopA;
time;
pendown;
time;
ここから?です。
OnFwd(OUT_B);
Wait(30);
stopB;
time;
このプログラムは最後の?の直線を書くために横にずらしまっす...
OnRev(OUT_B);
Wait(15);
stopB;
time;
ここから?です。
mae;
Wait(60);
stopA;
time;
penup;
ここまでが「生」です。
back;
Wait(150);
stopA;
ここから「田」です。
「田」は周りの6〜9を一回で書くようにプログラムしました。
mae;
Wait(60);
stopA;
OnFwd(OUT_B);
Wait(50);
stopB;
back;
Wait(60);
stopA;
OnRev(OUT_B);
Wait(50);
stopB;
ここまでが6〜9を書くプログラムです。
OnFwd(OUT_B);
Wait(30);
stopB;
time;
これが10を書くためのプログラムです。
ここからもペンの上げ下げをなしで書きました。
mae;
Wait(50);
stopA;
penup;
time;
back;
Wait(25);
stopA;
back;
OnRev(OUT_B);
Wait(35);
stopA;
time;
stopB;
pendown;
time;
OnFwd(OUT_B);
Wait(45);
stopB;
}
* 最後に [#cd3ff487]
#ref(./ikutaro.jpg,10%,)
田があまりうまく書けなかったかなと思った。
問題点として以下がある。
・RIS本体の置いてある場所が不安定
・横に動くときにペンがぶれる、また横に動かない時がある。
・ペンの下げるときに勢いよく落ちてしまい字がぶれる。
・ペンを上げるときに勢いよく上げすぎて、ペンが下がってし...
・全体的に強度が低く、何度も文字を書いていると壊れてくる。
・ペンの上げ下げの歯車がたまにかみ合わなくなる・
解決策としては、
・RIS本体の固定する場所を作る
・ペンの固定をより強くする。
・ペンの上げ下げの機構をよりうまくつくる。
・もう少し簡略化して、つなぎ目をより強くする。
・上げ下げの機構を歯車をきつく合わせる。
終了行:
[[2019a/Member]]
目次
#contents
* 課題について [#a9f11feb]
今回の課題は文字を書くロボットを作り自分でプログラミング...
文字の画数は12文字以上であること
私は今回書く字は「生田」という字を書きました。
書き順は下の写真のようにしました。
#ref(./ikutar.jpg,10%,)
* ロボットについて [#k6d6efd3]
全体画像
#ref(./ro.jpg,10%,)
私たちのロボットはプリンターのようなロボットを作ろうと考...
しかしプリンターのようにロボットの腕だけが動く機構を思い...
まず縦方向については歯車を一番小さいものからだんだん大き...
しかし、普通に組み合わせることができなかったので、穴の開...
#ref(./b.jpg,10%,歯車の組み合わせ)
これのモーターを使わないものを作り、2つを同時に動かすため...
また棒の長さが足りないので、延長して使う。
#ref(./c.jpg,10%,)
これで縦方向の機構は完成
次に横方向の機構を作る。
まず横に動かすためにラックを使用する。
ラックの上をモーターで動かす機構を作る
#ref(./d.jpg,10%,)
しかしこれだけだと安定性がないため黄色のホースを通すこと...
また、移動性能を高めるためにタイヤをつけた。
#ref(./e.jpg,10%,)
ペンの機構について
ペンの上げ下げはモーターを使い歯車を縦に動かすようにする。
そしてアームを長くし、RIS本体を超えるようにした。
#ref(./f.jpg,10%,)
ペンは先の横方向のモーターの上にのせて動かす。
#ref(./g2.jpg,10%,)
* プログラミングについて [#o29ec489]
今回、普通にプログラミングすると大きくなりすぎてしまうので
#define
を多く使い簡略化を目指した。
ペンの上げ下げのためのプログラミングです。
#define pendown SetPower(OUT_C,1);OnRev(OUT_C);Wait(10)...
#define penup SetPower(OUT_C,1); OnFwd(OUT_C);Wait(90);F...
このプログラムは生の最初のはらいのプログラムです。(一回...
#define nanamel OnRev(OUT_B);OnRev(OUT_A);Wait(20);Float...
このプログラムは動きごとに止まっておけば文字があまり汚く...
#define time Wait(50);
これは前後に動くためのプログラムです。(他の所は書く必要...
#define mae OnFwd(OUT_A);
#define back OnRev(OUT_A);
これは全部のモーターを止めるためのプログラムです。
#define stopA Off(OUT_A);
#define stopB Off(OUT_B);
#define stopC Off(OUT_C);
書き順
#ref(./ikutar.jpg,10%,)
まず最初はペンを紙に置いた状態からはじめました。
なのでペンを下げる工程をはぶくことができました。
task main()
{
nanamel;
time;
ここまでが
ここまでが?までです。
ここからのプログラムは?に移るためのものです。
penup;
time;
OnFwd(OUT_B);
Wait(10);
Off(OUT_B);
mae;
Wait(10);
Off(OUT_A);
time;
ここから?の直線を書くだけです。
pendown;
time;
pendown;
time;
OnFwd(OUT_B);
Wait(30);
Off(OUT_B);
time;
また?をするためにロボット自体を動かすプログラムです。
penup;
time;
back;
Wait(35);
stopA;
time;
penup;
time;
back;
Wait(35);
stopA;
time;
ここから?です
pendown;
time;
OnRev(OUT_B);
Wait(30);
stopB;
time;
ここから?をするために動かす動き。
penup;
time;
back;
Wait(35);
stopA;
time;
pendown;
time;
ここから?です。
OnFwd(OUT_B);
Wait(30);
stopB;
time;
このプログラムは最後の?の直線を書くために横にずらしまっす...
OnRev(OUT_B);
Wait(15);
stopB;
time;
ここから?です。
mae;
Wait(60);
stopA;
time;
penup;
ここまでが「生」です。
back;
Wait(150);
stopA;
ここから「田」です。
「田」は周りの6〜9を一回で書くようにプログラムしました。
mae;
Wait(60);
stopA;
OnFwd(OUT_B);
Wait(50);
stopB;
back;
Wait(60);
stopA;
OnRev(OUT_B);
Wait(50);
stopB;
ここまでが6〜9を書くプログラムです。
OnFwd(OUT_B);
Wait(30);
stopB;
time;
これが10を書くためのプログラムです。
ここからもペンの上げ下げをなしで書きました。
mae;
Wait(50);
stopA;
penup;
time;
back;
Wait(25);
stopA;
back;
OnRev(OUT_B);
Wait(35);
stopA;
time;
stopB;
pendown;
time;
OnFwd(OUT_B);
Wait(45);
stopB;
}
* 最後に [#cd3ff487]
#ref(./ikutaro.jpg,10%,)
田があまりうまく書けなかったかなと思った。
問題点として以下がある。
・RIS本体の置いてある場所が不安定
・横に動くときにペンがぶれる、また横に動かない時がある。
・ペンの下げるときに勢いよく落ちてしまい字がぶれる。
・ペンを上げるときに勢いよく上げすぎて、ペンが下がってし...
・全体的に強度が低く、何度も文字を書いていると壊れてくる。
・ペンの上げ下げの歯車がたまにかみ合わなくなる・
解決策としては、
・RIS本体の固定する場所を作る
・ペンの固定をより強くする。
・ペンの上げ下げの機構をよりうまくつくる。
・もう少し簡略化して、つなぎ目をより強くする。
・上げ下げの機構を歯車をきつく合わせる。
ページ名: