[openrtm-users 01647] Re: NXTRTCについて

kurihara shinji shinji.kurihara @ aist.go.jp
2011年 3月 3日 (木) 18:12:51 JST


加藤様

栗原です。

>   繋いだ先のNXT自体に別のプログラムを実行させておくことはできますでしょうか?
「別のプログラムを実行させておく」がどのような方法(別スレッド?)で実行されている
のかはわかりませんが、別のモータを制御する事は可能です。

NXTRTC.pyの"def onExecute(self,ec_idl):"内にあります以下の行
 vel_[self._mapping[self._map[0][0]]] = self._d_vel.data[0]
 vel_[self._mapping[self._map[0][1]]] = self._d_vel.data[1]
を、以下のようにして頂くことで、NXTのCのポートに接続されている
モータを動かす事ができます。
 vel_[0] = self._d_vel.data[0]
 vel_[1] = self._d_vel.data[1]
 vel_[2] = self._d_vel.data[1] # ここに”別のモータ”の速度を入力する。

”別のモータ”の速度を独自に変更したい場合は、速度を計算した
結果を"vel_[2] = "の行のself._d_vel.data[1]のところと置き
換えてみて下さい。

ちなみに、上記のように変更した場合、InPortに新しいデータが
届いた時のみモータが動きます。

上記の変更を行ったNXTRTC.pyを添付させて頂いております。


以上、宜しくお願い致します。



On Thu, 3 Mar 2011 14:16:26 +0900 (JST)
<trhr1104 @ yahoo.co.jp> wrote:

> 専門学校生 加藤です。
>    
>   パソコンからNXTRTCに繋ぎ制御することができました。
>   ありがとうございました。
>    
>   一つ質問があります。
>   繋いだ先のNXT自体に別のプログラムを実行させておくことはできますでしょうか?
>   一度やってみたのですがエラーが発生してしまいました。
>    
>   パソコンからモータA,Bを動かすプログラムを送信し、NXT側でモータA,Bが動いたときに別のモータを動かす。
>    
>   のような動作をさせたいです。
>   可能でしょうか?
>    
>   お時間頂けたらご教授お願いします。
>  
> 


-- 
----------
栗原 眞二 <shinji.kurihara @ aist.go.jp>

独立行政法人産業技術総合研究所
  知能システム研究部門 統合知能研究グループ
  〒305-8568
  茨城県つくば市梅園1-1-1 中央第2

  TEL: 029-861-5956
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: NXTRTC.py
型:         text/x-python
サイズ:     3787 バイト
説明:       無し
URL:        <http://www.openrtm.org/pipermail/openrtm-users/attachments/20110303/453da534/attachment-0001.py>


openrtm-users メーリングリストの案内