第四回ROS勉強会 in 
カワダロボティクス 
2014年11月8日  
千葉工業大学 工学部 4年  
ロボット設計・制御研究室 前川大輝
自己紹介 
 千葉工業大学のロボカップ開発チーム「CITBrains」 
のリーダー 
 教育用マイコンボードの開発プロジェクトのリーダー 
– ソフトウェアのライブラリ開発(2011年 ~ 2012年) 
 農場用メータの自動読み取り技術を企業と共同開発 
– (2013年11月 ~ 2014年8月) 
 今年からつくばチャレンジの開発に参加 
 この勉強会を含む、OSSの活動
前回までの内容 
 任意の手先位置・姿勢へのプランニング 
 自己干渉回避
振る舞いを定義
振る舞いを定義
MoveIt! + ロボットの認識 
 今回からNEXTAGEのステレオカメラが使用可能 
 障害物の自動回避等をやらせたい 
– ポイントクラウドの利用
解説
3D Perception 
 Occupancy Map Updaterが占有格子地図を更新 
 入力に応じてプラグインを選択 
– PointCloudOctomapUpdater 
● sensor_msgs/PointCloud2 
– DepthImageOctomapUpdater 
● sensor_msgs/Image
pr2でテスト
$ roslaunch pr2_gazebo pr2_empty_world.launch 
$ roslaunch pr2_moveit_config move_group.launch
NEXTAGEで動作確認 
 シミュレータではステレオカメラが未実装 
 手元にステレオカメラが無かった… 
シミュレータ上のNEXTAGE + Kinectでとりあえず動かす
以下のコマンドを入力 
$ git clone https://github.com/ros-japan-users/nextage_moveit_perception 
$ rtmlaunch nextage_ros_bridge nextage_ros_bridge_simulation.launch 
$ roslaunch nextage_moveit_perception moveit_planning_execution.launch
自動で衝突回避
Configuration 
 詳細はhttps://github.com/ros-japan-users/nextage_moveit_perceptionを参照 
 ここでは要点だけ
* sensor_kinect_point_cloud.yaml 
sensors: 
- sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater 
point_cloud_topic: /camera/depth/points 
MoveIt!で使用するポイントクラウド 
のトピックを指定 
occupancy_map_monitor/DepthImageOctomapUpdaterも利用可 
↓ 
sensors_kinect_depth_map.yaml
* moveit_sensor_manager.launch 
<param name="octomap_frame" type="string" value="WAIST"/> 
<param name="octomap_resolution" type="double" value="0.05"/> 
<param name="max_range" type="double" value="5.0"/> 
 octomap_frame 
– 地図を格納する座標フレーム 
 octomap_resolution 
– 地図の解像度(メートル) 
 max_range 
– センサ入力の使用する最大範囲
最後に 
 外部環境を認識して障害物回避を行わせることが可能に 
 ステレオカメラの利用方法はこの後 @youtalk が解説
ご清聴ありがとうございました

ROS JAPAN Users Group Meetup 04