(self, input_data, timestamp)
| 225 | ] |
| 226 | |
| 227 | def tick(self, input_data, timestamp): |
| 228 | self._truncate_global_route_till_local_target() |
| 229 | |
| 230 | birdview_obs = self.birdview_obs_manager.get_observation(self._global_route) |
| 231 | control = self._ego_vehicle.get_control() |
| 232 | throttle = np.array([control.throttle], dtype=np.float32) |
| 233 | steer = np.array([control.steer], dtype=np.float32) |
| 234 | brake = np.array([control.brake], dtype=np.float32) |
| 235 | gear = np.array([control.gear], dtype=np.float32) |
| 236 | |
| 237 | |
| 238 | ev_transform = self._ego_vehicle.get_transform() |
| 239 | vel_w = self._ego_vehicle.get_velocity() |
| 240 | vel_ev = trans_utils.vec_global_to_ref(vel_w, ev_transform.rotation) |
| 241 | vel_xy = np.array([vel_ev.x, vel_ev.y], dtype=np.float32) |
| 242 | |
| 243 | |
| 244 | self._criteria_stop.tick(self._ego_vehicle, timestamp) |
| 245 | |
| 246 | state_list = [] |
| 247 | state_list.append(throttle) |
| 248 | state_list.append(steer) |
| 249 | state_list.append(brake) |
| 250 | state_list.append(gear) |
| 251 | state_list.append(vel_xy) |
| 252 | state = np.concatenate(state_list) |
| 253 | obs_dict = { |
| 254 | 'state': state.astype(np.float32), |
| 255 | 'birdview': birdview_obs['masks'], |
| 256 | } |
| 257 | |
| 258 | rgb = cv2.cvtColor(input_data['rgb'][1][:, :, :3], cv2.COLOR_BGR2RGB) |
| 259 | |
| 260 | gps = input_data['gps'][1][:2] |
| 261 | speed = input_data['speed'][1]['speed'] |
| 262 | compass = input_data['imu'][1][-1] |
| 263 | |
| 264 | target_gps, target_command = self.get_target_gps(input_data['gps'][1], compass) |
| 265 | |
| 266 | weather = self._weather_to_dict(self._world.get_weather()) |
| 267 | |
| 268 | result = { |
| 269 | 'rgb': rgb, |
| 270 | 'gps': gps, |
| 271 | 'speed': speed, |
| 272 | 'compass': compass, |
| 273 | 'weather': weather, |
| 274 | } |
| 275 | next_wp, next_cmd = self._route_planner.run_step(self._get_position(result)) |
| 276 | |
| 277 | result['next_command'] = next_cmd.value |
| 278 | result['x_target'] = next_wp[0] |
| 279 | result['y_target'] = next_wp[1] |
| 280 | |
| 281 | |
| 282 | return result, obs_dict, birdview_obs['rendered'], target_gps, target_command |
| 283 | |
| 284 | def im_render(self, render_dict): |
no test coverage detected