[659] 力を貸してください・・・ 投稿者:take-horse 投稿日:00/06/23(Fri) 21:42
 初めまして、take-horseと申します。
 
 実は大学でこのレゴマインドストームを学習しています。
 
 今度の課題でボールを取り合って、その取り合った数を成績にするということになったのですが、どうも勝てそうにないので皆様の意見を聞いてみたく投稿しました。ではルールを説明ます。

 ・4平方メートル(2*2)の中にボール5、6個が入ります。
 ・この中に5体入ります。
 ・時間は未定です。
 ・敵にあたっても多少は大丈夫です。
 ・機械は自動で行い、コントローラは使えません。
 ・センサはタッチが2個、光は1個です。
 ・モータは3個です。
 ・大きさは問いませんが、キットに限りがあります。

 以上です。

 期限は2週間後です。「こうしたらいいよ」みたいなことでいいのでよろしくお願いします。

[682] Re: 力を貸してください・・・ 投稿者:VTR 投稿日:00/06/27(Tue) 00:15
はじめまして、VTRと申します。
いいですね〜、マインドストームが授業なんてうらやましいです。(^_^;)

>  ・4平方メートル(2*2)の中にボール5、6個が入ります。
   どのくらいの大きさのボールなんでしょう?
   取ったボールはロボットが確保するのですか?それとも
   決められた位置に持っていくのですか?
   
>  ・センサはタッチが2個、光は1個です。
   タッチセンサー2個で壁及び他のロボットを回避して、光センサーで
   ボールをセンスし捕まえるるというのが教授の狙いでしょうか?

>  ・モータは3個です。
   駆動用にモーター2個、ボールの取り込みようにモーター1個
   あれば、何とかなりそうですね。

>  ・大きさは問いませんが、キットに限りがあります。
   ロボット1台につきRISの標準セットということでしょうか?
   

   ざっと、考えたところロボットの前方に逆ハの字状のボール収集機を
   つけて、後はタッチセンサー任せで、ぶつかったら方向転換させ、
   ひたすら、走り回るしかないですね。
   光センサーの能力は遠方のボールは見つけられないので、走り回って    転がり込んでくるのを待つしかないと思います。
   とりこんだ、ボールがこぼれないように残りのモーターで
   ボール籠に、キープできるようにすればいいんじゃないのかな〜。

   でも、やはり宿題は自分でしましょうね〜。(~_~;)
   私だったら、これが宿題なら毎日でも嬉しいですけどね。
   やっぱり、自分で考えたロボットが試行錯誤しながらやっと
   思い通りに動いたときって、とっても嬉しいですよ。

[661] 学校の宿題? 投稿者:JinSato 投稿日:00/06/23(Fri) 22:11

学校でMINDSTORMSが出来るなんて楽しそうですね〜。

どうですか、take-horse さん 初めてマインドストームを使った感想は
いままで、どれくらいの学習期間があったんでしょうか?

ところで、ルール自体 偶然性がとても沢山有りそうですが、それでボールの
数で本当に成績が決まるんですか。 なんだか納得できないですね。

本当はそのロボットのアルゴリズムだとか、構造だとか、そういうのが採点
対象にならないんですか? > take-horse さんの学校の担当教官のひと

ところで

>どうも勝てそうにないので

とお書きですが、どのように考えたんでしょうか〜?

ルールだけを書くのではなくて自分は如何考えたとか
書いてくれたほうが嬉しいです。
それに付いてのコメントならば書きやすいんじゃないかな〜。

#ルールですが
>  ・4平方メートル(2*2)の中にボール5、6個が入ります。
(中略)
>  ・大きさは問いませんが、キットに限りがあります。
>
>  以上です。

以上ですということですが、このルールだと穴がありすぎて いろいろ出来ますよね。
ボールの大きさや重さも分からないし、壁の高さも分からない。

この課題で使うルールが書いてある 学校のHomePageのURL とかないのかな〜?

>  期限は2週間後です。「こうしたらいいよ」みたいなことでいいのでよろしくお願いします。

これって、他のクラスメートの人にもここででた意見をやはり見せるべきだと思いますよ
そうしないと、不公平というか、自分の実力でなくて、他人のアイディアで、自分の
成績のが変化するかもしれないわけですから。

もしも、他のクラスメートの人に take-horse さんが教えなくても、他のクラスメートの人が
このページを見る可能性も高いから、後でわかったらやばいんじゃないかな〜?
それに、教官も見ている可能性も高いですよね〜。

