pepper meets ros

25
Pepper meets ROS 6ROS勉強会@アルデバラン・アトリエ秋葉原 yoneken (米倉健太: @k_yone)

Upload: kenta-yonekura

Post on 11-Apr-2017

3.922 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Pepper meets ROS

Pepper meets ROS第6回ROS勉強会@アルデバラン・アトリエ秋葉原!

yoneken (米倉健太: @k_yone)

Page 2: Pepper meets ROS

/35

Agenda

1. ROSについて

2. PepperをROSで動かす

2

Page 3: Pepper meets ROS

/35

ROSとは

3

通信ライブラリ

ツール

基盤

エコシステム

ROSプロジェクトの中心人物 Brian Garkey博士による [1]

Page 4: Pepper meets ROS

/35

ROSの通信ライブラリ• メッセージに付加されたTopicによって通信相手を動的に定義できる,多対多のPub-Sub型通信.

4

送信側ノード (プロセス)

受信側ノード (プロセス)

Topic

Page 5: Pepper meets ROS

/35

ROSのツール多プロセスによる分散システムの構築に有用な,以下のツールを提供している[1].

5

設定 rosparam

起動・停止 roslaunch

監視 rosbag

デバッグ 視覚化 rviz

ログ取り

デプロイ rosdep

個人的に最重要だと思っているツール (本来はdependentのdep)

Page 6: Pepper meets ROS

/35

ROSの基盤ロボットの移動,操作,認識を中心とした多様なライブラリ.

6

多くのロボットで必要とされる普遍的なデータ型を定義することで,ハードウェアとアルゴリズムを切り離したことが重要.

Page 7: Pepper meets ROS

/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

Page 8: Pepper meets ROS

/35

Agenda

1. ROSについて

2. PepperをROSで動かす

8

Page 9: Pepper meets ROS

/35

Pepper開発者プログラムに参加

9https://community.aldebaran.com/en/developerprogram#section3

名前とメールアドレス等,必要事項を記入してJoin. 返信を待つ.

Page 10: Pepper meets ROS

/35

Pepper開発環境の ダウンロード

10https://community.aldebaran.com/en/resources/software

Choregraphe C++ SDK Python SDK をダウンロードします.

アトリエのPepperは2.0系と2.3系が入り交じっているので, 2.3.1のバージョンを推奨.

Page 11: Pepper meets ROS

/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

Page 12: Pepper meets ROS

/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を共存できて便利!

Page 13: Pepper meets ROS

/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への追加を忘れずに!

Page 14: Pepper meets ROS

/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”になります.

Page 15: Pepper meets ROS

/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 久保田!

Page 16: Pepper meets ROS

/35

Pepperを起動する1. Pepperの周囲にぶつかる物がないことを確認

2. 胸のスイッチを押して,しばし待機

3. Pepperが直立したら,再度,胸のスイッチを押して

Pepperの名前とIPアドレスを確認

4. ChoregrapeからPepperに接続

5. アプリ一覧から,起動中のアプリを全部停止

16

重要!

Page 17: Pepper meets ROS

/35

ROSからPepperに接続する$ roslaunch pepper_bringup pepper_full.launch nao_ip:=PepperのIPアドレス network_interface:=wlan0

!$ rosrun rviz rviz

17

使用しているインタフェース名

Page 18: Pepper meets ROS

/35

ROSの基本データ型の確認

18

TF

/tf

Page 19: Pepper meets ROS

/35

ROSの基本データ型の確認

19

IMU

/pepper_robot/imu/base

Page 20: Pepper meets ROS

/35

ROSの基本データ型の確認

20

LaserScan

/pepper_robot/laser

Page 21: Pepper meets ROS

/35

ROSの基本データ型の確認

21

Range

/pepper_robot/sonar/front

Page 22: Pepper meets ROS

/35

ROSの基本データ型の確認

22

Image

/pepper_robot/camera/front/image_raw

Page 23: Pepper meets ROS

/35

さぁ,始めましょう!

• Pepperをキーボードで動かす

• ヒント:teleop_twist_keyboardパッケージを使って,/cmd_velにTwistメッセージを送る.

23

チャレンジの例

Page 24: Pepper meets ROS

/35

既知の問題• Pepperが出力するオドメトリは,Z軸の回転180度付近の挙動が怪しいです.

• depthimage_to_laserscanを使いたい場合は,naoqi_driver/src/converters/camera_info_definitions.hpp 内のDEPTH CAMERAに関する場所でコメントアウトされている,distortion_modelとDに関する部分をアンコメントする必要があります.

24

Page 25: Pepper meets ROS

/35

参考文献

1. 岡田 慧, “ROS(ロボット・オペレーティング・システム)”, 日本ロボット学会誌, vol. 30, 9, pp. 830-835, 2012.

2. “Pepper Tutorial,” http://wiki.ros.org/pepper/Tutorials, 2015/08/29.

25