[リストへもどる]
一 括 講 読

投稿時間:03/01/18(Sat) 01:02
投稿者名:
Eメール:
URL :
タイトル:Javaによるプログラム制御
 はじめまして。大学生の涼です。
 現在、大学の研究でマインドストーム(基本セット 2.0)をJAVAで制御しようとしています。
Javaプログラミングは出来るのですが、どのようにしてマインドストームに反映させるかがわかりません。
 今のところ、調べてJavaCommunicationsAPIとRCXJavaAPIをダウンロードしたのですが、この後どうすればよいのかが分かりません。
 ちなみに、利用しているOSはWindowsXPです。
 たいへん初歩的な質問で申し訳ありませんが教えてください。
 また、上記したことで説明の足りない部分があれば付け加えるので、いってください。

投稿時間:03/01/18(Sat) 01:15
投稿者名:JinSato
Eメール:
URL :
タイトル:Re: Javaによるプログラム制御

>  今のところ、調べてJavaCommunicationsAPIとRCXJavaAPIをダウンロードしたのですが、この後どうすればよいのかが分かりません。


パソコンからRCXをコントロールしたいのか
それともRCXにJavaを載せたいのか
制御といっても何をどのように行いたいのか説明してください。


あと、一応
http://www.mi-ra-i.com/JinSato/MindStorms/Ad/GiveAndTake3.html
にあります、ポリシーも読んでね。

投稿時間:03/01/18(Sat) 01:45
投稿者名:
Eメール:
URL :
タイトル:Re^2: Javaによるプログラム制御
>
>> パソコンからRCXをコントロールしたいのか
> それともRCXにJavaを載せたいのか
> 制御といっても何をどのように行いたいのか説明してください。
>

リモート制御コマンド受け取ることの出来る機能を使って、パソコンからRCXを直接制御しようと思っています。
 実際には、マインドストームで車輪型のロボットを作っているので、前進・後進・停止をリモート制御でできるようにしようと思っています。

投稿時間:03/01/18(Sat) 01:51
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^3: Javaによるプログラム制御
> リモート制御コマンド受け取ることの出来る機能を使って、パソコンからRCXを直接制御しようと思っています。
>  実際には、マインドストームで車輪型のロボットを作っているので、前進・後進・停止をリモート制御でできるようにしようと思っています。

 ということは、操作するのは人間なんですか〜?

投稿時間:03/01/18(Sat) 02:31
投稿者名:
Eメール:
URL :
タイトル:Re^4: Javaによるプログラム制御
>
>  ということは、操作するのは人間なんですか〜?

 そうです。ラジコンをパソコンとマインドストームでするようなものにしようと思っています。
 パソコンにはJavaで作ったウィンドウを作り、ウィンドウの中にある右と書かれたボタンを押せば、その通りに動くようにします。
 また、これができれば応用として、光センサーを車輪型につけこれを迷路の中を走らせ、光センサーの反応によってこの迷路の地図をパソコンの画面上に作れないかと思っています。まだ空論ですが。
 初歩の段階でつまずいているので、自分でも出来るか不安です。
 私事を書いてしまいました。すいません。

投稿時間:03/01/18(Sat) 02:41
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^5: Javaによるプログラム制御

>  そうです。ラジコンをパソコンとマインドストームでするよ
> うなものにしようと思っています。

少し具体的になってきましたね。

>  パソコンにはJavaで作ったウィンドウを作り、ウィンドウの
> 中にある右と書かれたボタンを押せば、その通りに動くようにします。

パソコン側のJavaで作った(AWT系のAPIで作るのかな?)でウインドウ
の中にはほかにどんなボタンがあるんですか?

とりあえず、どんなボタンを作るか教えてください。

>  また、これができれば応用として、光センサーを車輪型に
> つけこれを迷路の中を走らせ、光センサーの反応によって
> この迷路の地図をパソコンの画面上に作れないかと思っています。
それは可能だと思います。

>まだ空論ですが。
 はじめはなんでも、空論から始まりますから大丈夫でしょ。

