コンテンツにスキップ

ソフトウェアセットアップ -Raspberry Pi OS-

ライトローバーを動作させせるためには、OSや各ライブラリのセットアップが必要です。
以下の手順で、ライトローバーを動作させるための環境を構築していきましょう。
なお本ページはRaspberry Pi OSを使用する場合の手順です。
Ubuntu MATEを使用する場合はこちらをご参照ください。

OSのセットアップと設定

OSのセットアップや、ライトローバーを動作させるために必要な設定などを行います。
動画も用意していますので、そちらもご参照ください。

Raspberry Pi OSのセットアップ

  1. OSの書き込み

  2. Raspberry Piの初期設定~VNCの設定

OSの書込み

microSDカードにRaspberry Pi用のOS「Raspberry Pi OS」を書込みます。 ※2021年11月16日現在、OSのアップデートが行われた関係上、従来の手順ではROSのインストールができなくなることを確認しております。
 以下のリンクからBusterバージョンのimgファイルをダウンロードし、そちらをSDカードに書き込んでください。
Raspberry Pi OS アーカイブページ

  1. Raspberry Piのサイトから、Raspberry Pi Imagerのインストーラーをダウンロードします。
  2. インストーラーを起動し、Raspberry Pi Imagerをインストールします。
  3. インストールしたRaspberry Pi Imagerを起動します。
  4. microSDをカードリーダーを使ってPCに接続します。
  5. Raspberry Pi ImagerのCHOOSE OSの項目は、Raspberry Pi OS(32-bit)を選択します。
    Raspberry Pi ImagerのCHOOSE OSの項目は、Use customを選択し、ダウンロードしたimgファイルを選択します。
  6. CHOOSE SD CARDの項目は、OSを書き込みたいSDカードを選択します。
  7. WRITEでOSを書き込みます。

Raspberry Piの初期設定

Raspberry Piを起動し、各種設定を行います。

  1. VS-WRC201の電源ボタンを押して、Raspberry Piを起動します。
  2. 初期設定画面が表示されるので、以下の通りに設定します。
    1. Set Country -> Countryの項目でJapanを選択
    2. Change Password -> 新しいパスワードを2回入力
    3. Select WiFi Network -> 接続したいネットワークのSSIDを選択
    4. Enter WiFi Network -> 選択したSSIDのパスワードを入力
    5. Update Software -> Nextを選択
    6. Setup Complete -> Restartを選択し、Raspberry Piを再起動する
  3. 再起動が完了したら、画面左上のメニューから、設定->Raspberry Piの設定を選択します。
  4. タブからインターフェイスを選択し、I2Cの項目の有効にチェックを入れ、OKを選択します。

setup.pyの実行

Raspberry Piの設定変更と必須ライブラリの導入を行います。
手動で作業を行うこともできますが、以下のPythonファイルをご使用いただくことで自動で行えます。

次のリンクを右クリックし、「名前を付けてリンク先を保存」を選択して「ホームフォルダ」に保存してください。

setup.py

〇setup.pyの実行方法

  1. 画面左上のメニューから、アクセサリ->LXTerminalを選択するか、キーボードの Ctrl+Alt+T を押してターミナルを起動します。
  2. ターミナルに次のように入力して、setup.pyを実行します。
    sudo python setup.py
    

VNCの設定

ライトローバーをネットワーク経由で他のPCから制御できるようにVNCを導入します。

〇Raspberry Piの操作

  1. 画面左上のメニューから、設定->Raspberry Piの設定を選択します。
  2. タブからインターフェイスを選択し、VNCの項目の有効にチェックを入れ、OKを選択します。
  3. 画面左上のメニューから、アクセサリ->LXTerminalを選択するか、キーボードの Ctrl+Alt+T を押してターミナルを起動します。
  4. テキストエディタで/boot/config.txtを開きます。(例)nanoを使用する場合は以下のコマンドになります。

    sudo nano /boot/config.txt
    
  5. #hdmi_force_hotplug=1の先頭にある#を消して上書き保存します。

  6. 画面右上のアイコンからVNC Serverのウィンドウを開き、IPアドレスを確認します。