以上ですが、2週間後、どんなロボットができたか、お知らせくださいね〜。

最後に take-horse さんの担当教官の方も、書き込んでくれたりすると嬉しいですよね。

[662] while(true)から抜け出せない!? 投稿者:kenta 投稿日:00/06/24(Sat) 13:26
ROBO SPORTSを使ってNQCの練習中です。
課題は、同梱されている用紙を使って
スタート→前進→ストップ→シュート→終了
と言う流れで、
_____________
*            |
 *           |
  *          |
   *        s |
  *          |
 *           |
*____________|
(変な図ですみません。)
Sからスタートして*(水色のライン)でストップ、
そしてシュートして終了です。
各入出力は、ライトセンサーがA
前進用モーターがA、シュートするモーターがCです。
このようなプログラムを作る上で、taskは、main1つのみ。
サブルーチンは、使用しない。という条件で考えているのですが
(条件と言うよりは、まだ理解していないので・・・・)
うまく行きません。何がうまく行かないかというと
シュートまでは、よいのですが終了しないのです。
あれこれプログラムをいじると動かなかくなります。
どうすれば、終了するのかを教えてください。
ちなみに私の考えたものは、
#define THRESHOLD 37 // Find saxline

task main
{
Sensor(IN_2,IN_LIGHT);
while(true);
{
if(IN_2 < THRESHOLD);
{
Off(OUT_A);
Fwd(OUT_C,8);
Sleep(50);
Off(OUT_C);
Sleep(1000); // この命令を入れないと回りっぱなしなのでとりあえず入れてあります。
 else
{
Fwd(OUT_A,6);
}
}
}
}
と言う感じです。当然while(true)に入れこんであるので終了しません。
しかしライトセンサー利用の為にWhileは、必須(??)なようですし、
かといって一度while(true)に、入ると抜け出せません。
それ以外の方法も見つかりません。(^^ゞ

あと、最初に作ったものは、
#define THRESHOLD 37 // Find saxline

task main
{
Sensor(IN_2,IN_LIGHT);
Fwd(OUT_A,6);    //先ほど違う所に入れてある。
while(true);
{
if(IN_2 < THRESHOLD);
{
Off(OUT_A);
Fwd(OUT_C,8);
Sleep(50);
Off(OUT_C);
Sleep(1000);
}
}
}
}

というもので、RUNボタンを押すとプログラムが開始、停止と
通常なるのですが、このプログラムを実行したら
RUNボタンを押す度に開始して、終了するにはOFFボタンしかない
という異常な動きでした。
なぜ、このような動きになるかも、プログラムから読み取る事が
できません。
以上のような事ですが、もしなにかヒントになるような事があれば
御指導お願いします。

*長ったらしい説明で、すみません。

[663] Re: while(true)から抜け出せない!? 投稿者:JinSato 投稿日:00/06/24(Sat) 13:50
JinSato です。

while( true ) { // A
....
....
} // B

というのは、A 〜 B の間まで無限ループする言う意味ですので
抜け出ないのが正解です。

もしも抜け出たいのならば、ループを抜け出るようにします。
2つ方法があります。

1つ目の方法は、 while( true ) で true としないで、変数を使い、条件を見る。
2つ目の方法は、break を使うという感じです。


例えば

int fgLoop;            // ループを制御するための変数を定義

fgLoop = 1;           // 初期化して、1を入れておく

while( fgLoop == 1 ) {    // A
  if ( .... ) {           // B
     fgLoop = 0;      // C
   }               // D
}                 // E

こんな例を考えて下さい。

A行 のところで、は fgLoop は初めに1が入ってますので、A行〜E行 のところが
繰り返されますが。

B行のところで、何かの条件が整った時に、 C行のところにすすみます。
C行の所で fgLoop = 0; としていますので、 A行の while の中の条件が
満たされなくなりますので、結果として A行〜E行 のループが終わるというものです。


また、別の方法 break を使うは
http://www.mi-ra-i.com/JinSato/MindStorms/nqc/index.html
に紹介している、アルベルトさんの日本語版 のチュートリアルなどを
お読みになって、 break の使い方などを確認してください。

最後に、C言語の入門書で、NQC が使うことが出来る if 文とか、while 文とか
の構文の使い方の説明を読まれるのも1つの方法だと思います。

[664] Re^2: while(true)から抜け出せない!? 投稿者:kenta 投稿日:00/06/24(Sat) 14:21
JINさんありがとうございました。
解答は、
#define THRESHOLD 37 // Find saxline

