commaai/opendbc
a Python API for your car
해결하는 문제
opendbc는 다양한 최신 차량과 인터페이스할 수 있는 표준화된 Python API를 제공합니다. 파편화되고 독점적인 차량 통신 프로토콜 문제를 해결하여, 개발자가 다양한 자동차 브랜드 및 모델에 걸쳐 차량 상태(속도 및 조향각 등)를 읽고 차량 액추에이터(가속, 브레이크 및 조향)를 제어할 수 있도록 합니다.
작동 원리
이 프로젝트는 차량의 전자 제어 장치(ECU)를 연결하는 내부 네트워크인 차량의 CAN 버스와 상호 작용하여 작동합니다. DBC 파일(CAN 데이터베이스 파일)을 사용하여 원시 바이너리 CAN 메시지를 읽을 수 있는 데이터로 변환하거나 그 반대의 작업을 수행합니다. 아키텍처는 다음과 같이 구성됩니다:
- DBC Repository: 다양한 차량에 대한 메시지를 정의하는 데이터베이스 파일 모음.
- CAN Library: 해당 DBC 파일을 기반으로 CAN 메시지를 파싱하고 구축하기 위한 도구.
- Car Interface: 하드웨어 및 프로토콜 세부 사항을 사용 가능한 API로 추상화하는 고수준 Python 라이브러리.
- Safety Model: 위험한 작동 명령을 방지하기 위해 안전 제약 조건을 강제하는 펌웨어.
대상 사용자
주로 openpilot과 같은 첨단 운전자 보조 시스템(ADAS)을 구축하는 개발자뿐만 아니라, 차량 관리 앱 또는 자율 주행 연구에 관심이 있는 연구자 및 엔지니어를 위해 설계되었습니다.
주요 특징
- 광범위한 호환성: 전자적으로 제어 가능한 조향, 가속 및 브레이크(LKAS 및 ACC)를 갖춘 2016년 이후 생산된 모든 차량을 대상으로 합니다.
- 완전한 제어: 횡방향(조향) 및 종방향(가속/브레이크) 제어를 모두 지원합니다.
- 역공학 도구: Cabana와 같은 도구와 통합되어 개발자가 새로운 차량 포트를 위해 독점적인 CAN 메시지를 디코딩하는 것을 돕습니다.
- 엄격한 안전성: 차량 안전을 보장하기 위해 엄격한 코드 표준(MISRA C:2012 포함) 및 높은 테스트 커버리지를 갖춘 안전 펌웨어 모델을 채택합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트