前言:跟着自动驾驶之心的老师学习仿真,在carla_ros_bridge那块卡住了,遇到了超多问题,现在看看我们是怎么解决的吧。
首先是carla_ros_bridge安装,老师是18.04,我的项目工程是20.04,所以我肯定最终还是要换到20.04的,所以以下就是踩坑。
一.carla_ros_bridge安装:
可见官网的文档ROS bridge installation for ROS 1,里面叙述了怎么ros1下载ROS bridge使用的基础例程。
二.
我当时选用的是方法B操作的,然后运行roslaunch carla_ros_bridge carla_ros_bridge.launch好了开始了正式解决报错之旅。
(1)检查报错内容
首先我们要明白在运行后报错,并不是看着红框框中的
REQUIRED process [carla_ros_bridge-2] has died!
『图片』
这个是解决不了问题的,要解决问题得看红框框上面的报错(不知道你们是不是,反正我当时卡了很久)。
(2)报错内容为:
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 160
(e_errno, msg, *_) = e.args
^
SyntaxError: invalid syntax
(3)报错内容为:
ImportError: /home/michael/.cache/Python-Eggs/carla-0.9.5-py2.7-linux-x86_64.egg-tmp/carla/libcarla.so: undefined symbol: PyString_Type
File "/opt/ros/noetic/lib/python3/dist-packages/roslib/launcher.py", line 42, in <module>
import rospkg
ImportError: No module named rospkg
(5)报错内容为:
File "/home/jack/carla-ros-bridge/catkin_ws/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/bridge.py", line 349, in destroy
self.shutdown.set()
AttributeError: 'CarlaRosBridge' object has no attribute 'shutdown'
在启动文件中将主机IP从“localhost”更改为本地IP,并将超时参数设置为200。
就是把
<!-- the network connection for the python connection to CARLA -->
<arg name='host' default='localhost'/>
<arg name='port' default='2000'/>
<arg name='timeout' default='2'/>
改成
<!-- the network connection for the python connection to CARLA -->
<arg name='host' default='localhost'/>
<arg name='port' default='2000'/>
<arg name='timeout' default='200'/>
标签:bridge,ROS,carla,报错,原文,ros
From: https://blog.csdn.net/weixin_57590220/article/details/142450493