OpenRTM-aist (C++): チケット
https://www.openrtm.org/redmine/
https://www.openrtm.org/redmine/redmine/favicon.ico
2012-05-07T00:00:30Z
Redmine for OpenRTM-aist
Redmine
機能 #2418 (終了): ECからRTCコールバック呼び出しを参照からサーバントにすることで効率化する
https://www.openrtm.org/redmine/issues/2418
2012-05-07T00:00:30Z
n-ando
Noriaki.Ando@gmail.com
<p>現在のECはRTCをCORBA Object referenceで保持しているが、これをサーバントに変換した上でコールバックを呼び出すように変更する。<br />こうすることで、onExecuteなど呼び出し時間が重要になるコールバック関数においてパフォーマンスを向上させる。</p>
機能 #2369 (終了): rtm-configオプション追加
https://www.openrtm.org/redmine/issues/2369
2012-02-21T06:03:08Z
n-ando
Noriaki.Ando@gmail.com
<p>遅ればせながら私もopenrtm 1.1.0 に挑戦中なのですが,<br />いくつかディレクトリ構成が変わっているのに伴い,<br />rtm-configで以下の2つの機能(あるいはどちらかだけでも大丈夫でしょうか)があるといいかな,と思いました.</p>
<p>ただ,1.0.0 の rtm-configでもこれらのオプションを対応させなければいけないため,コストは高い気もします.<br />他によい方法をご存知の方がいたら教えてください.</p>
<p>1) XXXX/include/openrtm-1.1/rtm/idl ディレクトリだけを出力できるようになっていると,idlコンパイラなどへの引数で利用する<br /> g++ -c -O3 -march=native -Wall -pipe -fPIC `pkg-config --cflags<br />opencv` -I`rtm-config --prefix`/include/rtm/idl -o calib.o calib.cpp<br /> `rtm-config --idlc` `rtm-config --idlflags` -I`rtm-config<br />--prefix`/include/rtm/idl ../../idl/Img.idl<br /> ../../idl/Img.idl:6: No include path in which to find BasicDataType.idl<br /> ../../idl/Img.idl:39: Error in look-up of 'RTC::Time': 'RTC' not found<br /> ../../idl/Img.idl:47: Error in look-up of 'RTC::Time': 'RTC' not found<br /> ../../idl/Img.idl:62: Error in look-up of 'RTC::Time': 'RTC' not found<br />のようなコードがあったときに便利そうだ.</p>
<p>2) rtm-config --cflagsとすると,-Wall -fPIC<br />-gなども出力されますが,omniidlなどではこれらのオプションがエラーになる気がします.<br /> rtm-config --cflags-only-I などがあるといいかな,と思いました.<br />_<em><i></em></i>__<em>_</em>___________________________________</p>
機能 #2361 (終了): logger.clock_type
https://www.openrtm.org/redmine/issues/2361
2012-02-07T02:55:14Z
n-ando
Noriaki.Ando@gmail.com
<p>logger.clock_typeオプションを導入</p>
機能 #2311 (終了): どのコンポーネント個別confファイルを読んだか(&できれば内容も)」をRTC_DEBUG/TRACE_STRする
https://www.openrtm.org/redmine/issues/2311
2012-01-04T00:46:41Z
n-ando
Noriaki.Ando@gmail.com
<p>どのコンポーネント個別confファイルを読んだか(&できれば内容も)」をRTC_DEBUG/TRACE_STRする<br />@kumaroboさんより。</p>
<p>@robobiggles @openrtm_ando というわけで、「どのコンポーネント個別confファイルを読んだか(&できれば内容も)」をRTC_DEBUG/TRACE_STRするようにして頂けるとこういう不幸を避けやすくなるかと... #openrtm</p>
機能 #2304 (終了): LogicalTimeTriggeredExecutionContextを実装
https://www.openrtm.org/redmine/issues/2304
2011-12-19T05:01:06Z
n-ando
Noriaki.Ando@gmail.com
<p>LogicalTimeTriggeredExecutionContextを実装</p>
機能 #2303 (終了): LogicalTimeTriggeredExecutionContext.idlを定義・追加
https://www.openrtm.org/redmine/issues/2303
2011-12-19T05:00:41Z
n-ando
Noriaki.Ando@gmail.com
<p>LogicalTimeTriggeredExecutionContext.idlを定義・追加</p>
機能 #2166 (終了): InPortの構造を再検討する
https://www.openrtm.org/redmine/issues/2166
2011-06-15T08:24:23Z
kurihara
shinji0608@gmail.com
<p>InPortの構造を再検討する。</p>
<ul>
<li>isNew()とread()でロック機構がない。</li>
</ul>
機能 #2052 (終了): ComponentObserverConsumerの実装
https://www.openrtm.org/redmine/issues/2052
2011-02-23T00:14:11Z
n-ando
Noriaki.Ando@gmail.com
<p>RTCの内部状態の変化をフックし通知するためのSDOサービスコンシューマ ComponentObserverConsumer を実装する。</p>
<pre>
* RTCの各種状態の更新を知らせるためのオブザーバーオブジェクトのため
* のインターフェース。SDO Service として、対象となるRTC/SDOに対して
* アタッチされ、RTC/SDO内の状態が変更された場合に、変更された状態の
* 種類とヒントを同時に通知する。ツールなどで、ポーリングによらずRTC
* の状態の変化を知りたい場合などに利用する。
*
* 想定している利用方法は以下のとおりである。
*
* -# SDO::get_configuration() により Configuration オブジェクトを取得
* -# Configuration::add_service_profile() によりTool側の
* ComponentObserver を ServiceProfile により RTC に与える。
* ServiceProfile のメンバーは以下のように設定すること
* - id: UUID など一意なIDを設定する。削除時にも必要になるので、Tool
* 側ではIDを保持しておかなければならない。
* - interface_type: 当該サービスのIFRのIDを文字列として指定。RTC側で
* はこの文字列により当該サービスオブジェクトを受け入れるか決定す
* るため指定は必須となる。
* - properties: RTC側のサービスの受け入れ側に通知するプロパティを設
* 定する。このサービスでは、下記の heartbeat 関連のプロパティを
* 指定する。
* - service: SDOService オブジェクトの参照を指定する。
* -# RTC側で状態の変化があった場合に update_status() オペレーション
* が StatusKind および hint の文字列とともに呼び出される。Tool側
* では、StatusKind と hint に基づき RTC のある部分の状態が変化し
* たことを知り、必要な処理を行う。
* -# 最終的にComponentObserverオブジェクトが不要になった場合には、
* Configuration::remove_service_profile() を id とともに呼び出し
* RTC から削除する。
*
* <pre>
*
* [RTC] [Configuration] [Observer] [Tool]
* | | | |
* | | get_configuration() | |
* |<------------------------------------------------|
* | | | |
* | | add_service_profile(prof) |
* | |<-----------------------------------|
* | | | |
* | | update_status(kind, hint) |
* |----------------------------------->| |
* | | update_status(kind, hint) |
* |----------------------------------->| |
* | | : | |
* | | | |
* | | remove_service_profile(id) |
* | |<-----------------------------------|
* | | | |
* | | x x
*
* </pre>
*
* なお、ServiceProfile::properties に指定するプロパティとしては、
*
* - observed_status: ALL or kind of status
* - heartbeat.enable: YES/NO
* - heartbeat.interval: x [s]
*
* がある。
*
* - observed_staus: ALL または状態の種類をカンマ区切りで指定
* 監視する状態を指定する。指定可能な状態を表す文字列は、
* COMPONENT_PROFILE, RTC_STATUS, EC_STATUS, PORT_PROFILE,
* CONFIGURATION 5種類である。監視したい対象をカンマで区切り複数指
* 定することができる。また、すべての状態を監視する場合、ALL を指定
* することができる。指定文字列は大文字、小文字を問わない。
*
* - heartbeat.interval: 秒単位で数値で指定
* ハートビートを送信する周期を秒単位で指定する。なお、指定した秒数
* でハートビートが必ず送信される保証はない。したがって、RTCが死ん
* だかどうかを確認するには、heartbeat.interval 数回分の時間を待つ
* 必要がある。
*
* - heartbeat.enable: YES または NOで指定
* Tool側では、状態に変化があるまで RTC が生存しているかどうか知る
* ことはできないため、突然RTCが死んだ場合には、これを知ることがで
* きない。そこで、HEART_BEAT イベントを周期的にRTC側から送らせるこ
* とができる。ハートビートを有効にするか否かをこのオプションで指定
* する。
</pre>
機能 #1871 (終了): Version.txt の導入
https://www.openrtm.org/redmine/issues/1871
2010-09-30T08:04:05Z
n-ando
Noriaki.Ando@gmail.com
<p>現在使用しているバージョンを確認するためのVersion.txtを導入する。<br />バージョン番号にはリビジョン番号も併記する。</p>
機能 #1607 (終了): manager.modules.preload オプションで初期化関数を渡せるようにする
https://www.openrtm.org/redmine/issues/1607
2010-07-06T14:32:05Z
n-ando
Noriaki.Ando@gmail.com
<p>manager.modules.preload オプションで初期化関数を渡せるようにする。<br />例えば、<br />manager.modules.preload: Hoge.so (MunyaInit), Foo.so (BarInitialize FooInit)<br />こんな感じで。</p>
機能 #1048 (終了): ON_CONNECT/ON_DISCONNECTコールバックのテスト
https://www.openrtm.org/redmine/issues/1048
2010-01-08T02:52:45Z
n-ando
Noriaki.Ando@gmail.com
<p>ON_CONNECT/ON_DISCONNECTコールバックのテストを、(InPort|OutPort)(Push|Pull)Connector のユニットテストに対して追加してください。</p>
機能 #759 (終了): OpenRTM-aist(C++)-ポート接続時の"dataport.publisher"階層の導入
https://www.openrtm.org/redmine/issues/759
2009-07-02T07:05:52Z
匿名ユーザー
<p>ポート接続時の設定情報で、<br />publisher関係のプロパティを"dataport.publisher"階層に設定して動作するよう修正する。</p>
<p>1. rtc.conf(component.conf)で指定する方法</p>
<p> #============================================================<br /> # data port configurations<br /> #<br /> # conf ファイルで与えることができるプロパティ<br /> #<br /> # port.[port_name].dataport.interface_type: [corba_cdr, raw_tcp, etc..]<br /> # port.[port_name].dataport.dataflow_type: [push, pull]<br /> # port.[port_name].dataport.subscription_type: [flash, new, periodic]<br /> # port.[port_name].dataport.constraint: [constraint_specifier]<br /> # port.[port_name].dataport.fan_out: [number of connection, InPort only]<br /> # port.[port_name].dataport.fan_in: [number of connection, InPort only]<br /> #<br /> # publisher 関係のプロパティ ★<br /> # port.[port_name].dataport.publisher.push_rate: freq.<br /> # port.[port_name].dataport.publisher.push_policy: [all, new, skip, fifo]<br /> # port.[port_name].dataport.publisher.skip_count: [skip count]<br /> #<br /> # インターフェース依存のプロパティ指定方法<br /> # port.[port_name].dataport.[interface_type].[iface_dependent_options]:<br /> #<br /> # CORBA Any type dependent options<br /> # port.[port_name].dataport.corba_any.inport_ref: read only<br /> # port.[port_name].dataport.corba_any.outport_ref: read only<br /> #<br /> # Raw TCP type dependent options<br /> # port.[port_name].dataport.raw_tcp.server_addr:</p>
<p>2. ConnectorProfile::propertiesで指定する方法</p>
<p> #<br /> # 接続時に ConnectorProfile::properties で与えられるプロパティ<br /> # 上記のプロパティから port.[port_name] を削除したプロパティ<br /> #<br /> # dataport.interface_type: [corba_cdr, raw_tcp, etc..]<br /> # dataport.dataflow_type: [push, pull]<br /> # dataport.subscription_type: [flash, new, periodic]<br /> # dataport.constraint: [constraint_specifier]<br /> # dataport.fan_out: [number of connection, InPort only]<br /> # dataport.fan_in: [number of connection, InPort only]<br /> #<br /> # publisher 関係のプロパティ ★<br /> # dataport.publisher.push_policy: [all, new, skip, fifo]<br /> # dataport.publisher.push_rate: freq (subscription_type が periodic のときのみ)<br /> # dataport.publisher.skip_count: [skip count] (push_policy が skip のときのみ)<br /> #<br /> # dataport.[interface_type].[iface_dependent_options]:<br /> #</p>
機能 #632 (終了): OpenRTM-aist(C++)-v1.0.0 RC版のメモリーリーク調査
https://www.openrtm.org/redmine/issues/632
2009-05-25T01:56:42Z
匿名ユーザー
<p>OpenRTM-aist(C++)-v1.0.0 RC版に於けるメモリーリーク調査を行う。</p>
<p>チケット#530で行ったメモリーリークチェックのテストスクリプトを使用して調査を行う。</p>
機能 #530 (終了): メモリリークチェックのためのテストの作成
https://www.openrtm.org/redmine/issues/530
2009-04-14T00:24:53Z
n-ando
Noriaki.Ando@gmail.com
<p>メモリリークチャックのためのテストを作成する。<br />特に、CORBAオペレーション呼出においてリファレンスカウントの不整合によるリークを検出するためのツールを作成する。<br />したがって、C++コード内の細かいリークについては検出できない可能性がある。</p>
対象とするCORBAオペレーションは以下の2系統とする。
<ul>
<li>ステートレスな呼び出し</li>
<li>ステートフルな呼び出し</li>
</ul>
<p>テストにはPythonおよびrtc_handleを使用したLinuxで動作可能なテストスクリプトを作成すること。<br />リークチェックついては、当該関数を適当な回数呼び出し、RSSを見て増加しているようであればリークしていると判断する。<br />ステートレスな呼び出しテストに関しては、1オブジェクト1スクリプト、<br />ステートフルに関しては、対象オペレーション一つにつき1スクリプトを原則とする。</p>
機能 #322 (終了): ManagerのCORBA化
https://www.openrtm.org/redmine/issues/322
2009-01-10T10:27:11Z
n-ando
Noriaki.Ando@gmail.com
<p>ManagerをCORBAサーバント化し、外部からコンポーネントの生成・削除、システム状態の取得などが行えるようにすること。<br />主な機能としては、以下の機能を実装すること。</p>
<ul>
<li>モジュール関連機能
<ul>
<li>load_module(in string pathname, in string initfunc)</li>
<li>unload_module(in string pathname)</li>
<li>get_loadable_modules()</li>
<li>get_loaded_modules()</li>
</ul>
</li>
<li>RTCライフサイクル関連機能
<ul>
<li>get_factory_profiles()</li>
<li>create_component(in string module_name)</li>
<li>delete_component(in string instance_name)</li>
<li>get_components()</li>
<li>get_component_profiles()</li>
</ul>
</li>
<li>システム関連機能
<ul>
<li>get_profile()</li>
<li>get_configuration()</li>
<li>set_configuration(in string name, in string value)</li>
</ul>
</li>
<li>Manager関連機能
<ul>
<li>get_owner()</li>
<li>set_owner(in Manager mgr)</li>
<li>get_child()</li>
<li>set_child(in Manager mgr)</li>
</ul>
</li>
<li>プロセス管理機能
<ul>
<li>fork()</li>
<li>shutdown()</li>
<li>restart()</li>
</ul>
</li>
<li>その他
<ul>
<li>get_service(in string name)</li>
</ul></li>
</ul>
<p>また、Managerはネームサーバ上に特定の名前・Kindで登録可能にすること。</p>