int fgLoop;

task main
{
fgLoop = 1;
Sensor(IN_2,IN_LIGHT);
while(fgLoop == 1);
{
if(IN_2 < THRESHOLD);
{
Off(OUT_A);
Fwd(OUT_C,8);
Sleep(50);
Off(OUT_C);
fgLoop = 0;
 else
{
Fwd(OUT_A,6);
}
}
}
ですね。ん〜なるほど・・・。変数を使ういい勉強が出来ました。

> また、別の方法 break を使うは
> http://www.mi-ra-i.com/JinSato/MindStorms/nqc/index.html
> に紹介している、アルベルトさんの日本語版 のチュートリアルなどを
> お読みになって、 break の使い方などを確認してください。

現在は、アルベルトさんのチュートリアルのみで勉強しています。
PC9821を使用してNQCを使ってる関係上 nqc ver1.x用のテキストを
使用しています。breakに関する記述はないので、おそらく
ver2.x用で、出ているものでしょうね。
本屋でNqc関連の本は、ありませんでしたがC言語の入門書でも
代用できるのですね。早速見てきます。
そういうことでしたら、この問題は、MINDSTORMS以前に
C言語の問題のようです。ここをお借りしてすみませんでした。
いつも、お手間をかけてすみません m(._.)m
では、では、早速本屋に直行です。

[649] Robolabのタイマーについて 投稿者:ノン 投稿日:00/06/21(Wed) 16:20
MacユーザーということもありRobolabのついているチームチャレンジセットを購入しました。

Robolabのサンプルが少ないため、RISのプログラムを参考にしてプログラムを作成していたのですが、
RISにある0.1秒単位でのタイマー設定が出来ません。
簡易マニュアルしかないのでさっぱりわかりません。

Robolabのバージョンは1.5です。Invertorで使っていますが余りよく分かっていないのが現状です、

[651] [Robolab] 一秒以下のタイマー設定 投稿者:">mac 投稿日:00/06/21(Wed) 20:27 <URL>
> RISにある0.1秒単位でのタイマー設定が出来ません。

Function Windowの時計のアイコンをつつくとWait Forのポップアップが出ます。
この中の"?" がついたタイマーはそのままでは1秒タイマーですが、Modifierが有効です。

Modifiers Windowの中の数字が"123" 戸かいてあるアイコンをドラッグし、
Diagramに置いた後キーボードから0.1など小数点つきの数値を入れます。
確定するとそれまで青かった枠はオレンジになります。

先に置いた"?"のタイマーの右下からワイヤーでつなぐと、
その数値に設定できます。

[652] Re: [Robolab] 一秒以下のタイマー設定 投稿者:ノン 投稿日:00/06/22(Thu) 00:18
早速やってみましたが、こういうやり方だったのですね。
ありがとうございました。

ところでRoboLabを勉強するための本(日本語)はあるのでしょうか?

[660] Re^2: [Robolab] 一秒以下のタイマー設定 投稿者:山崎@ゼロ・オフィス 投稿日:00/06/23(Fri) 22:04 <URL>
> ところでRoboLabを勉強するための本(日本語)はあるのでしょうか?

「LEGO MINDSTORMSの世界」という本が出ていたと思います。
以前書店でざっと見ただけなので詳しい内容は覚えていませんが、GEODESIC さ
んの ROBO-TIC-TAC-LUB で内容が紹介されています。

http://www.geodesicjapan.com/ROBO-TIC-TAC-LUB/TOP.html

ところで、使用されている ROBOLAB は、日本語版ですか?
もしそうならお伺いしたいのですが、ROBOLAB のフォルダーの中に Extras と
いうフォルダーはありますか?
あれば、中に Extras.txt というファイルがあると思うのですが、これも日本
語化されていますか?
この Extras は、正式にはサポートされていないので自己責任になりますが、
インストールすると、便利な機能が増えます。(ROBOLAB 2.0 で、すべてかは
分かりませんが、サポートされているようです。)

ついでに、ご存じかもしれませんが、TIPS を少々...。

・command + クリックで、オペレーションがかなり楽になります。
 Function のアイコンも配置できますし、他の物にリプレイスも出来ます。 
 また、Cleate Constant で、直接、先のタイマーやモーターなどのパラメー
 ターを入力できます。
 ただ、この command + クリックをすると謎の機能?が、いくつか出てきます
 が、ほとんどは ROBOLAB では使えないようです。
 (LabView の Advanced Level Programming の機能)

・Select Com Port で Text に設定しておくと、Run ボタンでプログラムを
 Text に出力できます。
 転送する前のプログラムの確認に便利です。

[654] Re^2: [Robolab] 一秒以下のタイマー設定 投稿者:ぴこ 投稿日:00/06/22(Thu) 16:10
こんにちは、ぴこ です。

> ところでRoboLabを勉強するための本(日本語)はあるのでしょうか?

最初に付いてくる簡易マニュアルでは確かに物足りないですよね。
\4500で教師用のマニュアルがラーニングシステムから通販可能となっています。
でも、私は入手してません。
プログラム中にアイコンをダブルクリックすると説明用のウィンドウが
開きますよね。これで粗方理解できちゃいました。
お試しあれ。

[587] 指がいたい・・・。 投稿者:kenta 投稿日:00/06/14(Wed) 10:54
何かもっと技術的な質問をしたいのですがそれ以前に
とても初歩的な問題にぶつかりました・・・・。
実は、毎晩DDKを買って以来組み立てては崩し、と言う事を
繰り返しているのですがはずしている時に指が痛くてたまりません。(笑)
きっともっと触っているうちに指の皮も厚くなって大丈夫なるんでしょうが
皆さんどのような方法で、分解してるのでしょうか?
特につらいのは、(名称がわかりませんがプラスの形の黒い棒・・(^^ゞ)
を引き抜く時です。汗で指がすべる時などついつい歯で噛んで抜いて
しまいます。傷がつくので誰もしてないと思うのですが・・・。
何かいい工夫があるようでしたら是非教えてください。
このような質問で大変恐縮ですが・・・よろしくお願いします。

[588] Re: 指がいたい・・・。 投稿者:">mac 投稿日:00/06/14(Wed) 11:52 <URL>
> 皆さんどのような方法で、分解してるのでしょうか?

私の方法ではありませんが...
http://207.236.16.161/JinSato/MindStorms/Contest/No5/List/5020.html
に写っているアヤシイ物体をご覧ください (^^;

でも、指が慣れる前に、結構ブロックの角が取れて、丸くなります。
新しいセットを買ってくると、「おお、この痛い感じがいいねえ」と...

あと、RISについてくるブロックはずしが、結構便利なんですが、
加戸さんの解説...
http://www.venus.dti.ne.jp/~quad/yonkoma/week/week54.html
DDKにはついていませんでしたっけ。

> 特につらいのは、(名称がわかりませんがプラスの形の黒い棒・・(^^ゞ)
> を引き抜く時です。汗で指がすべる時などついつい歯で噛んで抜いて
> しまいます。傷がつくので誰もしてないと思うのですが・・・。

反対側から押せるときは、別のロッドで押します。
ペグや、コネクター類もこれができる場合は、楽勝です。
コネクターを組み合わせて、T字型にした工具を作るとさらに楽です。

[589] Re^2: 指がいたい・・・。 投稿者:ぴこ 投稿日:00/06/14(Wed) 12:47
> あと、RISについてくるブロックはずしが、結構便利なんですが、
> 加戸さんの解説...
> http://www.venus.dti.ne.jp/~quad/yonkoma/week/week54.html
> DDKにはついていませんでしたっけ。

昔はシステムの大箱にも付いて着ていた覚えのあるレゴはずしですが
今やRISでしか見かけなくなりましたねえ。

私はレゴジャパンの通販でもう1つ手に入れて2つ持ってます。
2つあると2x1プレートの2枚重ねも難なく取れるので爪を傷めなくて
済みます。

通販はもうすぐ打ち切りになるという噂ですから、もし入手を目論んで
いる方がいれば急いだほうがいいですよ。
方法は去年のカタログ(チラシ)の後ろに載ってます。

[655] Re^3: 指がいたい・・・。 投稿者:おでん 投稿日:00/06/22(Thu) 21:40 <URL>
わたしは、ブロックはずしのほかにこんなものを自作して使ってますよ。↑
ご参考まで。

[658] Re^4: 指がいたい・・・。 投稿者:ノン@初心者 投稿日:00/06/23(Fri) 19:49
> わたしは、ブロックはずしのほかにこんなものを自作して使ってますよ。↑
> ご参考まで。

HPを見てあれがブロックはずしということを初めて知りました。
てっきりロボットの足かと(なのに何故1つ?)...勉強になりました!