Turtlebot3 Burgerに搭載されているRaspberry Pi 3の設定メモ。以下のリンクを元に作業したメモ。この作業も1.2GB以上のファイルをダウンロードする必要があるので、環境によっては数時間かかる。
Ubuntu Mateのインストール(リモートPCでの作業)
- Turtlebot3 Burger付属(2017年8月購入)のSDカードが8GBしか容量がないので、Raspberry Pi3のSDカードにUbuntu Mateをインストールする。これからの作業はリモートPCで行い、SDカードにUbuntu Mateのイメージを書き込む。
- 次のリンクからダウンロードする。
- Raspberry Piをクリック
- 16.04.2をクリック
- ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xzをクリック
- 端末を開き、次のコマンドを実行しダウンロードしたイメージの圧縮ファイルを解凍する。
sudo apt-get install gddrescue xz-utils
unxz ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz
- SDカードに書き込む。ここではSDカードのデバイスファイルが/dev/sdxとしているので適切に変更する。なお、使い方がよくわからない方はWin32 Disk Imagerなどのウインドウズのソフトを使うとよい。
sudo ddrescue -D --force ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img /dev/sdx
ROSのインストール(Raspberry Pi 3での作業)
- リモートPCの作業で作ったSDカードをRaspberry Pi 3に挿入する。
- Raspberry Pi 3にHDMIディスプレイ、キーボード、マウスを接続する。次に、電源用のマイクロUSB端子を刺してRaspberry Pi 3を起動する。Raspberry Piには電源スイッチがないので電源を供給するとすぐ起動するので、電源用のマイクロUSB端子は最後に刺す。
- Ubuntu mateが起動したら端末を起動して以下のコマンドを実行してROSをインストールする。
sudo apt-get update
sudo apt-get upgrade
wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic_rp3.sh
chmod 755 ./install_ros_kinetic_rp3.sh
./install_ros_kinetic_rp3.sh
- ワークスペースの作成
source /opt/ros/kinetic/setup.bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
- Turtlebot3関連のパッケージをインストール
cd ~/catkin_ws/src
git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone https://github.com/ROBOTIS-GIT/turtlebot3.git
- リモートPC用のファイルを消す。Raspberry Pi3はメモリが1GBしかないので、ファイルを消さないとビルドで失敗する。
cd ~/catkin_ws/src/turtlebot3
sudo rm -r turtlebot3_description/ turtlebot3_teleop/ turtlebot3_navigation/ turtlebot3_slam/ turtlebot3_example/
sudo apt-get install ros-kinetic-rosserial-python ros-kinetic-tf
- パッケージのビルド
cd ~/catkin_ws
catkin_make
USBの設定
- Turtlebot3のコントローラOpenCR1.0のデバイス名とルート権限がなくても使えるように次のコマンドを実行する。
rosrun turtlebot3_bringup create_udev_rules
無線LANの設定
- 端末を開き、以下のコマンドでIPアドレスを調べる。リモートPCとTurtlebot3とは無線LANで通信するのでwlan0の欄を見る。ここでは192.168.1.14とする。
ifconfig
- 下図の赤で囲んだ部分を.bashrcに追加する。このIPアドレスはifconfigで調べたIPアドレス。この例では192.168.1.14。
ROS_MASTER_URIはroscoreを起動するリモートPCのIPアドレス。ROS_HOSTNAMEはRaspberry Pi3のIPアドレス。IPアドレスを間違えるとロボットは動かない。
また、DHCP設定の場合はコンピュータを起動するたびにIPアドレスが変わるので注意が必要。
- 設定を有効にするために次のコマンドを実行する。
source ~/.bashrc
これで終了。お疲れ様。
コメント