Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RT System Editorでコネクタが表示されない場合がある #472

Open
Nobu19800 opened this issue Mar 16, 2022 · 0 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@Nobu19800
Copy link

Describe the bug
以下のConsoleInとConsoleOutはデータポートを接続しているが、コネクタが表示されない場合がある。

image

To Reproduce
Steps to reproduce the behavior:

  1. OpenRTM-aistをomniORBではなくTAOでビルドする(https://www.openrtm.org/openrtm/ja/node/7131)
  2. 以下のrtc.confでConsoleIn、ConsoleOutを起動する
logger.enable: YES
logger.log_level: DEBUG
#logger.file_name: stdout

corba.args: -ORBEndpoint iiop://: -ORBEndpoint diop://: -ORBSvcConf C:/workspace/openrtm/buildtao/install/2.0.0/ext/tao_diop/svc.conf
  1. RT System EditorでConsoleInとConsoleOutのデータポートを接続する
  2. See error

Reproducibility
100%

Expected behavior
コネクタが表示されてほしい。

Screenshots or Logs

Environment

  • OS: Windows 10
  • OpenRTM-aist master branch
  • OpenRTP 1.2

Additional context
RT System Editorでどのようにしてコネクタを表示するか、コネクタをどのポートから伸ばすかという判定をしているかは不明だが、PythonとomniORBで以下のようにネームサーバーから取得したオブジェクトリファレンスとコネクタから取得したオブジェクトリファレンスを_is_equivalent関数で比較したところ、特に問題なく比較できているようなのでRTCの通信やリファレンスに異常があるという事ではないようです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- Python -*-

import sys

import OpenRTM_aist
import OpenRTM_aist.CORBA_RTCUtil
from omniORB import CORBA


def main():
    mgr = OpenRTM_aist.Manager.init(sys.argv)
    mgr.activateManager()
    mgr.runManager(True)

    port_in_var = OpenRTM_aist.CORBA_RTCUtil.get_port_by_url(
        "rtcname://localhost:2809/*/ConsoleOut0.in")


    port_out_var = OpenRTM_aist.CORBA_RTCUtil.get_port_by_url(
        "rtcname://localhost:2809/*/ConsoleIn0.out")


    prof = port_out_var.get_connector_profiles()[0]
    ports = prof.ports
    print(ports[0].get_port_profile())
    print(ports[1].get_port_profile())

    print(port_out_var._is_equivalent(ports[0]))
    print(port_out_var._is_equivalent(ports[1]))
    print(port_in_var._is_equivalent(ports[0]))
    print(port_in_var._is_equivalent(ports[1]))

    prof = port_in_var.get_connector_profiles()[0]
    ports = prof.ports
    print(ports[0].get_port_profile())
    print(ports[1].get_port_profile())

    print(port_out_var._is_equivalent(ports[0]))
    print(port_out_var._is_equivalent(ports[1]))
    print(port_in_var._is_equivalent(ports[0]))
    print(port_in_var._is_equivalent(ports[1]))

    mgr.shutdown()


if __name__ == "__main__":
    main()
@Nobu19800 Nobu19800 added the bug Something isn't working label Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants