RobotOperatingSystem

context: RobotOperatingSystem(ROS)とは、ロボット用のソフトウェアプラットフォームである。ROSはその名に「OperatingSystem」を含むが、MicrosoftWindowsやiOSのようなコンピュータのオペレーティングシステム(OS)ではなく、既存のOS上で動くミドルウェアやソフトウェアフレームワークの一種であり、「メタオペレーティングシステム」(meta-operatingsystem)とも説明される。

ROSはロボットソフトウェアの共同開発を世界規模で推進することを目指している。スタンフォード大学の学生が開発した「Switchyard」プロジェクトを起源にもち、それを引き継いだアメリカのウィローガレージ社が2007年に本格開発を開始し、2010年に最初のリリース版が公開された。その後、非営利団体「オープンソースロボット財団」が設立され、ROSの開発を主導する役割が引き継がれた。オープンソースソフトウェアとして開発・公開されており、世界中から多くの人々が開発に参加している。
qas: question: 「Switchyard」プロジェクトをを開発した学生たちはどの大学の所属なの?
answers: text: スタンフォード大学

context: ROSの起源は、アメリカのスタンフォード大学の学生で人工知能研究所のStanfordAIRobot(STAIR)プロジェクトに参加していたモーガン・クィグリーが開発した「Switchyard」システムである。Switchyardは、ロボット用ソフトウェアを開発するためのフレームワークであり、認識・計画・制御といった知能情報処理をロボット内外で分散処理できるよう並列計算を前提とし、各計算プロセスはピア・ツー・ピアネットワークで非同期通信を行う設計であった。複数の研究者による利用を前提としたモジュール性有し、新しいハードウェアへの適用を考えて、ロボットのハードウェアに依存する部分としない部分を明確に分けた設計がされた。また、Switchyardではソースコードの審美性も重要視されたほか、デプロイシステムを導入するなど、のちに繋がるアイディアが含まれていた。
qas: question: 「Switchyard」システムを開発したのは誰なの?
answers: text: モーガン・クィグリー

context: 2007年11月、アメリカのロボット関連民間企業であるウィローガレージ社がSwitchyardの開発を引き継いだ。同社は、パーソナルロボットやサービスロボット産業の育成に取り組み、画像処理分野のオープンソースソフトウェア「OpenCV」などの開発支援も行なった企業である。さらに、のちにROSのネットワークプログラムに大きな影響を与えるPlayer/Stageプロジェクトの開発者であるブライアン・ガ―キーも加わった。彼らによってSwitchyardプロジェクトはROSとして組織化され、ROSがロボット用フレームワークとして多くのユーザを集める最初の転換点となった。

ウィローガレージ社は、オープンソースコミュニティを立ち上げてソフトウェアの共有・連携・再利用を促進する枠組みを構築した。そして同社は、学会や技術者・開発者向けイベントへの支援や参加を積極的に行った。また、初めてROSを利用する技術者向けに、ソフトウェアエンジニアではないヒューマンロボットインタラクション(Human-RobotInteraction;HRI)の専門家とともにマニュアル等の文書整備を推進した。

2010年1月22日にウィローガレージ社は「ROS1.0」を発表した。2010年3月には、ROSの最初の公式リリースである「ROSBoxTurtle」が公開された。その後もアップデートが重ねられ、Linuxのようにディストリビューションとしてリリースされた。同年8月に「CTurtle」、そして2011年3月に「Diamondback」が公開された。
qas: question: ウィローガレージ社によって「ROS1.0」が発表されたのはいつですか。
answers: text: 2010年1月22日

question: 「Diamondback」が公開されたのは何年のこと?
answers: text: 2011年

question: 「ROSBoxTurtle」が公開されたのはいつですか。
answers: text: 2010年3月

question: Player/Stageプロジェクトを開発した人は誰ですか。
answers: text: ブライアン・ガ―キー

context: ROS1.0のリリースと並行して、ウィローガレージ社はROSで制御することを前提としたロボット「PR2」を開発・発表した。PR2は2本のロボットアームを備えた自律移動型の研究用ロボットである。そして、ウィローガレージ社はPR2を利用したアプリケーションの開発コンテスト「PR2ベータプログラム」の公募を行なった。78の応募の中からアメリカ、ヨーロッパ、日本を中心とした10の大学機関と民間企業1社が採択され、特に優れた提案に対してはPR2が無償で提供された。2010年9月には、40万ドルでPR2の一般販売も開始されオープンソースコミュニティへの貢献者には12万ドルの割引というインセンティブも与えられた。PR2ベータプログラムが行われた2年間に、ROSで再利用可能なツールやアプリケーションが次々と開発され、全体で2,000以上のROSパッケージがリリースされた。PR2やROSを利用した研究成果を映像化してYouTubeなどに投稿するグループも現れ、メディアの注目を受けたり、そこからROSに興味を持つ研究者が現れたりする好循環が生まれた。これらの施策を通してROSの研究と他のロボット研究とのコラボレーションも進み、ROSの知名度が飛躍的に高められたと評される。

