obdjsoncarlasimulationdata
[OBD Acquisition & Kinematics] 설정 시스템 분리 및 런타임 유연성 확보
• 2 min read
하드코딩된 요청 파라미터 및 세션 설정 값을 외부 설정 파일로 분리하여 빌드 없이 런타임에 동적으로 통신 구성을 변경할 수 있도록 아키텍처를 수정했다. 또한 데이터 수집의 정합성을 확보하기 위해 로컬 환경에서 CARLA 시뮬레이션을 연동하고, 시각화 도구를 통한 검증 프로세스를 구축했다.
[JSON / 설정 관리] 통신 요청 파라미터 외부화 (Configuration Decoupling)
소스코드 내에 존재하던 CAN 요청 메시지 및 세션 유지 데이터를 JSON으로 분리했다.
config/config.json을 신규 생성하여 송수신 CAN ID(tx_id,rx_id) 및 페이로드 데이터, 세션 초기화 커맨드를 구조화함.src/comm.py내에 리스트 객체로 존재하던REQUESTS와 하드코딩된 세션 상수들을 제거하고 JSON을 파싱하여 동적으로 요청 목록을 로드하도록 로직을 변경함.- 설정 파일 기반으로 다수의 DID를 유연하게 스케줄링할 수 있는 기반을 확보함.
[CARLA / 시뮬레이션] 주행 패턴 판정 알고리즘 정합성 검증
수집된 센서 데이터를 바탕으로 차량의 방향 전환 등 거동을 추정하는 로직의 검증을 진행했다.
- 요 레이트(Yaw Rate, 초당 각도 변화량) 데이터를 적분하여 특정 시간 구간에서 어느 방향으로 회전했는지 산출하는 스크립트를 작성함.
- 정합성 판정을 위해 CARLA 시뮬레이터 환경에서 다른 차량의 등장을 차단(충돌 이벤트 배제)하고, 직진/우회전/좌회전 시나리오를 구동하여 30fps 영상 캡처와 타임스탬프 데이터를 함께 추출함.
- 시뮬레이션 결과와 상태 판정 기록을 대조 중, 우회전 직후 우측 커브 곡선 도로가 나오는 구간을 하나의 회전 이벤트로 오인식하는 문제를 발견하여 판정 알고리즘 패치를 완료함.
[Matplotlib / 시각화] 시각화 스크립트 기반 교차 검증 및 통신 주기 최적화 테스트
실제 데이터 값의 변화 경향을 직관적으로 확인하기 위해 시각화 스크립트 작성 및 통신 환경 최적화를 진행했다.
- 로컬 환경에서 시각화 스크립트를 작성하여 녹색은 우회전, 적색은 좌회전 구간으로 표시하고 조향각, 횡가속도, 요 레이트 그래프를 통합하여 렌더링함.
- 실차 테스트 중, 데이터 수집 안정성을 위해 확보했던 수신 주기를 데이터 유실 없이 최대로 상향하도록 최적화 과정을 수행함.