>  初歩の段階でつまずいているので、自分でも出来るか不安です。
>  私事を書いてしまいました。すいません。

 あきらめないで続ければOKさ〜。

投稿時間:03/01/18(Sat) 03:01
投稿者名:
Eメール:
URL :
タイトル:Re^6: Javaによるプログラム制御
> とりあえず、どんなボタンを作るか教えてください。
>

車輪型の基本動作の前・後進、左・右折、停止の五つです。
これを基本にして、まずはウィンドウをつくり、これに迷路の地図を作るのに必要な機能を付加しようと思っています。
 とりあえず、車輪型の前にタッチセンサーを付け反応したら停止する機能と同時にウィンドウに「タッチセンサー反応:停止」など文字が出るような機能を持たせるつもりです。

投稿時間:03/01/18(Sat) 03:05
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^7: Javaによるプログラム制御

> 車輪型の基本動作の前・後進、左・右折、停止の五つです。

 前進・後進と言うのは、一度ボタンを押すと特定の時間だけ
前進するんですか〜?
 それとも、なにか障害物にあたるまで前進なんですか?

> これを基本にして、まずはウィンドウをつくり、これに
> 迷路の地図を作るのに必要な機能を付加しようと思っています。

 まあ、はじめはコントロールするところだけ作って
迷路の地図作りは、一段落してからでしょうね。

>  とりあえず、車輪型の前にタッチセンサーを付け反応
> したら停止する機能と同時にウィンドウに
>「タッチセンサー反応:停止」など文字が出るような
> 機能を持たせるつもりです。

後進はどうするつもりですか。 後ろにもタッチセンサー付ける
んですか?

投稿時間:03/01/18(Sat) 03:27
投稿者名:
Eメール:
URL :
タイトル:Re^8: Javaによるプログラム制御
>  前進・後進と言うのは、一度ボタンを押すと特定の時間だけ
> 前進するんですか〜?
>  それとも、なにか障害物にあたるまで前進なんですか?
>
そこはまだ考え中ですが、最初はタッチセンサーをつけないので、一定時間(50cm進むぐらい)前進するようにして、タッチセンサーをつければ障害物にあたるまで前進させようと思ってます。最終的には両方つけて、状況に応じて利用することも考えられます。

> 後進はどうするつもりですか。 後ろにもタッチセンサー付ける
> んですか?

 後進に関しては、一定時間(短距離)動かします。また、後進できない状況には左・右折で対応できると思っています。
 あくまで、人間の目で見て操縦するので問題はないと思います。
 最終的には、無人で迷路の地図を書くのが理想ですが、そこまでたどり着けるかは分からないので、今のところは有人ですることを考えています。

投稿時間:03/01/18(Sat) 03:37
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^9: Javaによるプログラム制御
なんだかスレッドが長くなってしまいましたね。
ちょうどよいので、涼 さん一度、今まで書いた事を
まとめて見ませんか

投稿時間:03/01/18(Sat) 04:25
投稿者名:
Eメール:
URL :
タイトル:Re^10: Javaによるプログラム制御
 現在、大学の研究でマインドストーム(基本セット 2.0)のリモート制御コマンド受け取ることの出来る機能を使って、パソコンからRCXを直接制御しようと思っています。
 実際には、マインドストームで車輪型のロボットを作っているので、前進・後進・停止をリモート制御でできるようにしようと思っています。
 つまり、ラジコンをパソコンとマインドストームでするようなのもです。 車輪型の基本動作の前・後進、左・右折、停止の五つを基本にして、まずはウィンドウをつくり、そのなかに五つのボタンをつけます。そして、ボタンを押せば書かれていることを実行します。
 詳しく述べると、前進と書かれているボタンを押せば一定時間(50cm進むぐらい)前進するようにし、後進にに対しても同じように一定時間後進するようにします。また、左・右折に関しては片方のモータを一定時間動かし曲がります。また、壁にぶつかったりする問題には、停止ボタンを押せば他の動作を停止して止まるようにします。
 このような基本的なものを作り、将来的には、有人操作ですが光センサーやタッチセンサーを車輪型につけこれを迷路の中を走らせ、各センサーの反応によってこの迷路の地図をパソコンの画面上に作れないかと思っています。とりあえずこの考えに近づくために、車輪型の前にタッチセンサーを付け反応したら停止する機能と同時にウィンドウに「タッチセンサー反応:停止」など文字が出るような機能を持たせるなど考えています。光センサーに関してはまだマインドストームに扱い慣れてないのもあり言えませんが、利用することはまちがいないです。
 このようなことをしようとしているのですが、最初のjavaをマインドストームに反映させる環境の設定が分かりません。(OSはWindowsXPです)
 今のところ、調べてJavaCommunicationsAPIとRCXJavaAPIをダウンロードしたのですが、この後どうすればよいのでしょうか。
 