2010年11月には、入門者への敷居を下げてROSの普及を図るため、ロボットキット「TurtleBot」が開発された。TurtleBotは、iRobot社のCreateを利用した車輪式の移動ロボットであり、翌年からウィローガレージ社により発売されたほか、オープンソースハードウェアとして設計データが公開された。
qas: question: ロボットキット「TurtleBot」はいつ開発されたの?
answers: text: 2010年11月

question: 「PR2」を開発・発表したのはどの会社ですか。
answers: text: ウィローガレージ社

question: PR2を利用したアプリケーションの開発コンテスト「PR2ベータプログラム」の公募を主催したのはどの会社ですか。
answers: text: ウィローガレージ社

question: 「PR2ベータプログラム」の公募は何を用いたアプリケーションの開発コンテストですか。
answers: text: PR2

context: ROSは欧米の学術分野を中心に注目を集め、他のロボット用フレームワークに比べて急速にユーザ数を伸ばした。サービスロボットを対象として開発が始まったROSだが、産業用ロボットに利用する動きも見られるようになった。ROS-Industrialプロジェクトが立ち上がり、2012年1月にはROS-Industorialの公開リポジトリが開設された。

一方で、iRobot社のCEOであるコリン・アングルは、ロボットの主要ソフトウェアをオープン化するROSのアプローチは、これまで築き上げてきた重要な知的財産に他国が便乗することを許してしまうと指摘した。彼は、ロボット産業にとってROSは危険な存在で事業の収益化に有害であると批判し、今すぐROSをクローズドにすべきと主張した。同じ頃、ワシントン大学の研究グループがソフトウェアにROSを用いた手術ロボットの研究プラットフォーム「Raven-II」を開発し、他大学の研究者らの利用も始まった。これに対して、インテュイティヴ・サージカル社が開発した手術ロボット「daVinci」の特許に関して法律上の問題が指摘された。

ウィローガレージ側は、ロボティクス分野においてもウェブ開発におけるLAMPのような基盤が必要であり、それがROSであると主張した。さらに同社は、Apacheソフトウェア財団のような非営利団体の設立を検討していると表明した。この非営利団体は、寄付を集めて開発者のコミュニティを組織し、独立してROSの管理・維持を行うことを意図したものだった。
qas: question: ROS-Industorialの公開リポジトリはいつ開設されますか。
answers: text: 2012年1月

question: テキスト上、iRobot社の最高経営責任者は誰ですか。
answers: text: コリン・アングル

question: 「Raven-II」を開発したのはどの大学ですか。
answers: text: ワシントン大学

question: 手術ロボット「daVinci」を開発したのはどの会社ですか。
answers: text: インテュイティヴ・サージカル社

context: 2012年4月、ウィローガレージ社からROSプロジェクトがスピンアウトされ、非営利団体のオープンソースロボット財団(OSRF)が設立された。OSRFのコアミッションは「ロボットの研究・教育・製品開発に、オープンソースソフトウェアを使用するための開発・配布・導入の支援」とされた。2013年2月にウィローガレージ社は、オープンソースでのロボットの研究開発を主導する役割を完全にOSRFへ引き継ぐと発表した。

同年9月には、ROSの開発・管理をOSRFが引き継いで最初のディストリビューションとなる「HydroMedusa」がリリースされた。これまでは1年に2回のペースでディストリビューションがリリースされていたが、HydroMedusa以降は、頻繁なアップデートを望まないユーザの意見を取り入れて、1年に1回の公式リリースとなった。この間、2012年5月には、ROSコミュニティの交流や情報共有を促進するための最初の開発者会議「ROSCon」がアメリカ・ミネソタ州のセントポールで開催され、以降、開催地を変えながら毎年開催されている。
qas: question: 最初のディストリビューションとなる「HydroMedusa」がリリースされたのは何月のことですか。
answers: text: 9月

question: 最初の開発者会議「ROSCon」が開催された地域はどこですか。
answers: text: セントポール

