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):
具体修改如下图