Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Web エンジニアのための
ロボットアームの API を考えてみる
2016年11月30日(水)
スマートファクトリーとRobotics API & CNTK(html5jロボット部 第7回勉強会)
@futomi futomi.hatano
自己紹介
2
マークアップ解説本 API解説本 APIチュートリアル本Windows 8API解説本
有限会社 futomi 代表取締役
株式会社ニューフォリア 取締役 最高技術責任者
日経SYSTEMS連載
2015年4月号~2016年3月号:こんなに変わったWeb開発/HTML5の基本テクニック
3
日経SYSTEMSコラム
4
• そろそろIoTに触れてみませんか
• マイコンボードを使って大気圧と気温を取得
• Webブラウザーから制御 MIDIでサーボを動かす
• Node.jsで家電を操作 赤外線を利用しよう
• ECHONET L...
デバイスWebAPIコンソーシアム
• 2015年4月30日にNTTドコモとソフトバンクに
よって設立
• デバイス連携がテーマ
• アーキテクチャーの検討や業界動向などの共有
• GotAPI対応アプリ「DeviceConnect」がNTT
...
6
GitHubとnpm
7
https://www.npmjs.com/~futomihttps://github.com/futomi
公開中のnodeモジュール
8
公開中のnodeモジュール
9
ロボットアームに近いのは...
公開中のnodeモジュール
10
ロボットアームに近いのは...
ONVIF
11
• Open Network Video Interface Forum
• ウェブサイトからの引用
The ONVIF specification defines a common
protocol for the exch...
PTZとは
• Pan, Tilt, Zoom
• PTZ対応製品は業務用監視カメラでも高級品の部類
• 近年は安価な家庭向け監視カメラにも
• 性能と機能はお値段次第
(安かろう悪かろうがそのまま当てはまる)
• PTZ機能はロボットアームに...
13
ONVIF仕様概要
• 用語
• NVT (Network Video Transmitter):ネットワークカメラのこと
• NVC (Network Video Client):カメラにアクセスするもの
• NVT発見にWS-Discove...
ONVIFのPTZコマンド
• ContinuousMove
• 各軸の動作速度を指定
• 止めるまで動き続ける
• AbsoluteMove
• 各軸の動作速度と絶対位置を指定
• RelativeMove
• 各軸の動作速度と現在位置からの...
ONVIFのビデオストリーミング
• GetStreamUri
• RTSP/RTP
• H.264
• G.726, G.711
• GetSnapshotUri
• 静止画 (JPEG) を取得可能
• このコマンドからURLを取得
• 製...
デモ
17
ロボットアームAPIこんなんはどう?
• やはり今どきの方式で
• SOAPはやだ
• 機器発見
• Bonjour (Zeroconf) はいかが?
• コマンド
• JSON-RPCをHTTP POSTで送るのは
いかが?
• WebSoc...
ご清聴ありがとうございました
@futomi futomi.hatano
Upcoming SlideShare
Loading in …5
×

Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる

871 views

Published on

