Carla ros bridge报错:if LooseVersion(dist.version) != LooseVersion(CarlaRosBridge.CARLA_VERSION): Shut


1. 错误

(carla) vcar@vcar:~/catkin_ws$ roslaunch rda_ros Town04_spawn_car.launch
... logging to /home/vcar/.ros/log/213cf35e-854d-11ef-86db-1beb98caf2a6/roslaunch-vcar-148658.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://vcar:40161/

SUMMARY
========

PARAMETERS
 * /carla_manual_control_agent_0/role_name: agent_0
 * /carla_ros_bridge/ego_vehicle_role_name: ["hero", "ego_veh...
 * /carla_ros_bridge/fixed_delta_seconds: 0.1
 * /carla_ros_bridge/host: localhost
 * /carla_ros_bridge/passive: False
 * /carla_ros_bridge/port: 2000
 * /carla_ros_bridge/register_all_sensors: False
 * /carla_ros_bridge/synchronous_mode: True
 * /carla_ros_bridge/synchronous_mode_wait_for_vehicle_control_command: False
 * /carla_ros_bridge/timeout: 200
 * /carla_ros_bridge/town: Town04
 * /carla_spawn_objects_vcar_148658_5134742705847298916/objects_definition_file: /home/vcar/catkin...
 * /carla_spawn_objects_vcar_148658_5134742705847298916/spawn_point_ego_vehicle: 
 * /carla_spawn_objects_vcar_148658_5134742705847298916/spawn_sensors_only: False
 * /carla_waypoint_publisher/host: localhost
 * /carla_waypoint_publisher/port: 2000
 * /carla_waypoint_publisher/role_name: agent_0
 * /carla_waypoint_publisher/timeout: 200
 * /rosdistro: noetic
 * /rosversion: 1.16.0
 * /use_sim_time: True

NODES
  /
    carla_manual_control_agent_0 (carla_manual_control/carla_manual_control.py)
    carla_map_visualization (rda_ros/carla_map_visualization.py)
    carla_ros_bridge (carla_ros_bridge/bridge.py)
    carla_spawn_objects_vcar_148658_5134742705847298916 (carla_spawn_objects/carla_spawn_objects.py)
    carla_waypoint_publisher (rda_ros/carla_waypoint_publisher_rviz_goal.py)
    rviz (rviz/rviz)

auto-starting new master
process[master]: started with pid [148696]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 213cf35e-854d-11ef-86db-1beb98caf2a6
process[rosout-1]: started with pid [148746]
started core service [/rosout]
process[carla_ros_bridge-2]: started with pid [148753]
process[carla_waypoint_publisher-3]: started with pid [148754]
process[carla_map_visualization-4]: started with pid [148755]
process[carla_spawn_objects_vcar_148658_5134742705847298916-5]: started with pid [148756]
process[carla_manual_control_agent_0-6]: started with pid [148757]
process[rviz-7]: started with pid [148758]
/home/vcar/catkin_ws/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/bridge.py:15: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  import pkg_resources
pygame 2.6.0 (SDL 2.28.4, Python 3.8.13)
Hello from the pygame community. https://www.pygame.org/contribute.html
[INFO] [1728375180.917521, 0.000000]: Waiting for CARLA world (topic: /carla/world_info)...
[INFO] [1728375181.035928, 0.000000]: Trying to connect to localhost:2000
/home/vcar/catkin_ws/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/bridge.py:416: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if LooseVersion(dist.version) != LooseVersion(CarlaRosBridge.CARLA_VERSION):
Shutting down.
================================================================================REQUIRED process [carla_map_visualization-4] has died!
process has finished cleanly
log file: /home/vcar/.ros/log/213cf35e-854d-11ef-86db-1beb98caf2a6/carla_map_visualization-4*.log
Initiating shutdown!
================================================================================
[rviz-7] killing on exit
[carla_manual_control_agent_0-6] killing on exit
[carla_spawn_objects_vcar_148658_5134742705847298916-5] killing on exit
[carla_waypoint_publisher-3] killing on exit
[carla_map_visualization-4] killing on exit
[carla_ros_bridge-2] killing on exit
QFileSystemWatcher::removePaths: list is empty
QFileSystemWatcher::removePaths: list is empty
Traceback (most recent call last):
  File "/home/vcar/catkin_ws/src/ros-bridge/ros_compatibility/src/ros_compatibility/node.py", line 84, in new_client
    rospy.wait_for_service(srv_name, timeout=timeout)
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 166, in wait_for_service
[ERROR] [1728375187.229122, 0.000000]: Error while waiting for world info: rospy shutdown
    raise ROSInterruptException("rospy shutdown")
rospy.exceptions.ROSInterruptException: rospy shutdown

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vcar/catkin_ws/devel/lib/carla_spawn_objects/carla_spawn_objects.py", line 15, in <module>
    exec(compile(fh.read(), python_script, 'exec'), context)
  File "/home/vcar/catkin_ws/src/ros-bridge/carla_spawn_objects/src/carla_spawn_objects/carla_spawn_objects.py", line 378, in <module>
    main()
  File "/home/vcar/catkin_ws/src/ros-bridge/carla_spawn_objects/src/carla_spawn_objects/carla_spawn_objects.py", line 356, in main
    spawn_objects_node = CarlaSpawnObjects()
  File "/home/vcar/catkin_ws/src/ros-bridge/carla_spawn_objects/src/carla_spawn_objects/carla_spawn_objects.py", line 56, in __init__
    self.spawn_object_service = self.new_client(SpawnObject, "/carla/spawn_object")
  File "/home/vcar/catkin_ws/src/ros-bridge/ros_compatibility/src/ros_compatibility/node.py", line 89, in new_client
    raise ROSException(e)
ros_compatibility.exceptions.ROSException: rospy shutdown
[INFO] [1728375187.230175, 0.000000]: Shutting down.
[carla_ros_bridge-2] escalating to SIGTERM
[carla_ros_bridge-2] escalating to SIGKILL
[rosout-1] killing on exit
[master] killing on exit
Shutdown errors:
 * process[carla_ros_bridge-2, pid 148753]: required SIGKILL. May still be running.
shutting down processing monitor...
... shutting down processing monitor complete
done

2. 错误原因

你的代码中使用了 distutils 模块的 Version 类,但这个类已经被废弃,建议使用 packaging.version 模块来替代它。这种警告不会导致代码立即出错,但随着时间的推移,旧的模块可能在新版本的 Python 中被移除。

3. 解决方法

pip install packaging

然后修改bridge.py中的代码,替换 distutils 的 LooseVersion:在代码中,找到类似于 LooseVersion(dist.version) 的地方,替换为 packaging.version.Version。例如:

from packaging.version import Version
if Version(dist.version) != Version(CarlaRosBridge.CARLA_VERSION):

具体修改如下图
请添加图片描述

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值