LoginSignup
1
0

【番外編】ショートカット版開発環境構築【SPIKE-RTでロボコンに出よう!!】

Posted at

目次

タイトル 内容
1 はじめに 本稿の内容説明
2 ショートカット出来る内容 ショートカット出来る箇所の説明
3 ショートカット版開発環境構築 ショートカット版開発環境構築の方法を解説
4 まとめ 今回のまとめ

1. はじめに

昨年12月より連載を開始した【SPIKE-RTでロボコンに出よう!!】シリーズですが、本稿執筆時点で7本投稿しております。

その中で、主に#1~#3で開発環境構築の作業を行いましたが、追加するファイル、編集するファイルが多くなり面倒だったかと思います。
さらに今年2月には、これまで使うことが出来なかったポートFを解放する方法が判明し、こちらも記事にいたしました。ただこの作業も、階層の奥深くのファイルを編集する必要があり、初心者の方には難易度が高い内容でした。

そこで私の方で、既にファイルの追加・編集したGithubのリポジトリを作成しました。
今回はこのGithubリポジトリを利用して、開発環境構築する方法を紹介したいと思います。

2. ショートカット出来る内容

構築方法を説明する前に、本稿の方法でショートカット出来る部分を説明したいと思います。

まずは、本シリーズで行った開発環境構築の作業をおさらいしていきます。

#1 開発環境を作ろう

  • Step.1 WSLの有効化 ⇒ インストール
    • WSL有効化
    • WSLのアップデート
    • WSL2への変更
    • Ubuntuのインストール
    • Ubuntuセットアップ
  • Step 2. ビルド環境の構築
    • ソースコードのダウンロード
    • Dockerの導入
    • コンテナ・イメージのプル
    • コンテナのアタッチと起動
  • Step 3. 転送方法の構築
    • USBIPD-WIN 4.0.0 以上の時
      • USBIPD-WIN プロジェクトをインストールする
        • バージョンの確認
      • HUBブロックの接続
        • USBデバイスの確認
        • Prime HubをWSL2にバインド(共有)
        • Prime HubをWSL2にアタッチ(接続)
    • (USBIPD-WIN 3.2.0までの場合は省略)
    • PyUSBの導入
  • ビルドのテスト

#2 エディタを使おう(VisualStudio Code)

  • 【Step 1】VSCodeのインストール
  • 【Step 2】VSCodeの日本語化
  • 【Step 3】WSL拡張機能導入
  • 【Step 4】C/C++の拡張機能

#3 テンプレートファイルとシェルスクリプトの作成

  • テンプレートの作成
    • workspaceフォルダの作成
    • templateフォルダの作成
    • templateファイルの作成
  • シェルスクリプトの作成
    • シェルスクリプト用フォルダの作成
    • start.sh
    • new_project.sh
    • create.py
    • build.sh
    • write.sh
    • 実行権限を付与する

#4 モータの使い方

  • モータの設定
    • config.hの編集

【番外編】ポートFを使えるようにする

  • ファイルの編集
    • config.h
    • pbdrvconfig.h
    • pbioconfig.h
    • primehub.h
    • pybricks.cfg

ショートカット可能箇所について

上記、開発環境構築の作業一覧のうち、赤色太字で示したところが、今回の作業により省略可能となる作業です。
具体的には以下の通りとなります。

  • テンプレートの作成
  • シェルスクリプトの作成
  • ポートFの解放

これらが省略可能となります。

ついでに、いくつかのサンプルプロジェクトを内包しています。
こちらは自由にご利用ください。

詳しくはこちらのREADMEを参照してください。

尚、「ポートFはモータやセンサに使えたほうが良いだろう」という考えから、ポートFの解放まで行ったものをGithubのリポジトリに公開していますが、「ポートFはそのままセンサのデバッグに使いたい」という場合は今回の方法は使えません。これまで通り、上記の手順に沿って環境構築を行ってください。

それでは、次章よりショートカット版環境構築を始めていきます。
ショートカット出来ない箇所は適宜省略しますので、これまでの記事を参考に作業を進めてください。

3. ショートカット版開発環境構築

Step 1. WSLの有効化⇒インストール

こちらは省略不可能です。

#1 4章 Step 1. WSLの有効化 ⇒ インストール を参照して作業を行ってください。

Step 2. ビルド環境の構築

ソースコードのダウンロード

この作業は、クローンしてくるGithubリポジトリが変わります。
通常は、開発者が提供している以下のGithubリポジトリから、ソースコードをクローンしてきます。

ただ今回は、私がファイルの編集・追加を行ったリポジトリからクローンするので、URLが変わります。

では、Ubuntuのターミナルを起動して、以下のコマンドによりソースコードをクローンしましょう。

Ubuntu
$ git clone https://github.com/Koushiro-Achioku/spike-rt.git

クローン後、lsコマンドを実行し、spike-rtというフォルダが確認されればクローン完了です。

Dockerの導入 ~ コンテナのアタッチと起動

  • Dockerの導入
  • コンテナ・イメージのプル
  • コンテナのアタッチ

これらの作業はこれまで通り行ってください。

#1 4章 Step 2. ビルド環境の構築【2024/01/20 追記】Dockerの導入 より先を参照

Step 3. 転送方法の構築

こちらもこれまで通りの作業です。
USBIPD-WINのアップデートにより作業手順が変わっておりますので、改めて記しておきます。

USBIPD-WIN プロジェクトをインストールする

Windowsに接続されたUSBデバイスを、WSLにも認識させるために必要なツールをインストールします。
下記のページを参照して導入してください。

PyUSBの導入

#1の記事に戻り、4章 Step 3. 転送方法の構築 PyUSBの導入より再開します。
こちらも#1に記載の方法で導入を行ってください。

Step 4. ビルドのテスト

ここまで出来たら、一度ビルドのテストを行っておきましょう。

#1 5章 ビルドのテストを参照して、正しくビルドが出来るか確認してください。

Step 5. エディタの導入

エディタとしてVSCodeを導入します。
こちらの作業は全て省略不可能なので、これまで通り以下の#2の作業を行ってください。

Step 6. シェルスクリプトに実行権限を付与

ここで#3の内容に入ります。
前述のとおり、テンプレートの作成とシェルスクリプトの作成は省略可能です。

ただし、Githubからクローンしてきたシェルスクリプトには、Linuxターミナルでの実行権限が付与されていません。
従って、以下のコマンドを実行することで実行権限を付与してください。
(#3の時より効率的なコマンドに変更しています。)

Ubuntu
~/spike-rt$ cd new_scripts
~/spike-rt/new_scripts$ sudo chmod 777 *.sh

これで、new_scripts内のシェルスクリプトに実行権限が付与されます。

環境構築完了!!

これにて、開発環境構築は終了です。
前述のとおり、ポートFの解放作業も必要ありません。

4. まとめ

いかがでしたでしょうか。
テンプレートやシェルスクリプトの作成など、煩雑だった作業が全て無くなりスッキリしたかと思います。
又、ポートFの解放は少し難易度が高い作業でしたが、ソースコードをクローンした時点で既に解放されている状態なので、初心者の方にも簡単になったかと思います。
是非この方法を活用して頂き、ロボット開発を加速してください!!

注意

今回紹介した改変済みリポジトリは公式によるものではなく、私個人が作成したものとなります。
デバッグは繰り返しておりますが、本来の動作に影響を及ぼす可能性があることをご承知おき下さい。
又、本稿に紹介する作業を行ったことにより、何らかの不具合が発生したとしても、当方は責任を負いかねますのでご了承ください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0