Kobuki with TurttleBot2 と Cartographer の競合

基本的には次の参考サイトの通りでインストールできます。

Google Cartoghraperをインストールしている環境だとハマりました。競合的な問題が起きて、関連パッケージのバージョンがかみ合わずにビルドが通りません。解決法をメモしておきます。

起きたエラー

kobuki_gazebo_plugins をビルド中に

error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is ...

のエラーが出てビルドできない

原因と対応策

このissueと同じ手順で解消できる。Cartographerとkobuki_gazebo_plugins はどちらもprotocol bufferを利用しているようだが、これ適切なバージョンでないとこれが原因でエラーが起きるらしい。kobuki_gazebo_pluginsが新しいバージョンに対応していないのが悪い。以下手順のコピペです。

  1. Cartographerインストール時に入ってきた protobuf を削除 cd /usr/local/include/google sudo rm -rf protobuf
  2. cartographer_ros の再コンパイル ドキュメントの手順 に従って再度インストール作業を進める.但し,src/cartographer/scripts/install_proto3.shを一度編集し, VERSION=”v3.4.1” を VERSION=”v3.0.0” に変更してこのスクリプトを実行する必要がある.
  3. kobuki_nodeを再ビルドする