投稿時間:03/01/19(Sun) 00:08
投稿者名:KUROI Mao
Eメール:
URL :
タイトル:Re^11: Javaによるプログラム制御
こんばんは。黒井と申します。
Jinさんが「調べる」≠「回答そのものを人に聞く」ではないことを
遠まわしに教えてくれているところなのに、いきなり回答してしまい
申し訳ないです。

>  つまり、ラジコンをパソコンとマインドストームでするようなのもです。

これの回答は3つあります。

>このようなことをしようとしているのですが、最初のjavaを
>マインドストームに反映させる環境の設定が分かりません。

調査の手順を示していないので何が「最初のjava…」最初なのか
分かりません。
分からないことを分かるようにするための第一歩は
「何がわからないかを理解する」ことです。分かっていることと
分からないことの切り分けを最小単位になるまで行うことで、
具体的に何が分からないか明確になります。明確になれば、
調べるのは簡単。1つ1つ地道につぶしていけばよいのです。
実際にはGoogleで詳細になった不明点をキーワード検索し、
情報集めます。あとは、集めた知識の材料を自分なりの解釈を
つけて整理し、また分からないところを同じように、つぶして
いけば自ずと答えがでることでしょう。

>今のところ、調べてJavaCommunicationsAPIとRCXJavaAPIを
>ダウンロードしたのですが、この後どうすればよいのでしょうか。

まず、RISのキットに入っている解説書を読みましょう。また、
おそらくソフトをインストールしたソフトウエア説明書(Readme.txt)等が
あるはずなので熟読しましょう。与えられた情報を全て
確認することは調査の基本です。
そこでRIS2.0でRCXと通信するにはUSB接続のIR-TOWERしか
同梱されていないことに気づくと思います。なのに、RCXJavaAPIは
JavaCommunicationsAPIを必要とするというところで、2つの疑問を
もつべきです。
(1)JavaCommunicationsAPIはシリアル、パラレルポートと通信する
  APIである。USB接続の機器は操作できないはず。
(2)なのにRCXJavaAPIはシリアルで接続している。
  ここから類推するに外国で売られているRISはシリアル接続
  TOWERなのではないか?またはRIS2.0という名前から、1.0などの
  バージョンがあって、そのときはシリアル接続で、2.0あたりで、
  USBになったのではないかと勘ぐる。
ここまでで、まず上記の仮説を調査しましょう。この答えは簡単に
でるはずです(ここのホームページの他のコーナに回答がある)。
すると、検索キーワードに「USB」がつくと思いますので、
それでまた、Googleに頼って検索をします。かなり核心にちかい
ものが見つかるでしょう。つまりUSBに対応したJavaAPIを
作った人がいるかを探すのです。(私のも含め数個見つかるでしょう。)
そうやって1つ1つ分かることと分からないことを切り分けながら
調べていきましょう。このように物を調べると、調べる過程で
今必要でないが後で「そういえば.....」と思い出せる知識が
増えていきます。

さて、回答ですが、
(1)Lejosを使う
(2)Java RCX APIを使う(世界資産sourceforge.netにあります)
(3)BRICONを使う(忙しくて2年間エンハンスしてない....)
お勧めは(1)のLejosを使い、PC側もRCX側もJavaで動かす。

以上です。

投稿時間:03/01/19(Sun) 01:18
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^12: Javaによるプログラム制御
こんにちは、JinSatoです。

> こんばんは。黒井と申します。
黒井さん、書き込みありがとう〜。