スマートファクトリーとRobotics API & CNTK(html5jロボット部 第7回勉強会)
https://html5j-robot.connpass.com/event/44030/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Web エンジニアのための Web エンジニアのための ロボットアームの API を考えてみる

  1. 1. Web エンジニアのための ロボットアームの API を考えてみる 2016年11月30日(水) スマートファクトリーとRobotics API & CNTK(html5jロボット部 第7回勉強会) @futomi futomi.hatano
  2. 2. 自己紹介 2 マークアップ解説本 API解説本 APIチュートリアル本Windows 8API解説本 有限会社 futomi 代表取締役 株式会社ニューフォリア 取締役 最高技術責任者
  3. 3. 日経SYSTEMS連載 2015年4月号~2016年3月号:こんなに変わったWeb開発/HTML5の基本テクニック 3
  4. 4. 日経SYSTEMSコラム 4 • そろそろIoTに触れてみませんか • マイコンボードを使って大気圧と気温を取得 • Webブラウザーから制御 MIDIでサーボを動かす • Node.jsで家電を操作 赤外線を利用しよう • ECHONET Liteで家電をコントロール • スマホから機器を制御「デバイスコネクトWebAPI」 • 電池交換が不要に 無線技術「EnOcean」に注目 • JavaScriptで車載情報を取得「OBD-II」を使う • Node.jsで電力情報を取得スマートメータを活用しよう • ... IoTで火が付くITエンジニア魂:2016年4月号~2017年3月号 (予定)
  5. 5. デバイスWebAPIコンソーシアム • 2015年4月30日にNTTドコモとソフトバンクに よって設立 • デバイス連携がテーマ • アーキテクチャーの検討や業界動向などの共有 • GotAPI対応アプリ「DeviceConnect」がNTT ドコモからOSSとしてGitHubで公開 • 通信キャリアやデバイスメーカーなど110社以 上が加盟 5 https://device-webapi.org/
  6. 6. 6
  7. 7. GitHubとnpm 7 https://www.npmjs.com/~futomihttps://github.com/futomi
  8. 8. 公開中のnodeモジュール 8
  9. 9. 公開中のnodeモジュール 9 ロボットアームに近いのは...
  10. 10. 公開中のnodeモジュール 10 ロボットアームに近いのは...
  11. 11. ONVIF 11 • Open Network Video Interface Forum • ウェブサイトからの引用 The ONVIF specification defines a common protocol for the exchange of information between network video devices including automatic device discovery, video streaming and intelligence metadata. • 早い話、ネットワークカメラのプロトコル の標準 • デバイス発見、ビデオストリーミング、 PTZ制御など http://www.onvif.org/
  12. 12. PTZとは • Pan, Tilt, Zoom • PTZ対応製品は業務用監視カメラでも高級品の部類 • 近年は安価な家庭向け監視カメラにも • 性能と機能はお値段次第 (安かろう悪かろうがそのまま当てはまる) • PTZ機能はロボットアームに近い • ロボットアームの関節の一つとみなせば類似性がある • ロボットアームにカメラが付けばよりONVIFに類似 • ロボットアームのAPIの開発にONVIFは参考になる 12
  13. 13. 13
  14. 14. ONVIF仕様概要 • 用語 • NVT (Network Video Transmitter):ネットワークカメラのこと • NVC (Network Video Client):カメラにアクセスするもの • NVT発見にWS-Discovery • UDPポート3702によるマルチキャスト • メッセージはSOAPベース • HTTPプロトコルでSOAPをPOST • 今どきSOAP? • でもONVIF策定当時はSOAPがナウい時代 14
  15. 15. ONVIFのPTZコマンド • ContinuousMove • 各軸の動作速度を指定 • 止めるまで動き続ける • AbsoluteMove • 各軸の動作速度と絶対位置を指定 • RelativeMove • 各軸の動作速度と現在位置からの相 対位置を指定 • Stop • 動作を止める • GotoHomePosition • ホームポジションに移動 • SetPreset • 特定の位置をセット • 複数の位置を登録可能 • GotoPreset • プリセットした位置に移動 15
  16. 16. ONVIFのビデオストリーミング • GetStreamUri • RTSP/RTP • H.264 • G.726, G.711 • GetSnapshotUri • 静止画 (JPEG) を取得可能 • このコマンドからURLを取得 • 製品の性能が良ければ1秒間に 10回くらい取得できる 16
  17. 17. デモ 17
  18. 18. ロボットアームAPIこんなんはどう? • やはり今どきの方式で • SOAPはやだ • 機器発見 • Bonjour (Zeroconf) はいかが? • コマンド • JSON-RPCをHTTP POSTで送るのは いかが? • WebSocketのチャンネルも用意でき るとベスト。 • セキュリティー • 最低でもユーザー認証は必要 • Basic認証ではパスワードがダダ漏れ • Digest認証あたりが良い? • TLSを使うのがベストだが暗号化だけ ならオレオレ認証でもOKか? • でも機器に固定で秘密鍵を埋め込む のは危険?機器個体ごと違えばまだ ましか? • 公開鍵方式で接続の都度、鍵ペアを 作って公開鍵を交換してからデータ 暗号化するのは?めんどくさいか? • 今後さらなる検討が必要 18
  19. 19. ご清聴ありがとうございました @futomi futomi.hatano

×