ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 포르쉐 타이칸 CAN 데이터에서 횡가속도 신호 찾기
    application 2026. 1. 6. 21:29

     

    시작하기 전에 

    포르쉐 타이칸 CAN 데이터에서 요-레이트 신호 찾기 :: hsl's tsmaster 사용기에서 나는 요-레이트 신호를 찾았다. 횡가속도 신호를 찾는 방법을 설명한다. 

     

    개요

    • 횡가속도 계산
    • 비트 패턴 검색
    • 결론

     

    횡가속도 계산

    • 횡가속도, 요-레이트, 차속(v) 사이에는 아래 관계가 있다. 
    F = m * a
      = m * accel_lat
      = m * v^2 / R
      = m * v / R * v
      = m * yaw_rate * v

    • 네 바퀴 속도를 알고 있다. 일반적인 주행 중에 차속은 비구동륜 속도의 평균으로 볼 수 있다. 제동 중이 아니라면. 그런데 타이칸은 AWD이다. 나는 네 바퀴의 평균을 차속으로 하기로 한다. 요-레이트를 찾았던 blf 파일을 재사용할 것이고, 당시 주행은 일반적이다. 
    • CAN 데이터에서 요-레이트 신호를 찾았다. 즉, 측정된 요-레이트를 갖고 있다.
    • 아래 식으로 횡가속도를 구할 수 있다. 
    accel_lat = yaw_rate * average(WSFL, WSFR, WSRL, WSRR)
    • 차속은 아래 그래프와 같다.

    • 요-레이트는 아래 그림과 같다. 파란색은 CAN 데이터에서 추출한 것이고 빨간색은 뒷바퀴 속도들에서 계산한 것이다.

     

    • 차속과 요-레이트의 곱으로 생성한 횡가속도는 아래 그림과 같다.

    • 빠른 비트 패턴 검색을 위해 나는 횡가속도 신호가 크게 변동하는 104초에서 114초 구간의 신호를 기준 신호로 사용했다.

     

    비트 패턴 검색

    • 비트 패턴 검색으로 아래 결과들을 얻었다. 사실 상관 계수 기준을 낮추고 RMSE 기준을 높이면 수 백가지의 결과를 얻는다. 
    • 아래 그래프들의 Extracted 신호가 찾은 신호이다. 두 그래프들의 Extracted 신호를 보면 거의 비슷한다. 이들의 신호 위치를 보면 위 그래프는 [23:37] 비트까지이고, 아래 그래프는 [22:37] 비트까지이다. 신호 길이는 각각 15 비트와 16 비트이다. 따라서 factor는 각각 0.03273와  0.01634으로 (대략) 1/2이다.
    • 신호 길이가 14 비트와 13 비트인 경우에도 두 그래프들과 매우 흡사한 그래프들을 얻는다. 나중에 충분한 정보를 모아서 신호의 길이를 정했다. 이 과정을 별도의 포스트로 작성할 것이다.

     

    결론

    • 비트 패턴 검색 방법으로 횡가속도를 찾았다.
    • 방법은 요-레이트 신호를 찾을 때 적용한 방법 그대로이다. 
    기준 신호 계산 --> 비트 패턴 검색 --> 많은 결과들 중에서 상관 계수가 높고 RMSE가 작은 결과들을 비교 --> 선택

     

    • 요-레이트 신호를 찾은 메시지의 아이디가 0x1A8이다. 횡가속도 신호를 찾은 메시지의 아이디도 0x1A8이다. 내가 CAN 메시지를 설계한 사람이라면 종가속도 신호도 이 메시지에 넣을 것이다. 다음에는 종가속도 신호를 찾아본다. 종가속도 신호는 의도하지 않은 방법으로 찾았다.