More Related Content
Similar to ROS.js の紹介(20)
More from Honma Masashi(13)
ROS.js の紹介
- 6. Rosbridge とは
ROS を JavaScript から使用できるようにするパッ
ケージ
WebSocket サーバー機能を持つ
ユーザーは JavaScript で WebSocket サーバに接続
し、ロボットにコマンドを送る
ROS を使うには C++ を書く必要があったが JavaScript
で書けるので Web 開発者にやさしい
- 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
(前進、回転等の
指示を送る)
- 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
(情報を取得する)
- 12. SLAM
Simultaneous Localization and Mapping
自動的に地図を作成する & 自分の現在位置を推定す
る
指示した場所にロボットを移動できる
ROS を使えば SLAM ができる
SLAM に必要なもの
目隠しをされた状態で「ここはどこでしょう?」って言われ
たら? → とりあえず手探りで周囲の状況を探ろうとする
手探りをするためのデバイス