๐๏ธ ๋ฒํผยทํ๋ฆฌ์ ๊ณผ ์์ SCC โ
์์๋๊ธฐ ์ด ๋ฌธ์๋
carrot-wip์ฝ๋์ ํจ๊ป ๊ด๋ฆฌํ๋ ์ฌ์ฉ์ ์ค๋ช ์ ์๋ณธ์ ๋๋ค. ์ฌ์ฉ์ ๋์์ด ๋ฐ๋๋ฉด ๊ด๋ จ ์ฝ๋ยทํ ์คํธ์ ๊ฐ์ ๋ณ๊ฒฝ์์ ์ด ๋ฌธ์๋ ๊ฐฑ์ ํฉ๋๋ค.์ด ํ์ด์ง๋
carrot-wip์ ์ค์ ์ฝ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฒํผยทํ๋ฆฌ์ ์ค์ ์ ์ค๋ช ํฉ๋๋ค. ์ค์ ํ๋ฉด์ ์งง์ ๋ฌธ๊ตฌ๋ง์ผ๋ก ์๊ธฐ ์ด๋ ค์ด ์งง๊ฒ ๋๋ฅด๊ธฐยท๊ธธ๊ฒ ๋๋ฅด๊ธฐยท์ฌ์ฉ์ ๋ชจ๋์ ์ฐจ์ด์ ์์ SCC ๋ฒํผ ์คํธ์ ์ ์ฉ ์กฐ๊ฑด์ ํจ๊ป ์ ๋ฆฌํ์ต๋๋ค.๋ชจ๋ ๊ฐ์ Carrot Web์ ์ค์ โ ์ฃผํ ์ ์ด โ ๋ฒํผยทํ๋ฆฌ์ ์์ ๋ณ๊ฒฝํฉ๋๋ค.
์ฃผ์ ๋ฒํผ ์ด๋ฒคํธ์ ์์ SCC ๋ฉ์์ง ๊ตฌ์ฑ์ ์ฐจ์ข ๋ง๋ค ๋ค๋ฆ ๋๋ค. ๋ฐ๋์ ํ์ฌ ๊ฐ์ ๊ธฐ๋กํ๊ณ , ์์ ํ๊ฒ ์ ์ฐจํ ์ํ์์ ๋ฒํผ ์ธ์๋ถํฐ ํ์ธํ์ธ์. ์ฃผํ ์ค์๋ ํ ํญ๋ชฉ์ฉ๋ง ๋ณ๊ฒฝํ๊ณ ์์๊ณผ ๋ค๋ฅด๋ฉด ์ฆ์ ์ผ๋ฐ ๋ชจ๋๋ก ๋ณต์ํ์ธ์.
4๊ฐ ์ธ๋ถ ๊ตฌ์ญ โ
๋จผ์ ์์๋ ํต์ฌ โ
- ์๋ ๋์์ ์ฐจ๋ ์ธํฐํ์ด์ค๊ฐ ํด๋น ๋ฒํผ ์ด๋ฒคํธ๋ฅผ ์ ์ ์ ๋ฌํ ๋๋ง ์ ์ฉ๋ฉ๋๋ค.
- ์งง๊ฒ ๋๋ฅด๊ธฐ์ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ๋ ๊ฐ์ ์๋ ๋จ์๋ฅผ ์ฐ์ง ์์ต๋๋ค. ํ์ฌ ์ฝ๋์์ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ๋ ํญ์ 10km/h ๊ฒฉ์์ ๋๋ค.
- ์ฌ์ฉ์ ๋ชจ๋ 1~3์์๋
CruiseSpeedUnitBasic๋ณด๋คCruiseSpeedUnit์ ์ํฅ์ด ์ปค์ง๋๋ค.- ํฌ๋ฃจ์ฆ๊ฐ ๊บผ์ ธ ์๊ฑฐ๋ ๋๊ธฐยท์ ์ฐจยท๋ธ๋ ์ดํฌ ๋ณต๊ท ์ํ์ด๋ฉด ์๋ ๋ณ๊ฒฝ๋ณด๋ค ํฌ๋ฃจ์ฆ ์ฌ๊ฐ ๋ก์ง์ด ์ฐ์ ํ ์ ์์ต๋๋ค.
- mph ํ๋ฉด์์๋ ์งง๊ฒ ๋๋ฅด๊ธฐ ๋จ์๋ฅผ mph๋ก ํด์ํด ๋ด๋ถ km/h๋ก ๋ณํํ์ง๋ง, ๊ธธ๊ฒ ๋๋ฅด๊ธฐ์ ๊ณ ์ 10์ ๋ด๋ถ km/h ๊ธฐ์ค์ด๋ฏ๋ก ์ฝ 6.2mph์ฉ ์์ง์ ๋๋ค.
์ด๊ธฐ๊ฐ์ด ์๋ก ๋ค๋ฅด๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค โ
Carrot Web์ ๊ฐ๋ณ ๊ธฐ๋ณธ๊ฐ ๋ณต์์
carrot_settings.json์default๋ฅผ ์ฌ์ฉํ๊ณ , Params๊ฐ ์ฒ์ ๋ง๋ค์ด์ง ๋๋params_keys.h์ ์ด๊ธฐ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ํ์ฌ ๋ธ๋์น์๋ ๋ค์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.ํนํ ๋ฒํผ ํ ์คํธ์ ์นดํ๋ก๊ทธ ๊ธฐ๋ณธ๊ฐ
0์ ํ๋ฉด ์ต์๊ฐ๋ณด๋ค๋ ์์ต๋๋ค. ์ซ์๋ฅผ ์ต์ง๋ก ํต์ผํ์ง ๋ง๊ณ ๋ด ์ฅ์น์ ํ์ฌ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐฑ์ ํ ๋ค ์กฐ์ ํ์ธ์.1. ๋ฒํผ ๋ชจ๋ โ
๊ด๋ จ ์ค์ ์
CruiseButtonMode,CancelButtonMode,LfaButtonMode,PaddleMode์ ๋๋ค.
CruiseButtonModeโ์๋ ํ๋ ํฌ๋ฃจ์ฆ๊ฐ ์ด๋ฏธ ํ์ฑํ๋๊ณ ์ผ๋ฐ ์ฃผํ ์ค์ผ ๋์ ์งง๊ฒ ๋๋ฅด๊ธฐ ๊ธฐ์ค์ ๋๋ค.
ํญ์ค๋ฐ๊ฒ์ ๋ณ๋
SET์ ํ์ฌ ๊ณ๊ธฐํ ์๋๋ก ์ค์ ํ๊ณ ,RES๋ ๋ธ๋ ์ดํฌ ์ ์ ์ฅ์๋๊ฐ ์์ผ๋ฉด ๊ทธ ๊ฐ์ ๋ณต์ํ๋ฉฐ ์์ผ๋ฉด ๊ธฐ์กด ์ค์ ์๋๋ฅผ ์ ์งํฉ๋๋ค. ์์ง ์ค์ ์๋๋ฅผ ์ด๊ธฐํํ์ง ์์๋ค๋ฉดRES๋ ํ์ฌ ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ์ต์ข ์๋์๋ ๊ธฐ์กด ์ต์ ยท์ต๊ณ ์ค์ ์๋ ์ ํ์ด ์ ์ฉ๋ฉ๋๋ค.
SETยทRES๋ ์งง๊ฒ ๋๋ ๊ธธ๊ฒ ๋๋ฌ๋ ๋์ ๋ ํ ๋ฒ๋ง ์ฒ๋ฆฌํฉ๋๋ค. ์๋ ๋ฒํผ ๋ชจ๋ยท์๋ ๋จ์ยท๊ธธ๊ฒ ๋๋ฅด๊ธฐ ์ค์ ์ ๋ณ๋+ยท-์ ์ ์ฉ๋๋ฉฐ, ์์ SCC์์ ์๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒฝ์ฐ์๋ ์์ ์ค์ ์๋๊ฐ ์ฐ์ ํฉ๋๋ค.์คํํ์ผ๋ฟ ์ข ๋ฐฉํฅ ์ ์ด์ ์๋ ์ธ๊ฒ์ด์ง๋ ๊ธฐ์กด์ฒ๋ผ ๋ฌผ๋ฆฌ
SETยทRES๋ฅผ ๋์ ๋ ์์ฒญํฉ๋๋ค. ๋จ์+ยท-๋ฒํผ์ ์ธ๊ฒ์ด์ง ๋ฒํผ์ผ๋ก ์ถ๊ฐํ์ง ์์ต๋๋ค.์ฌ์ฉ์1~3์ ๊ฐ์ ๋ฒํผ์ ํ์ฌ ์ค์ ์๋๊ฐ 30km/h ๋ฏธ๋ง์ด๋ฉด ๋จผ์ 30km/h๋ก ์ฌ๋ฆฌ๊ณ , ๊ทธ ์ดํ์๋ 40km/h๋ถํฐ
CruiseSpeedUnit๊ฐ๊ฒฉ์ผ๋ก ๋ค์ ๊ฐ์ ์ฐพ์ต๋๋ค. ์ฌ์ฉ์3์ ํ๋ฆฌ์ ์ ๋ชจ๋ ์ง๋ ๋ค์์๋งCruiseSpeedUnit๊ฒฉ์๋ก ์ด์ด์ง๋๋ค.์ฌ์ฉ์2ยท3์ ๊ฐ์ ๋ฒํผ์ ๋จ์ํ ์ผ์ ๊ฐ์ ๋นผ๋ ๋ชจ๋๊ฐ ์๋๋๋ค.
- ์ค์ ์ฐจ์์ด ์ค์ ์๋๋ณด๋ค ์ถฉ๋ถํ ๋์ผ๋ฉด ์ค์ ์๋๋ฅผ ์ค์ ์ฐจ์ ์ชฝ์ผ๋ก ๋ง์ถฅ๋๋ค.
- ์ค์ ์ฐจ์์ด ์ค์ ์๋๋ณด๋ค ๋ฎ์ผ๋ฉด ์ค์ ์ฐจ์์ผ๋ก ๋ฎ์ถ ์ ์์ต๋๋ค.
- ๋ ๋ฎ์ถ ์กฐ๊ฑด์ด ์์ผ๋ฉด ๋น๊ทผ ํฌ๋ฃจ์ฆ ์ํ๋ก ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
๋จ์ํ
+1/-1๋๋+10/-10๋์์ด ํ์ํ๋ฉด ๋จผ์ CruiseButtonMode=0์์ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
CancelButtonModeโ์บ์ฌ ๋ฒํผ์ ๊ธธ๊ฒ ๋๋ฅด๋ฉด ๋ชจ๋์ ๊ด๊ณ์์ด ํก์ ์ด๊น์ง ํด์ ํฉ๋๋ค. ์งง๊ฒ ๋๋ ๋๋ฐ ์กฐํฅ๊น์ง ๊บผ์ง๋ ๊ฒ์ด ์ซ๋ค๋ฉด
0, ์บ์ฌ ํ ๋ฒ์ผ๋ก ๋ชจ๋ ํด์ ํ๋ ค๋ฉด1์ ๋์์ ํ์ธํ์ธ์.
LfaButtonModeโ
1์ ๋๋ฅด๋ ์ฆ์ ๊ณ ์ ๊ฐ์์ ๋ช ๋ นํ๋ ์ค์ ์ด ์๋๋๋ค. ๋ด๋ถ์ ํจ๋ค ๊ฐ์ ๋๊ธฐ ์ํ๋ฅผ ์ผ๊ณ , ์ดํ ์ ์งยท์ ํ์ฐจยทํฌ๋ฃจ์ฆ ์ํ์ ๋ฐ๋ผ Ready์ ์ฌํ์ฑํ ํ๋ฆ์ ์ฒ๋ฆฌํฉ๋๋ค. ํ์ฌ ์ฝ๋์๋ ์์ ํ์ ์ฃผ์์ด ๋จ์ ์์ผ๋ฏ๋ก ์คํ ๊ธฐ๋ฅ์ผ๋ก ๋ณด๊ณ ์ถฉ๋ถํ ๊ฒ์ฆํ์ธ์.LFA ๋ฒํผ์ ๊ธธ๊ฒ ๋๋ฅด๋ฉด
LfaButtonMode์ ๋ฌด๊ดํ๊ฒ ๋ ์ธ๋ชจ๋ ์ ์ฉ ์๋ ๊ธฐ๋ฅ์ ์์๋ก ์ผ๊ฑฐ๋ ๋๋๋ค.
PaddleModeโ์์๋๊ธฐ ์ค์ ์นดํ๋ก๊ทธ ์ค๋ช ์๋
0: ํฌ๋ฃจ์ฆON์ด๋ผ๊ณ ์ ํ ์์ง๋ง, ํ์ฌ ์คํ ์ฝ๋๋PaddleMode > 0์ผ ๋๋ง ํจ๋ค ๋ถ๊ธฐ๋ก ๋ค์ด๊ฐ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ๋ธ๋์น์์0์ ์ฌ์ค์ ํจ๋ค ๊ธฐ๋ฅ ๋ฏธ์ฌ์ฉ์ผ๋ก ํด์ํด์ผ ํฉ๋๋ค.ํจ๋ค ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ์ง ์๋ ์ฐจ์ข ์์๋ ๊ฐ์ ๋ฐ๊ฟ๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ขยท์ฐ ํจ๋ค์ ํ์ฌ ๊ฐ์ ๋ชจ๋ ๋์์ ์ฌ์ฉํฉ๋๋ค.
๊ธธ๊ฒ ๋๋ฅด๊ธฐ์ ๊ณตํต ๋์ โ
4๊ฐ ์ธ๋ถ ๊ตฌ์ญ์ผ๋ก ๋์๊ฐ๊ธฐ
2. ์๋ ๋จ์ โ
์ด๋ค ์ค์ ์ด ์ด๋์ ์ฐ์ด๋์? โ
CruiseSpeedUnitBasic=1์ด๋ฉด ์ผ๋ฐ ๋ชจ๋์์ 1km/h ๋จ์,5์ด๋ฉด 5km/h ๊ฒฉ์,10์ด๋ฉด 10km/h ๊ฒฉ์๋ก ์ด๋ํฉ๋๋ค. ํ์ฌ ๊ฐ์ด ๊ฒฉ์ ์ฌ์ด์ ์์ผ๋ฉด ๋จ์ํ ํ์ฌ ๊ฐ์ ๋ํ๋ ๋์ ์ฌ๋ฆผยท๋ด๋ฆผํ์ฌ ๋ค์ ๊ฒฉ์์ ๋ง์ถฅ๋๋ค.์๋ฅผ ๋ค์ด ์ผ๋ฐ ๋ชจ๋, ๊ธฐ๋ณธ ๋จ์ 5, ์ค์ ์๋ 83km/h๋ผ๋ฉด:
- ๊ฐ์ ์งง๊ฒ: 85km/h
- ๊ฐ์ ์งง๊ฒ: 80km/h
CruiseButtonLongDelay๋ ์ด๊ฐ ์๋๋ผ ํ๋ ์์ ๋๋ค โ๋ฒํผ ์ฒ๋ฆฌ๋ ์ฝ 100Hz ์ ์ด ์ฃผ๊ธฐ์์ ์คํ๋๋ฏ๋ก ๋ค์์ฒ๋ผ ์ดํดํ ์ ์์ต๋๋ค.
์ฐจ๊ฐยทLFAยท์บ์ฌ์ ๋ด๋ถ์ ์ผ๋ก ์ค์ ๊ฐ์ 30ํ๋ ์์ ๋ํฉ๋๋ค. ์ค์ ๋ฒํผ ๋ฉ์์ง ์ฃผ๊ธฐ์ ์ฐจ๋ ์ธํฐํ์ด์ค์ ๋ฐ๋ผ ์ฒด๊ฐ ์๊ฐ์ ์กฐ๊ธ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
์์๋๊ธฐ
CruiseSpeedUnit์ด๋CruiseSpeedUnitBasic์ ๋ฐ๊ฟ๋ ๊ธธ๊ฒ ๋๋ฅด๊ธฐ์ 10km/h ๋ฐ๋ณต ๋จ์๋ ๋ฐ๋์ง ์์ต๋๋ค.์ถ์ฒ ํ์ธ ์์ โ
CruiseButtonMode=0์ผ๋ก ๋ก๋๋ค.CruiseSpeedUnitBasic=1์์ ์งง๊ฒ ๋๋ฅด๊ธฐ๋ฅผ ํ์ธํฉ๋๋ค.- ๊ธธ๊ฒ ๋๋ฅด๊ธฐ ํ์ ๋ง
CruiseButtonLongDelay๋ก ๋ง์ถฅ๋๋ค.- ๊ทธ ๋ค์ ์ฌ์ฉ์ ๋ชจ๋์
CruiseSpeedUnit์ ์ํํฉ๋๋ค.4๊ฐ ์ธ๋ถ ๊ตฌ์ญ์ผ๋ก ๋์๊ฐ๊ธฐ
3. ๋ฒํผ ํ ์คํธยท์คํธ โ
CruiseButtonTest1~3์ ์ด์ ์์ ๋ฒํผ ๊ฐ๋๋ฅผ ๋ฐ๊พธ๋ ์ผ๋ฐ ์ค์ ์ด ์๋๋๋ค. openpilot์ด ํ๋ยท๊ธฐ์ ์์ SCC์ ์ค์ ์๋๋ฅผ ๋ชฉํ๊ฐ๊ณผ ๋ง์ถ๊ธฐ ์ํด ๊ฐ์ RES/SET ๋ฒํผ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋ ์ฌ์ฉํ๋ ๊ณ ๊ธ ๊ฐ์ ๋๋ค.์ ์ด ์ฃผ๊ธฐ๊ฐ ์ฝ 0.01์ด์ด๋ฏ๋ก
CruiseButtonTest2=30์ ๋๋ต 0.30์ด์ ํด์ง ํ๋ ์์ ํด๋นํฉ๋๋ค. ๋ค๋ง ์์ ์ค์ ์๋๊ฐ ์ค์ ๋ก ๋ณํ ๊ฒ์ ๊ฐ์งํ๋ฉด ์ฝ๋๋ ๋ณ๋์ 7ํ๋ ์ ๋๊ธฐ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค.์ ์ฉ ๋ฒ์๋ฅผ ๊ตฌ๋ถํด์ผ ํฉ๋๋ค.
ํ๋ยท๊ธฐ์ ๋น๋กฑ์ปจ ๊ตฌ์ฑ์ ์์ SCC ์๋ ๋๊ธฐํ์์ ์ฌ์ฉ๋ฉ๋๋ค.
์ผ๋ฐ CAN๊ณผ CAN FD ๋ฒํผ ๊ฒฝ๋ก ๋ชจ๋
Test1,Test2์ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
Test3์ ๋ฉ์์ง ๋ณต์ ๋ ํ์ฌ CAN FD ์ ์ก ๊ฒฝ๋ก์์ ์ฌ์ฉ๋ฉ๋๋ค.
SpeedFromPCM=1์ด๋ฉด ๋ชฉํ์ ์์ ์ค์ ์๋์ ์ฐจ์ด๋ฅผ ๋ง์ถ๋ RES/SET ์คํธ ๋ถ๊ธฐ๊ฐ ๋์ํ์ง ์์ต๋๋ค.
SpeedFromPCM๊ธฐ๋ณธ๊ฐ์2(์ปค๋ธยท์นด๋ฉ๋ผ ๊ฐ์)์ ๋๋ค. ์ค์ ์ ๊ธฐ๋ณธ๊ฐ ๋ณต์๋2๋ฅผ ์ฌ์ฉํ๋ฉฐ, ๊ธฐ์กด์ ์ ์ฅ๋ ๊ฐ์ ์ ๋ฐ์ดํธ๋ง์ผ๋ก ๋ฐ๋์ง ์์ต๋๋ค.์ฐจ์ข ์ด ์ด ๋ฒํผ ์ ์ก ๊ฒฝ๋ก๋ฅผ ์ฐ์ง ์์ผ๋ฉด ์ธ ๊ฐ์ ๋ฐ๊ฟ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ฃผ์ ๊ฐ์ ํฌ๊ฒ ์ฌ๋ฆฌ๋ฉด ๋ฒํผ ๋ฉ์์ง๊ฐ ๊ณผ๋ํ๊ฒ ์ ์ก๋๊ฑฐ๋ ์์ SCC๊ฐ ์ ๋ ฅ์ ๋์น๊ณ , ๋ฐ๋๋ก ๋๋ฌด ์์ผ๋ฉด ๋ชฉํ ์๋ ๋๊ธฐํ๊ฐ ๋ฆ๊ฑฐ๋ ์คํจํ ์ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์๋ค๋ฉด Params ์ต์ด๊ฐ
8 / 30 / 1์ ์ ์งํ์ธ์.์ฆ์๋ณ ํ์ธ โ
4๊ฐ ์ธ๋ถ ๊ตฌ์ญ์ผ๋ก ๋์๊ฐ๊ธฐ
ํ ์ํยท๋ ์์ค์ ์์ ์ค์ ์๋ โ
SpeedFromPCM=3์์๋ ์์ SET/RES ์ค์ ์๋๋ฅผ ์นด๋กฏ์ ๊ธฐ๋ณธ ๋ชฉํ์๋๋ก ์ฌ์ฉํฉ๋๋ค.1๋ ์์ ์ค์ ์๋๋ฅผ ์ฌ์ฉํ๋ฉฐ,0๊ณผ2๋ ๊ธฐ์กด ์นด๋กฏ ์๋ ์ ํ์ ์ ์งํฉ๋๋ค. ์ด ์ค์ ์ ์์ ACC์ openpilot ๊ฐ๊ฐ์ ์ฌ์ด๋ฅผ ์ ํํ๊ฑฐ๋ ๋ ์ด๋๋ฅผ ์ผ๊ณ ๋์ง ์์ต๋๋ค. openpilot ๊ฐ๊ฐ์ ์ฌ์ฉ ์ ์์ฐจยท์ปค๋ธยท์นด๋ฉ๋ผ ๊ฐ์์ ์ด ๊ธฐ๋ณธ ๋ชฉํ๋ณด๋ค ๋ฎ๊ฒ ์ ์ฉ๋ ์ ์์ต๋๋ค.
0์ ์์ธ๋ก,TOYOTA_RAV4_TSS2_2022์์ PCM๊ณผ openpilot ์ง์ ๊ฐ๊ฐ์์ ํจ๊ป ์ฌ์ฉํ ๋๋ ์ ํจํ CAN์ผ๋ก ๊ด์ธกํ ์์ ์ค์ ์๋ ๋ณ๊ฒฝ๊ณผ ํฌ๋ฃจ์ฆ ๋นํ์ฑโํ์ฑ ์ ์ด๋ฅผ ๊ธฐ๋ณธ ๋ชฉํ์ ๋ฐ์ํฉ๋๋ค. ์ฒ์๋ถํฐ ํ์ฑ์ธ ํ๋ณธ์ ๊ธฐ์ค๋ง ์ ์ฅํ๋ฉฐ, ๊ฐ์ ์ฃผ๊ธฐ์ ๋ก์ปฌ ๋ฒํผยท๋ธ๋ฃจํฌ์ค ์๋ ๋ณ๊ฒฝ์ด ์ฐ์ ํฉ๋๋ค. ๋ฎ์ ์์ฐจยท์ปค๋ธยท์ง๋ ๊ฐ์ ๋ชฉํ๋ ๊ณ์ ์ ์ฉ๋๊ณ , RES/SET CAN ์ก์ ์ ์ถ๊ฐํ์ง ์์ต๋๋ค.4. ์๋ ํ๋ฆฌ์ โ
CruiseSpeed1~CruiseSpeed5๋CruiseButtonMode=3์์ ๊ฐ์ ๋ฒํผ์ ์งง๊ฒ ๋๋ ์ ๋ ์ฌ์ฉํ๋ ์์ํ ์๋ ํ ์ด๋ธ์ ๋๋ค.์ด ์ญํ ์ด๋ฆ์ ์ดํด๋ฅผ ๋๊ธฐ ์ํ ์์์ด๋ฉฐ ๋ฒ์ ์ ํ์๋๋ ๊ถ์ฅ ์ฃผํ์๋๋ฅผ ๋ปํ์ง ์์ต๋๋ค. ์ค์ ๊ฐ์ ์ง์ญยท๋๋กยท์ฐจ๋ ์กฐ๊ฑด์ ๋ง์ถฐ์ผ ํฉ๋๋ค.
์ ํ ๋ฐฉ์ โ
์ฝ๋๋ 1๋ฒ๋ถํฐ 5๋ฒ๊น์ง ์ฐจ๋ก๋ก ์ฝ๊ณ ํ์ฌ ์ค์ ์๋๋ณด๋ค ํฐ ์ฒซ ๊ฐ์ ์ ํํฉ๋๋ค. ํ๋ฆฌ์ ์ ๋ชจ๋ ์ง๋ฌ์ผ๋ฉด
CruiseSpeedUnit์ ๋ค์ ๊ฒฉ์๋ก ์ด๋ํฉ๋๋ค.์๋ฅผ ๋ค์ด
30 / 50 / 80 / 110 / 130, ํ์ฌ 76km/h์ด๋ฉด ์งง์ ๊ฐ์ ํ ๋ฒ์ผ๋ก 80km/h๊ฐ ๋ฉ๋๋ค. ๋ค์ ๋๋ฅด๋ฉด 110km/h๊ฐ ๋ฉ๋๋ค.ํ๋ฆฌ์ ์ ์๋ ์ ๋ ฌํ์ง ์์ผ๋ฏ๋ก ๋ฐ๋์ ์์ ๊ฐ๋ถํฐ ํฐ ๊ฐ ์์๋ก ์ ์ฅํ์ธ์. ์ค๋ณต๋๊ฑฐ๋ ์ญ์์ด๋ฉด ์ผ๋ถ ๋จ๊ณ๊ฐ ๊ฑด๋๋ฐ์ด์ง ์ ์์ต๋๋ค.
CruiseSpeed1=0์ ํน๋ณ ๋์ โ1๋ฒ๋ง
0์ ํ์ฉํ๋ฉฐ, ์ด๋ ๊ณ ์ 0km/h๊ฐ ์๋๋ผ ํ์ฌ ๋๋ก ์ ํ์๋๋ฅผ ์ด์ฉํด ๋์ ์ผ๋ก ๋ง๋ญ๋๋ค.
AutoRoadSpeedLimitOffset >= 0: ๋๋ก ์ ํ์๋ + ์คํ์ AutoRoadSpeedLimitOffset < 0: ๋๋ก ์ ํ์๋ รAutoNaviSpeedSafetyFactor์๋ฅผ ๋ค์ด ์ ํ์๋ 60km/h, ์คํ์ 5์ด๋ฉด 65km/h๊ฐ ๋๊ณ , ์คํ์ -1๊ณผ ์์ ๋น์จ 105%์ด๋ฉด 63km/h๊ฐ ๋ฉ๋๋ค. ์ ํจํ ๋๋ก ์ ํ์๋ ์ ๋ณด๊ฐ ๋ค์ด์ค์ง ์์ผ๋ฉด ๊ธฐ๋ํ ํ๋ฆฌ์ ์ด ๋ง๋ค์ด์ง์ง ์์ต๋๋ค.
์์ ํ๊ฒ ๊ตฌ์ฑํ๊ธฐ โ
- ๋จผ์
30 / 50 / 80 / 110 / 130์ฒ๋ผ ํ์คํ ์ค๋ฆ์ฐจ์์ผ๋ก ์ํํฉ๋๋ค.- ๋ง์ง๋ง ํ๋ฆฌ์ ๋ค์ ๋์์ ๊ฒฐ์ ํ๋
CruiseSpeedUnit๋ ํจ๊ป ๊ธฐ๋กํฉ๋๋ค.CruiseSpeed1=0์ ๋๋ก ์ ํ์๋์ ์คํ์ ์ด ์ ์ ์์ ยท์ ์ฉ๋๋ ๊ฒ์ ํ์ธํ ๋ค ์ฌ์ฉํฉ๋๋ค.- ์ฌ์ฉ์3์ ๊ฐ์ ๋ฒํผ์ ํ๋ฆฌ์ ์ ์ญ์์ผ๋ก ๋ด๋ ค๊ฐ์ง ์๋๋ค๋ ์ ์ ๊ธฐ์ตํ์ธ์.
๋ฌธ์ ํด๊ฒฐ ๋น ๋ฅธ ํ โ
์ฝ๋ ๊ธฐ์ค โ
- ์ผ๋ฐ ๋ฒํผยทํ๋ฆฌ์ ์ํ๊ธฐ๊ณ:
openpilot/selfdrive/car/cruise.py- ํ๋ยท๊ธฐ์ ์์ SCC ๋ฒํผ ์ ์ก:
opendbc_repo/opendbc/car/hyundai/carcontroller.py- ์ค์ ๋ฒ์์ ์นดํ๋ก๊ทธ ๊ธฐ๋ณธ๊ฐ:
openpilot/selfdrive/carrot_settings.json- Params ์ต์ด๊ฐ:
openpilot/common/params_keys.h์ด ๋ฌธ์๋
carrot-wip์ ํ์ฌ ๊ตฌํ์ ์ค๋ช ํฉ๋๋ค. ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋๋ฉด ํ๋ฉด ์ค๋ช ๊ณผ ์ค์ ๋์์ด ๋ค์ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.์ค์ ์ดํดํ๊ธฐ๋ก ๋์๊ฐ๊ธฐ
๋ฌธ์ ๊ธฐ์ค โ
2026-10-30 ํ์ธ ยท
carrot-wipยท10bf0a56.docs/user/ko/buttons-presets.md ยท openpilot/selfdrive/car/cruise.py ยท opendbc_repo/opendbc/car/hyundai/carcontroller.py
๊ฐ๋ฐ ๋ธ๋์น๋ ๊ณ์ ๋ณ๊ฒฝ๋ฉ๋๋ค. ๋ด ์ฅ์น์ ๋ธ๋์นยท์ปค๋ฐยทํ์ฌ ์ค์ ์ ํจ๊ป ํ์ธํ์ธ์.
| ํ๋ผ๋ฏธํฐ | ์ค์ ์นดํ๋ก๊ทธ ๊ธฐ๋ณธ๊ฐ | Params ์ต์ด๊ฐ |
|---|---|---|
PaddleMode | 1 | 0 |
CruiseSpeedUnitBasic | 10 | 1 |
CruiseButtonTest1 / 2 / 3 | 0 / 0 / 0 | 8 / 30 / 1 |
CruiseSpeed1~5 | 10 / 10 / 10 / 10 / 10 | 30 / 50 / 80 / 110 / 130 |
| ๊ฐ | ๊ฐ์(RES/+) ์งง๊ฒ | ๊ฐ์(SET/-) ์งง๊ฒ |
|---|---|---|
| 0 ์ผ๋ฐ | CruiseSpeedUnitBasic์ ๋ค์ ๊ฒฉ์ | CruiseSpeedUnitBasic์ ์ด์ ๊ฒฉ์ |
| 1 ์ฌ์ฉ์1 | 30km/h ๋ฏธ๋ง์ด๋ฉด 30, ์ดํ CruiseSpeedUnit ๊ฐ๊ฒฉ์ ๋ค์ ์๋ | CruiseSpeedUnit์ ์ด์ ๊ฒฉ์ |
| 2 ์ฌ์ฉ์2 | ์ฌ์ฉ์1๊ณผ ๊ฐ์ | ํ์ฌ ์ฐจ์์ผ๋ก ๋ง์ถ๊ฑฐ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋น๊ทผ ํฌ๋ฃจ์ฆ ์ง์ |
| 3 ์ฌ์ฉ์3 | CruiseSpeed1~5 ์ค ํ์ฌ ์ค์ ์๋๋ณด๋ค ํฐ ์ฒซ ๊ฐ | ์ฌ์ฉ์2์ ๊ฐ์ |
| ๊ฐ | ์บ์ฌ ๋ฒํผ ์งง๊ฒ |
|---|---|
| 0 | ํฌ๋ฃจ์ฆ ์บ์ฌ ์ํ๋ก ์ ํํ๊ณ ํก์ ์ด๋ ์ ์ง |
| 1 | ํฌ๋ฃจ์ฆ ์บ์ฌ๊ณผ ํจ๊ป ํก์ ์ด๋ ํด์ |
| ๊ฐ | LFA ๋ฒํผ ์งง๊ฒ |
|---|---|
| 0 ์ผ๋ฐ | ํก์ ์ด ์ผ๊ธฐยท๋๊ธฐ |
| 1 ๊ฐ์์ ์ง & Ready | ์๋ ๊ฐ์ยทReady ํ๋ฆ ํ์ฑํ |
| 2 ๋น๊ทผ ํฌ๋ฃจ์ฆ | ๋น๊ทผ ํฌ๋ฃจ์ฆ ํ์ฑํ |
| ๊ฐ | ํจ๋ค ์ ๋ ฅ์ ํ์ฌ ์ฝ๋ ๋์ |
|---|---|
| 0 | ๋ณ๋ ํจ๋ค ๋์์ ์ฒ๋ฆฌํ์ง ์์ |
| 1 | ํฌ๋ฃจ์ฆ OFF ํ Ready |
| 2 | ํฌ๋ฃจ์ฆ OFF ํ Ready + ์๋ ๊ฐ์ ์ํ |
| 3 | ๋น๊ทผ ํฌ๋ฃจ์ฆ ํ์ฑํ |
| ๋ฒํผ | ๊ธธ๊ฒ ๋๋ฅผ ๋ |
|---|---|
| ๊ฐ์ยท๊ฐ์ | ์ค์ ์๋๋ฅผ ๋ค์ยท์ด์ 10km/h ๊ฒฉ์๋ก ๋ณ๊ฒฝํ๊ณ ๋๋ฅด๋ ๋์ ๋ฐ๋ณต |
| ์ฐจ๊ฐ | MyDrivingMode๋ฅผ ์ฐ๋น โ ์์ โ ์ผ๋ฐ โ ๊ณ ์ ์์๋ก ์ ํ |
| LFA | ๋ ์ธ๋ชจ๋ ์๋ ์ ์ฉ์ ์์ ์ผ๊ธฐยท๋๊ธฐ |
| ์บ์ฌ | ํฌ๋ฃจ์ฆ ์บ์ฌ๊ณผ ํก์ ์ด ํด์ |
| ์ค์ | ๋ฒ์ | ์ค์ ์ญํ |
|---|---|---|
CruiseSpeedUnitBasic | 1~100 | ์ผ๋ฐ ๋ชจ๋์์ ์งง๊ฒ ๋๋ฅด๋ ๊ฐ์ยท๊ฐ์์ ๊ธฐ๋ณธ ๊ฒฉ์ |
CruiseSpeedUnit | 1~100 | ์ฌ์ฉ์1~3์ ํ์ฅ ์๋ ๊ฒฉ์, ๊ฐ์ ๋จ์, ํ๋ฆฌ์ ์ดํ ๊ฐ์ ๋จ์ |
CruiseButtonLongDelay | 30~100 | ๊ฐ์ยท๊ฐ์ ๋ฒํผ์ ๊ธธ๊ฒ ๋๋ ๋ค๊ณ ํ๋จํ ๋๊น์ง์ ์ ์ด ํ๋ ์ ์ |
| ์ ์ฅ๊ฐ | ๊ฐ์ยท๊ฐ์ ๊ธธ๊ฒ ํ์ | ์ฐจ๊ฐยทLFAยท์บ์ฌ ๊ธธ๊ฒ ํ์ |
|---|---|---|
| 30 | ์ฝ 0.30์ด | ์ฝ 0.60์ด |
| 40 | ์ฝ 0.40์ด | ์ฝ 0.70์ด |
| 60 | ์ฝ 0.60์ด | ์ฝ 0.90์ด |
| ์ค์ | Params ์ต์ด๊ฐ | ์ญํ |
|---|---|---|
CruiseButtonTest1 | 8 | ํ ๋ฒ์ ๋ฌถ์์์ ํ์ฉํ ์ฐ์ ์ ์ก ํ์ |
CruiseButtonTest2 | 30 | ๋ฌถ์ ์ ์ก ํ ๋๋ ์ด์ ์ ๋ฒํผ ์ ๋ ฅ ํ ์ฌ๋ ํ๋ ์ ์ |
CruiseButtonTest3 | 1 | CAN FD ๊ฒฝ๋ก์์ ํ์ฉ๋ ํ ๋ฒ์ ์ ์ก์ ๋ช ๊ฐ ๋ฉ์์ง๋ก ๋ณต์ ํ ์ง |
| ์ฆ์ | ๋จผ์ ํ์ธํ ํญ๋ชฉ |
|---|---|
| ์์ ์ค์ ์๋๊ฐ ๋ชฉํ๊น์ง ๊ฐ๊ธฐ ์ ์ ์์ฃผ ๋ฉ์ถค | Test1, ์ฐจ๋์ ๋ฒํผ ์์ ์ฌ๋ถ |
| ๋ฌถ์ ์ฌ์ด์ ๋ฐ์์ด ์ง๋์น๊ฒ ๋๋ฆผ | Test2์ ์ค์ SCC ์๋ ๊ฐฑ์ ์๊ฐ |
| CAN FD์์ ๋ฒํผ ์ ๋ ฅ์ด ๋๋ฝ๋จ | Test3์ ํ ๋จ๊ณ์ฉ ํ์ธ |
| ์ด์ ์ ๋ฒํผ์ ๋๋ฅธ ์งํ ์๋ ๋ฉ์์ง๊ฐ ๊ฒน์นจ | Test2๋ฅผ ๋จผ์ ์๋ ๊ฐ์ผ๋ก ๋ณต์ |
| ์๋ฌด ๋ณํ๋ ์์ | ๋น๋กฑ์ปจ ์ฌ๋ถ, SpeedFromPCM, ์ฐจ๋ ๋ฒํผ ๊ฒฝ๋ก ํ์ธ |
| ์ค์ | Params ์ต์ด๊ฐ | ๊ถ์ฅ ์ญํ ์์ |
|---|---|---|
CruiseSpeed1 | 30 | ์ ์ยท์ํ๋๋ก |
CruiseSpeed2 | 50 | ์ผ๋ฐ ์๋ด๋๋ก |
CruiseSpeed3 | 80 | ์๋์ฐจ์ ์ฉ๋๋ก |
CruiseSpeed4 | 110 | ๊ณ ์๋๋ก |
CruiseSpeed5 | 130 | ๋ง์ง๋ง ์ฌ์ฉ์ ๋จ๊ณ |
| ์ฆ์ | ๋จผ์ ๋ณผ ์ค์ ยท์กฐ๊ฑด |
|---|---|
| ์งง๊ฒ ๋๋ ๋๋ฐ 1km/h๊ฐ ์๋ ํฐ ํญ์ผ๋ก ๋ณํจ | CruiseButtonMode, CruiseSpeedUnitBasic, CruiseSpeedUnit |
| ๊ธธ๊ฒ ๋๋ฅด๊ธฐ ๋จ์๊ฐ ์ค์ ๊ณผ ๋ค๋ฆ | ํ์ฌ ์ฝ๋๋ ๊ณ ์ 10km/h ๊ฒฉ์ |
| ์ฌ์ฉ์3์์ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ | CruiseSpeed1~5์ ์ค๋ฆ์ฐจ์ยท์ค๋ณต ์ฌ๋ถ |
| ๊ฐ์ ๋ฒํผ์ด ๋น๊ทผ ํฌ๋ฃจ์ฆ๋ก ๋ฐ๋ | ์ฌ์ฉ์2ยท3์ ์ ์ ๋ถ๊ธฐ์ธ์ง ํ์ธ |
| LFAยทํจ๋ค์ด ๋ฐ์ํ์ง ์์ | ์ฐจ๋์ด ํด๋น ๋ฒํผ ์ด๋ฒคํธ๋ฅผ ์ ๊ณตํ๋์ง ํ์ธ |
| ์ด๊ธฐํ ํ ๊ฐ์ด ์์๊ณผ ๋ค๋ฆ | JSON ๊ธฐ๋ณธ๊ฐ๊ณผ Params ์ต์ด๊ฐ ์ฐจ์ด ํ์ธ |