〇PCの操作

  1. ライトローバーと同じネットワークに接続してください。
  2. ブラウザからREALVNCのダウンロードページにアクセスし、VNC Viewerのインストーラーをダウンロードしてください。
  3. インストーラーを起動し、VNC Viewerをインストールします。
  4. インストールしたVNC Viewerを起動します。
  5. ウィンドウの上部にある入力欄に、先ほど確認したライトローバーのIPアドレスを入力します。
  6. UsernameにPi、Passwordには初期設定で設定したパスワードを入力します。

ROSのセットアップ

ROS Melodicのソースビルド

ROS Melodicはソースファイルからビルドしてインストールすることができます。
時間も手間もかかりますが、様々なROSのツールに触れることができます。
基本的には以下のサイトの説明に沿って進めて行きます。
ROS.org Installing ROS Melodic on the Raspberry Pi

  1. ROSリポジトリの設定
    ROSのリポジトリをソースリストに追加することで、ダウンロードできるようにします。
    ターミナルで次の2つのコマンドを実行してください。

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


    curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
    

    続いてインデックスをアップデートします。
    次の2つのコマンドを実行してください。

    sudo apt update
    


    sudo apt upgrade
    
  2. 依存ソフトウェアのインストール
    ROSのビルドに必要なソフトウェアをインストールします。次のコマンドを実行してください。

    sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
    
  3. rosdepの初期化
    次の2つのコマンドを実行してrosdepを初期化します。

    sudo rosdep init
    


    rosdep update
    
  4. ワークスペースの作成
    ROSをビルドするためのワークスペースを作成します。
    次のコマンドでフォルダを作りましょう。

    mkdir -p ~/ros_catkin_ws
    

    続いて、作成したフォルダに移動します。

    cd ~/ros_catkin_ws
    

    移動したら、以下のコマンドを使用してビルドするROSの構成を指定します。
    ここでは、GUIツールなども含まれたdesktopを使用します。

    rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
    

    バージョン管理ツールのwstoolを用いてワークスペースを初期化します。

    wstool init src melodic-desktop-wet.rosinstall
    
  5. 依存関係の解決 rosdepを使って、依存関係を確認、解決します。
    念の為、先ほどワークスペースに再度移動しておきます。

    cd ~/ros_catkin_ws
    

    rosdepで依存関係を解決し、必要なファイルを取得します。

    rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster
    

    ネットワークの状況にもよりますが、20~30分程度時間がかかります。

  6. ビルド 次のコマンドでROS Melodicをビルドしましょう。

    sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic
    

    ビルドには時間がかかります。
    電源が不安定な場合など、ビルドが途中で失敗することがあります。
    その場合は次のコマンドを使用してください。

    sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
    

    新たに-j2オプションを追加しています。
    -j2オプションは、ビルドに使用するCPUのコア数を制限するオプションです。

    ビルドが完了すると、ROSは/opt/ros/melodicにインストールされます。

以上で、ROS Melodicのインストールは完了です。

環境変数の設定

ターミナルからコマンドを呼び出して実行する際には、そのコマンドに対するパスが通っている必要があります。
ターミナルを起動した際にROSへのパスが通るように設定を追加します。
ターミナルを立ち上げて以下のコマンドを実行してください。

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

catkinワークスペースの作成

その他のパッケージのインストール用に新たにcatkinワークスペースを作成しましょう。
catkinはROS1のビルドシステムです。

ROS Wikiのチュートリアルではcatkin_makeコマンドによるビルド方法が紹介されていますが、ライトローバーではcatkin buildを使用します。
catkin buildはcatkin_makeの後継として作られたコマンドで、catkin_makeで使い辛かった点などが改善されています。

