Ubuntu18.04 signale une erreur lors de l'utilisation de l'environnement de simulation conjointe carla0.9.11

Ubuntu18.04 utilise l'ingénierie et la simulation conjointe carla0.9.11 pour signaler les erreurs - erreur d'environnement python3 (non recommandé)

L’avantage d’utiliser python3 est qu’il est avancé. Série de rapports d'erreur :
 1

File "/home/cg/Auto_driving/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/client.py", line 18, in <module>
    from carla_ros_bridge.bridge_with_rosbag import CarlaRosBridgeWithBag
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/bridge_with_rosbag.py", line 16, in <module>
    import rosbag
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbag/__init__.py", line 33, in <module>
    from .bag import Bag, Compression, ROSBagException, ROSBagFormatException, ROSBagUnindexedException
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbag/bag.py", line 53, in <module>
    from Cryptodome.Cipher import AES
ModuleNotFoundError: No module named 'Cryptodome'

courir

 pip install pycryptodomex -i https://pypi.tuna.tsinghua.edu.cn/simple

2

Traceback (most recent call last):
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 527, in <module>
    main()
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 518, in main
    controller = CarlaAckermannControl()
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 88, in __init__
    lambda: rospy.get_rostime().to_sec() - 0.1)
KeyError: 'simple_pid.PID'
Traceback (most recent call last):
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py", line 42, in <module>
    from agents.navigation.global_route_planner import GlobalRoutePlanner
ModuleNotFoundError: No module named 'agents'

Ajouter le fichier .bashrc

export PYTHONPATH=$PYTHONPATH:/home/cg/carla-0.9.5/PythonAPI/carla/dist/carla-0.9.5-py3.5-linux-x86_64.egg:/home/cg/carla-0.9.5/PythonAPI/carla

Faites attention à le changer selon votre propre chemin

3

ModuleNotFoundError: No module named 'gnupg'
pip install gnupg -i https://pypi.tuna.tsinghua.edu.cn/simple

4

Traceback (most recent call last):
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py", line 360, in main
    ego_vehicle.run()
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py", line 339, in run
    self.world = client.get_world()
RuntimeError: rpc::rpc_error during call in function version

Étant donné que les autres versions de Carla, telles que carla-0.9.11, ont été installées manuellement avec pip, vous pouvez simplement la désinstaller avec pip :

pip uninstall carla

5

Traceback (most recent call last):
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 527, in <module>
    main()
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 518, in main
    controller = CarlaAckermannControl()
  File "/home/cg/Auto_driving/src/ros-bridge/carla_ackermann_control/src/carla_ackermann_control/carla_ackermann_control_node.py", line 88, in __init__
    lambda: rospy.get_rostime().to_sec() - 0.1)
KeyError: 'simple_pid.PID'

La version simple_pid est fausse, installez-la

pip install simple_pid==0.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple

6

Traceback (most recent call last):
File “/opt/ros/melodic/lib/turtle_tf/turtle_tf_broadcaster.py”, line 37, in
import tf
File “/opt/ros/melodic/lib/python2.7/dist-packages/tf/init.py”, line 30, in
from tf2_ros import TransformException as Exception, ConnectivityException, LookupException, ExtrapolationException
File “/opt/ros/melodic/lib/python2.7/dist-packages/tf2_ros/init.py”, line 38, in
from tf2_py import *
File “/opt/ros/melodic/lib/python2.7/dist-packages/tf2_py/init.py”, line 38, in
from ._tf2 import *
ImportError: dynamic module does not define module export function (PyInit__tf2)9

Ce problème se produit généralement parce que Ros ne prend actuellement en charge que Python2. Certains packages fonctionnels majeurs tels que tf2 sont exécutés dans l'environnement Python2. Il n'y aura aucun problème pour importer des packages associés dans Python2, mais des erreurs se produiront dans Python3. Installer:

