Exemplo n.º 1
0
    def __init__(self):
        self.long_control_state = 0  # initialized to off

        self.seq_step_debug = 0
        self.long_curv_timer = 0

        self.path_x = np.arange(192)

        self.traceSC = trace1.Loger("SPD_CTRL")

        self.wheelbase = 2.845
        self.steerRatio = 12.5  # 12.5

        self.v_model = 0
        self.a_model = 0
        self.v_cruise = 0
        self.a_cruise = 0

        self.l_poly = []
        self.r_poly = []

        self.movAvg = moveavg1.MoveAvg()
        self.Timer1 = tm.CTime1000("SPD")
        self.time_no_lean = 0

        self.SC = trace1.Loger("spd")
Exemplo n.º 2
0
    def __init__(self, CP):
        self.kegman = kegman_conf(CP)
        self.deadzone = float(self.kegman.conf['deadzone'])
        self.pid = PIController(
            (CP.lateralTuning.pid.kpBP, CP.lateralTuning.pid.kpV),
            (CP.lateralTuning.pid.kiBP, CP.lateralTuning.pid.kiV),
            k_f=CP.lateralTuning.pid.kf,
            pos_limit=1.0,
            sat_limit=CP.steerLimitTimer)
        self.angle_steers_des = 0.
        self.mpc_frame = 500

        self.BP0 = 4
        self.steer_Kf1 = [0.00003, 0.00003]
        self.steer_Ki1 = [0.02, 0.04]
        self.steer_Kp1 = [0.18, 0.20]

        self.steer_Kf2 = [0.00005, 0.00005]
        self.steer_Ki2 = [0.04, 0.05]
        self.steer_Kp2 = [0.20, 0.25]

        self.pid_change_flag = 0
        self.pre_pid_change_flag = 0
        self.pid_BP0_time = 0

        self.movAvg = moveavg1.MoveAvg()
        self.v_curvature = 256
        self.model_sum = 0
        self.path_x = np.arange(192)
Exemplo n.º 3
0
    def __init__(self, CP=None):
        self.long_control_state = 0  # initialized to off

        self.seq_step_debug = ""
        self.long_curv_timer = 0

        self.path_x = np.arange(192)

        self.traceSC = trace1.Loger("SPD_CTRL")

        self.v_model = 0
        self.a_model = 0
        self.v_cruise = 0
        self.a_cruise = 0

        self.l_poly = []
        self.r_poly = []

        self.movAvg = moveavg1.MoveAvg()
        self.Timer1 = tm.CTime1000("SPD")
        self.time_no_lean = 0

        self.wait_timer2 = 0

        self.cruise_set_speed_kph = 0
        self.curise_set_first = 0
        self.curise_sw_check = 0
        self.prev_clu_CruiseSwState = 0

        self.prev_VSetDis = 0

        self.sc_clu_speed = 0
        self.btn_type = Buttons.NONE
        self.active_time = 0
Exemplo n.º 4
0
    def __init__(self, CP=None):
        self.long_control_state = 0  # initialized to off

        self.seq_step_debug = ""
        self.long_curv_timer = 0

        self.path_x = np.arange(192)

        self.traceSC = trace1.Loger("SPD_CTRL")

        self.wheelbase = 2.8
        self.steerRatio = 13.5  # 13.5

        self.v_model = 0
        self.a_model = 0
        self.v_cruise = 0
        self.a_cruise = 0

        self.l_poly = []
        self.r_poly = []

        self.movAvg = moveavg1.MoveAvg()
        self.Timer1 = tm.CTime1000("SPD")
        self.time_no_lean = 0

        self.wait_timer2 = 0

        self.cruise_set_speed_kph = 0
        self.curise_set_first = 0
        self.curise_sw_check = 0
        self.prev_clu_CruiseSwState = 0

        self.prev_VSetDis = 0

        self.sc_clu_speed = 0
        self.btn_type = Buttons.NONE
        self.active_time = 0

        self.old_model_speed = 0
        self.old_model_init = 0

        self.curve_speed = 0
        self.curvature_gain = 1

        self.params = Params()
        self.cruise_set_mode = int(
            self.params.get("CruiseStatemodeSelInit", encoding='utf8'))
        self.map_spd_limit_offset = int(
            self.params.get("OpkrSpeedLimitOffset", encoding='utf8'))

        self.map_spd_enable = False
        self.map_spd_camera = 0
