@ -1,13 +1,14 @@
#!/usr/bin/env python3
# type: ignore
import argparse
import atexit
import carla # pylint: disable=import-error
import time
import math
import atexit
import numpy as np
import time
import threading
from typing import Any
import cereal . messaging as messaging
import argparse
from common . params import Params
from common . realtime import Ratekeeper , DT_DMON
from lib . can import can_function
@ -19,12 +20,6 @@ parser.add_argument('--joystick', action='store_true')
parser . add_argument ( ' --town ' , type = str , default = ' Town04 ' )
parser . add_argument ( ' --spawn_point ' , dest = ' num_selected_spawn_point ' ,
type = int , default = 16 )
parser . add_argument ( ' --cloudiness ' , default = 0.1 , type = float )
parser . add_argument ( ' --precipitation ' , default = 0.0 , type = float )
parser . add_argument ( ' --precipitation_deposits ' , default = 0.0 , type = float )
parser . add_argument ( ' --wind_intensity ' , default = 0.0 , type = float )
parser . add_argument ( ' --sun_azimuth_angle ' , default = 15.0 , type = float )
parser . add_argument ( ' --sun_altitude_angle ' , default = 75.0 , type = float )
args = parser . parse_args ( )
W , H = 1164 , 874
@ -131,7 +126,7 @@ def can_function_runner(vs):
i + = 1
def go ( q ) :
def bridge ( q ) :
# setup CARLA
client = carla . Client ( " 127.0.0.1 " , 2000 )
@ -170,15 +165,6 @@ def go(q):
camera = world . spawn_actor ( blueprint , transform , attach_to = vehicle )
camera . listen ( cam_callback )
world . set_weather ( carla . WeatherParameters (
cloudiness = args . cloudiness ,
precipitation = args . precipitation ,
precipitation_deposits = args . precipitation_deposits ,
wind_intensity = args . wind_intensity ,
sun_azimuth_angle = args . sun_azimuth_angle ,
sun_altitude_angle = args . sun_altitude_angle
) )
# reenable IMU
imu_bp = blueprint_library . find ( ' sensor.other.imu ' )
imu = world . spawn_actor ( imu_bp , transform , attach_to = vehicle )
@ -286,17 +272,6 @@ def go(q):
steer_out = steer_rate_limit ( old_steer , steer_out )
old_steer = steer_out
# OP Exit conditions
# if throttle_out > 0.3:
# cruise_button = CruiseButtons.CANCEL
# is_openpilot_engaged = False
# if brake_out > 0.3:
# cruise_button = CruiseButtons.CANCEL
# is_openpilot_engaged = False
# if steer_out > 0.3:
# cruise_button = CruiseButtons.CANCEL
# is_openpilot_engaged = False
else :
if throttle_out == 0 and old_throttle > 0 :
if throttle_ease_out_counter > 0 :
@ -348,6 +323,13 @@ def go(q):
rk . keep_time ( )
def go ( q : Any ) :
while 1 :
try :
bridge ( q )
except RuntimeError :
print ( " Restarting bridge... " )
if __name__ == " __main__ " :
# make sure params are in a good state
set_params_enabled ( )
@ -357,7 +339,7 @@ if __name__ == "__main__":
params . put ( " CalibrationParams " , ' { " calib_radians " : [0,0,0], " valid_blocks " : 20} ' )
from multiprocessing import Process , Queue
q = Queue ( )
q : Any = Queue ( )
p = Process ( target = go , args = ( q , ) )
p . daemon = True
p . start ( )