Ubuntu18.04 informa un error al usar el entorno de simulación conjunta carla0.9.11

Ubuntu18.04 utiliza ingeniería y simulación conjunta carla0.9.11 para informar errores: error del entorno python3 (no recomendado)

La ventaja de usar python3 es que es avanzado. Serie de informes de errores:
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'

correr

 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'

Agregar el archivo .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

Presta atención para cambiarlo a tu propio camino.

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

Debido a que otras versiones de carla, como carla-0.9.11, se instalaron manualmente con pip, puedes desinstalarlas con 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 versión simple_pid es incorrecta, instálela

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

Este problema generalmente ocurre porque Ros actualmente solo admite Python2. Algunos paquetes funcionales importantes, como tf2, se ejecutan en el entorno Python2. No habrá problemas para importar paquetes relacionados en Python2, pero se producirán errores en Python3. Instalar:

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)

Referencia: https://blog.csdn.net/qq_41035283/article/details/120887112
Es importante tener en cuenta que la versión descargada de vision_opencv debe ser melódica.

Ubuntu18.04 utiliza ingeniería y simulación conjunta carla0.9.11 para informar errores: entorno python2 (recomendado)

No hay problema con ubuntu20.04 usando el huevo python3 de Carla, pero el problema es mayor con ubuntu18.04, por lo que es mejor usar el entorno python2, porque cuando no se necesita simulación conjunta, usar python3 ros será efectivo. en .bashrc (según su propia modificación de ruta)

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

fuente o reinicie el terminal.

Compile en el entorno python2 predeterminado del sistema:

catkin build

Error reportado:

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]

Busque la ubicación donde se informó el error y elimine los comentarios en chino o cámbieles el nombre a inglés. El carácter similar no ASCII '\xe8' es el mismo método.

Error reportado:

ModuleNotFoundError: No module named 'scipy'

Instale scipy en el entorno python3.6

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

Error reportado:

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

Error reportado:

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

Resumir

Es más problemático ejecutar carla en ubuntu18.04 porque el Python predeterminado es 2.7, incluido Python2 que viene con ros, por lo que encontrará algunos errores, pero no entre en pánico, aprenda lentamente y resuélvalos. También es mejor usar conda para crear un entorno python3, lo cual es un buen hábito.

Insertar descripción de la imagen aquíSi necesitas comprar un código, puedes hacerlo de forma privada.

Supongo que te gusta

Origin blog.csdn.net/weixin_39735688/article/details/132219944
Recomendado
Clasificación