<p align="center">
<img src="https://github.com/bark-simulator/bark/raw/master/docs/source/bark_logo.jpg" alt="BARK" />
</p>
$${ ext{BARK는 더 이상 활발하게 개발 및 유지보수되지 않습니다.}}$$
$${ ext{저작권을 포크(fork)하여 MIT 라이선스 조건 하에 BARK를 계속 사용해 주십시오.}}$$
Ubtuntu-CI Build
Ubtuntu-ManyLinux Build
NIGHTLY LTL Build
CI RSS Build
NIGHTLY Rules MCTS Build
Codacy Badge
BARK - Behavior benchmARKing을 위한 도구
BARK는 자율 주행을 위한 시맨틱 시뮬레이션 프레임워크입니다. 행동 모델 중심의 설계 덕분에 다양한 의사 결정 알고리즘의 개발, 학습 및 벤치마킹이 신속하게 가능합니다. 특히 강화학습 (reinforcement learning)과 같이 계산 비용이 많이 드는 작업에 적합합니다. 좋은 시작점으로 IROS 2020의 BARK 튜토리얼 내용을 확인해 보십시오.
사용법 (Usage)
(A) Pip 패키지
대상: 파이썬 행동 모델을 구현하는 Python 개발자 또는 행동 학습에 BARK-ML을 사용하는 ML 과학자
Bark는 Ubuntu 및 MacOS용으로 Python>=3.7부터 PIP 패키지로 제공됩니다. 다음 명령어로 최신 버전을 설치할 수 있습니다.
pip install bark-simulator
Pip 패키지는 기존 행동 모델의 전체 벤치마킹 기능과 Python 내에서 모델을 개발하는 것을 지원합니다.
패키지 설치 후, 예제를 확인하여 BARK 사용법을 점검할 수 있습니다.
| 고속도로 예제 (Highway Example) | 합류 예제 (Merging Example) | 교차로 예제 (Intersection Example) |
|---|
| Intersection | Intersection | Intersection |
(B) 소스에서 빌드하기
대상: C++ 행동 모델을 생성하는 C++ 개발자, 벤치마크를 수행하는 연구원 또는 BARK 기여자
git clone https://github.com/bark-simulator/bark.git을 사용하거나 이 페이지에서 저장소를 다운로드하세요.
그런 다음 BARK 설치 방법의 지침을 따르세요.
BARK 사용 방법에 대한 단계별 지침은 bazel run //docs/tutorials:run을 사용하여 IPython Notebook 튜토리얼을 실행하여 얻을 수 있습니다.
BARK가 어떻게 작동하는지, 그 개념과 사용 사례를 더 자세히 이해하려면 문서화(documentation)를 확인해 보세요.
예제 벤치마크는 과학적 목적으로 BARK를 사용하여 벤치마킹하는 방법을 보여주는 실행 예시입니다.
BARK를 사용한 학술 논문 출판
BARK 생태계
BARK 생태계는 행동 모델을 개발하고 벤치마킹한다는 공통 목표를 공유하는 여러 구성 요소로 이루어져 있습니다:
- BARK-ML: 자율 주행에서의 의사 결정(decision-making)을 위한 머신러닝 라이브러리입니다.
- BARK-MCTS: 템플릿 기반의 C++ Monte Carlo Tree Search Library를 BARK에 통합하여 단일 에이전트 및 다중 에이전트 검색 방법 개발을 지원합니다.
- BARK-Rules-MCTS: 계층적 순서(lexicographic ordering)를 사용하여 Monte Carlo Tree Search 내에 교통 규칙을 통합합니다.
- BARK-MIQP: 단일 및 다중 에이전트 계획(planning)을 위한 MIQP 기반의 MINIVAN Planner입니다. 빌드 지침서를 확인하세요.
- BARK-DB: 여러 BARK 시나리오 세트를 데이터베이스에 통합하기 위한 프레임워크를 제공합니다. 이 데이터베이스 모듈은 무작위로 생성된 시나리오의 바이너리 직렬화(binary serialization)를 지원하여 시스템 전반에 걸쳐 행동 벤치마크의 정확한 재현성(reproducibility)을 보장합니다.
- BARK-Rule-Monitoring: 시뮬레이션된 BARK 트레이스에서 Linear Temporal Logic (LTL) 규칙에 대한 런타임 검증(runtime verification)을 제공합니다.
- CARLA-Interface: CARLA 와 BARK 간의 양방향 인터페이스입니다. BARK 행동 모델이 CARLA 차량을 제어할 수 있으며, CARLA가 제어하는 차량은 BARK로 미러링됩니다.
논문 (Paper)
BARK를 사용한다면 다음 논문을 인용해 주십시오:
@inproceedings{Bernhard2020,
title = {BARK: Open Behavior Benchmarking in Multi-Agent Environments},
author = {Bernhard, Julian and Esterle, Klemens and Hart, Patrick and Kessler, Tobias},
...
기여 (Contributing)
Pull request는 환영합니다. 주요 변경 사항의 경우, 먼저 이슈를 열어 어떤 내용을 변경하고 싶은지 논의해 주십시오.
적절하게 테스트 코드를 업데이트하는 것을 잊지 마세요.
라이선스 (License)
BARK 관련 코드는 MIT 라이선스 하에 배포됩니다.