question: ウィローガレージ社がオープンソースでのロボットの研究開発を主導する役割を完全にOSRFへ引き継ぐと公表したのはいつですか。
answers: text: 2013年2月

context: ROSは大学・研究機関といった学術分野をはじめ、産業界や趣味分野まで幅広く利用されている。ROSの利用は、移動ロボットやロボットアームをはじめ、ヒューマノイド、自動運転車や無人航空機、自律型無人潜水機にも広がっている。ROSの利用を公表しているロボットは、ROSの公式サイトで紹介されている。その他、企業・研究所・大学・個人などが非公開でROSを利用した多くのロボットを開発している。

2015年に実施されたロボット競技大会であるDARPAロボティクス・チャレンジでは、出場した23チームのうち18チームがROSを利用した。公園や遊歩道といった屋外で1キロメートル以上にわたり移動ロボットに自律走行させる「つくばチャレンジ」では、2017年の大会に参加したチームの3分の2以上がROSを利用した。また、ロボカップの一部門であり、家庭環境での課題達成を競う「ロボカップ@ホーム」では、2016年大会において出場24チームのうち23チームがROSを利用した。そのほかには、アメリカ航空宇宙局(NASA)が開発し国際宇宙ステーションで稼働したRobonaut2にもROSが利用されている。

ロボットメーカが開発したロボットでROSに対応しているものは、メーカのコントローラにROSから通信できるインタフェースが用意されていることが多い。2018年現在においては、サーボ機構の制御といったロボットの安全性や信頼性に直結する部分についてはロボットメーカが提供するコントローラを用いることが一般的である。
qas: question: DARPAロボティクス・チャレンジはいつ行われましたか。
answers: text: 2015年

question: 2015年のDARPAロボティクス・チャレンジに参加したチームは幾つありましたか。
answers: text: 23チーム

question: 「ロボカップ@ホーム」で2016年大会においてROSを利用したチームはいつくありましたか。
answers: text: 23チーム

context: ROSの入門者向けの標準的なロボットプラットフォームとしてTurtleBotがある。TurtleBotは、教育用プログラミング言語であるLOGOの使用例として制作された亀型ロボットに由来し、ウィローガレージ社の研究者により開発された。ROSWikiで提供されているチュートリアルで登場する「turtlesim」も、Logoのプログラム体系を踏襲している。

TurtleBotはこれまで初代・2代目・3代目と開発されてきた。いずれも車輪式の移動ロボットで、距離センサやラップトップコンピュータないしシングルボードコンピュータを搭載する。初代のTurtleBot1はiRobot社のCreateを利用し、2010年に開発された。2代目のTurtleBot2は2012年に開発され、移動ベースとしてYujinRobot社のiCleboが採用された。3代目のTurtleBot3は、ROBOTIS社のアクチュエータを駆動系に用い、ユーザがパーツを組み替えられるようになっている。TurtleBotはオープンソースハードウェアとして、パーツリストやCADデータが公開されており、ユーザが部品を改良したり3Dプリンタで制作したりできる。
qas: question: TurtleBot1はいつ開発されましたか。
answers: text: 2010年

question: TurtleBot2が開発されたのは何年度のことですか。
answers: text: 2012年

question: TurtleBotを開発した研究者はどの会社に所属していましたか。
answers: text: ウィローガレージ社

context: ROSは2010年に「ROS1.0」が発表されて以降アップデートを重ねており、特定のバージョンのファイル群をセットにした「ディストリビューション」としてリリースしている。

かつて、ROSのリリース周期は、対応OSであるUbuntuのリリース周期に合わせて、1年に2回であった。しかし、2013年にリリースされた「HydroMedusa」からは、頻繁なアップデートを望まないユーザの意見を取り入れて、公式リリース周期は1年に1回となった。

ROSディストリビューションのサポート期間は2種類ある。Ubuntuと同様に長期サポート(LongTermSupport;LTS)の考え方が取り入れられており、偶数年にリリースされるディストーションはLTSとして5年間のサポート、それ以外のサポート期間は2年間である。

ROSのディストリビューションは、2番目の「BoxTurtle」以降いずれも亀にちなんでおり、頭文字がアルファベット順になっている。ROSのディストリビューションには、それぞれ亀のアイコンが作成されている。また、ROSのロゴにある9個の点も亀の甲羅に由来している。ROSが亀を象徴としたのは、亀の上に乗った象が大地を支えているとする古代の宇宙観にちなんで、知能ロボットの世界においてROSが亀のような役割を果たすようにとの願いが込められている。
qas: question: 「HydroMedusa」はいつリリースされましたか。
answers: text: 2013年

question: ROSを象徴している動物は何ですか。
answers: text: 亀

context: ROSのアプリケーションプログラムは「パッケージ」と呼ばれる基本単位で管理される。パッケージは、ROSソフトウェアの基本単位であり、最小実行単位である「ノード」を1つ以上持つか、他のパッケージのノードを実行するための設定ファイルを含む。各パッケージにはパッケージ情報の管理ファイル、ビルドで用いる設定ファイル、ノードのソースコード、ノード間通信のための設定ファイルなどが含まれる。共通の目的のもと複数のパッケージをグループ化した「メタパッケージ」と呼ばれるものもある。

ROSのパッケージは公式なものだけでも2,000以上ある。ロボット本体の制御に関するパッケージ、センサに関するパッケージ、駆動部のためのモータ制御に関するパッケージなどがある。センサパッケージはカメラ、深度カメラ、レーザ距離センサ、力/トルクセンサ、音声認識、RFIDなど様々なデバイスに対応したものが公開されている。
qas: question: ROSソフトウェアの最小実行単位は何ですか。
answers: text: 「ノード」

question: 共通の目的のもと複数のパッケージをグループ化したものを何と呼びますか。
answers: text: 「メタパッケージ」

context: ROSのファイルシステムは、インストールフォルダとユーザ作業フォルダに分けられる。インストールフォルダには、ROSの中核プログラムである「roscore」を含むコアユーティリティや、ロボット関連ライブラリ、可視化やシミュレーションのための開発支援ツールなどがインストールされる。ユーザ作業フォルダは、ダウンロードしたパッケージやユーザが自作したパッケージを保存して編集したり、実行可能な形式にビルドしたりする作業スペースである。

ユーザが利用したい機能に応じて必要なパッケージやツールを追加インストールする。パッケージは、パッケージ管理ツールを利用してインストールするか、リポジトリからソースコードを取得してビルドする。ROSは分散システムとして設計されており、複数のホスト(コンピュータ)に分散してパッケージをインストールすることも可能である。
qas: question: ROSのファイルシステムは、インストールフォルダとまた何に分けられますか。
answers: text: ユーザ作業フォルダ

context: ノード間の接続情報を管理するプログラムを「マスタ」と呼び、登録されたノードが他のノードから見えるようにする役割を担う。コアユーティリティに含まれるプログラム「roscore」を実行することでマスタが起動される。各ノードの起動時に、ノード名やURI、ポート番号といった通信に必要な情報がマスタに登録される。マスタはノードから要求があった際に相手先ノードの情報を返し、それを元にノードは相手先ノードとピア・ツー・ピア接続を確立する。ROSシステムを実行するためには、ROSネットワークを構築する何れかのホストでマスタを必ず1つ起動しておく必要がある。マスタは1つのROSネットワークを構築・管理し、同一のROSネットワーク内で複数のroscoreは起動できない。マスタが異なるネットワーク間でノード接続を行う場合は別途通信の仕組みを構築する必要がある。
qas: question: ノード間の接続情報を管理するプログラムは何と呼ばれますか。
answers: text: 「マスタ」

question: マスタは何を実行することで起動されますか。
answers: text: 「roscore」

context: ROS-Industorialは、オープンソースプロジェクトとして安川電機、ウィローガレージ社、そしてアメリカの独立非営利機関であるサウスウェスト研究所(SwRI)によって共同で立ち上げられた。2012年1月、ROS-IndustorialのレポジトリがSwRIによってGitHub上に開設された。その後、2013年3月には、ROS-Industrialプロジェクトから発展的にROS-IndustrialConsortiumが設立された。コンソーシアムの中心メンバーは、アメリカではSwRI、ヨーロッパではドイツのフラウンホーファー研究所の生産技術・オートメーション部門、アジア太平洋地域ではシンガポールのアドバンスト・リマニュファクチャリング・アンド・テクノロジー・センター(AdvancedRemanufacturingandTechnologyCentre;ARTC)および南洋理工大学である。2018年10月現在、3M、ボーイング、エアバス、BMW、ボッシュ、シーメンス、ABB、キャタピラー、マイクロソフト、ユニバーサルロボットなどの民間企業のほか、ROS本体の開発を主導する「オープンロボティクス」もコンソーシアムメンバーである。
qas: question: ROS-IndustrialConsortiumが結成されたのはいつですか。
answers: text: 2013年3月