[openrtm-users 01415] Regarding connecting OpenRTM components in windows on computer with 2 interfaces

5 個の投稿 / 0 new
最終投稿
root
オフライン
Last seen: 2日 18時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01415] Regarding connecting OpenRTM components in windows on computer with 2 interfaces

Hi all, I am developing and testing my OpenRTM components on two computers each with 2 interfaces (one LAN and one wireless )I am using windows on both these two machines, therefore configuring components through rtc.conf described here
http://www.openrtm.org/openrtm/en/content/troubleshooting don't really apply. I tried set OMNIORB_USEHOSTNAME environment variable to the interface I am using,
but I still get "NameServer connection failed: corba/localhost" error. Does anyone know how to configure component properly on windows? so it's connected to its nameserver  and when I launch system editor on one of the machines,
I can see components on both computers.Any help is appreciated!ThanksTony

未定義
root
オフライン
Last seen: 2日 18時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01418] Regarding connecting OpenRTM components i

Hi Tony,

On 28/09/10 06:14, Tony Kuo wrote:
> Hi all,
> I am developing and testing my OpenRTM components on two computers each
> with 2 interfaces (one LAN and one wireless )
> I am using windows on both these two machines, therefore configuring
> components through rtc.conf described here
> http://www.openrtm.org/openrtm/en/content/troubleshooting don't really
> apply.
>
> I tried set OMNIORB_USEHOSTNAME environment variable to the interface I
> am using,
> but I still get "NameServer connection failed: corba/localhost" error.
>
> Does anyone know how to configure component properly on windows?
> so it's connected to its nameserver
> and when I launch system editor on one of the machines,
> I can see components on both computers.

The number of interfaces on a computer should, in general, not make much
difference. Particularly in the case of running the name server on
another computer, it doesn't matter how many interfaces you have - as
long as at least one has a route to the computer running the name server.

Sometimes, though, multiple interfaces or other network
mis-configurations can throw off omniORB, causing components to be
unable to reach the name server even from the local computer. We see
this particularly often in Windows. The solution is to configure the
endpoints for the ORB manually. You can read about endpoints here:

http://omniorb.sourceforge.net/omni41/omniORB/omniORB008.html#toc42

We support setting the ORB endpoints in rtc.conf. The page you linked to
does describe this, but OMNIORB_USEHOSTNAME is only half the story. You
also need to set the corba.endpoints (note the plural; the
troubleshooting page apparently needs updating) option in rtc.conf for
the components.

When you have multiple computers, you have two options for registration
management:

a) Run a single name server on one computer. Configure components on
other computers to register on that using corba.nameservers. You can
specify multiple name servers in this option if you want a component to
register in multiple places.
b) Run a name server on each computer. Each component registers on the
name server on its local computer. In RTSystemEditor, add all the name
servers to the name server view. In rtcshell, set RTCTREE_NAMESERVERS to
a semi-colon-separated list of the name server addresses (or just
specify them directly in paths).
c) I guess there's a third option: you can run as many name servers as
you like wherever you like, even on a single computer if you use
different ports.

Geoff

root
オフライン
Last seen: 2日 18時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01420] Regarding connecting OpenRTM components i

Hi Geoff:Thank you for your answer!!It's very useful!The first or second option is probably what i will go for. I was testing my components, and actually just found out that, if you put a copy of rtc.conf in the same directory as the component to run,
the component will use that configuration in the conf file to initiailise.My components could connect to the nameserver if I specify the right nameserver IP in the conf (via corba.nameservers)Do they work in the same way as corba.endpoints?
I will read into the link!Thanks so much!Regards,TonyOn 28 September 2010 14:17, Geoffrey Biggs <> wrote:

Hi Tony,

On 28/09/10 06:14, Tony Kuo wrote:
> Hi all,
> I am developing and testing my OpenRTM components on two computers each
> with 2 interfaces (one LAN and one wireless )
> I am using windows on both these two machines, therefore configuring
> components through rtc.conf described here
> http://www.openrtm.org/openrtm/en/content/troubleshooting don't really
> apply.
>
> I tried set OMNIORB_USEHOSTNAME environment variable to the interface I
> am using,
> but I still get "NameServer connection failed: corba/localhost" error.
>
> Does anyone know how to configure component properly on windows?
> so it's connected to its nameserver
>  and when I launch system editor on one of the machines,
> I can see components on both computers.

