Ubuntu18.04使用carla0.9.5联合仿真搭环境报错

Ubuntu18.04使用工程与carla0.9.5联合仿真报错

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 CarlaRosBridgeWithBagFile "/home/cg/Auto_driving/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/bridge_with_rosbag.py", line 16, in <module>import rosbagFile "/opt/ros/melodic/lib/python2.7/dist-packages/rosbag/__init__.py", line 33, in <module>from .bag import Bag, Compression, ROSBagException, ROSBagFormatException, ROSBagUnindexedExceptionFile "/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'

运行

 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 maincontroller = 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'

在.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

注意改成自己的路径

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 mainego_vehicle.run()File "/home/cg/Auto_driving/src/ros-bridge/carla_ego_vehicle/src/carla_ego_vehicle/carla_ego_vehicle.py", line 339, in runself.world = client.get_world()
RuntimeError: rpc::rpc_error during call in function version

因为手动pip安装了其他carla版本,比如carla-0.9.11,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 maincontroller = 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'

simple_pid版本不对,安装

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

出现这种问题一般是由于Ros目前只支持Python2,一些主要的功能包如tf2等都是在Python2的环境下运行的,在Python2中导入相关包不会出现问题,但在Python3中会出错。安装:

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
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_innerself.run()File "/opt/anaconda3/envs/autoware/lib/python3.7/threading.py", line 870, in runself._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_updateself._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 _updateself.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_statesself.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 updateself._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_sensorself.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_updatedimg_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_imageimg_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_imgmsgif 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_cvtype2from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

参考:https://blog.csdn.net/qq_41035283/article/details/120887112
就是要注意下载的vision_opencv版本要是melodic的。

总结
ubuntu18.04运行carla比较麻烦,因为默认的python是2.7,包括ros自带的也是python2,所以会遇到一些错误,但是不慌,慢慢学习,解决。还有最好使用conda去创建python3环境,良好习惯。

在这里插入图片描述需要购买代码的可以私。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30803.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务:从header中获取用户存入当前线程

1、从网关gateway工程filter中解析token携带的当前用户信息并添加到header中 //获取token携带的idObject userid claimsBody.get("id");//在header中添加新的信息ServerHttpRequest serverHttpRequest request.mutate().headers(httpHeaders -> {httpHeaders.ad…

Linux学习之sed、awk和vim的差异

sed、awk和vim都是编辑器&#xff0c;区别如下&#xff1a; vim是交互式&#xff0c;需要跟用户进行互动&#xff0c;而sed和awk是非交互式&#xff0c;只需要写好命令&#xff0c;不用跟用户进行互动就可以完成任务。 vim是文本编辑器&#xff0c;操作的时候会对整个文件编辑&…

[保研/考研机试] KY180 堆栈的使用 吉林大学复试上机题 C++实现

题目链接&#xff1a; 堆栈的使用_牛客题霸_牛客网 描述 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式&#xff0c;push 和 pop。其中 push一个值会将其压入栈顶&#xff0c;而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 输入描述&#xff1a; 对于…

javaScript:js的运算符和简单的对象操作

目录 一.js的运算符 1.算数运算符 运算符 - 运算符 % 取余 /除运算 自增/自减 相关代码 2.比较&#xff08;关系&#xff09;运算符 关系运算符 和 的区别 3.逻辑运算符 或 || 与(并且) && 非 ! 判断规则 逻辑运算的短路算法 4.三元运算符 三元运…

Zabbix自动注册服务器及部署代理服务器

文章目录 一.zabbix自动注册1.什么是自动注册2.环境准备3.zabbix客户端配置4.在 Web 页面配置自动注册5.验证自动注册 二.部署 zabbix 代理服务器1.分布式监控的作用&#xff1a;2.环境部署3.代理服务器配置4.客户端配置5.web页面配置5.1 删除原来配置5.2 添加代理5.3 创建主机…

c语言——三子棋

基本框架 三个文件: 其中.cpp文件用于游戏具体函数设计&#xff0c;.h文件为游戏的函数声明&#xff0c;test.cpp文件用于测试游戏运行。 需要用到的头文件&#xff1a; #include <stdio.h> #include <stdlib.h>//rand&srand #include <time.h>//时间相…

[oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列

字体样式 回忆上次内容 上次了解了 一个新的转义模式 \033 逃逸控制字符 esc esc 让输出 退出 标准输出流进行 控制信息的设置 可以 清屏也可以 设置光标输出的位置 还能做什么呢&#xff1f; 可以 设置 字符的颜色吗&#xff1f;&#xff1f;&#xff1f;&#x1f914; 查…

利用Simulink Test进行模型单元测试 - 1

1.搭建用于测试的简单模型 随手搭建了一个demo模型MilTestModel&#xff0c;模型中不带参数 2.创建测试框架 1.模型空白处右击 测试框架 > 为‘MilTestModel’创建 菜单 2.在创建测试框架对话框中&#xff0c;点击OK&#xff0c;对应的测试框架MilTestMode_Harness1就自动…

C语言--联合体-共用体

有时候同一个内存空间存放类型不同&#xff0c;不同类型的变量共享一块空间 像结构体&#xff0c;但是有区别 1、 结构体元素有各自单独空间&#xff0c; 共用体元素共享空间&#xff0c;空间大小由最大类型确定 同一块空间&#xff0c;有时候存放char类型、有时候存放int型&am…

计算机体系中的不同的缓存存储层级说明

分级说明 L1缓存的标准延迟是4个周期。这意味着&#xff0c;当CPU请求数据时&#xff0c;L1缓存需要4个时钟周期来将数据传输给CPU。 L2缓存的标准延迟是12个周期。相对于L1缓存&#xff0c;L2缓存的容量更大&#xff0c;但其读取速度更慢&#xff0c;需要更多的时钟周期来传输…

第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡

1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先&#xff0c;来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后&#xff0c;集群某个节点将回复该数据包&#xff0c;并将该数据包…

leetcode357- 2812. 找出最安全路径

这个题比较经典&#xff0c;可以用多个算法来求解&#xff0c;分别给出各个算法的求解方法&#xff0c;主要是分为第一部分的多源BFS求每个位置的距离和第二部分求(0,0)到(n-1,n-1)的最短路径&#xff08;可以用多种方法求&#xff09; 目录 多源BFS求最短路径枚举安全系数判断…

Android Jetpack

Jetpack 是一个由多个库组成的套件&#xff0c;可帮助开发者遵循最佳实践、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码&#xff0c;让开发者可将精力集中于真正重要的编码工作。 1.基础组件 &#xff08;1&#xff09;AppCompat&#xff1a;使得支持较低…

sklearn垃圾邮件分类

在Python中&#xff0c;可以使用机器学习算法来进行垃圾邮件分类。下面是一个简单的示例&#xff0c;使用朴素贝叶斯算法进行垃圾邮件分类&#xff1a; import pandas as pd from sklearn.feature_extraction.text import CountVectorizer from sklearn.model_selection impor…

Qt画波浪球(小费力)

画流动波浪 #ifndef WIDGET3_H #define WIDGET3_H#include <QWidget> #include <QtMath> class widget3 : public QWidget {Q_OBJECT public:explicit widget3(QWidget *parent nullptr);void set_value(int v){valuev;}int get_value(){return value;} protecte…

C++特有__attribute__的so动态库

这是一段 C 代码&#xff0c;其中使用了 GCC 编译器的一些特殊语法。 extern "C"&#xff1a;这是 C 中的语法&#xff0c;用于指定一个函数或变量应该按照 C 语言的约定进行编译和链接。在 C 中&#xff0c;函数和变量的名称会根据其作用域和命名空间进行修饰&…

el-date-picker设置默认当前日期

HTMl部分&#xff1a; <el-form-item label"拍摄时间&#xff1a;"><el-date-pickerv-model"searchData.filmingTimeRange"type"daterange"align"right"unlink-panelsrange-separator"至"start-placeholder"…

vue中vuex的五个属性和基本用法,另加js-cookie的使用

VueX 是一个专门为 Vue.js 应用设计的状态管理构架&#xff0c;统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data )。 Vuex有五个核心概念&#xff1a; state, getters, mutations, actions, modules。 1. state&#xff1a; vuex的基本数据&…

【Linux】-- 进程间通信

目录 一、进程间通信介绍 二、管道 1.什么是管道&#xff08;pipe&#xff09; 2.重定向和管道 &#xff08;1&#xff09;为什么要有管道的存在 &#xff08;2&#xff09;重定向和管道的区别 3.匿名管道 &#xff08;1&#xff09;匿名管道原理 &#xff08;2&…

SpringCloud实用篇5——elasticsearch基础

目录 1.初识elasticsearch1.1 了解ES1.1.1 elasticsearch的作用1.1.2 ELK技术栈1.1.3 elasticsearch和lucene1.1.4 总结 1.2.倒排索引1.2.1.正向索引1.2.2.倒排索引1.2.3.正向和倒排 1.3 es的一些概念1.3.1 文档和字段1.3.2 索引和映射1.3.3 mysql与elasticsearch 1.4 部署单点…