変わりモノがいい!

変わりモノには価値がある・・・ハズ?

ROS版PiCar-V作成開始 その3

いよいよPiCar-Vを動かすためのコードをROS環境に組み込みます。

いよいよ未踏の地に踏み込みます。
ちょっと大げさですが、僕としては初めての経験なので試行錯誤の繰り返しが予想されます。
一応、本は2冊買っていますが、未だにポイントを掴めていないというか体に覚えこませることができていません。
ROSを動かすことは出来ましたが、ROS環境でモノを動かすことはできていません。
こういう時には、先人に倣え、ということで、Githubの中のコードを探してみることにしました。

f:id:ken2017:20210415154021p:plain
そうしたら数は少ないですが参考になりそうなものがありました。
それがコレ。

github.com

github.com

まずは、これらのコードをROS環境に組み込みたいと思います。

予想通りROS環境への組込みから難航しました。

予想通りとはいえ、コードの組込みから難航しました。
僕と同じように悩む人も出てくると思いますので備忘録として以下にやったことを記載します。

まずは、必要なファイルをsrcフォルダーにcloneします。

ターミナルから以下を入力します。
cd ~/ros_catkin_ws/src
git clone https://github.com/korzen/PiCar_ROS.git
そしてrosの依存関係を確認します。
rosdep install -r -y --from-paths . --ignore-src
そしてパッケージをビルドします。
cd ~/ros_catkin_ws
catkin_make
上手くいったかな、と思ったらエラー発生。

f:id:ken2017:20210416101355j:plain
このworkspaceにnon-catkinパッケージが含まれている?
どういうこと?
意味が判らない。
メッセージにあるようにcatkin_make_isolatedをやってみると別のエラーが出ました。
どうしよと悩んだ結果、一旦元に戻そうと、PiCar_ROSのフォルダーを削除して
catkin_makeをやってみました。
でも結果は削除前と同じで下の画面になりました。

f:id:ken2017:20210416101355j:plain

あれ? 追加したフォルダーが原因ではないの?
ということで再度PiCar_ROSのパッケージインストールをやりました。
cd ~/ros_catkin_ws/src
git clone https://github.com/korzen/PiCar_ROS.git
そしてrosの依存関係を確認します。
rosdep install -r -y --from-paths . --ignore-src
そしてパッケージをビルドします。
cd ~/ros_catkin_ws
catkin_make
ビルドすると当然ながら全く同じエラーが発生しました。

f:id:ken2017:20210416101355j:plain

ネットを色々調べても原因が判らず、1日経ち、いよいよ諦めムードが漂う中、以下の文章をネットで検索しました。
This workspace contains non-catkin packages in it,
画面に出ていた文章そのままです。
すると運よく下の記事を見つけることができました。
この記事を書いた人も全く同じエラーが出ていました。

robopara.co.jp

記事によると、plain cmakeと赤字で表示されているものがnon-catkinパッケージとのことで、これを取り除く必要があるとのことです。

f:id:ken2017:20210416101625j:plain
記事を書いた人も詳しい理由は判っていないようで、この方面に詳しい技術者の人に教えてもらったようです。
これは考えても判りません。

当該パッケージをcaktin_makeから外してビルドします。
catkin_make -DCATKIN_BLACKLIST_PACKAGES="orocos_kdl;python_orocos_kdl"
すると今度は、diagnostic_msgs/DiagnosticArray.hが見つからないというので、これも外します。
catkin_make -DCATKIN_BLACKLIST_PACKAGES="orocos_kdl;python_orocos_kdl;
diagnostic_updater"
この結果、上手くビルドできました。
そしてcatkin_wsの中のrosパッケージにパスを通します。
echo "source ~/ros_catkin_ws/devel/setup.bash" >> ~/.bashrc
sorce ~/.bashrc
これでできました。
同じようにTheosakamg/PiCar_ROSについてもインストールします。
PiCar_ROSという同じフォルダー名を持っているので、インストールするフォルダー名をPiCar-V_ROSにして上と同じ作業をやることでパッケージのインストールをやりました。
これで使える状態になっているはずです。
今日はインストールまでで、次の記事で、今回インストールしたコードを動かしてみたいと思います。

今日はここまで。
では、また。

 

プライバシーポリシー お問い合わせ