ROS indigoでiRobot Createを動かすまで

以前にもTurtleBotの関係でベースとなるiRobot Createを動かす手順をまとめたが、今回は別の方向に進む準備段階としてできるだけ少ない手間でCreateを動かす手順をまとめたい。

OSのインストール

OSとしてubuntuの軽量ディストリビューションであるlinuxBeanを用いた。linuxBeanの公式サイトから、linuxBean 14.04 (Trifolium) 14.04.2をダウンロードする。ROS/indigoを用いるために14.04を選んでインストールした。
必要な設定などは過去の記事を参考にしながら進めた。

ROS/indigoのインストール

ROSのインストール手順に従って進めて行く。
まず、パッケージのリポジトリ設定を行う。

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

次にキーの設定を行う。

sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116

パッケージインデックスの更新を行う。

sudo apt-get update

GUIツールなしでindigoをインストールする。

sudo apt-get install ros-indigo-ros-base

rosdepの初期化を行う。

sudo rosdep init
rosdep update

環境変数などの設定を行う。

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc

rosinstallをインストールする。

sudo apt-get install python-rosinstall

catkin用のワークスペースを作成する

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ..
catkin_make

Createノードの準備

Create用のパッケージを導入する

sudo apt-get install ros-indigo-create-node

CreateとUSBシリアルアダプタを用いて接続する。
上記のノードで使う /dev/ttyUSB0 を見てみると以下のようになっている。

ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188,0 7月 23 14:58 /dev/ttyUSB0

/dev/ttyUSB0にアクセスできるように、自分のユーザー名(hoge)をdialoutグループに追加する。

sudo vigr

/etc/groupファイルのうち、dialoutで始まる行の末尾に自分のユーザー名(hoge)を追加する。

dialout:x:20:hoge

Createへの接続テスト

roscoreを起動する。

roscore

(別のターミナルを開いて)create_nodeを起動する。

rosrun create_node turtlebot_node.py

赤字でエラーメッセージが表示されなければ(おそらく)問題ない。
Createを前進させる。

rostopic pub -1 /cmd_vel geometry_msgs/Twist -- '[10,0,0]' '[0,0,0]'

Createが数センチ動けばOK。