MCPcopy Create free account
hub / github.com/OpenDriveLab/TCP / setup

Method setup

leaderboard/leaderboard/autoagents/ros_agent.py:65–161  ·  view source on GitHub ↗

setup agent

(self, path_to_conf_file)

Source from the content-addressed store, hash-verified

63 global_plan_published = None
64
65 def setup(self, path_to_conf_file):
66 """
67 setup agent
68 """
69 self.track = Track.MAP
70 self.stack_thread = None
71
72 # get start_script from environment
73 team_code_path = os.environ['TEAM_CODE_ROOT']
74 if not team_code_path or not os.path.exists(team_code_path):
75 raise IOError("Path '{}' defined by TEAM_CODE_ROOT invalid".format(team_code_path))
76 start_script = "{}/start.sh".format(team_code_path)
77 if not os.path.exists(start_script):
78 raise IOError("File '{}' defined by TEAM_CODE_ROOT invalid".format(start_script))
79
80 # set use_sim_time via commandline before init-node
81 process = subprocess.Popen(
82 "rosparam set use_sim_time true", shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
83 process.wait()
84 if process.returncode:
85 raise RuntimeError("Could not set use_sim_time")
86
87 # initialize ros node
88 rospy.init_node('ros_agent', anonymous=True)
89
90 # publish first clock value '0'
91 self.clock_publisher = rospy.Publisher('clock', Clock, queue_size=10, latch=True)
92 self.clock_publisher.publish(Clock(rospy.Time.from_sec(0)))
93
94 # execute script that starts the ad stack (remains running)
95 rospy.loginfo("Executing stack...")
96 self.stack_process = subprocess.Popen(start_script, shell=True, preexec_fn=os.setpgrp)
97
98 self.vehicle_control_event = threading.Event()
99 self.timestamp = None
100 self.speed = 0
101 self.global_plan_published = False
102
103 self.vehicle_info_publisher = None
104 self.vehicle_status_publisher = None
105 self.odometry_publisher = None
106 self.world_info_publisher = None
107 self.map_file_publisher = None
108 self.current_map_name = None
109 self.tf_broadcaster = None
110 self.step_mode_possible = False
111
112 self.vehicle_control_subscriber = rospy.Subscriber(
113 '/carla/ego_vehicle/vehicle_control_cmd', CarlaEgoVehicleControl, self.on_vehicle_control)
114
115 self.current_control = carla.VehicleControl()
116
117 self.waypoint_publisher = rospy.Publisher(
118 '/carla/ego_vehicle/waypoints', Path, queue_size=1, latch=True)
119
120 self.publisher_map = {}
121 self.id_to_sensor_type_map = {}
122 self.id_to_camera_info_map = {}

Callers 1

interpolate_trajectoryFunction · 0.45

Calls 2

sensorsMethod · 0.95
build_camera_infoMethod · 0.95

Tested by

no test coverage detected