いきなり脱線ですが、問題があったら、自分も問題を出来る限り分離し
その1つ1つに調査対応をするというのは、いままで実際のプロジェクト
をこなしながら身につけてきました。  調査したらSDKのバグを見つけたり... 10年ほど前だったらメーカに問い合わせて、話がわかるやつを
捕まえて懸命でした。 今はInternetとGoogleがあるのでほんと便利ですが、反面、Netで検索して出てくるような事程度の事しかやってない
て証明ですね。
 以上、雑談でした〜

投稿時間:03/01/19(Sun) 22:01
投稿者名:mac
Eメール:">
URL :http://line.to/mac/MindStorms
タイトル:研究と宿題
> いきなり脱線ですが、問題があったら、自分も問題を出来る限り分離し
> その1つ1つに調査対応をするというのは、いままで実際のプロジェクト
> をこなしながら身につけてきました。

脱線に相乗りしてしまいますが、
「実際のプロジェクト」のようにミッションの最終的な目的を理解していれば、
トライ&エラーを繰り返しながらでも、徐々に高いところへ上っていけると思います。
行き詰まってしまっても、目的を達成する別のルートを自主的に探せるからです。

しかし、目前の与えられた「課題」を解こうとするだけでは、これはかなり難しいことだと思います。
「マインドストームをJAVAで制御しよう」、
「カメラによる画像をVisualC++6.0でIRタワーを用いて遂次RCX2.0制御する」
「レゴ・マインドストームを使い倒立振子の実験をする」
そういうことをはじめようとした目的は、なんだったのでしょう。

「担当教官に『そうしなさい』と言われたから」なら、
それは、最終目的で無くただの課題です。
リモコンと同じような制御をPCでするならJAVA以外にも、たくさん手段があります。
画像処理による制御をする場合でもVC++を使わなくたって良いはずです。
「倒立振子の実験」にMindStormsを選定したのはどうしてなのでしょう。
また、どうして「倒立振子」をすることになったのでしょう。

最終目的は、それぞれちゃんとあるはずです。
それを理解しないで、安易に質問して答えをもらい課題を解いたって、
それは「研究のマネゴト」、「ままごとサイエンス」です。

目的不明なら、課題を出した人に理解できるように説明しなかった責任があるし、
課題をもらった人には理解できないのに質問しなかった責任がある。

「卒業研究」は小学生が、宿題の計算ドリルを解いているんじゃないのだから、
何をするために、当面の課題に取り掛かっているのか、
ちゃんと理解し、質問するときはその目的を明示して欲しいと思います。

投稿時間:03/01/22(Wed) 15:42
投稿者名:JinSato
Eメール:
URL :
タイトル:Re: 研究と宿題
脱線ですが〜

> しかし、目前の与えられた「課題」を解こうとするだけでは、
> これはかなり難しいことだと思います。
ま、学校自体で、なぜ学校に行くのか〜とか
なぜその科目を勉強してるのか〜とか、真剣に考えている人は別かも
しれないけど、そうでない人もいらっしゃるのかもしれませんね。

> 「担当教ッに『そうしなさい』と言われたから」なら、
> それは、最終目的で無くただの課題です。
 学校の先生といっても、いろいろいますからね〜
 運のよい生徒は、先生との出会いで人生変わる人もいますからね〜


> 「卒業研究」は小学生が、宿題の計算ドリルを解いているんじゃ
> ないのだから、
> 何をするために、当面の課題に取り掛かっているのか、
> ちゃんと理解し、質問するときはその目的を明示して欲しいと
> 思います。
 その事がわかっている人は掲示板には書かないと思いますが
掲示板に書いて、他人から、そういわれて初めて気がつく人も
いると思いますね。

 それで、恥ずかしくなって自分の発言を削除したりするのかとは
思います。 きっと自分の発言を削除した人は、少しだけでも
考え方が広がったかも知れませんが、黙って消えてしまうタイプ
よりも、ちゃんと反省したとか気が付いたとか書いてくれたり
するタイプの方が好きですね〜(個人的には)

 



- Web Forum -