記事ディレクトリ
ダウンロード後、catkin_make は 3 つのエラーを報告します
1. インストール手順
- catkin ワークスペースを作成します。
mkdir -p ~/carla-ros-bridge/catkin_ws/src
- ROS Bridge リポジトリとサブモジュールのクローンを作成します。
cd ~/carla-ros-bridge
git clone --recurse-submodules https://github.com/carla-simulator/ros-bridge.git catkin_ws/src/ros-bridge
- インストールした ROS バージョンに応じて ROS 環境をセットアップします。
source /opt/ros/noetic/setup.bash
- 必要な ros 依存関係をインストールします。
cd catkin_ws
wget http://fishros.com/install -O fishros && . fishros
rosdepc をインストールし、次を実行します。
rosdep update
rosdep install --from-paths src --ignore-src -r
7. 仮想環境の作成
conda create -n carla python=3.7
8. pip 依存関係をインストールする
pip install carla
pip install transforms3d
pip install pyyaml
pip install numpy
pip install opencv-python
pip install pygame
2. エラー報告とその解決策
1. エラー 1: Python ライブラリの空のライブラリが見つかりません
方法 1: conda 環境にempyをインストールする:conda install -c conda-forge empy
参照リンク
方法 2: これは、コンパイル中にターミナルが anaconda の仮想環境ベースにあり、関連する依存関係が不足している場合です。そのため、コンパイル時に Python パスを指定する必要があります。
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
conda deactivate
あるいは、直接終了して直接コンパイルすることもでき、その効果は上記のコマンドと同じです。
参考リンク
2. エラー 2: ackermann_msgs が見つかりません
これはパッケージが欠落しているためです。次のコマンドを使用してインストールします。
sudo apt-get install ros-noetic-ackermann-msgs
3. エラー 3: 派生オブジェクトが見つかりません
これは、このパッケージがないためです。次のコマンドを使用してインストールします。
この Web サイトでros-noetic-derived-object-msgs_3.3.0-1buster.20220926.181427_amd64.deb をダウンロードします。
そしてそれをインストールします:
sudo dpkg -i ros-noetic-derived-object-msgs_3.3.0-1buster.20220926.181427_amd64.deb
参考リンク:ubuntu20.04 carlaシミュレーション環境とros-bridge構築
ランタイム エラー 1: CARLA Python モジュール バージョン 0.9.12 が必要です。見つかりました: 0.9.14
これは、Python にインストールされている carla のバージョンが間違っていることが原因です。再インストールする必要があります:
pip install carla==0.9.12
ランタイム エラー 2: ImportError: /usr/lib/x86_64-linux-gnu/libp11-kit.so.0: 未定義のシンボル: ffi_type_pointer、バージョン LIBFFI_BASE_7.0
このエラーは、Python3.8 バージョンの問題によって発生します。解決策はこのリンクから提供されます。
まず、conda の carla 環境の lib フォルダーに cd します。
cd /home/"$USER"/anaconda3/envs/carla/lib
次に libffi.so.7 ファイルをバックアップします。
mv libffi.so.7 libffi.so.7.bak
次に、リンクを再確立します。
sudo ln -s /lib/x86_64-linux-gnu/libffi.so.7.1.0 libffi.so.7
sudo ldconfig
プログラムを再度実行すると、関連する問題が解決されます。