Upload
kenta-yonekura
View
3.922
Download
4
Embed Size (px)
Citation preview
Pepper meets ROS第6回ROS勉強会@アルデバラン・アトリエ秋葉原!
yoneken (米倉健太: @k_yone)
/35
Agenda
1. ROSについて
2. PepperをROSで動かす
2
/35
ROSとは
3
通信ライブラリ
ツール
基盤
エコシステム
ROSプロジェクトの中心人物 Brian Garkey博士による [1]
/35
ROSの通信ライブラリ• メッセージに付加されたTopicによって通信相手を動的に定義できる,多対多のPub-Sub型通信.
4
送信側ノード (プロセス)
受信側ノード (プロセス)
Topic
/35
ROSのツール多プロセスによる分散システムの構築に有用な,以下のツールを提供している[1].
5
設定 rosparam
起動・停止 roslaunch
監視 rosbag
デバッグ 視覚化 rviz
ログ取り
デプロイ rosdep
個人的に最重要だと思っているツール (本来はdependentのdep)
/35
ROSの基盤ロボットの移動,操作,認識を中心とした多様なライブラリ.
6
多くのロボットで必要とされる普遍的なデータ型を定義することで,ハードウェアとアルゴリズムを切り離したことが重要.
/35
ROSのエコシステム• Wiki - http://wiki.ros.org/
• 質問掲示板 - http://answers.ros.org/questions/
• GItHub - https://github.com/ros
• メーリングリスト - http://lists.ros.org/lurker/list/ros-users.en.html
• ros-jp - http://www.ros-users.jp/7
/35
Agenda
1. ROSについて
2. PepperをROSで動かす
8
/35
Pepper開発者プログラムに参加
9https://community.aldebaran.com/en/developerprogram#section3
名前とメールアドレス等,必要事項を記入してJoin. 返信を待つ.
/35
Pepper開発環境の ダウンロード
10https://community.aldebaran.com/en/resources/software
Choregraphe C++ SDK Python SDK をダウンロードします.
アトリエのPepperは2.0系と2.3系が入り交じっているので, 2.3.1のバージョンを推奨.
/35
Choregrapheのインストール
$ cd ~/Downloads
$ chmod +x ./choregraphe-suite-2.3.1.25-linux64-setup.run
$ sudo ./choregraphe-suite-2.3.1.25-linux64-setup.run
11
/35
C++ SDKのインストール
$ cd ~/
$ mv ~/Downloads/naoqi-sdk-2.3.1.25-linux64.tar.gz ./
$ tar zxf naoqi-sdk-2.3.1.25-linux64.tar.gz
$ ln -s naoqi-sdk-2.3.1.25-linux64 naoqi-sdk
12
シンボリックリンクを張っておくと, バージョン違いのSDKを共存できて便利!
/35
Python SDKのインストール
$ cd ~/
$ mv ~/Downloads/pynaoqi-python2.7-2.3.1.25-linux64.tar.gz ./
$ tar zxf pynaoqi-python2.7-2.3.1.25-linux64.tar.gz
$ ln -s pynaoqi-python2.7-2.3.1.25-linux64 pynaoqi
$ echo "export PYTHONPATH=\$PYTHONPATH:`pwd`/pynaoqi" >> ~/.bashrc
$ source ~/.bashrc
13
PYTHONPATHへの追加を忘れずに!
/35
ROSのPepperパッケージが 依存しているパッケージのインストール
$ sudo apt-get install ros-indigo-driver-base ros-indigo-move-base-msgs ros-indigo-octomap ros-indigo-octomap-msgs ros-indigo-humanoid-msgs ros-indigo-humanoid-nav-msgs ros-indigo-camera-info-manager ros-indigo-camera-info-manager-py
14
Ubuntu 15の人は,”ros-indigo”の部分が, ”ros-jade”になります.
/35
ROSのPepperパッケージをインストール
$ sudo apt-get install ros-indigo-pepper-robot ros-indigo-pepper-bringup ros-indigo-pepper-description ros-indigo-pepper-meshes
15
”ros-indigo-pepper-sensor”はobsoleteなのでいりません. Thx 久保田!
/35
Pepperを起動する1. Pepperの周囲にぶつかる物がないことを確認
2. 胸のスイッチを押して,しばし待機
3. Pepperが直立したら,再度,胸のスイッチを押して
Pepperの名前とIPアドレスを確認
4. ChoregrapeからPepperに接続
5. アプリ一覧から,起動中のアプリを全部停止
16
重要!
/35
ROSからPepperに接続する$ roslaunch pepper_bringup pepper_full.launch nao_ip:=PepperのIPアドレス network_interface:=wlan0
!$ rosrun rviz rviz
17
使用しているインタフェース名
/35
ROSの基本データ型の確認
18
TF
/tf
/35
ROSの基本データ型の確認
19
IMU
/pepper_robot/imu/base
/35
ROSの基本データ型の確認
20
LaserScan
/pepper_robot/laser
/35
ROSの基本データ型の確認
21
Range
/pepper_robot/sonar/front
/35
ROSの基本データ型の確認
22
Image
/pepper_robot/camera/front/image_raw
/35
さぁ,始めましょう!
• Pepperをキーボードで動かす
• ヒント:teleop_twist_keyboardパッケージを使って,/cmd_velにTwistメッセージを送る.
23
チャレンジの例
/35
既知の問題• Pepperが出力するオドメトリは,Z軸の回転180度付近の挙動が怪しいです.
• depthimage_to_laserscanを使いたい場合は,naoqi_driver/src/converters/camera_info_definitions.hpp 内のDEPTH CAMERAに関する場所でコメントアウトされている,distortion_modelとDに関する部分をアンコメントする必要があります.
24
/35
参考文献
1. 岡田 慧, “ROS(ロボット・オペレーティング・システム)”, 日本ロボット学会誌, vol. 30, 9, pp. 830-835, 2012.
2. “Pepper Tutorial,” http://wiki.ros.org/pepper/Tutorials, 2015/08/29.
25