The number of interfaces on a computer should, in general, not make much
difference. Particularly in the case of running the name server on
another computer, it doesn't matter how many interfaces you have - as
long as at least one has a route to the computer running the name server.

Sometimes, though, multiple interfaces or other network
mis-configurations can throw off omniORB, causing components to be
unable to reach the name server even from the local computer. We see
this particularly often in Windows. The solution is to configure the
endpoints for the ORB manually. You can read about endpoints here:

http://omniorb.sourceforge.net/omni41/omniORB/omniORB008.html#toc42

We support setting the ORB endpoints in rtc.conf. The page you linked to
does describe this, but OMNIORB_USEHOSTNAME is only half the story. You
also need to set the corba.endpoints (note the plural; the
troubleshooting page apparently needs updating) option in rtc.conf for
the components.

When you have multiple computers, you have two options for registration
management:

a) Run a single name server on one computer. Configure components on
other computers to register on that using corba.nameservers. You can
specify multiple name servers in this option if you want a component to
register in multiple places.
b) Run a name server on each computer. Each component registers on the
name server on its local computer. In RTSystemEditor, add all the name
servers to the name server view. In rtcshell, set RTCTREE_NAMESERVERS to
a semi-colon-separated list of the name server addresses (or just
specify them directly in paths).
c) I guess there's a third option: you can run as many name servers as
you like wherever you like, even on a single computer if you use
different ports.

Geoff

root
オフライン
Last seen: 2日 18時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01422] Regarding connecting OpenRTM components i

On 28/09/10 12:30, Tony Kuo wrote:
> Hi Geoff:
> Thank you for your answer!!
> It's very useful!
>
> The first or second option is probably what i will go for.
>
> I was testing my components, and actually just found out that,
> if you put a copy of rtc.conf in the same directory as the component to run,
> the component will use that configuration in the conf file to initiailise.

Yes, they will. When a manager starts (starting a component in
stand-alone mode starts a manager just for that component
automatically), it looks through a chain of places for a configuration file:

1) The file specified on the command line using the -c option.
2) An rtc.conf file in the current working directory.
3) etc/ under the install prefix.
4) /etc

> My components could connect to the nameserver
> if I specify the right nameserver IP in the conf (via corba.nameservers)
> Do they work in the same way as corba.endpoints?

The endpoints setting is for other objects to connect to the component's
ORB in order to make remote procedure calls. It is only needed when the
ORB cannot figure out for itself which interfaces/addresses to bind to.
It does not tell the component which name server to connect to.

Geoff

root
オフライン
Last seen: 2日 18時間 前
登録日: 2009-06-23 14:31
[openrtm-users 01429] Regarding connecting OpenRTM components i

Hi Geoff:I think you made a little mistake here.  It's the switch f (-f) that allows you to specify the rtc.conf you wanna use on the command line, not -cI am using windowsThanksTony
On 28 September 2010 16:51, Geoffrey Biggs <> wrote:

On 28/09/10 12:30, Tony Kuo wrote:
> Hi Geoff:
> Thank you for your answer!!
> It's very useful!
>
> The first or second option is probably what i will go for.
>
> I was testing my components, and actually just found out that,
> if you put a copy of rtc.conf in the same directory as the component to run,
> the component will use that configuration in the conf file to initiailise.

Yes, they will. When a manager starts (starting a component in
stand-alone mode starts a manager just for that component
automatically), it looks through a chain of places for a configuration file:

1) The file specified on the command line using the -c option.
2) An rtc.conf file in the current working directory.
3) etc/ under the install prefix.
4) /etc

> My components could connect to the nameserver
> if I specify the right nameserver IP in the conf (via corba.nameservers)
> Do they work in the same way as corba.endpoints?

The endpoints setting is for other objects to connect to the component's
ORB in order to make remote procedure calls. It is only needed when the
ORB cannot figure out for itself which interfaces/addresses to bind to.
It does not tell the component which name server to connect to.

Geoff

コメントを投稿するにはログインまたはユーザー登録を行ってください

ダウンロード

最新バージョン : 2.0.1-RELESE

統計

Webサイト統計
ユーザ数:2195
プロジェクト統計
RTコンポーネント307
RTミドルウエア35
ツール22
文書・仕様書2

Choreonoid

モーションエディタ/シミュレータ

OpenHRP3

動力学シミュレータ

OpenRTP

統合開発プラットフォーム

産総研RTC集

産総研が提供するRTC集

TORK

東京オープンソースロボティクス協会

DAQ-Middleware

ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク