ラズベリーパイでcolcon buildをするとフリーズする件

ラズベリーパイでROS公式のチャートリアルをしていたのだがcolcon buildをするとフリーズしてしまったので対処法を書いていく。

公式ROSチャートリアルリンク

Creating a workspace — ROS 2 Documentation: Humble documentation

クリックすると楽天に飛びます。

ビルド時に環境変数やオプションを指定する。

どうやらビルド時に負荷がかかっているのが問題なようなので負荷を下げる設定を行ってみることにする。

まずはビルド時のコア数を指定するために、MAKEFLAGSという環境変数を設定してみる。MAKEFLAGS=-j1とし、1コアでビルドができるように設定してビルドをしてみた。しかし試してみたけどやはりビルドがフリーズしてしまう。

その後、ビルド時に--parallel-workersというオプションを指定すると、ビルド時の並列処理を制限できるとわかったので、--parallel-workers 1とオプションを設定して実行してみたところ、フリーズせずにビルドすることができました。

具体的なコンソール画面でのコマンドは以下のようになります。

  • MAKEFLAGS=-j1
  • colcon build --parallel-workers 1

まとめ

チャートリアルでかなり手こずっており先がとても思いやられる。ROSとかは英語の参考サイトが多いのも問題だ。何とかしなければ。