Ubuntu14.04にROS Indigoを入れてTurtlebot2を動かすまでの簡単な作業メモ。
- ROSインストール:http://wiki.ros.org/indigo/Installation/Ubuntuのとおり、Desktop-Fullをインストールする。
- Turtlebotパッケージのインストール:http://wiki.ros.org/turtlebot/Tutorials/indigo/Turtlebot%20Installationではホームディレクトリにrocon、kobuki、turtlebotの3つのディレクトリを作るが、ホームディレクトリの構成をシンプルにしたいので~/turtlebotの下にインストールする。それ以外は同じ。ここでは,ソースコードを読みたいのでソースからインストールする。
- 4.1 Preparation (準備)
$ sudo apt-get install python-rosdep python-wstool ros-indigo-ros
$ sudo rosdep init
$ rosdep update
- 4.2 Workspaces (ワークスペース):~/turtlebotの下に3つのディレクトリを作成
$ mkdir -p ~/turtlebot/rocon
$ cd ~/turtlebot/rocon
$ wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall
$ source /opt/ros/indigo/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir -p ~/turtlebot/kobuki
$ cd ~/turtlebot/kobuki
$ wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
$ source ~/turtlebot/rocon/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir -p ~/turtlebot/turtlebot
$ cd ~/turtlebot/turtlebot
$ wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
$ source ~/turtlebot/kobuki/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ source ~/turtlebot/turtlebot/devel/setup.bash
$ rosrun kobuki_ftdi create_udev_rules
- 4.3 Convinience (利便性)
echo "source ~/turtlebot/turtlebot/devel/setup.bash" >> ~/.bashrc
- 4.1 Preparation (準備)
- Hokuyo Lidar設定:
TurtlebotパッケージではHokuyo Lidar (UTM-30LX)の設定がないので追加する。
~/turtlebot/turtlebot/src/turtlebot/turtlebot_description/urdf/turtlebot_library.urdf.xacroに以下のコードを一番下の</robot>の上に追加する。<!-- Urg Lidar --> <joint name="laser" type="fixed"> <origin xyz="0.13 0.00 0.1" rpy="0 0 0" /> <parent link="base_link" /> <child link="base_laser_link" /> </joint> <link name="base_laser_link"> <visual> <geometry> <box size="0.06 0.06 0.07" /> </geometry> <material name="Black" /> </visual> <inertial> <mass value="0.000001" /> <origin xyz="0 0 0" /> <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001" /> </inertial> </link>
- ~/turtlebot/turtlebot/src/turtlebot/turtlebot_bringup/launch/3dsensor.launchの次の部分を変更する。
変更前:<arg name="scan_topic" default="scan"/>
変更後:
<arg name="scan_topic" default="kinect_scan"/> <node name="laser_driver" pkg="urg_node" type="urg_node"> <param name="frame_id" value="base_laser_link" /></node>
- /opt/ros/indigo/share/turtlebot_navigation/param/cosmap_common_params.yamlの31行目のmin_obstacle_heightを0.05,32行目のmax_obstacle_heightを1.2に変更する.Hokuyo Lidarを低い位置に取り付けるため.この設定をしないと障害物回避をしないので悩むことになる.この設定では高さ0.05[m]以上1.2[m]以下の障害物を回避する。それ以外は回避しない。ロボットの高さやセンサの取り付け位置でこの値を変更する。
scan: data_type: LaserScan topic: scan marking: true clearing: true min_obstacle_height: 0.05 max_obstacle_height: 1.2
- urg nodeをインストールする。
- sudo apt-get install ros-indigo-urg-node
- OpenCV2.4.9のインストール: 以下のサイトの手順に従った。
- doxygenのインストール
- $ sudo apt-get install doxygen doxygen-gui
- RTのlibkobuki1.0.3をここからダウンロードしインストール。
- $ unzip libkobuki-1.0.3.zip
- $ cd libkobuki-1.0.3
- $ unzip libkobuki-1.0.3src.zip
- $ ./BuildAll.sh
- 私の環境では改行コードの関係でエラーがでたので以下のコマンドでLinux用に修正する。
- $ sed -i ‘s/\r//’ BuildAll.sh
- $ ./BuildAll.sh
- Julius4.3.1をここからダウンロードしThe juliusbook第2章に従いソースからインストール。
- Sirius-1.0.1(437MB)をここからダウンロードし,~/srcの中にコピーする.wiki_indri_index.tar.gz(11GB)も合わせてダウンロード.
- cd ~/src
- tar xvzf sirius-1.0.1.tar.gz
- mv sirius-1.0.1 sirius
- cd ~/src/sirius/sirius-application
- tar xvzf question-answer.tar.gz
- sudo ./get-dependencies.sh
- ./get-kaldi.sh
- ./compile-sirius-server.sh
- Hydroで動いていたプログラムがIndigoでも動いたので終わり。
コメント