Skip to content

Latest commit

 

History

History
172 lines (107 loc) · 6.83 KB

README_ja.rst

File metadata and controls

172 lines (107 loc) · 6.83 KB

玉川大学認知発達ロボティクス研究室 (RoboCup@Home 参加チーム) で開発されている移動マニピュレータ "SPUR" の ROS パッケージです.

メインのドキュメントは こちら を参照下さい.本日本語ドキュメントはインストール方法のみ記載します.

下記がインストール済であると仮定します.

__(May 9, 2015) apt でのインストールは推奨に違いないのですが,今日現在, ソースインストールを行って下さい (omni 用 joystick ノードがまだ作業中のため.このチケット (#16) がクローズされたら,ソースインストールは不要になります).__

以下,簡便のために ROS Indigo と SPUR ROS パッケージ両方をインストールするコマンドを記載します. ROS のインストール詳細は, wiki をご覧下さい.

Ubuntu$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
Ubuntu$ wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | sudo apt-key add -
Ubuntu$ sudo apt-get update && sudo apt-get install ros-indigo-desktop-full ros-indigo-spur
Ubuntu$ sudo rosdep init && rosdep update

Ubuntu$ echo "### For ROS setting"
Ubuntu$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
Ubuntu$ source ~/.bashrc

ソースインストールは開発目的でのみ推奨されます. ~/catkin_ws/ ディレクトリにインストールすることを想定しています.

  1. catkin workspace を設定し SPUR ROS パッケージをダウンロード.
$ mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/src && catkin_init_workspace
$ git clone https://github.com/tork-a/spur.git

1-1. joy stick を設定 (暫定).

全方位移動ロボット用の ROS の joystick ドライバはまだ開発が進んでいる最中なので,ソースでインストールします (April, 2015.関連するチケット).

$ cd ~/catkin_ws/src
$ git clone https://github.com/130s/teleop_twist_joy.git && cd teleop_twist_joy && git checkout add/omnidir

1-2. scan_tools を設定 (暫定).

$ cd ~/catkin_ws/src
$ git clone https://github.com/ccny-ros-pkg/scan_tools.git && cd scan_tools && git checkout b5efb32268911cada4bf5144af3578a5561dcfef -b 20150711
  1. 依存するライブラリのインストール.コンパイル.
$ cd ~/catkin_ws
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make install && source install/setup.bash

タスクを作った都度,必ず実機で動作させる前にシミュレーションで確認するようにして下さい.

$ roslaunch spur_gazebo spur_world.launch    # Simulation
$ roslaunch spur_bringup minimal.launch      # 実機

以下は PS3-Elecom で確認済みの手順です.

  1. joystick をペアリング.
  1. joystick ROS ノード起動.
$ roslaunch spur_bringup joy_teleop.launch
$ roslaunch spur_bringup joy_teleop.launch joy_port:=/dev/input/js1  # If joy is found on a different port
  1. PS3-Elecom を使うためには, "Mode" ボタンを二回押して,アナログ入力を有効化する.動作を行う際はボタン 9 を押し下げ続ける.
$ roslaunch spur_bringup kb_teleop.launch

台車と共に次のサービスを,下に示すコマンドで起動する;RViz, gmapping.

term-1a$ roslaunch spur_bringup minimal.launch                            # Real robot
term-1b$ roslaunch spur_gazebo spur_world.launch visualize_laser:=true    # Simulation
term-2$ roslaunch spur_description rviz.launch
term-3$ roslaunch spur_2dnav gmapping.launch

起動したら,既存チュートリアルを参考にしてロボットを移動して地図を作成する (e.g. one from Turtlebot).

このロボット運用の際に最もよく使うコマンドかも知れないので,1行のコマンドで実行できるようにしてあります.注意点:

  • シミュレーション・モードは Willow Garage 社の地図をデフォルトで用います
  • 実機では map_file 引数指定が**必須**です

次の1行のコマンドで move_base 等自律移動に必要なノードを (台車,RViz 等地図作成時に使用したノード群と共に) 起動します:

.. code-block::

term-1-sim$ roslaunch spur_2dnav amcl.launch sim:=true term-1-real$ roslaunch spur_2dnav amcl.launch map_file:=%PATH_MAPFILE%

(Ex.) term-1-real$ roslaunch spur_2dnav amcl.launch map_file:=`rospack find spur_2dnav`/launch/mysweethome.yaml

(Gazebo と) RViz が表示されたら,RViz 上で次の操作で自律移動を開始します:

  1. 2D Pose Estimate ボタン (通常 RViz の最上部に表示されている) で正しいロボットの現在位置を指定する.
  2. ロボットの位置が合ったら 2D Nav Goal ボタンを押し,ゴール位置姿勢を指定する.
2D Pose matched b/w rviz and gazebo

Image. 2D pose of the robot is matched using 2D Pose Estimate feature on RViz.

その他操作の詳細は既存チュートリアルを参照 (e.g. Using rviz with the Navigation Stack).

ゴール位置姿勢をプログラムで与えたい場合,geometry_msgs/PoseWithCovarianceStamped トピックを発行する (詳細:this QA).