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

投稿時間:03/01/21(Tue) 18:58
投稿者名:ryotaro
Eメール:
URL :
タイトル:PCからRCXを直接制御する方法について
先日、PCからRCXを直接制御する方法について質問いたしましたryotaroと申します。MINDSTORMS(RIS2.0)基本セットで作成した二輪独立型移動ロボットに搭載されたカメラからの画像をPC(VisualC++6.0で作成したアプリケーション)に取り込み、取り込んだ画像データを同アプリケーション上で処理するプログラムは大体完成したのですが、画像処理により得られた結果(モータに送る指令)をVisualC++で作成したアプリケーションからUSB対応のIRタワーを通して、RCXに接続されているモータに直接かつ随時送る方法がどうしてもわかりません(インターネットなどでいろいろ調べてみたのですが、RIS2.0やMINDSTORMSを使いはじめたのはここ最近で、かつ移動ロボットを開発するのは初めてなので、理解できないことがほとんどでした)。身勝手な質問で大変申し訳ないのですが、これについてのアドバイスをいただけないでしょうか。よろしくお願いします。

投稿時間:03/01/22(Wed) 13:58
投稿者名:JinSato
Eメール:
URL :
タイトル:Re: PCからRCXを直接制御する方法について
> 先日、PCからRCXを直接制御する方法について質問いたしました
>ryotaroと申します。MINDSTORMS(RIS2.0)基本セットで作成した
>二輪独立型移動ロボットに搭載されたカメラからの画像をPC<
>(VisualC++6.0で作成したアプリケーション)に取り込み、
>取り込んだ画像データを同アプリケーション上で処理する
>プログラムは大体完成したのですが ...
(長いので一度ここできりました)

カメラは何を使ったのですか〜? もしもよかったらどんな全体像
なのか見せてくれるとうれしいです。


>画像処理により得られた結果(モータに送る指令)
どんな命令なんでしょうか〜?
 前進しろとか、とまれとか、そういう事ですか〜?

>をVisualC++で作成したアプリケーションからUSB対応のIRタワーを
>通して、RCXに接続されているモータに直接かつ随時送る方法が
>どうしてもわかりません
ということは、VisualC++から、IRタワーに対してのコマンドの
送り方はわかるんですか〜?



>(インターネットなどでいろいろ調べてみたのですが、RIS2.0
>やMINDSTORMSを使いはじめたのはここ最近で、かつ移動ロボット
>を開発するのは初めてなので、理解できないことがほとんどでした)。
 具体的に、どのサイトの、何を理解できなかったのかも書いて
 ください〜。

>身勝手な質問で大変申しclいのですが、これについてのアドバイス
>をいただけないでしょうか。よろしくお願いします。

 私は学校の先生じゃ〜ないのですが。 アドバイスとしては
 mac さんも書いてきれたし、他のスレッドでもかかれていますが
 わからなかった事を人に説明できるようになれるようにがんばって
 見てください。

 あと、すでにソースコードなど公開されているものがありますので
 それを読みましょう。
 読むのは楽じゃないですし、見る目がないと目的のところ
 も見つけることが出来ないと思いますが、それは、だれでもはじめは
 そういう状態からはじめてますので、あきらめないで続けるしか
 無いんじゃないかと思います〜。 がんばってください。

投稿時間:03/01/24(Fri) 15:31
投稿者名:ryotaro
Eメール:
URL :
タイトル:Re^2: PCからRCXを直接制御する方法について
> カメラは何を使ったのですか〜? 
小型のUSBカメラを使用しています。移動ロボットはカメラからの画像データを元に障害物や壁に触れずに壁沿いぎりぎりを走行させようと考えています(バンパーに障害物が接触し、タッチセンサが反応したら移動方向を変えるといったものではありません)。

> 前進しろとか、とまれとか、そういう事ですか〜?
はい。移動ロボットが壁沿いを走行中に移動方向に障害物が現れたとき、カメラからの画像データを元に、障害物を回避するための停止・減速・旋回などの命令をPC(VisualC++アプリケーション)から直接モーターに送るということです(壁に触れずに移動ロボットが壁沿いぎりぎりを走行するのにもカメラからの画像データが必要なので、カメラから送られてくる画像データを実時間処理してモーターに随時命令を送るといったものです)。

> ということは、VisualC++から、IRタワーに対してのコマンドの
> 送り方はわかるんですか〜?
はずかしながら現段階ではまだわかっておりません。VisualC++を使ったLEGOプログラミング(USBタワー対応)についてのホームページや参考書などがあれば教えていただけないでしょうか。

投稿時間:03/01/24(Fri) 19:38
投稿者名:suzy
Eメール:tsato@crux.ocn.ne.jp
URL :
タイトル:Re^3: PCからRCXを直接制御する方法について
カメラの画像でコンピューター側から制御するのだから、
モーターの回転制御だけ出来ればよいのですよね。

コマンド送る時は前進しろといった命令ではなく、ビット単位で意味がある。
それを踏まえてmacさんのアップしてくれたソース見ると
remoconDlg.cppの中のCRemoconDlg::sendcomm()がコマンド送るコア部分。
でもってm_command1とm_command2に何かセットしてあるとモーターが制御出来ることになりますネ。
でその下void CRemoconDlg::OnStop()以下一連のところになにをセットすればどうなるか書いてある一連の関数がありますね。

#define M_AF 0x08 // Motor A forwards・・・
なんて書いてあるところに、なんでMotor C backwardsが無いのかは自分で考えて見ましょう。