以下のコマンドをターミナルで実行し、catkin buikdをインストールします。

sudo apt install python-catkin-tools

setup.bashを実行します。

source /opt/ros/melodic/setup.bash

次のコマンドでワークスペースとなるフォルダを作成してください。

mkdir -p ~/catkin_ws/src

作成したフォルダに移動します。

cd ~/catkin_ws

catkinワークスペースを初期化します。

catkin init

初期化が完了したら一度ビルドを実行しておきましょう。
catkin buildを実行します。

catkin build

ROS本体と同様に、こちらのワークスペースにもパスが通るように設定します。

echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

以上で、ワークスペースの作成が完了です。

lightrover_rosパッケージのインストール

作成したワークスペースにライトローバーをROSから制御するためのパッケージ「lightrover_ros」をセットアップしましょう。
新たにターミナルを立ち上げて、次のコマンドでワークスペースのsrcフォルダに移動します。

cd ~/catkin_ws/src

次のコマンドで、Githubからlightrover_rosパッケージのソースをクローンします。

git clone https://github.com/vstoneofficial/lightrover_ros.git

catkin buildします。

catkin build

これでlightrover_rosパッケージのインストールは完了です。
しかし、このままではパッケージに含まれるPythonファイルに実行権限がなく起動できません。
以下のコマンドで権限を付けましょう。

sudo chmod +x ~/catkin_ws/src/lightrover_ros/scripts/*.py

これで実行する準備が整いました。
現在のターミナルはパスが通っていないので、ターミナルを立ち上げ直してパスが通っている状態にしてください。

YDLiDARのセットアップ

ライトローバーに取付けられているLiDAR「YDLiDAR X2」を使用できるように、セットアップを行っていきましょう。 まずは、YDLiDARのSDKをインストールします。
以下のコマンドでホームフォルダに移動します。

cd

SDKのセットアップに必要なパッケージをインストールします。

sudo apt install cmake pkg-config
sudo apt install swig python-pip

次のコマンドで、GithubからYDLiDAR SDKパッケージのソースをクローンします。

git clone https://github.com/YDLIDAR/YDLidar-SDK.git

以下のコマンドを順に実行し、YDLiDAR SDKをメイクしてインストールしましょう。

cd YDLidar-SDK/
mkdir build
cd build/
cmake ..
make
sudo make install

続いてYDLiDAR用のROSデバイスドライバパッケージを入手します。 ワークスペースのsrcフォルダに移動しましょう。

cd ~/catkin_ws/src

次のコマンドで、Githubからydlidar_rosパッケージのソースをクローンします。

git clone https://github.com/YDLIDAR/ydlidar_ros_driver.git

catkin buildします。

catkin build

続いて、YDLiDAR X2接続時の手間を省くため、シンボリックリンクを張る操作を行います。
Ubuntuにデバイスを接続するとデバイスファイルが作成されてアクセスできるようになるのですが、デバイスファイル名は接続ポートやタイミングによって変わってきてしまうため、毎回デバイスファイル名でアクセスするのは不便です。
次の手順でスクリプトを実行することで、ydlidarのデバイスファイルに対して決まった名前でシンボリックリンクを張るようになりますので、毎回決まった名前でアクセスすることが可能になります。
新しくターミナルを起動し、スクリプトがあるディレクトリに移動します。

roscd ydlidar_ros_driver/startup/

スクリプトファイルに権限をつけます。

sudo chmod 777 ./*

スクリプトファイルを実行しましょう。

sudo sh initenv.sh

スクリプトが完了したらターミナルを再起動し、Raspberry Piに接続されているYDLiDARのUSBケーブルを一度抜差ししてください。

YDLiDARのセットアップは完了です。



以上で、ライトローバーをROSで制御する準備が整いました。
引き続き、ROSとはの項目で、ROSの概要について確認することができます。