Exemplo n.º 5
0
    def __init__(self, CP):
        self.kegman = kegman_conf(CP)
        self.deadzone = float(self.kegman.conf['deadzone'])
        self.pid = PIController(
            (CP.lateralTuning.pid.kpBP, CP.lateralTuning.pid.kpV),
            (CP.lateralTuning.pid.kiBP, CP.lateralTuning.pid.kiV),
            k_f=CP.lateralTuning.pid.kf,
            pos_limit=1.0,
            sat_limit=CP.steerLimitTimer)
        self.angle_steers_des = 0.
        self.mpc_frame = 0

        self.movAvg = moveavg1.MoveAvg()
Exemplo n.º 6
0
    def __init__(self, CP=None):
        self.long_control_state = 0  # initialized to off

        self.seq_step_debug = ""
        self.long_curv_timer = 0

        self.path_x = np.arange(192)

        self.traceSC = trace1.Loger("SPD_CTRL")

        self.wheelbase = 2.845
        self.steerRatio = 12.5  # 12.5

        self.v_model = 0
        self.a_model = 0
        self.v_cruise = 0
        self.a_cruise = 0

        self.l_poly = []
        self.r_poly = []

        self.movAvg = moveavg1.MoveAvg()
        self.Timer1 = tm.CTime1000("SPD")
        self.time_no_lean = 0

        self.wait_timer2 = 0

        self.cruise_set_speed_kph = 0
        self.curise_set_first = 0
        self.curise_sw_check = 0
        self.prev_clu_CruiseSwState = 0    

        self.prev_VSetDis  = 0
        
        self.sc_clu_speed = 0
        self.btn_type = Buttons.NONE
        self.active_time = 0

        self.params = Params()
        self.param_OpkrAccelProfile = int(self.params.get('OpkrAccelProfile'))
        self.cruise_set_mode = int(self.params.get('CruiseStatemodeSelInit'))
Exemplo n.º 7
0
    def __init__(self, CP):
        self.LP = LanePlanner()

        self.last_cloudlog_t = 0
        self.steer_rate_cost = CP.steerRateCost
        self.steerRatio = CP.steerRatio

        self.setup_mpc()
        self.solution_invalid_cnt = 0

        self.steerRatio_last = 0

        self.params = Params()

        # Lane change
        self.lane_change_enabled = self.params.get('LaneChangeEnabled') == b'1'
        self.lane_change_auto_delay = self.params.get_OpkrAutoLanechangedelay(
        )  #int( self.params.get('OpkrAutoLanechangedelay') )

        self.lane_change_state = LaneChangeState.off
        self.lane_change_direction = LaneChangeDirection.none
        self.lane_change_run_timer = 0.0
        self.lane_change_wait_timer = 0.0
        self.lane_change_ll_prob = 1.0
        self.prev_one_blinker = False

        # atom
        self.trPATH = trace1.Loger("path")
        self.trLearner = trace1.Loger("Learner")
        self.trpathPlan = trace1.Loger("pathPlan")

        self.atom_timer_cnt = 0
        self.atom_steer_ratio = None
        self.atom_sr_boost_bp = [0., 0.]
        self.atom_sr_boost_range = [0., 0.]

        self.carParams_valid = False

        self.m_avg = ma.MoveAvg()
Exemplo n.º 8
0
from selfdrive.manager import manager_init, manager_prepare
from selfdrive.manager import start_managed_process, kill_managed_process, get_running
from selfdrive.manager import start_daemon_process
from selfdrive.car.hyundai.spdcontroller import SpdController
from functools import wraps
from selfdrive.config import Conversions as CV
import common.MoveAvg as moveavg1
import cereal.messaging as messaging

import json
import requests
import signal
import subprocess
import time

movAvg = moveavg1.MoveAvg()

MAX_SPEED = 255

sc = SpdController()
path_x = np.arange(192)


def main():

    sm = None
    if sm is None:
        sm = messaging.SubMaster(['plan', 'pathPlan', 'model'])

        v_ego = 50 * CV.KPH_TO_MS
        print('curvature test ')