fix buttonMode[0,1], BSD desire, torque always , MPH, etc
This commit is contained in:
parent
34a80f7341
commit
b7e048fc26
@ -465,7 +465,7 @@ class VCruiseCarrot:
|
|||||||
self._pause_auto_speed_up = False
|
self._pause_auto_speed_up = False
|
||||||
if self._soft_hold_active > 0:
|
if self._soft_hold_active > 0:
|
||||||
self._soft_hold_active = 0
|
self._soft_hold_active = 0
|
||||||
elif self._cruise_ready:
|
elif self._cruise_ready or not CC.enabled:
|
||||||
pass
|
pass
|
||||||
elif self._v_cruise_kph_at_brake > 0 and v_cruise_kph < self._v_cruise_kph_at_brake:
|
elif self._v_cruise_kph_at_brake > 0 and v_cruise_kph < self._v_cruise_kph_at_brake:
|
||||||
v_cruise_kph = self._v_cruise_kph_at_brake
|
v_cruise_kph = self._v_cruise_kph_at_brake
|
||||||
@ -480,9 +480,11 @@ class VCruiseCarrot:
|
|||||||
self._pause_auto_speed_up = True
|
self._pause_auto_speed_up = True
|
||||||
if self._soft_hold_active > 0:
|
if self._soft_hold_active > 0:
|
||||||
self._cruise_control(-1, -1, "Cruise off,softhold mode (decelCruise)")
|
self._cruise_control(-1, -1, "Cruise off,softhold mode (decelCruise)")
|
||||||
|
elif not CC.enabled:
|
||||||
|
v_cruise_kph = max(self.v_ego_kph_set, self._cruise_speed_min)
|
||||||
elif self._cruise_ready:
|
elif self._cruise_ready:
|
||||||
pass
|
pass
|
||||||
elif self.v_ego_kph_set > v_cruise_kph + 2:
|
elif self.v_ego_kph_set > v_cruise_kph + 2 and self._cruise_button_mode in [2]:
|
||||||
v_cruise_kph = max(self.v_ego_kph_set, self._cruise_speed_min)
|
v_cruise_kph = max(self.v_ego_kph_set, self._cruise_speed_min)
|
||||||
elif self._cruise_button_mode in [0, 1]:
|
elif self._cruise_button_mode in [0, 1]:
|
||||||
v_cruise_kph = button_kph
|
v_cruise_kph = button_kph
|
||||||
|
@ -95,14 +95,14 @@
|
|||||||
{
|
{
|
||||||
"group": "조향튜닝",
|
"group": "조향튜닝",
|
||||||
"name": "LateralTorqueKd",
|
"name": "LateralTorqueKd",
|
||||||
"title": "_LateralTorqueKd*0.01(800)",
|
"title": "_LateralTorqueKd*0.01(0)",
|
||||||
"descr": "",
|
"descr": "",
|
||||||
"egroup": "LAT",
|
"egroup": "LAT",
|
||||||
"etitle": "_LateralTorqueKd*0.01(800)",
|
"etitle": "_LateralTorqueKd*0.01(0)",
|
||||||
"edescr": "",
|
"edescr": "",
|
||||||
"min": 0,
|
"min": 0,
|
||||||
"max": 10000,
|
"max": 10000,
|
||||||
"default": 100,
|
"default": 0,
|
||||||
"unit": 10
|
"unit": 10
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1059,12 +1059,12 @@
|
|||||||
"group": "조향일반",
|
"group": "조향일반",
|
||||||
"name": "LaneChangeNeedTorque",
|
"name": "LaneChangeNeedTorque",
|
||||||
"title": "차선변경 조향토크 사용",
|
"title": "차선변경 조향토크 사용",
|
||||||
"descr": "1: 차선변경시 조향토크를 줘야 작동함, 2: 깜박이 차선변경안함.",
|
"descr": "1: 차선변경시 조향토크를 줘야 작동함, 2: 깜박이 차선변경안함, 3: BSD무시함, 4:토크우선",
|
||||||
"egroup": "LAT",
|
"egroup": "LAT",
|
||||||
"etitle": "LaneChange use steering torque",
|
"etitle": "LaneChange use steering torque",
|
||||||
"edescr": "1: need torque, 2:no lanechange",
|
"edescr": "1: need torque, 2:no lanechange, 3:ignore BSD, 4:torque always",
|
||||||
"min": 0,
|
"min": 0,
|
||||||
"max": 2,
|
"max": 4,
|
||||||
"default": 0,
|
"default": 0,
|
||||||
"unit": 1
|
"unit": 1
|
||||||
},
|
},
|
||||||
|
@ -127,6 +127,8 @@ class DesireHelper:
|
|||||||
self.object_detected_count = 0
|
self.object_detected_count = 0
|
||||||
|
|
||||||
self.laneChangeNeedTorque = 0
|
self.laneChangeNeedTorque = 0
|
||||||
|
self.ignore_bsd = False
|
||||||
|
self.torque_always = False
|
||||||
self.driver_blinker_state = BLINKER_NONE
|
self.driver_blinker_state = BLINKER_NONE
|
||||||
self.atc_type = ""
|
self.atc_type = ""
|
||||||
|
|
||||||
@ -182,6 +184,11 @@ class DesireHelper:
|
|||||||
if self.laneChangeNeedTorque == 2:
|
if self.laneChangeNeedTorque == 2:
|
||||||
driver_desire_enabled = False
|
driver_desire_enabled = False
|
||||||
|
|
||||||
|
if self.laneChangeNeedTorque == 3:
|
||||||
|
self.ignore_bsd = True
|
||||||
|
if self.laneChangeNeedTorque == 4:
|
||||||
|
self.torque_always = True
|
||||||
|
|
||||||
self.blindspot_detected_counter = max(0, self.blindspot_detected_counter - 1)
|
self.blindspot_detected_counter = max(0, self.blindspot_detected_counter - 1)
|
||||||
|
|
||||||
##### check ATC's blinker state
|
##### check ATC's blinker state
|
||||||
@ -297,7 +304,7 @@ class DesireHelper:
|
|||||||
torque_applied = carstate.steeringPressed and torque_cond
|
torque_applied = carstate.steeringPressed and torque_cond
|
||||||
blindspot_detected = blindspot_cond
|
blindspot_detected = blindspot_cond
|
||||||
|
|
||||||
if blindspot_detected:
|
if blindspot_detected and not self.ignore_bsd:
|
||||||
self.blindspot_detected_counter = int(1.5 / DT_MDL)
|
self.blindspot_detected_counter = int(1.5 / DT_MDL)
|
||||||
# BSD검출시.. 아래 두줄로 자동차선변경 해제함.. 위험해서 자동차선변경기능은 안하는걸로...
|
# BSD검출시.. 아래 두줄로 자동차선변경 해제함.. 위험해서 자동차선변경기능은 안하는걸로...
|
||||||
#self.lane_change_state = LaneChangeState.off
|
#self.lane_change_state = LaneChangeState.off
|
||||||
@ -306,7 +313,9 @@ class DesireHelper:
|
|||||||
self.lane_change_state = LaneChangeState.off
|
self.lane_change_state = LaneChangeState.off
|
||||||
self.lane_change_direction = LaneChangeDirection.none
|
self.lane_change_direction = LaneChangeDirection.none
|
||||||
else:
|
else:
|
||||||
if self.laneChangeNeedTorque > 0 or self.blindspot_detected_counter > 0:
|
if self.blindspot_detected_counter > 0 and not self.torque_always:
|
||||||
|
pass
|
||||||
|
elif self.laneChangeNeedTorque == 1: # 1: need torque, 2: no lanechange, 3: ignore bsd
|
||||||
if torque_applied and lane_available:
|
if torque_applied and lane_available:
|
||||||
self.lane_change_state = LaneChangeState.laneChangeStarting
|
self.lane_change_state = LaneChangeState.laneChangeStarting
|
||||||
# 운전자가 깜박이켠경우는 바로 차선변경 시작
|
# 운전자가 깜박이켠경우는 바로 차선변경 시작
|
||||||
|
@ -2010,7 +2010,7 @@ public:
|
|||||||
auto [rx, ry, rd, rv, ry_rel, v_lat, radar] = vrd;
|
auto [rx, ry, rd, rv, ry_rel, v_lat, radar] = vrd;
|
||||||
|
|
||||||
if (rv < -1.0 || rv > 1.0) {
|
if (rv < -1.0 || rv > 1.0) {
|
||||||
sprintf(str, "%.0f", rv * 3.6);
|
sprintf(str, "%.0f", (s->scene.is_metric)? rv * MS_TO_KPH : rv * MS_TO_MPH);
|
||||||
wStr = 35 * (strlen(str) + 0);
|
wStr = 35 * (strlen(str) + 0);
|
||||||
ui_fill_rect(s->vg, { (int)(rx - wStr / 2), (int)(ry - 35), wStr, 42 }, (!radar) ? COLOR_BLUE : (rv > 0.) ? COLOR_GREEN : COLOR_RED, 15);
|
ui_fill_rect(s->vg, { (int)(rx - wStr / 2), (int)(ry - 35), wStr, 42 }, (!radar) ? COLOR_BLUE : (rv > 0.) ? COLOR_GREEN : COLOR_RED, 15);
|
||||||
ui_draw_text(s, rx, ry, str, 40, COLOR_WHITE, BOLD);
|
ui_draw_text(s, rx, ry, str, 40, COLOR_WHITE, BOLD);
|
||||||
@ -2153,7 +2153,7 @@ public:
|
|||||||
|
|
||||||
// draw speed
|
// draw speed
|
||||||
char speed[32];
|
char speed[32];
|
||||||
sprintf(speed, "%.0f", v_ego * 3.6);
|
sprintf(speed, "%.0f", (s->scene.is_metric)? v_ego * MS_TO_KPH : v_ego * MS_TO_MPH);
|
||||||
ui_draw_text(s, bx, by + 50, speed, 120, COLOR_WHITE, BOLD, 3.0f, 8.0f);
|
ui_draw_text(s, bx, by + 50, speed, 120, COLOR_WHITE, BOLD, 3.0f, 8.0f);
|
||||||
ui_draw_image(s, { bx - 100, by - 60, 350, 150 }, "ic_speed_bg", 1.0f);
|
ui_draw_image(s, { bx - 100, by - 60, 350, 150 }, "ic_speed_bg", 1.0f);
|
||||||
|
|
||||||
@ -2161,7 +2161,7 @@ public:
|
|||||||
char cruise_speed[32];
|
char cruise_speed[32];
|
||||||
int cruise_x = bx + 170;
|
int cruise_x = bx + 170;
|
||||||
int cruise_y = by + 15;
|
int cruise_y = by + 15;
|
||||||
if(longActive) sprintf(cruise_speed, "%.0f", v_cruise);
|
if(longActive) sprintf(cruise_speed, "%.0f", (s->scene.is_metric)?v_cruise: v_cruise * KM_TO_MILE);
|
||||||
else sprintf(cruise_speed, "--");
|
else sprintf(cruise_speed, "--");
|
||||||
if (strcmp(cruise_speed_last, cruise_speed) != 0) {
|
if (strcmp(cruise_speed_last, cruise_speed) != 0) {
|
||||||
strcpy(cruise_speed_last, cruise_speed);
|
strcpy(cruise_speed_last, cruise_speed);
|
||||||
|
@ -678,7 +678,7 @@ CarrotPanel::CarrotPanel(QWidget* parent) : QWidget(parent) {
|
|||||||
latLongToggles->addItem(new CValueControl("RadarReactionFactor", "LONG: Radar reaction factor(100)", "", "../assets/offroad/icon_logic.png", 0, 200, 10));
|
latLongToggles->addItem(new CValueControl("RadarReactionFactor", "LONG: Radar reaction factor(100)", "", "../assets/offroad/icon_logic.png", 0, 200, 10));
|
||||||
//latLongToggles->addItem(new CValueControl("StartAccelApply", "LONG: StartingAccel 2.0x(0)%", "정지->출발시 가속도의 가속율을 지정합니다 0: 사용안함.", "../assets/offroad/icon_road.png", 0, 100, 10));
|
//latLongToggles->addItem(new CValueControl("StartAccelApply", "LONG: StartingAccel 2.0x(0)%", "정지->출발시 가속도의 가속율을 지정합니다 0: 사용안함.", "../assets/offroad/icon_road.png", 0, 100, 10));
|
||||||
//latLongToggles->addItem(new CValueControl("StopAccelApply", "LONG: StoppingAccel -2.0x(0)%", "정지유지시 브레이크압을 조정합니다. 0: 사용안함. ", "../assets/offroad/icon_road.png", 0, 100, 10));
|
//latLongToggles->addItem(new CValueControl("StopAccelApply", "LONG: StoppingAccel -2.0x(0)%", "정지유지시 브레이크압을 조정합니다. 0: 사용안함. ", "../assets/offroad/icon_road.png", 0, 100, 10));
|
||||||
latLongToggles->addItem(new CValueControl("LaneChangeNeedTorque", "LaneChange need torque", "1:need torque, 2:no lanechange", "../assets/offroad/icon_logic.png", 0, 2, 1));
|
latLongToggles->addItem(new CValueControl("LaneChangeNeedTorque", "LaneChange need torque", "1:need torque, 2:no lanechange, 3:ignore BSD, 4:torque always", "../assets/offroad/icon_logic.png", 0, 4, 1));
|
||||||
latLongToggles->addItem(new CValueControl("StoppingAccel", "LONG: StoppingStartAccelx0.01(-40)", "", "../assets/offroad/icon_logic.png", -100, 0, 5));
|
latLongToggles->addItem(new CValueControl("StoppingAccel", "LONG: StoppingStartAccelx0.01(-40)", "", "../assets/offroad/icon_logic.png", -100, 0, 5));
|
||||||
latLongToggles->addItem(new CValueControl("StopDistanceCarrot", "LONG: StopDistance (600)cm", "", "../assets/offroad/icon_logic.png", 300, 1000, 10));
|
latLongToggles->addItem(new CValueControl("StopDistanceCarrot", "LONG: StopDistance (600)cm", "", "../assets/offroad/icon_logic.png", 300, 1000, 10));
|
||||||
//latLongToggles->addItem(new CValueControl("TraffStopDistanceAdjust", "LONG: TrafficStopDistance adjust(150)cm", "", "../assets/offroad/icon_road.png", -1000, 1000, 10));
|
//latLongToggles->addItem(new CValueControl("TraffStopDistanceAdjust", "LONG: TrafficStopDistance adjust(150)cm", "", "../assets/offroad/icon_road.png", -1000, 1000, 10));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user