Turtlebot2をROS Kineticで動かした時のメモ
Turtlebot2関連パッケージのインストール
- sudo apt install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs ros-kinetic-turtlebot-simulator
- ros-kinetic-rocon-remoconとros-kinetic-rocon-qt-library, turtlebot_simulationパッケージはaptで取得できないので以下のコマンドで取得する。
- $ ~/catkin_ws/src
- $ git clone https://github.com/robotics–in-concert/rocon_qt_gui.git
- $ git clone https://github.com/turtlebot/turtlebot_simulator.git
- catkin_makeでpyrcc4, pyrcc5がないと怒られるので次のパッケージをインストル
- $ sudo apt install pyqt4-dev-tools
- $ sudo apt-get install pyqt5-dev-tools
- ビルド
- $ cd ~/catkin_ws
- $ catkin_make
Kobukiのセットアップ
- $ source /opt/ros/kinetic/setup.bash
- $ rosrun kobuki_ftdi create_udev_rules
Hokuyo Lidar設定
- TurtlebotパッケージではHokuyo Lidar (UTM-30LX)の設定がないので追加する。
/opt/ros/kinetic/share/turtlebot_description/urdf/turtlebot_properties.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>
- /opt/ros/kinetic/share/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/kinetic/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-kinetic-urg-node
Turtlebot2起動
- 以下のコマンドでTurtlebot2を起動する。うまくいったらピロピロピロと音がする。鳴らない場合はTurtlebot2とPCとの接続がうまくいっていないのでUSBケーブルなどを挿し直す。
- $ roslaunch turtlebot_bringup minimal.launch
キーボードによる遠隔操作
- 以下のコマンドでキーボードによりTurtlebot2を遠隔操作できる。iキーで前進、uキーで左折、oキーで右折、kで停止、jで左回転、lで右回転、,で行進。
- $ roslaunch turtlebot_teleop keyboard_teleop.launch
以上