RasPike‐ROS環境構築5 - Hiyama1026/raspike-ros GitHub Wiki

Hubに接続するデバイスを変更したい場合(オプション)

概要

  • Hubに接続するデバイスを変更したい(ロボットを自作したい)場合はmicro-ROSファームウェアを自前で作成し,ビルドする必要がある
    • 例)距離センサを取り外したい,モータをポートDに接続したい,etc...
  • micro-ROSファームウェアの作成方法には以下の2通りが存在する
  1. micro-ROSファームウェアの自動生成ツールを使用する
  2. micro-ROSファームウェアを自分で作成してビルドする

micro-ROSファームウェアを自前ビルドする方法

  • uros_raspike-rtの使用方法
    • uROSプログラム(asp.dfu)を自前でビルドして実行する手順

Raspberry Pi側の環境構築

SPIKE側の環境構築

  1. PC上でワークスペースを作成する

    mkdir ~/asp_uros_ws
    cd ~/asp_uros_ws
    
  2. spike-rtとmicro-ROS_ASP3をクローン

    git clone https://github.com/exshonda/micro-ROS_ASP3.git
    git clone -b v0.2.0 https://github.com/spike-rt/spike-rt.git
    
  3. spike-rtとmicro-ROS_ASP3をセットアップ

  4. micro-ROS_ASP3にカスタムメッセージ定義パッケージを追加

    • micro-ROS_ASP3/external/primehub/firmware/mcu_wsにraspike_uros_msgを置く
    • micro-ROS_ASP3/micro_ros_asp/micro_ros_asp.mkに下記を追加
    INCLUDES += -I$(MIROROS_ASP3_TOP_DIR)/$(MICROROS_INC)/raspike_uros_msg
    
    • libmicroros.a のビルドを実行
    cd ~/asp_uros_ws/micro-ROS_ASP3/external
    make build_firmware
    
  5. uROSパッケージを追加・SPIKEへの書き込み

    • micro-ROS_ASP3/spike-rtにuros_raspike-rtを置く
    • 下記のどちらかのコマンドでビルド・書き込み
      • (※)並列ビルドでエラーになる時がある.
        • その時は2回make asp.binでビルドする事ができる
    cd ../spike-rt/uros_raspike_rt
    make asp.bin
    python3 ../../../spike-rt/asp3/target/primehub_gcc/tools/dfu.py -b 0x8008000:asp.bin asp.dfu
    sudo python3 ../../../spike-rt/asp3/target/primehub_gcc/tools/pydfu.py -u asp.dfu --vid 0x0694 --pid 0x0008
    
    • または
    cd ../spike-rt/uros_raspike_rt
    make deploy-dfu
    

SPIKEとRaspberry Piの接続・ROS 2アプリの実行

  • 接続方法,ROS 2アプリの実行方法の基本的な流れは通常の環境構築方法と同じ