commaai/opendbc

a Python API for your car

해결하는 문제

opendbc는 차량의 내부 컴퓨터 시스템과 통신하기 위한 표준화된 오픈 소스 인터페이스를 제공합니다. 이를 통해 개발자는 실시간 차량 데이터(속도 및 조향각 등)를 읽고, 차선 유지 보조 시스템(LKAS) 및 어댑티브 크루즈 컨트롤(ACC)이 장착된 현대 자동차에 제어 명령(가속, 제동, 조향 등)을 보낼 수 있습니다.

작동 원리

이 프로젝트는 상위 수준의 소프트웨어와 자동차의 컨트롤러 영역 네트워크(CAN) 버스 사이의 가교 역할을 합니다. DBC(CAN Database) 파일을 사용하여 차량 구성 요소 간에 전송되는 메시지의 구조를 정의합니다. 이 라이브러리에는 메시지를 파싱하는 도구, 상위 수준 제어를 위한 Python API, 그리고 차량에 전송되는 모든 명령이 안전한 작동 매개변수 내에 유지되도록 엄격한 규칙을 강제하는 안전 계층이 포함되어 있습니다.

대상 사용자

맞춤형 차량 관리 애플리케이션을 구축하거나 openpilot과 같은 고급 운전자 보조 시스템(ADAS)을 자신의 차량에 통합하려는 자동차 엔지니어, 연구원 및 취미 활동가를 위해 설계되었습니다. 특히 CAN 메시지를 리버스 엔지니어링하여 새로운 차종에 대한 지원을 '포팅'하려는 사람들에게 매우 유용합니다.

주요 특징

  • 포괄적인 CAN 라이브러리: 표준화된 DBC 파일을 사용하여 CAN 메시지를 파싱하고 빌드하는 도구가 포함되어 있습니다.
  • 안전 우선 아키텍처: 위험한 차량 명령을 방지하기 위해 엄격한 작동 제한을 강제하는 전용 안전 펌웨어 계층을 갖추고 있습니다.
  • 커뮤니티 주도 포팅: 새로운 자동차 제조사 및 모델에 대한 지원을 추가하기 위한 구조화된 프레임워크와 문서를 제공합니다.
  • 광범위한 도구: 차량 신호 리버스 엔지니어링, 제어 시스템 튜닝, 자동화된 테스트를 통한 차량 포트 검증을 위한 유틸리티가 포함되어 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트