2017b/Member/kazuki/Mission3
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[2017b/Member]]
目次
#contents
*課題3 [#d88d049e]
#ref(2017b/Member/kazuki/Mission3/2017_3.png,60%,課題3)
ピンポン玉と紙コップを別々に回収して所定の場所に運ぶ。
*ロボットの説明 [#zdf766b1]
***方針 [#x6f25a5b]
今回の課題で重要な点はコップをつかみ、上げるアーム部分の...
私たちの班では最初、機体がコンパクトになるようにコップを...
垂直に上げることで機体は大幅に縦に大きくなってしまうがモ...
**試作機1 [#g54e4c4c]
上で述べているように機体は縦に大きくなっている。
この試作機では機体の安定性を求め、4輪にしてある。
***問題点 [#n03dd1fc]
#ref(2017b/Member/kazuki/Mission3/IMG_4734.jpg,100%,試作...
-1について~
モータの位置が高くなってしまい、機体が不安定になってしま...
また、高さが足りずコップをコップの高さまで持ち上げられな...
-2について~
ギアを回し続けないとコップをホールドすることができず、か...
-3について
#ref(2017b/Member/kazuki/Mission3/IMG_4699.jpg,80%,試作機...
この機体の工夫ポイントとして図のように後輪二輪を自由に稼...
しかし、実際にライントレースをさせた時に旋回できないとい...
**試作機2 [#made8402]
機体はさらに縦に伸びてしまったが、いくつかの改善を加えた。
***改善点 [#oc299bc3]
#ref(2017b/Member/kazuki/Mission3/IMG_4735.jpg,100%,試作...
-1について~
コップを重ねるときに慎重な動きが必要になるだろうと考えた...
また、試作機1よりも高い位置までアームを上げれるようにし...
-2について
#ref(2017b/Member/kazuki/Mission3/IMG_4702.jpg,100%,試作...
図のようにモータの位置を試作機1よりも下に持ってくること...
-3について~
後輪のゴムを外すことで旋回時に後輪が抵抗にならないように...
***問題点 [#g79b32a4]
#ref(2017b/Member/kazuki/Mission3/IMG_4736.jpg,100%,試作...
-1について~
&ref(2017b/Member/kazuki/Mission3/IMG_4740.jpg,60%,試作機...
&ref(2017b/Member/kazuki/Mission3/IMG_4710.jpg,60%,試作機...
試作機1、2とも機体の安定性を考え、2つのris本体同士が上...
上の右図のようにrisを配置し、土台から作り直した。
-2について~
試作機1の問題を解決すべく、クラッチギアを採用したのだが...
**完成機 [#z7692757]
#ref(2017b/Member/kazuki/Mission3/IMG_4712.jpg,100%,完成機)
本番ではいくつかの改善点をさらに加えたが大体の形は図のよ...
***改善点 [#o9b11efa]
#ref(2017b/Member/kazuki/Mission3/IMG_4737.jpg,100%,完成...
-1について~
risの配置を通信できるような配置に変更した。
-2について
#ref(2017b/Member/kazuki/Mission3/IMG_4709.jpg,100%,完成...
図のような構造にすることによりクラッチギアが機能するよう...
クラッチギアとは一定の力以下の時は正常に回転するが、それ...
これを使うことによってモータを回転させ続けコップをホール...
***細部の説明 [#td2e6b90]
-センサーについて
#ref(2017b/Member/kazuki/Mission3/IMG_4739.jpg,90%,センサ...
図のようにライントレースをするための下向きのセンサーとコ...
-コップを確実にセンサー前に持ってくる~
コップがコップを感知するセンサーの前にあるか、右斜め前に...
#ref(2017b/Member/kazuki/Mission3/IMG_4723.jpg,90%,細部の...
そこで上図のような棒を取り付けた。
#ref(2017b/Member/kazuki/Mission3/IMG_4741.jpg,80%,細部の...
この図のように左の棒にコップを当てればコップが確実にセン...
*プログラミング [#z1867e76]
課題3の図の左上のコップを1つ目のコップ、真ん中上のコップ...
**方針 [#h4b7a46d]
A地点からスタートし、コップを重ねながらピンポン玉を置き、...
また、今回の課題では地道に秒数を数えていけばライントレー...
私たちの班では作業したい場所の近くでいかに機体に機体自体...
以下、タイヤなどがついている方を土台側、アームを動作させ...
**定義(土台側) [#p1f636b8]
土台側のrisにはタイヤ二輪とコップを感知するためのセンサー...
-コップを感知するセンサーの閾値、通信のための定義
#define SHIKIICHI 870 //コップを感知するセンサーが用い...
#define CYOI 40 //通信のための定義
CYOI(40) という数字を通信しあい、動作の開始、完了などを...
-前進や後退などの定義
#define mae(w) ;OnRev(OUT_AC);Wait(w);Off(OUT_AC); //...
#define usiro(g) OnFwd(OUT_AC);Wait(g);Off(OUT_AC); //...
#define migisennkai(s) set_power_L;OnFwd(OUT_A);OnRev(OU...
#define hidarisennkai(n) set_power_L;OnFwd(OUT_C);OnRev(...
-ライントレース用の定義
#define shikiichi 48
#define zennsinn OnRev(OUT_AC); ...
#define turn_left1 set_power_L;OnFwd(OUT_A);OnRev(OUT_C)...
#define turn_right1 set_power_L;OnRev(OUT_A);OnFwd(OUT_C...
#define turn_left2 set_power_L;Off(OUT_A);OnRev(OUT_C); ...
#define turn_right2 set_power_L;Off(OUT_C);OnRev(OUT_A);...
#define LOWPOWER 1
#define HIGHPOWER 4
#define set_power_H SetPower(OUT_AC,HIGHPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
**定義(アーム側) [#y2a5066e]
アームを上げ下げする定義では秒数で指定するものと最低位置...
また、アームがコップを離すための定義ではコップをつかむモ...
#define CYOI 40 //通信のための...
#define tsukamu OnFwd(OUT_C); //つかむ
#define hanasu Off(OUT_C); //はなす(モー...
#define ageru OnFwd(OUT_B); Wait(230); Off(OUT_B); //ア...
#define sageru OnRev(OUT_B); Wait(160); Off(OUT_B); //ア...
#define up(z) OnFwd(OUT_B); Wait(z); Off(OUT_B); //ア...
#define down(y) OnRev(OUT_B); Wait(y); Off(OUT_B); //ア...
#define hiraku OnRev(OUT_C); Wait(008);Off(OUT_C); //ア...
***1つ目のコップ [#i657e714]
1つ目のコップについては以下のような流れで動作する。
コップ付近までライントレースで行く。(機体前方に取り付けた...
-コップ付近まで行くサブルーチン
sub line_l() //1つ目のコップ付近まで行くサブ...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=550){
if(SENSOR_2 < shikiichi -7){
turn_right2;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left2;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-ライントレースに戻り、交差点で止まる
ライン上外での作業からライン上に戻ってくる際に角度によっ...
そのため、交差点で止まるライントレースの前に3秒ほど強制的...
sub line_ll() //強制的に3秒間ライント...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=300){
if(SENSOR_2 < shikiichi -7){
turn_right1;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left1;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
sub line_k() //交差点で止まるライン...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=25){
if(SENSOR_2 < shikiichi-6){
turn_right1;
} else if (SENSOR_2 < shikiichi -4){
turn_right2;
ClearTimer(0);
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
ClearTimer(0);
} else if (SENSOR_2 < shikiichi ){
turn_left2;
ClearTimer(0);
} else {
turn_left2;
ClearTimer(0);
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-ピンポン玉をX地点に入れる
紙コップを少し上げることでピンポン玉をX地点に入れる。↓
#ref(2017b/Member/kazuki/Mission3/CVVY7466.GIF,60%,ピンポ...
***2つ目のコップ [#s0dd8a11]
2つ目については以下のような流れで動作する
障害物を感知するまでライントレースをする(障害物によって機...
-障害物を感知するまでライントレースをするサブルーチン
sub line_lll()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(SENSOR_1 < SHIKIICHI -40){ //閾値が81...
if(SENSOR_2 < shikiichi -7){
turn_right1;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left2;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-2つ目のコップを探すサブルーチン
sub search3() //2つ目のコップを探すサブルーチン
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
while(SENSOR_1 < SHIKIICHI -40){
mae(10); //コップを感知する...
}
Off(OUT_AC);
Wait(100);
hidarisennkai(20);
Wait(100);
mae(30);
Wait(300); //棒を使い、コップをアーム...
ClearMessage();
SendMessage(OWARI); //動作完了をアーム側に伝える
}
ピンポン玉をX地点に入れる動作に関しては1つ目と同じである
***3つ目のコップ [#p598fc93]
3つ目については以下のような流れで動作する
機体を大体コップ付近に持ってくる(この時、機体がコップに対...
-3つ目のコップを探すサブルーチン
センサーがコップを感知するまで右旋回と前進を繰り返すこと...
sub search4() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
while(SENSOR_1 < SHIKIICHI -40){
mae(020);
migisennkai(010);
} //コップを感知するセンサーの閾...
Off(OUT_AC);
Wait(100);
hidarisennkai(20);
Wait(100);
mae(30);
Wait(300); //棒を使い、コップをアームの前...
ClearMessage();
SendMessage(OWARI); //動作完了をアーム側に伝える
}
-コップを重ねる動作について
3つ目のコップを重ねるとアームがつかんでいるコップの数は...
そこでX地点にピンポン玉を入れる前と入れた後の両方でコップ...
&ref(2017b/Member/kazuki/Mission3/IMG_4743.jpg,60%, コッ...
&ref(2017b/Member/kazuki/Mission3/IMG_4745.jpg,60%, コッ...
**タスクメイン(土台側) [#w95a4af2]
通信するプログラムの後にアーム側と対応した数字を記すこと...
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
mae(050);
line_l();
Wait(100);
mae(40);
SendMessage(CYOI);//1 //1つ...
Wait(50);
mae(30);
migisennkai(250);
line_ll();
line_k();
hidarisennkai(140);
SendMessage(CYOI);//2
ClearMessage();
until(Message() == CYOI);//3
mae(160);
Wait(100);
ClearMessage();
SendMessage(CYOI);//4 //ピンポ...
until(Message() == CYOI);//4.5
usiro(180);
ClearMessage();
hidarisennkai(100);
line_lll();
shougaibutsu();
migisennkai(60);
search3();
mae(030);
Wait(100);
SendMessage(CYOI);//5 //2つ目...
until(Message() == CYOI);//6
SendMessage(CYOI);//7
migisennkai(150);
mae(050);
SendMessage(CYOI);//8 //ピンポ...
ClearMessage();
until(Message() == CYOI);//9
usiro(060);
Wait(50);
ClearMessage();
hidarisennkai(120);
mae(300);
migisennkai(050);
mae(060);
search4();
Wait(50);
mae(020);
migisennkai(040);
mae(020);
SendMessage(CYOI);//10 ...
until(Message() == CYOI);//11
ClearMessage();
usiro(100);
migisennkai(180);
mae(080);
SendMessage(CYOI);//12
until(Message() == CYOI);//13
ClearMessage();
mae(130);
SendMessage(CYOI);//14
until(Message() == CYOI);//15
ClearMessage();
usiro(100);
migisennkai(280);
mae(030);
SendMessage(CYOI);//16 //...
until(Message() == CYOI);//17
usiro(070);
}
**タスクメイン(アーム側) [#x4ade9e5]
task main()
{
until(Message() == CYOI);//1
tsukamu; //1つ目...
ClearMessage();
until(Message() == CYOI);//2
ClearMessage();
up(30); //ピン...
Wait(100);
SendMessage(CYOI);//3
until(Message() == CYOI);//4
up(180);
ClearMessage();
SendMessage(CYOI);//4.5
until(Message() == CYOI);//5
down(180);
ClearMessage();
SendMessage(CYOI);//6
ClearMessage();
until(Message() == CYOI);//7
up(50);
ClearMessage();
until(Message() == CYOI);//8
Wait(100);
down(50); //コッ...
Wait(100);
hanasu;
Wait(100);
tsukamu;
Wait(50);
up(200);
ClearMessage();
SendMessage(CYOI);//9
ClearMessage();
until(Message() == CYOI);//10
ClearMessage();
Wait(100);
sageru;
SendMessage(CYOI);//11
until(Message() == CYOI);//12
down(040); //コッ...
up(050);
ClearMessage();
SendMessage(CYOI);//13
until(Message() == CYOI);//14
down(030); //コップ...
up(100);
ClearMessage();
SendMessage(CYOI);//15
until(Message() == CYOI);//16
down(050);
hiraku; //すべ...
SendMessage(CYOI);//17
}
**結果 [#a4158960]
基本点30点 技術点19.7点 計49.7点 第一位
**まとめ [#l7921d92]
今回の課題では試験期間と重なっていたこともあり、いままで...
終了行:
[[2017b/Member]]
目次
#contents
*課題3 [#d88d049e]
#ref(2017b/Member/kazuki/Mission3/2017_3.png,60%,課題3)
ピンポン玉と紙コップを別々に回収して所定の場所に運ぶ。
*ロボットの説明 [#zdf766b1]
***方針 [#x6f25a5b]
今回の課題で重要な点はコップをつかみ、上げるアーム部分の...
私たちの班では最初、機体がコンパクトになるようにコップを...
垂直に上げることで機体は大幅に縦に大きくなってしまうがモ...
**試作機1 [#g54e4c4c]
上で述べているように機体は縦に大きくなっている。
この試作機では機体の安定性を求め、4輪にしてある。
***問題点 [#n03dd1fc]
#ref(2017b/Member/kazuki/Mission3/IMG_4734.jpg,100%,試作...
-1について~
モータの位置が高くなってしまい、機体が不安定になってしま...
また、高さが足りずコップをコップの高さまで持ち上げられな...
-2について~
ギアを回し続けないとコップをホールドすることができず、か...
-3について
#ref(2017b/Member/kazuki/Mission3/IMG_4699.jpg,80%,試作機...
この機体の工夫ポイントとして図のように後輪二輪を自由に稼...
しかし、実際にライントレースをさせた時に旋回できないとい...
**試作機2 [#made8402]
機体はさらに縦に伸びてしまったが、いくつかの改善を加えた。
***改善点 [#oc299bc3]
#ref(2017b/Member/kazuki/Mission3/IMG_4735.jpg,100%,試作...
-1について~
コップを重ねるときに慎重な動きが必要になるだろうと考えた...
また、試作機1よりも高い位置までアームを上げれるようにし...
-2について
#ref(2017b/Member/kazuki/Mission3/IMG_4702.jpg,100%,試作...
図のようにモータの位置を試作機1よりも下に持ってくること...
-3について~
後輪のゴムを外すことで旋回時に後輪が抵抗にならないように...
***問題点 [#g79b32a4]
#ref(2017b/Member/kazuki/Mission3/IMG_4736.jpg,100%,試作...
-1について~
&ref(2017b/Member/kazuki/Mission3/IMG_4740.jpg,60%,試作機...
&ref(2017b/Member/kazuki/Mission3/IMG_4710.jpg,60%,試作機...
試作機1、2とも機体の安定性を考え、2つのris本体同士が上...
上の右図のようにrisを配置し、土台から作り直した。
-2について~
試作機1の問題を解決すべく、クラッチギアを採用したのだが...
**完成機 [#z7692757]
#ref(2017b/Member/kazuki/Mission3/IMG_4712.jpg,100%,完成機)
本番ではいくつかの改善点をさらに加えたが大体の形は図のよ...
***改善点 [#o9b11efa]
#ref(2017b/Member/kazuki/Mission3/IMG_4737.jpg,100%,完成...
-1について~
risの配置を通信できるような配置に変更した。
-2について
#ref(2017b/Member/kazuki/Mission3/IMG_4709.jpg,100%,完成...
図のような構造にすることによりクラッチギアが機能するよう...
クラッチギアとは一定の力以下の時は正常に回転するが、それ...
これを使うことによってモータを回転させ続けコップをホール...
***細部の説明 [#td2e6b90]
-センサーについて
#ref(2017b/Member/kazuki/Mission3/IMG_4739.jpg,90%,センサ...
図のようにライントレースをするための下向きのセンサーとコ...
-コップを確実にセンサー前に持ってくる~
コップがコップを感知するセンサーの前にあるか、右斜め前に...
#ref(2017b/Member/kazuki/Mission3/IMG_4723.jpg,90%,細部の...
そこで上図のような棒を取り付けた。
#ref(2017b/Member/kazuki/Mission3/IMG_4741.jpg,80%,細部の...
この図のように左の棒にコップを当てればコップが確実にセン...
*プログラミング [#z1867e76]
課題3の図の左上のコップを1つ目のコップ、真ん中上のコップ...
**方針 [#h4b7a46d]
A地点からスタートし、コップを重ねながらピンポン玉を置き、...
また、今回の課題では地道に秒数を数えていけばライントレー...
私たちの班では作業したい場所の近くでいかに機体に機体自体...
以下、タイヤなどがついている方を土台側、アームを動作させ...
**定義(土台側) [#p1f636b8]
土台側のrisにはタイヤ二輪とコップを感知するためのセンサー...
-コップを感知するセンサーの閾値、通信のための定義
#define SHIKIICHI 870 //コップを感知するセンサーが用い...
#define CYOI 40 //通信のための定義
CYOI(40) という数字を通信しあい、動作の開始、完了などを...
-前進や後退などの定義
#define mae(w) ;OnRev(OUT_AC);Wait(w);Off(OUT_AC); //...
#define usiro(g) OnFwd(OUT_AC);Wait(g);Off(OUT_AC); //...
#define migisennkai(s) set_power_L;OnFwd(OUT_A);OnRev(OU...
#define hidarisennkai(n) set_power_L;OnFwd(OUT_C);OnRev(...
-ライントレース用の定義
#define shikiichi 48
#define zennsinn OnRev(OUT_AC); ...
#define turn_left1 set_power_L;OnFwd(OUT_A);OnRev(OUT_C)...
#define turn_right1 set_power_L;OnRev(OUT_A);OnFwd(OUT_C...
#define turn_left2 set_power_L;Off(OUT_A);OnRev(OUT_C); ...
#define turn_right2 set_power_L;Off(OUT_C);OnRev(OUT_A);...
#define LOWPOWER 1
#define HIGHPOWER 4
#define set_power_H SetPower(OUT_AC,HIGHPOWER);
#define set_power_L SetPower(OUT_AC,LOWPOWER);
**定義(アーム側) [#y2a5066e]
アームを上げ下げする定義では秒数で指定するものと最低位置...
また、アームがコップを離すための定義ではコップをつかむモ...
#define CYOI 40 //通信のための...
#define tsukamu OnFwd(OUT_C); //つかむ
#define hanasu Off(OUT_C); //はなす(モー...
#define ageru OnFwd(OUT_B); Wait(230); Off(OUT_B); //ア...
#define sageru OnRev(OUT_B); Wait(160); Off(OUT_B); //ア...
#define up(z) OnFwd(OUT_B); Wait(z); Off(OUT_B); //ア...
#define down(y) OnRev(OUT_B); Wait(y); Off(OUT_B); //ア...
#define hiraku OnRev(OUT_C); Wait(008);Off(OUT_C); //ア...
***1つ目のコップ [#i657e714]
1つ目のコップについては以下のような流れで動作する。
コップ付近までライントレースで行く。(機体前方に取り付けた...
-コップ付近まで行くサブルーチン
sub line_l() //1つ目のコップ付近まで行くサブ...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=550){
if(SENSOR_2 < shikiichi -7){
turn_right2;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left2;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-ライントレースに戻り、交差点で止まる
ライン上外での作業からライン上に戻ってくる際に角度によっ...
そのため、交差点で止まるライントレースの前に3秒ほど強制的...
sub line_ll() //強制的に3秒間ライント...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=300){
if(SENSOR_2 < shikiichi -7){
turn_right1;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left1;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
sub line_k() //交差点で止まるライン...
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(FastTimer(0)<=25){
if(SENSOR_2 < shikiichi-6){
turn_right1;
} else if (SENSOR_2 < shikiichi -4){
turn_right2;
ClearTimer(0);
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
ClearTimer(0);
} else if (SENSOR_2 < shikiichi ){
turn_left2;
ClearTimer(0);
} else {
turn_left2;
ClearTimer(0);
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-ピンポン玉をX地点に入れる
紙コップを少し上げることでピンポン玉をX地点に入れる。↓
#ref(2017b/Member/kazuki/Mission3/CVVY7466.GIF,60%,ピンポ...
***2つ目のコップ [#s0dd8a11]
2つ目については以下のような流れで動作する
障害物を感知するまでライントレースをする(障害物によって機...
-障害物を感知するまでライントレースをするサブルーチン
sub line_lll()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
ClearTimer(0);
while(SENSOR_1 < SHIKIICHI -40){ //閾値が81...
if(SENSOR_2 < shikiichi -7){
turn_right1;
} else if (SENSOR_2 < shikiichi -4 ){
turn_right2;
} else if (SENSOR_2 < shikiichi -1){
zennsinn;
} else if (SENSOR_2 < shikiichi ){
turn_left2;
} else {
turn_left2;
}
}
PlaySound(SOUND_CLICK);
Off(OUT_AC);
}
-2つ目のコップを探すサブルーチン
sub search3() //2つ目のコップを探すサブルーチン
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
while(SENSOR_1 < SHIKIICHI -40){
mae(10); //コップを感知する...
}
Off(OUT_AC);
Wait(100);
hidarisennkai(20);
Wait(100);
mae(30);
Wait(300); //棒を使い、コップをアーム...
ClearMessage();
SendMessage(OWARI); //動作完了をアーム側に伝える
}
ピンポン玉をX地点に入れる動作に関しては1つ目と同じである
***3つ目のコップ [#p598fc93]
3つ目については以下のような流れで動作する
機体を大体コップ付近に持ってくる(この時、機体がコップに対...
-3つ目のコップを探すサブルーチン
センサーがコップを感知するまで右旋回と前進を繰り返すこと...
sub search4() {
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
while(SENSOR_1 < SHIKIICHI -40){
mae(020);
migisennkai(010);
} //コップを感知するセンサーの閾...
Off(OUT_AC);
Wait(100);
hidarisennkai(20);
Wait(100);
mae(30);
Wait(300); //棒を使い、コップをアームの前...
ClearMessage();
SendMessage(OWARI); //動作完了をアーム側に伝える
}
-コップを重ねる動作について
3つ目のコップを重ねるとアームがつかんでいるコップの数は...
そこでX地点にピンポン玉を入れる前と入れた後の両方でコップ...
&ref(2017b/Member/kazuki/Mission3/IMG_4743.jpg,60%, コッ...
&ref(2017b/Member/kazuki/Mission3/IMG_4745.jpg,60%, コッ...
**タスクメイン(土台側) [#w95a4af2]
通信するプログラムの後にアーム側と対応した数字を記すこと...
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensorMode(SENSOR_1,SENSOR_MODE_RAW);
mae(050);
line_l();
Wait(100);
mae(40);
SendMessage(CYOI);//1 //1つ...
Wait(50);
mae(30);
migisennkai(250);
line_ll();
line_k();
hidarisennkai(140);
SendMessage(CYOI);//2
ClearMessage();
until(Message() == CYOI);//3
mae(160);
Wait(100);
ClearMessage();
SendMessage(CYOI);//4 //ピンポ...
until(Message() == CYOI);//4.5
usiro(180);
ClearMessage();
hidarisennkai(100);
line_lll();
shougaibutsu();
migisennkai(60);
search3();
mae(030);
Wait(100);
SendMessage(CYOI);//5 //2つ目...
until(Message() == CYOI);//6
SendMessage(CYOI);//7
migisennkai(150);
mae(050);
SendMessage(CYOI);//8 //ピンポ...
ClearMessage();
until(Message() == CYOI);//9
usiro(060);
Wait(50);
ClearMessage();
hidarisennkai(120);
mae(300);
migisennkai(050);
mae(060);
search4();
Wait(50);
mae(020);
migisennkai(040);
mae(020);
SendMessage(CYOI);//10 ...
until(Message() == CYOI);//11
ClearMessage();
usiro(100);
migisennkai(180);
mae(080);
SendMessage(CYOI);//12
until(Message() == CYOI);//13
ClearMessage();
mae(130);
SendMessage(CYOI);//14
until(Message() == CYOI);//15
ClearMessage();
usiro(100);
migisennkai(280);
mae(030);
SendMessage(CYOI);//16 //...
until(Message() == CYOI);//17
usiro(070);
}
**タスクメイン(アーム側) [#x4ade9e5]
task main()
{
until(Message() == CYOI);//1
tsukamu; //1つ目...
ClearMessage();
until(Message() == CYOI);//2
ClearMessage();
up(30); //ピン...
Wait(100);
SendMessage(CYOI);//3
until(Message() == CYOI);//4
up(180);
ClearMessage();
SendMessage(CYOI);//4.5
until(Message() == CYOI);//5
down(180);
ClearMessage();
SendMessage(CYOI);//6
ClearMessage();
until(Message() == CYOI);//7
up(50);
ClearMessage();
until(Message() == CYOI);//8
Wait(100);
down(50); //コッ...
Wait(100);
hanasu;
Wait(100);
tsukamu;
Wait(50);
up(200);
ClearMessage();
SendMessage(CYOI);//9
ClearMessage();
until(Message() == CYOI);//10
ClearMessage();
Wait(100);
sageru;
SendMessage(CYOI);//11
until(Message() == CYOI);//12
down(040); //コッ...
up(050);
ClearMessage();
SendMessage(CYOI);//13
until(Message() == CYOI);//14
down(030); //コップ...
up(100);
ClearMessage();
SendMessage(CYOI);//15
until(Message() == CYOI);//16
down(050);
hiraku; //すべ...
SendMessage(CYOI);//17
}
**結果 [#a4158960]
基本点30点 技術点19.7点 計49.7点 第一位
**まとめ [#l7921d92]
今回の課題では試験期間と重なっていたこともあり、いままで...
ページ名: