11月30日に開催されたhtml5jロボット部 第7回勉強会「スマートファクトリーとRobotics API & CNTK」に行ってきました。
イベントページの紹介はこちらです。
今回のテーマは「スマートファクトリー」と「Robotics API」です
今回の勉強会では株式会社アールティが「ミニチュアスマートファクトリーを作ろう!プロジェクト」の一つのプロダクトとして開発しているロボットアームとロボットアームを制御する上であるべきAPIについてアールティの中川様とニューフォリアの羽田野様にビジョンなどを話して頂きます。
機械学習ツールキット「Microsoft Cognitive Toolkit」についても学びます
また、このプロジェクトにMachine LearningやDeep Learningといったものを取り入れることを将来的に見据えていくために、Microsoft ResearchがリリースしたDeep Learningツールキット「Microsoft Cognitive Toolkit(旧:CNTK)」についても学んでいきたいと思います。
セッション聞きつつ、懇親会&ロボットの展示でみなさんで日本のスマートファクトリーのロボットアーム、Robotics API、機械学習/深層学習のあるべき姿などとディスカッションしていきましょう。
WebエンジニアのためのロボットアームのAPIを考えてみる
有限会社futomi、株式会社ニューフォリア 羽田野太巳さんからは「Web エンジニアのためのロボットアームの API を考えてみる」をお話いただきました。
自己紹介です。羽田野さんは有限会社futomi 代表取締役と株式会社ニューフォリア 取締役 最高技術責任者をそれぞれ務めています。
雑誌『日経SYSTEMS』上で、「こんなに変わったWeb開発/HTML5の基本テクニック」「IoTで火がつくITエンジニア魂」などの連載を務め、デバイスWebAPIコンソーシアムの事務局長も務めています。
こちらは2015年にNTTドコモとソフトバンクによって設立された、デバイス連携がテーマの団体。アーキテクチャーの検討や業界動向などの共有を行い、通信キャリアやデバイスメーカーなど110社以上が加盟しています
デバイスWebAPIコンソーシアム
羽田野さんが考えるロボットアームに近い標準規格は「ONVIF(Open Newwork Video Interface Forum)」。一言で言うとネットワークカメラの標準プロトゴルです。
カメラで使われる「PTZ」について。Pan(パン),Tilt(チルト),Zoomズーム)の略で、この3つの機能を持ったカメラのことを「PTZカメラ」と呼びます。PTZ対応製品は業務用監視カメラでも高級品の部類で、性能と機能は値段に比例します。近年では安価な家庭向け監視カメラにも搭載されるようになってきました。
このPTZ対応機能はロボットアームの関節と1つとして見ると、ロボットアームに近いといえます。なので、ロボットアームAPIを開発する際にONVIFは参考になるでしょう
ONVIF使用の概要です。
NVT(Network Video Transmitter)はネットワークカメラのことで、NVC(Network Video Client)はカメラにアクセスするもののことです。
メッセージはSOAPベースで、HTTPプロトゴルでSOAPをPOSTします。今どきSOAPと思うかもしれませんが、ONVIF策定当時はSOAPがナウい時代だったのです。
ONVIFのPTZコマンドは、各軸の動作速度や位置の指定、特定の位置をセットしたり、プリセットした位置に移動などがあります。普通に使う分には困らないコマンド構成です。
ONVIFのビデオストリーミングについてです。
続いて、羽田野さんによる実物を使ったデモです。
ブラウザからPTZカメラを制御できるシステムは羽田野さんお手製です。
カメラのなめらかな動きと綺麗な画質が予想以上で、会場から声が上がります。
最後に羽田野さんの観点から、ロボットアームAPIはこんなのはどうですか?という提案と課題です。
・機器発見は色々なプロトゴルがありますが、シンプルなBonjour(Zeroconf)がいかがでしょうか
・コマンドはHTTP POSTで送り、リアリタイムで送るならWebSocketの仕組みもあるといいですね
・セキュリティーは最低でもユーザー認証は必要で、Digest認証があたりがよいのかもしれません
暗号化についてもどういう方法がいいのかは、現時点でどの方法がベストかを言うことは難しいと思うので、今後盛り上がっていく中で、議論を行い検討を必要があると思われます。
以上です。
Microsoft Cognitive Toolkitについて(旧:CNTKについて)
日本マイクロソフト株式会社 佐藤直生さんからは「Microsoft Cognitive Toolkitについて(旧:CNTKについて)」をお話いただきました。
機械学習とはどういうものなのでしょうか。広い意味でのAIの一部として機械学習という技術があります。この機械学習の中の一部としてDeep Learning(深層学習)という技術があります。
機械学習が行う質問は以下の5つです。以下のような回答に答えるために、過去のデータを使ってモデルを作るというものです。
・異常か(異常検知)
・どれくらいの量または数か(数値予測)
・どのような構成か(クラスタリング)
・次に何をすべきか
過去のデータを用意して、データのクレンジングをして、機械学習のアルゴリズムを使ってモデルを作っていくというのが、超ざっくりとしたやり方になります。
マイクロソフトで提供しているAzure Machine Learning Studio(Azure ML Studio)を使うと、ブラウザを使ってグラフィカルなGUIで予測モデルの作成・評価をすることができます。
続いて、Microsoft Cognitive Serviceについてです。マイクロソフトのあらゆる分野のテクノロジー開発から誕生したWeb API経由で利用できる”人工知能パーツ”です。人間の認知機能の一部をコンピュータ演算モデル化したものです。
How-Old.netというサイトでMicrosoft Cognitive Serviceが使われています。写真の中の顔を認識して、その顔から年齢を推測するというものです。
How-Old.net
もう1つMicrosoft Cognitive Serviceが使用されているサイトの紹介です。CaptionBotは、写真に写っている物体の認識をして、それを一行の英文で説明するというものです。
CaptionBot
Microsoft Cognitive Toolkit (CNTK) についてです。こちらはオープンソースのディープラーニングキッドで、GoogleのTensorFlowと同じカテゴリに入るライブラリーです。
Microsoftでは、skypeでのリアルタイム翻訳やCortanaなどの裏でディープラーニングを行っています。この技術をオープンソース化したものがMicrosoft Cognitive Toolkit (CNTK) です。
Web site,Github,Wiki,Issuesはこちらをご覧ください。
発表は以上です。
次回以降の勉強会日程
第8回の勉強会の開催が決定しました。2017年1月18日にGoogle東京オフィスで「ミニチュアスマートファクトリーを作ろう!プロジェクトvol.2」となります。
そして、第9回の勉強会も決定しました。順番が前後しますが、2016年12月22日に日本マイクロソフトで「”Intel Joule” Next Step」となります。現在、こちらで参加者募集中です。
その後の懇親会で披露されたRaspberry Pi Armにみなさん興味津々。 実物のアーム式ロボット見ちゃうとテンション上がっちゃいますよね!
『ラズパイマガジン』のプレゼントもじゃんけんも行われました。
ABOUT THE AUTHOR /
北構 武憲本業はコミュニケーションロボットやVUI(Voice User Interface)デバイスに関するコンサルティング。主にハッカソン・アイデアソンやロボットが導入された現場への取材を行います。コミュニケーションロボットやVUIデバイスなどがどのように社会に浸透していくかに注目しています。