Address
:
[go:
up one dir
,
main page
]
Include Form
Remove Scripts
Accept Cookies
Show Images
Show Referer
Rotate13
Base64
Strip Meta
Strip Title
Session Cookies
More Web Proxy on the site http://driver.im/
Submit Search
ROS.js の紹介
•
10 likes
•
7,189 views
Honma Masashi
Follow
HTML5j ロボット部 勉強会 第4回
Read less
Read more
1 of 18
Download now
Downloaded 22 times
More Related Content
ROS.js の紹介
1.
HTML5j ロボット部 勉強会
第4回 ROS.js の紹介
2.
自己紹介 名前: @masap 職業: 組み込みプログラマ(主に
Wi-Fi)
3.
3/18 WebSocket 経由でルンバを動かす
4.
4/18 ソフトウェア構成図 PC ルンバPC WebSocket USB
Serial ROS Rosbridge (WebSocket Server) roslib.js Webアプリ
5.
ROSとは ロボット制御のためのライブラリ、ツール Robot Operating Systemの略だがOSではない ロボットを制御するための統一的なAPIを提供する 制御プログラムは、ユーザーが
C++ で記述する
6.
Rosbridge とは ROS を
JavaScript から使用できるようにするパッ ケージ WebSocket サーバー機能を持つ ユーザーは JavaScript で WebSocket サーバに接続 し、ロボットにコマンドを送る ROS を使うには C++ を書く必要があったが JavaScript で書けるので Web 開発者にやさしい
7.
Rosbridge の使い方 ライブラリのインストール eventemitter2.jsとroslib.jsをダウンロードする WebScoket サーバへ接続 var
ros = new ROSLIB.Ros(); ros.connect('ws://localhost:9090');
8.
ルンバに指示を送る (1/2) ルンバに移動コマンドを送る cmd_vel というノードに前進コマンドを送る var
cmdVel = new ROSLIB.Topic({ ros : ros, name : '/cmd_vel', messageType : 'geometry_msgs/Twist' }); var forward = new ROSLIB.Message({ linear : { x : 0.1, y : 0.0, z : 0.0 }, angular : { x : 0.0, y : 0.0, z : 0.0 } }); cmdVel.publish(forward); ROS アプリ cmd_vel ノード (移動指示を受ける) publish (前進、回転等の 指示を送る)
9.
ルンバに指示を送る (2/2) 指示の詳細 進行方向と回転方向を指定 linear: 進行方向と速度
(meter/sec) angular: 回転方向と速度 (radian/sec) 平面で考えると簡単 linear の x 座標が + なら前進、 - なら後退 angular の z 座標が + なら反時計回り、 - なら時計回り
10.
ルンバの情報を受け取る ルンバの情報を受け取る odom というノードを subscribe
する var listener = new ROSLIB.Topic({ ros : ros, name : '/odom', messageType : 'nav_msgs/Odometry' }); listener.subscribe(function(message) { console.log('Received message: ' + message.header.seq); listener.unsubscribe(); }); ROS アプリ odom ノード (位置情報を発信する) subscribe (情報を取得する)
11.
ROS要るの? ここまでは... ROSが無くてもnode.jsを使ってWebSocketサーバを立 てればできる 自律移動 人間が操縦するなら、 Roomba ぐらいなら
ROS が無く ても可能 自律移動をするには ROS が必要
12.
SLAM Simultaneous Localization and
Mapping 自動的に地図を作成する & 自分の現在位置を推定す る 指示した場所にロボットを移動できる ROS を使えば SLAM ができる SLAM に必要なもの 目隠しをされた状態で「ここはどこでしょう?」って言われ たら? → とりあえず手探りで周囲の状況を探ろうとする 手探りをするためのデバイス
13.
周囲の状況を手探りするデバイス レーザースキャナ レーザーを用いて周囲の障害物を検出 距離:0.02~5.6m 角度:240°
14.
マッピング 自動マッピング ROSはレーザースキャナのデータを集計して自動マッピ ングする機能がある マップ上の場所を指定してロボットを移動すること ができる(オートパイロット)
15.
ROSjs で使う canvas で使う 自動マッピング及びオートパイロットは
rviz というツール で行う ROSjsを使えば canvas でできる ROSブラウザ 周囲の 障害物データ 作成した 地図データ ルンバ 目的地の指定 目的地への移動
16.
デモ 目的地を指定して自動的に移動 dots さんの地図 窓 ステージ 非常口
17.
課題 機材がお高い レーザースキャナは 9 万円... 測定可能距離が短い 4.2m
まで 速く動けない スピードを上げるとマップが崩れる
18.
18/18 以上
Download