RasPike‐ROS環境構築5 - Hiyama1026/raspike-ros GitHub Wiki
Hubに接続するデバイスを変更したい場合(オプション)
概要
- Hubに接続するデバイスを変更したい(ロボットを自作したい)場合はmicro-ROSファームウェアを自前で作成し,ビルドする必要がある
- 例)距離センサを取り外したい,モータをポートDに接続したい,etc...
- micro-ROSファームウェアの作成方法には以下の2通りが存在する
- micro-ROSファームウェアの自動生成ツールを使用する
- 設定ファイルに,各ポートに接続するデバイスを記述するとmicro-ROSファームウェアを自動生成
- ツール:https://github.com/Hiyama1026/uros_spike-rt_gen
- micro-ROSファームウェアを自分で作成してビルドする
- 後述の「micro-ROSファームウェアを自前ビルドする方法」に従う
- micro-ROS_ASP3を使用する
- 後述の「micro-ROSファームウェアを自前ビルドする方法」に従う
micro-ROSファームウェアを自前ビルドする方法
- uros_raspike-rtの使用方法
- uROSプログラム(asp.dfu)を自前でビルドして実行する手順
Raspberry Pi側の環境構築
SPIKE側の環境構築
-
PC上でワークスペースを作成する
mkdir ~/asp_uros_ws cd ~/asp_uros_ws
-
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
-
spike-rtとmicro-ROS_ASP3をセットアップ
- 参考
- micro-ROS_ASP3,及びmicro-ROS_ASP3/spike-rtのREADME
Makefile.config
のターゲットボードはPrime Hubを選択する- 補足:micro-ROS_ASP3はspike-rtのv0.2.0に対応している
- spike-rt,及びspike-rt環境構築Wiki
- micro-ROS_ASP3,及びmicro-ROS_ASP3/spike-rtのREADME
- 参考
-
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
-
uROSパッケージを追加・SPIKEへの書き込み
micro-ROS_ASP3/spike-rt
にuros_raspike-rtを置く- 下記のどちらかのコマンドでビルド・書き込み
- (※)並列ビルドでエラーになる時がある.
- その時は2回
make asp.bin
でビルドする事ができる
- その時は2回
- (※)並列ビルドでエラーになる時がある.
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アプリの実行方法の基本的な流れは通常の環境構築方法と同じ