彼女と富士そばとかけそば
5年前はお金が本当になかった。 だから、彼女と富士そばに行くのはちょっとした贅沢だった。
このかけそばを食べながら、彼女と将来について語り合うのが本当に楽しかった。
「いまはこんなだけど、5年後はもっといいものを食べれるように頑張るよ、そしたらそばよしに行こう」 「うん、楽しみにしてる」
あれから5年。 オレは変わった。収入も増え、好きなものが好きなだけ食べられるようになった。
そう、変われたんだ。
いまならみんなが憧れるそばよしだって行けるようになった。
トッピングにかき揚げだって載せられるし、ライスと生卵も追加してT.K.Gにだってできる。
みてみろこのサクサクのかき揚げを。
どうだ、このぷっくりしたタマゴ。
付いてくる粉かつおを使えば、卵かけおかかごはんになっちゃうだぜ。
でもなんだろう、こんなに豪勢で彼女を満足させられるものを食べられるようになったのに、あの頃とは変わったのに。。。
そうだ、最も変わったものがある。 彼女がオレの元から去ったんだ。
半年前、彼女はこう言って別れを告げられた。 「変わっちゃったね。アナタのことは今でも嫌いではないけれど、変わってほしくないものがあった」
オレはどう変わってしまったんだろう? 自問自答が続いた。そして想う。 やっぱりオレは富士そばでいいや、と。
ふと入ったあの頃と変わらない富士そばに入り、あの頃と変わらないかけそばを注文する。
幸せだった頃の味を噛み締める。 だけど、、、左を見ると、いつも隣にあったあった風景が何もない。
改めて想う。いなくなっちゃったんだな。。。 変わっちゃいけないものもあるんだと。 その気持ちも噛み締めながら今日も富士そばのかけそばを食べる。
やっぱりオレは富士そばのかけそばがいいや、と。
メリークリスマス。
おわり。
※この物語はフィクションです。登場する人物・団体・名称等は架空であり、実在のものとは関係ありません。
【オマケ】 さて今回気づいたことですが、富士そばではこんなのがあるらしいです。
ということは富士そばではセンベロが実現するということでは!?
こちら、なんと400円! ハイボールや枝豆、唐揚げもある! カウンター以外のテーブル席がある店舗なら宴会だってできるぞ! 石神井公園駅前店はありました(しかも店舗が綺麗)
ぜひ、富士そばでセンベロを堪能してみては?
RTミドルウェアの講習会を受けてきたので復習(2)
昨日に続いて、AdventCalendar4日目はRTミドルウェア講習会の復習です。
RTミドルウエアとRTコンポーネントの関係について
まずはここにつまづくのだがRTミドルウエアとRTコンポーネントとは具体的には どういうものなんだろう。
デバイス制御や、制御アルゴリズム、アプリケーションなどロジック箱(フレームワーク)に入れたもの、 これをRTコンポーネント(RTC)と言います。
そしてRTCの実行環境(OSのようなもの)としてRTミドルウェアがあるという訳です。
RTコンポーネントの主な機能
ここは後日追記します。 
RTCの分割と連携
ここは後日追記します。
(モジュール)情報の隠蔽と公開のルールが重要
RTミドルウエアによる分散システム
例えば以下のような条件でネットワーク上に分散しているとします。
- ロボットA:RTCを2つ利用したRTM、OSはSolaris
- ロボットB:RTCを2つ利用したRTM、OSはFreeBSD
- ロボットC:RTCを3つ利用したRTM、OSはARTLinux
- アプリケーション:RTCを2つ利用したRTM、OSはLinux
- 操作デバイス:RTCを2つ利用したRTM、OSはWindows
- センサ:RTCを2つ利用したRTM、OSはTRON
こうした条件でもRTMにより、 ネットワーク上に分散するRTCを OS・言語の壁を越えて接続することができ、 また、RTC同士の接続は、プログラム実行中に動的に行うことが出来ます。
RTMの国際標準化
このRTM、RTCは日本で一人歩きしているわけではありません。 以下の流れでOMG RTCの標準化されています。
- 2005年9月:RFP: Robot Technology Components (RTCs) 公開。
- 2006年2月:Initial Response : PIM and PSM for RTComponent を執筆し提出。提案者:AIST(日)、RTI(米)
- 2006年4月:両者の提案を統合した仕様を提案
- 2006年9月:ABにて承認、事実上の国際標準獲得 FTFが組織され最終文書化開始
- 2007年8月:FTFの最後の投票が終了
- 2007年9月:ABにてFTFの結果を報告、承認
- 2008年4月:OMG RTC標準仕様 ver.1.0公式リリース
- 2010年1月:OpenRTM-aist-1.0リリース
- 2012年9月:ver. 1.1改定
- 2014年12月:FSM4RTC(FSM型RTCとデータポート標準) Beta1
OMG RTC ファミリについて
表にするのが大変なので後日追記します。
応用例
RTMは以下のような応用例があります。
研究用プラットフォーム
- HRP-2(川田工業)
- HRP-4(川田工業)
- HIRO(川田工業)
- ビュートローバーRTC/RTC-BT(VSTONE)
- OROCHI(アールティ)
その他
- S-ONE:SCHAFT
- HRP-4C: AIST
- TAIZOU: GRX
- DAQ-Middleware: KEK/J-PARC
- 災害対応ロボット操縦シミュレータ: NEDO/千葉工大
- RAPUDA:Life Robotics
- 新日本電工他: Mobile SEM
- 新日本電工他: 小型ベクレルカウンタ
RT-Middleware関連プロジェクトとRTミドルウエアの広がり
ここは面倒なので後日追記します。
知見について
RTMのウェブサイトには以下のコンテンツがあるので一度見てみることをお勧めします。
- プロジェクトページ:ユーザが自分の作品を登録することができ、他のユーザの作った RTCを探すことができます。
- ハードウエア集:OpenRTMで利用可能なハードウエアのリストで、ハードウエアを利用するために利用できるコンポーネントがリスト化されています。
- NEDO RTコンポーネント集:NEDO知能化PJ成果物の特別ページを設置しています(ツール/作業知能モジュール/移動知能モジュール/対話知能モジュール /商用ライセンスモジュール)。
イベントについて
またRTMは以下のイベントをやったりしています。
- サマーキャンプ
- RTミドルウエアコンテスト
AISTからの提言
最後に以下のことをAISTは提言しています。
自前主義はやめよう!!
- 書きたてのコードより、いろいろな人に何万回も実行されたコードの ほうが動くコードである!!
- 自分にとって本質的でない部分は任せて、本当にやりたい部分・やる べき部分のコードを書こう!!
- 誰かがリリースしたプログラムは一度は動いたことがあるプログラム である!!
- 人のコードを読むのが面倒だからと捨ててしまうのはもったいない! !
オープンソースにコミットしよう!!
- 臆せずMLやフォーラムで質問しよう!!
- どんなに初歩的な質問でも他の人にとっては価値ある情報である。 – 要望を積極的にあげよう!!
- できればデバッグしてパッチを送ろう!
という訳で次回は実際のRTMに触った部分を書きますが、 Advent Calendarの当番は12/7以降になるので、その日まで^ ^
RTミドルウェアの講習会を受けてきたので復習(1)
12/2は国際ロボット展の初日でしたが、 この日産総研にてRTミドルウェアの講習会がありましたので参加してきました。
その復習&備忘録を含めてAdventCalendarの3日目、4日目はこれをテーマにすることにしました。
RT-ミドルウェアとは
RT-ミドルウェア (RTM)とは、RT要素のインテグレーションのためのミドルウエアのことで、 RTはRobot Technologyの略になります。RTは具体的には、単体のロボットだけでなく、さまざまなロボット技術に基づく機能要素 (センサ、アクチュエータ, 制御スキーム、アルゴリズム、 etc....)も含んでいます。
このRT-ミドルウェアにおけるソフトウエアの基本単位をRT-Component (RTC)と言います。 ここでもRTCということになります。
これからのWebエンジニアはRTCという言葉に出会ったとき - webRTC - RealTime Clock - RT-Component の3つの可能性があるということに気をつけてくださいw
さてなぜこの概念が必要かというと従来のシステムでは、 例えばジョイスティックでロボットのアームを動かしたい時、ジョイスティック側のソフトウェアとアーム側のコントロールのソフトウェアが必要です。
しかし、現実的にはロボットはたくさんありインターフェースは色々で、互換性が無ければつながりません。 ですのでRTミドルウエアというもので別々に作られたソフトウエアモジュール同士を繋ぐための共通インターフェース をつくることで ソフトウェアの汎用性、再利用性の向上し、システム構築が容易になるという思想のもとにつくられています。
モジュール化のメリットとRTコンポーネント化のメリット
モジュール化のメリットは以下のとおりです。
- 再利用性の向上:同じコンポーネントをいろいろなシステムに使いまわせる
- 選択肢の多様化:同じ機能を持つ複数のモジュールを試すことができる
- 柔軟性の向上:モジュール接続構成かえるだけで様々なシステムを構築 できる
- 信頼性の向上:モジュール単位でテスト可能なため信頼性が向上する
- 堅牢性の向上:システムがモジュールで分割されているので、一つの問 題が全体に波及しにくい
また、それに加えてコンポーネント化すると以下のメリットが生まれます。
- ソフトウエアパターンを提供:ロボットに特有のソフトウエアパターンを提供することで、体系的なシステム構築が可能
- フレームワークの提供:フレームワークが提供されているので、コアのロジックに 集中できる
- 分散ミドルウエア:ロボット体内LANやネットワークロボットなど、分散システ ムを容易に構築可能
モジュール化によっていろんな問題が解決!
モジュール化によってどのような問題が解決されるでしょうか?
モジュール化により、再利用可能になるのでロボットの開発が低コスト化され「コストの問題」の解決されます。
次に、システム開発者にとって常にコンポーネント化された最新の理論・ アルゴリズムといった最新技術を利用可能することができるので「技術の問題」の解決されます。
そして、これらはカスタマイズが容易なので多様なユーザによる多様なニーズに対応できるという「ニーズの問題」が解決されます。
こういった問題を解決することでロボットシステムインテグレーションによるイノベーションが可能になるのです。
長くなったので、続きはまた明日。
Sotaに直接ログインしてみた。【Intel Edison版】
ロボットのAdvent Calrendar初日ということで何をやろうか考えましたが、 何も思い浮かばず、、、
というわけでちょうどSotaに直接ログインする機会があったので
その内容を最初の記事としたいと思います。