sudo apt update
sudo apt install python3-catkin-pkg-modules python3-rospkg-modules python3-empy
#准备一个catkin工作空间,因为都叫catkin_ws,我就把它和ros-bridge放同一个目录下了
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source devel/setup.bash
wstool init
wstool set -y src/geometry2 --git https://github.com/ros/geometry2 -v 0.6.5
wstool up
rosdep install --from-paths src --ignore-src -y -r
#最后用Python3编译,注意,编译前把之前编译的文件都删除,编译的python环境也得是python3,我是用conda的python3.7
catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3  -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m  -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so

7

Traceback (most recent call last):
  File "/opt/anaconda3/envs/autoware/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/opt/anaconda3/envs/autoware/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/bridge.py", line 271, in _synchronous_mode_update
    self._update(frame, world_snapshot.timestamp.elapsed_seconds)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/bridge.py", line 312, in _update
    self.actor_factory.update_actor_states(frame_id, timestamp)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/actor_factory.py", line 143, in update_actor_states
    self.actors[actor_id].update(frame_id, timestamp)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/sensor.py", line 253, in update
    self._update_synchronous_sensor(frame, timestamp)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/sensor.py", line 234, in _update_synchronous_sensor
    self.sensor_data_updated(carla_sensor_data)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/camera.py", line 121, in sensor_data_updated
    img_msg = self.get_ros_image(carla_camera_data)
  File "/home/cg/ros_carla/src/carla_ros_bridge/src/carla_ros_bridge/camera.py", line 163, in get_ros_image
    img_msg = Camera.cv_bridge.cv2_to_imgmsg(image_data_array, encoding=encoding)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/cv_bridge/core.py", line 259, in cv2_to_imgmsg
    if self.cvtype_to_name[self.encoding_to_cvtype2(encoding)] != cv_type:
  File "/opt/ros/melodic/lib/python2.7/dist-packages/cv_bridge/core.py", line 91, in encoding_to_cvtype2
    from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

Référence : https://blog.csdn.net/qq_41035283/article/details/120887112
Il est important de noter que la version téléchargée de vision_opencv doit être mélodique.

Ubuntu18.04 utilise l'ingénierie et la simulation conjointe carla0.9.11 pour signaler les erreurs - environnement python2 (recommandé)

Il n'y a aucun problème avec Ubuntu20.04 utilisant l'œuf python3 de Carla, mais le problème est plus important avec Ubuntu18.04, il est donc préférable d'utiliser l'environnement python2, car lorsque la simulation conjointe n'est pas nécessaire, l'utilisation de python3 ros sera efficace. en .bashrc (selon votre propre modification de chemin)

export PYTHONPATH=$PYTHONPATH:/home/xx/carla-0.9.5/PythonAPI/carla/dist/carla-0.9.5-py2.7-linux-x86_64.egg
export PYTHONPATH=$PYTHONPATH:/home/xx/carla-0.9.5/PythonAPI/carla/dist/carla-0.9.5-py2.7-linux-x86_64.egg:/home/cg/carla-0.9.8/PythonAPI/carla

source ou redémarrez le terminal.

Compilez dans l'environnement python2 par défaut du système :

catkin build

Erreur signalée :

File "/home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py", line 19
SyntaxError: Non-ASCII character '\xe4' in file /home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
process[map_server-7]: started with pid [6317]

Recherchez l'emplacement où l'erreur est signalée et supprimez les commentaires chinois ou renommez-les en anglais. Le caractère non-ASCII similaire '\xe8' est la même méthode.

Erreur signalée :

ModuleNotFoundError: No module named 'scipy'

Installer scipy dans l'environnement python3.6

pip3 install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple

Erreur signalée :

ModuleNotFoundError: No module named 'tkinter'
sudo apt-get install python3-tk

Erreur signalée :

ModuleNotFoundError: No module named 'sklearn'
pip3 install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple

Résumer

Il est plus difficile d'exécuter Carla sur Ubuntu18.04 car le python par défaut est 2.7, y compris python2 fourni avec ros, vous rencontrerez donc des erreurs, mais ne paniquez pas, apprenez lentement et résolvez-les. Il est également préférable d'utiliser conda pour créer un environnement python3, ce qui est une bonne habitude.

Insérer la description de l'image iciSi vous devez acheter un code, vous pouvez le faire en privé.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_39735688/article/details/132219944
conseillé
Classement