From a2008160c683dbdb3a3a3f165512a014731d91c6 Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Thu, 2 Apr 2026 13:36:12 -0500 Subject: [PATCH] long mpc --- panda/board/obj/body_h7.bin.signed | Bin 76436 -> 76436 bytes panda/board/obj/body_h7/bootstub.elf | Bin 112692 -> 112692 bytes panda/board/obj/body_h7/main.bin | Bin 76300 -> 76300 bytes panda/board/obj/body_h7/main.elf | Bin 367260 -> 367260 bytes panda/board/obj/bootstub.body_h7.bin | Bin 12644 -> 12644 bytes panda/board/obj/bootstub.panda.bin | Bin 11068 -> 11068 bytes panda/board/obj/bootstub.panda_h7.bin | Bin 18784 -> 18784 bytes panda/board/obj/bootstub.panda_h7_remote.bin | Bin 18784 -> 18784 bytes panda/board/obj/bootstub.panda_jungle_h7.bin | Bin 13956 -> 13956 bytes panda/board/obj/bootstub.panda_remote.bin | Bin 11068 -> 11068 bytes panda/board/obj/gitversion.h | 2 +- panda/board/obj/panda.bin.signed | Bin 68688 -> 68688 bytes panda/board/obj/panda/bootstub.elf | Bin 100760 -> 100760 bytes panda/board/obj/panda/main.bin | Bin 68552 -> 68552 bytes panda/board/obj/panda/main.elf | Bin 332916 -> 332916 bytes panda/board/obj/panda_h7.bin.signed | Bin 84368 -> 84368 bytes panda/board/obj/panda_h7/bootstub.elf | Bin 152728 -> 152728 bytes panda/board/obj/panda_h7/main.bin | Bin 84232 -> 84232 bytes panda/board/obj/panda_h7/main.elf | Bin 410572 -> 410572 bytes panda/board/obj/panda_h7_remote.bin.signed | Bin 84312 -> 84312 bytes panda/board/obj/panda_h7_remote/bootstub.elf | Bin 152736 -> 152736 bytes panda/board/obj/panda_h7_remote/main.bin | Bin 84176 -> 84176 bytes panda/board/obj/panda_h7_remote/main.elf | Bin 410560 -> 410560 bytes panda/board/obj/panda_jungle_h7.bin.signed | Bin 78276 -> 78276 bytes panda/board/obj/panda_jungle_h7/bootstub.elf | Bin 123936 -> 123936 bytes panda/board/obj/panda_jungle_h7/main.bin | Bin 78140 -> 78140 bytes panda/board/obj/panda_jungle_h7/main.elf | Bin 375324 -> 375324 bytes panda/board/obj/panda_remote.bin.signed | Bin 68644 -> 68644 bytes panda/board/obj/panda_remote/bootstub.elf | Bin 100768 -> 100768 bytes panda/board/obj/panda_remote/main.bin | Bin 68508 -> 68508 bytes panda/board/obj/panda_remote/main.elf | Bin 332964 -> 332964 bytes panda/board/obj/version | 2 +- .../lib/longitudinal_mpc_lib/long_mpc.py | 9 ++++----- 33 files changed, 6 insertions(+), 7 deletions(-) diff --git a/panda/board/obj/body_h7.bin.signed b/panda/board/obj/body_h7.bin.signed index d6df9fe28b8777311f169b1929319370c49132d3..8d3f428ab9d05c712b160884991860c63103f7d6 100644 GIT binary patch delta 152 zcmV;J0B8S{)dZB)1h5RM2sSV|Ib|_0IinP+fPYmH?ntsBRep%wH{ZOjkTJ1J;%V(< zH_h|))#RGg6eoyPhQW?|6-UyXFAC?g(5VIrX57R8_pQl6Hl$yTYc2-HrZx?Hy9U}6 zd~VVayZkZbXD0;BfV+L-Zit7^U`hhde*lfn355!-o0$Tc6iQ--pMF{kbB%^}09SC| G)dBWBc1IEb delta 152 zcmV;J0B8S{)dZB)1h5RM2s1QhWjSRyVWSkPfPY=5hl;TwN5S6FI7<6DdPE<-@1d>L zu$ti8WB?4n9J^nZm21lGg*b*cbI@IH-bGoZr!UzSzDiBK-|={KcsiRFPQbDJYP5B0 zgZsiQj}jkCUji)t1u6U=z*pvb{5-4dli6-x5+m8O GQvt?j=uHa% diff --git a/panda/board/obj/body_h7/bootstub.elf b/panda/board/obj/body_h7/bootstub.elf index 7be4496365d48f7a8910efd68f0e91538569e2fb..118933e71552560162d9ff05b45b5c3592ec6cb9 100755 GIT binary patch delta 27 jcmdn;fo;nNwhgW}9A*ZVmZ^pYmd(C4+kI^qpH~9_mPrZ} delta 27 jcmdn;fo;nNwhgW}9L6STsg|i0iOs$?+kI^qpH~9_oqY2cM03BcsYXATM delta 39 scmbQURcy{yu?;-CIE+owQY}+05}QSKwTtXx1Y#y2X5KEci>2cM04r<`{Qv*} diff --git a/panda/board/obj/bootstub.body_h7.bin b/panda/board/obj/bootstub.body_h7.bin index d74e56eccc46f75633abc827dd4a370139c156b5..84ea14e1f489b897cbcd6bed71fa1d5e15085106 100755 GIT binary patch delta 21 ccmaEo^dxD6s}6^mfu&`tp@HRQUmbB)09+LY)c^nh delta 21 ccmaEo^dxD6s}6^;Nm{C9szu^vUmbB)0AT?KX8-^I diff --git a/panda/board/obj/bootstub.panda.bin b/panda/board/obj/bootstub.panda.bin index c349925b6a798ac7aa55cb795e64d949a2e6aa24..5652bc6cf777eb46afc1539fb55f5c4e469e0b5b 100755 GIT binary patch delta 34 qcmdlJwkK?ZubQBlfu&`tp@F5Yi>p(pJ3|A*Zo9oo}u>b(WGYZB4 delta 34 qcmdlJwkK?ZubQB-Nm{C9szsu%i>p(pJ3|A*Zo9oo}u>b(ii3?Z& diff --git a/panda/board/obj/bootstub.panda_h7.bin b/panda/board/obj/bootstub.panda_h7.bin index f3eb3505dc2470268b5e2347a074eee9154a3123..efc4eb805815bcfa6f96f50688567ac3e8ffa80d 100755 GIT binary patch delta 23 fcmaDbiSfZC#tog$9A*ZVmZ^pYmYXL!pJxRCZ*mBo delta 23 fcmaDbiSfZC#tog$9L6STsg|i0iJK=npJxRCbY2NB diff --git a/panda/board/obj/bootstub.panda_h7_remote.bin b/panda/board/obj/bootstub.panda_h7_remote.bin index f3eb3505dc2470268b5e2347a074eee9154a3123..efc4eb805815bcfa6f96f50688567ac3e8ffa80d 100755 GIT binary patch delta 23 fcmaDbiSfZC#tog$9A*ZVmZ^pYmYXL!pJxRCZ*mBo delta 23 fcmaDbiSfZC#tog$9L6STsg|i0iJK=npJxRCbY2NB diff --git a/panda/board/obj/bootstub.panda_jungle_h7.bin b/panda/board/obj/bootstub.panda_jungle_h7.bin index d01b1ce4d1d3ae64e7a5430c7fa8db2cd840af24..1bc6295ae3c8798a439b4a7c3ee1e843592259ef 100755 GIT binary patch delta 21 ccmZq4ZOPrR*MP&!z|u0+(7t<8 diff --git a/panda/board/obj/bootstub.panda_remote.bin b/panda/board/obj/bootstub.panda_remote.bin index c349925b6a798ac7aa55cb795e64d949a2e6aa24..5652bc6cf777eb46afc1539fb55f5c4e469e0b5b 100755 GIT binary patch delta 34 qcmdlJwkK?ZubQBlfu&`tp@F5Yi>p(pJ3|A*Zo9oo}u>b(WGYZB4 delta 34 qcmdlJwkK?ZubQB-Nm{C9szsu%i>p(pJ3|A*Zo9oo}u>b(ii3?Z& diff --git a/panda/board/obj/gitversion.h b/panda/board/obj/gitversion.h index 517660c7..98e33aae 100644 --- a/panda/board/obj/gitversion.h +++ b/panda/board/obj/gitversion.h @@ -1,2 +1,2 @@ extern const uint8_t gitversion[19]; -const uint8_t gitversion[19] = "DEV-34fe9e8a-DEBUG"; +const uint8_t gitversion[19] = "DEV-6099e109-DEBUG"; diff --git a/panda/board/obj/panda.bin.signed b/panda/board/obj/panda.bin.signed index c10b396ecdf155b64698ed7d667b02c74b9f21d4..0a818bac0377f2c2c2cba7149cdc443f91d67df6 100644 GIT binary patch delta 153 zcmV;K0A~Ntm;}(61hDLy2sSV|Ib|_0IkWVd+;D%3viONRnqb7V+lI^ep71YMKvCm4 z^!WwRnVh1-8*n^6Dyu8_C;#H0ekfYdM~Mj$uVu7vykzXz)Y~g7KT)LSA>FpGubv4F zxVx!XBx7r^6<)=sx|Rg!fQ|e>*hH&zofcxIjYJG@Y4a+vKrZ{dHJNrvNrg(b-V zAIA=$l?n)Z?3RrxbItD7W4Q^NpbRdi3R7E1U+A|0t8V?crGbj`H@}*Vn7z^qrSA3V H^M(Onn$S&r diff --git a/panda/board/obj/panda/bootstub.elf b/panda/board/obj/panda/bootstub.elf index 2ead89420a4f056bdb1005dd9212ed414855da5e..902bbbfb59e260f8b35f2de7b475288a44db95af 100755 GIT binary patch delta 40 wcmbO+nQg{owhg{!f@TJmmZ^pYmbxykPND7$4GfbfnkqEcnQgB#W0VR80RK)58vpxo#n)ImJM%aahMrcTBaHrSZ@9@>q-Ftdix4t delta 23 fcmX>xo#n)ImJM%aaTuGVrCO$1ByRpP>q-Ftf9DGG diff --git a/panda/board/obj/panda/main.elf b/panda/board/obj/panda/main.elf index 4b93c37cbdee531645f6e809566c6256bc363a11..2d0cff4b502d9d3284be6e64dfad53ed8ac261a4 100755 GIT binary patch delta 39 scmeyeLgdQ|kqvKFahMrcTBaHrST=uI)&6A_BM>tIG4u8>t5_N`0f4>}UH||9 delta 39 scmeyeLgdQ|kqvKFaTuGVrCO$1BsPCp)&6A_BM>tIG4u8>t5_N`0glQO@Bjb+ diff --git a/panda/board/obj/panda_h7.bin.signed b/panda/board/obj/panda_h7.bin.signed index 1d76f22aa9692fe80b8c1d91685b3e772de313b2..5e560bd1a837840004a7b4fc9cd4b1902a5054e4 100644 GIT binary patch delta 153 zcmV;K0A~M?lLe5I1+e_Z2sSV|Ib|_0IkN=D41<4s(#L{qoW$fph@4lMjvU)Vr8-S$ zY=_n#s+$5)YQ`MV(GZN#ffJ&5^h?w-Cn4pfp6G&z$>chmYSLVHK0U0g5EAyc31CO5 z0hHwR@wWZH){j7CSPKmPsu|W#Y;3?z5*lg!i6F$5wlNM++t9B)rv;gejydWh%~jq> HMVA4>){#l| delta 153 zcmV;K0A~M?lLe5I1+e_Z2s1QhWjSRyVY39r41<4ulOhA;>zq`Vgar^d*rXU-g2T4P zIdwpTQJeoq72ux$>tmf)`l;;!?}qc~^@$GqqK^}k+lEh*7aQRVoN$T)2?qnhR@aSC z*!4$FJw&Cf9WXowhfUu1w6pW^P>5@xB3+Mb*D3`m+(-*G4r9J#MaZfpaN5V3Z>PeX HwRZt|ZVyN} diff --git a/panda/board/obj/panda_h7/bootstub.elf b/panda/board/obj/panda_h7/bootstub.elf index 2b7debe7e4a77475de1048cb488f323020917c78..3db1fa14c8075e996687dc63e8859e238cd7d6ee 100755 GIT binary patch delta 31 ncmbQSl5@sN&JCTx9A*ZVmZ^pYmdz7`+b0GyZl4&;#Lfr+w}c9K delta 31 ncmbQSl5@sN&JCTx9L6STsg|i0iOmy(+b0GyZl4&;#Lfr+!2k;i diff --git a/panda/board/obj/panda_h7/main.bin b/panda/board/obj/panda_h7/main.bin index c2bd92c867cbaa792c0073021c2f98f08430e478..11a65a8c293e941e24bde85cb8c716d3a7b9e9b9 100755 GIT binary patch delta 23 fcmeB}#M&{5b;F;d9A*ZVmZ^pYmYZ3Qu`~k!Zczx6 delta 23 fcmeB}#M&{5b;F;d9L6STsg|i0iJMuDu`~k!b3F+q diff --git a/panda/board/obj/panda_h7/main.elf b/panda/board/obj/panda_h7/main.elf index f67bf9dbe4824506eda02302822d6a214c6fb57c..adc26a3b66509ccf176994459fe492c073fdd80b 100755 GIT binary patch delta 43 ucmX@pE_tS1a>Jji9A*ZVmZ^pYmdz~J+F7nK0x=U1GXpWpc9v_bCvpLTA`tHY delta 43 ucmX@pE_tS1a>Jji9L6STsg|i0iOnq6+F7nK0x=U1GXpWpc9v_bCvpLjb`gO9 diff --git a/panda/board/obj/panda_h7_remote.bin.signed b/panda/board/obj/panda_h7_remote.bin.signed index f7b07c6f4bb3403f611718d300bc075a9dcc58b7..7dee5bde34062c1be51691eb96022b780304d0e0 100644 GIT binary patch delta 153 zcmV;K0A~N#k_Fh31+c`$2sSV|Ib|_0IkU{g41<3=?7R!r?wHHH8lbXF`66n|3 zm%k(}nczHl8b7(Q>nQhAVYE~|#VA>8jUGh#?~o!8U{HpAP}31U4;}r2uDs?TDyHYs z`OT6P9WS6J3U9A*ZVmZ^pYmd$6bwx7Am2*gZ4%nZaV+s|BO{gMj+yXzHo delta 43 vcmX@mE_t9`a>J3U9L6STsg|i0iOpxOwx7Am2*gZ4%nZaV+s|BO{gMj+%s&*4uqY1T5U0Bb^r9zjhEaurO_ zsYI7CgGAMsg6cZSoR|7%-(83r-@*8ACKohoIa~qhU3GRO%^IB>IxTlWgew#!kO=Id z!fWGKj;$o>Ca5xOP6nY*silQpj@**b>`?>=bwufW3O>PLxw*gEbIac#4!(f91M>Q683a zhNM19u6onViQG-ybR+Q7 diff --git a/panda/board/obj/panda_jungle_h7/bootstub.elf b/panda/board/obj/panda_jungle_h7/bootstub.elf index f53ed910d4fcc1c7e70b2ea7f37fa41e7dedeb34..eb4bbc9067311fc120c5160487d62fc66d411ec4 100755 GIT binary patch delta 27 jcmZ2*f_=dW_6>U-ILr(zEmI8*ESrxyY(MJ27`+$(nbZod delta 27 jcmZ2*f_=dW_6>U-IE+owQY}+05}S`YY(MJ27`+$(p$H2= diff --git a/panda/board/obj/panda_jungle_h7/main.bin b/panda/board/obj/panda_jungle_h7/main.bin index 21ecfec4936f3c4ee028143cc1df3f838268b1ec..d83c90a6bcac84192ecf9b11a9c0eb568d9f948a 100755 GIT binary patch delta 23 fcmdnQfBM>tIG4uAF`&g2H0|0Jt64d|z delta 39 tcmbR9MQqL&u?-vdaTuGVrCO$1BsTBd*S>QfBM>tIG4uAF`&g2H0|0z{6K4Pb diff --git a/panda/board/obj/panda_remote.bin.signed b/panda/board/obj/panda_remote.bin.signed index 428ab76c423942be4ddfcb3c75c1adc5fca4be21..fa93dfb9795504e23399996461da4ca1c27bc945 100644 GIT binary patch delta 153 zcmV;K0A~NBm;|Jl1hBxG2sSV|Ib|_0IkU)`+;D$}Cqw;a4f%rmmE>;*__QKZJuOz- z|06CFq_LN?$8e}@1#@b;3yMRe<7(Egg*F7roHri77CxmLjao~LOKgU{KZ#u;Mkh(Y z%^9|_gx%)-n--8+UCaQVEb^@(1_znXnh}wiprn;L7KOl#ECClUW2lJH!jidx#@+~) H1*-ugJ*Gxt delta 153 zcmV;K0A~NBm;|Jl1hBxG2s1QhWjSRyVYA4Z+;D$I)q|{fIrBK{Y!Jh(Qq>RtbP|px z#^Cnvx(o>EQ+Y{7{Y_q(oWK*|U^n--jtxSjwPEI|Y|zW+@YS4_+W}Rfo5vQ=fH*v$ z*MW{85obR9jdjDpdfud@Nvw;?`1Ep*$}nzzKCKog!=^ADJc}fYGKtS(J^Ktbhn`3l HB%%QThN4Vz diff --git a/panda/board/obj/panda_remote/bootstub.elf b/panda/board/obj/panda_remote/bootstub.elf index 7392b16f903fb55a6bb802d06ef2227f43bdafb7..5dc23822a9692e760092c5060899de4076fed19c 100755 GIT binary patch delta 40 wcmZ25nQg&jwhg{!f@TJmmZ^pYmbxykPND7$4GfbfnkqEcnQgB#V^j(T00GquGXMYp delta 40 wcmZ25nQg&jwhg{!g2pCksg|i0iMlSXPND7$4GfbfnkqEcnQgB#V^j(T01$Hw#Q*>R diff --git a/panda/board/obj/panda_remote/main.bin b/panda/board/obj/panda_remote/main.bin index a7bead8fa27e20cb22c5a117a81a563b90313c4d..78271ffae5da544ac9e76398110af5a71708d0e6 100755 GIT binary patch delta 23 fcmbO;on_8+mJJ7HahMrcTBaHrSZ+Qs>q-Fta3=|| delta 23 fcmbO;on_8+mJJ7HaTuGVrCO$1ByK)2>q-FtbrT9h diff --git a/panda/board/obj/panda_remote/main.elf b/panda/board/obj/panda_remote/main.elf index 6b92f449b10a601bbbafb29f79c75f77d5d4c39c..cec4e5e8c0af320c2e44c9783f91d8766a1c33fc 100755 GIT binary patch delta 39 tcmZ3oQe??Wkqrk{ahMrcTBaHrST>(n)qY|XBM>tIG4u8lt61)20svXh5)=Rc delta 39 tcmZ3oQe??Wkqrk{aTuGVrCO$1BsQN|)qY|XBM>tIG4u8lt61)20sv>*5~ctE diff --git a/panda/board/obj/version b/panda/board/obj/version index 6b7effeb..3f9e2b86 100644 --- a/panda/board/obj/version +++ b/panda/board/obj/version @@ -1 +1 @@ -DEV-34fe9e8a-DEBUG \ No newline at end of file +DEV-6099e109-DEBUG \ No newline at end of file diff --git a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py index 421b70da..4566e307 100755 --- a/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py +++ b/selfdrive/controls/lib/longitudinal_mpc_lib/long_mpc.py @@ -497,10 +497,9 @@ class LongitudinalMpc: a_lead = 0.0 a_lead_tau = LEAD_ACCEL_TAU - # MPC will not converge if immediate crash is expected - # Clip lead distance using the currently active vehicle decel capability. - min_decel = min(float(self.cruise_min_a), -0.1) - min_x_lead = ((v_ego + v_lead)/2) * (v_ego - v_lead) / (-min_decel * 2) + # MPC will not converge if immediate crash is expected. + # Bound this by physical hard-brake capability, not cruise comfort decel. + min_x_lead = ((v_ego + v_lead)/2) * (v_ego - v_lead) / (-ACCEL_MIN * 2) x_lead = np.clip(x_lead, min_x_lead, 1e8) v_lead = np.clip(v_lead, 0.0, 1e8) a_lead = np.clip(a_lead, -10., 5.) @@ -534,7 +533,7 @@ class LongitudinalMpc: lead_0_obstacle = lead_xv_0[:,0] + get_stopped_equivalence_factor(lead_xv_0[:,1]) lead_1_obstacle = lead_xv_1[:,0] + get_stopped_equivalence_factor(lead_xv_1[:,1]) - self.params[:,0] = self.cruise_min_a + self.params[:,0] = ACCEL_MIN self.params[:,1] = max(0.0, self.max_a) # Update in ACC mode or ACC/e2e blend