もっと細かい点が知りたいときは他の方の書かれたリンクたどると分かると思いますヨ。

投稿時間:03/01/28(Tue) 18:26
投稿者名:ryotaro
Eメール:
URL :
タイトル:Re^4: PCからRCXを直接制御する方法について
JinSato様、mac様、ならびにsuzy様お返事有難うございますm(__)m 現在大学のテスト期間中のため、研究には手が回らない状態でして、大変申し訳ないのですが、テストが終わり次第、皆様からいただいたアドバイスを参考にさせていただき、結果の報告を致します。今後もお世話になると思いますが、よろしくお願い致します。

投稿時間:03/01/24(Fri) 16:50
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^3: PCからRCXを直接制御する方法について

>> ということは、VisualC++から、IRタワーに対してのコマンドの
>> 送り方はわかるんですか〜?

> はずかしながら現段階ではまだわかっておりません。VisualC++
>を使ったLEGOプログラミング(USBタワー対応)についてのホーム
>ページや参考書などがあれば教えていただけないでしょうか。

SDK2.5などをダウンロードされましたか?

ほかのスレッドや過去のLOGなども参考になるところはいっぱい
有ると思ったんですが、どこも読まなかったのですか?

投稿時間:03/01/24(Fri) 16:28
投稿者名:mac
Eメール:">
URL :http://line.to/mac/MindStorms
タイトル:Re^3: PCからRCXを直接制御する方法について
> > ということは、VisualC++から、IRタワーに対してのコマンドの
> > 送り方はわかるんですか〜?
> はずかしながら現段階ではまだわかっておりません。VisualC++を使ったLEGOプログラミング(USBタワー対応)についてのホームページや参考書などがあれば教えていただけないでしょうか。

http://www.line.to/mac/MindStorms/faq/index.html#pc_cont
のサンプルをみてもわからないのでしょうか?

投稿時間:03/01/22(Wed) 15:07
投稿者名:mac
Eメール:">
URL :http://line.to/mac/MindStorms
タイトル:Re^2: PCからRCXを直接制御する方法について
>  あと、すでにソースコードなど公開されているものがありますので
>  それを読みましょう。

ということなので、「サルにもわかる」クラスのサンプルを書きました (^o^)
http://www.line.to/mac/MindStorms/faq/index.html#pc_cont

投稿時間:03/01/22(Wed) 15:34
投稿者名:JinSato
Eメール:
URL :
タイトル:Re^3: PCからRCXを直接制御する方法について
どうも〜mac さん
> http://www.line.to/mac/MindStorms/faq/index.html#pc_cont
拝見しました〜 ご苦労様&ありがとうございました。

VisualC++のコードですね。 

考えてみると、自分も結構、ロボコンマガジンでVisualBasicの
サンプルコードは書いているんですけど、それを見て書いている
人もいるかもしれませんが、それを見てない人がここで質問を
するのかもしれませんね〜。

次からは、mac さんのコードと、ロボコンマガジンを読んでね〜
と書いておくのがよいかもしれませんね。

いずれにせよ。 今度日本にいくのですが、帰ってきたら
掲示板の整理を行おうと思います〜

投稿時間:03/01/23(Thu) 22:18
投稿者名:mac
Eメール:">
URL :http://line.to/mac/MindStorms
タイトル:雑談
> > http://www.line.to/mac/MindStorms/faq/index.html#pc_cont
> 拝見しました〜 ご苦労様&ありがとうございました。

1時間足らずで書いたコードなので、余り良く見ると目が腐る危険性がありますのでご注意ください。

> VisualC++のコードですね。 

この頃、VC++で書かないとやっていけないジョブが入ってきます。
まあ、使う言語や環境に「こだわり」はないんですが、
CVSのような、来歴管理が十分にできないし、
Dialog Editorとか、Icon Editorまで、統合環境を押し付けられるのは、
余り好きになれませんね。

PhotoShop/Illustratorで絵を書いてGUIをつくり、
C, C++, Fortran, Lisp, Prologなどをごちゃ混ぜにして、
Linkできる環境が欲しいなあ。
# あれ、JAVAが故意に抜けたような... (^o^)

> いずれにせよ。 今度日本にいくのですが、帰ってきたら
> 掲示板の整理を行おうと思います〜

残念ながら、フロンティアが喜ぶItemとしてのMindStormsは、
既に終わってしまったようですね。
それほど性能は望まなくてもSelf Vision Systemや、
Bluetoothで交信する次世代のRCXが出現するのを、
期待していたのですが...

このBBSの役割が変わってしまうのも仕方ないことでしょう。

投稿時間:03/01/22(Wed) 13:14
投稿者名:mac
Eメール:">
URL :http://line.to/mac/MindStorms
タイトル:何を調べたのでしょう?
> VisualC++で作成したアプリケーションからUSB対応のIRタワーを通して、RCXに接続されているモータに直接かつ随時送る方法がどうしてもわかりません

MindStorms SDK2.5のドキュメントは全部読みましたか?
あるいは、BricxCC, NQCのソースコードを読みましたか?

Phantom - The Spirit.ocx Replacement
http://members.cox.net/pbrick-alpha/Phantom.htm
を試してみたでしょうか?

RCX Internals
http://graphics.stanford.edu/~kekoa/rcx/
の情報も、Serial Towerだけでなく、USBでも有用です。



- Web Forum -