오픈파일럿

오픈파일럿 브랜치, Github에서 내 저장소로 볼트EV fork 가져오기

하얀무당벌레 2024. 7. 2. 12:26

이번 포스팅은 제목 그대로 Github에서 내 저장소로 볼트EV fork 가져오는 방법에 대해 이야기하려고 합니다. 오픈파일럿은 DIY 성격이 강하기 때문에 깃허브(github)를 조금만 공부하면 오픈파일럿을 더 재미있게 즐길 수 있습니다. 볼트EV는 아래 방식 그대로 따라 하면 쉽게 사용할 수 있습니다.. 오픈파일럿 브랜치를 왜 내 저장소로 가져?

 

오픈파일럿은 공식 지원하는 차량은 콤마사에서 제공하는 오픈파일럿 정식버전을 사용하면 문제가 없지만, 미지원 차량은 능력자(=미지원 차량을 지원하도록 소스 코드를 수정하고 적용하시는 분들)분들을 통해 지원이 가능합니다. 능력자 분들은 공식 버전에 없는 기능을 추가하거나 UI 디자인 수정, 화면 녹화 등 다양한 기능을 추가합니다.

능력자 분들의 코드를 받아서 자신의 오픈파일럿에 그대로 적용하면 되지만, 수시로 바뀌는 코드로 인해 오픈파일럿이 동작하지 않거나 CAN 신호 문제가 발생하여 차량에 문제가 발생할 수도 있습니다.

오픈파일럿 브랜치(또는 개인 fork)를 github의 내 저장소로 저장하여 사용하면 이러한 문제를 방지할 수 있습니다.

2. 브랜치가 무엇인가?

GitHub에서 브랜치(branch)는 소프트웨어 개발에서 코드를 분리하여 독립적으로 작업할 수 있는 복제본을 말합니다. 주 코드베이스(master 또는 main 브랜치)에서 파생되며, 새로운 기능 개발(new_feature), 버그 수정(bug_fix), 실험(tuning, test) 등을 위해 사용됩니다. 각 브랜치는 고유한 커밋 기록을 갖고 있어 개발자들이 동시에 다양한 작업을 할 수 있으며, 작업이 완료되면 해당 브랜치는 주 코드베이스에 통합됩니다. 이는 협업을 원활하게 하고 변경 사항을 추적하며, 안정성을 유지하면서 효율적인 개발을 가능하게 합니다.

오픈파일럿 또한 전 세계의 여러 개발자들이 코드를 수정하고 반영(commit)하면서 성능이 개선되고 있습니다. 아래 코드 수정 내용을 보면 여러 개발자가 참여하고 있는 것을 볼 수 있습니다.

3. github에서 다른 사용자의 fork를 가져오는 방법

Github는 다른 사용자의 공개된 fork를 내 저장소로 복사해 올 수 있습니다. 볼트EV의 fork를 예를 들어 설명 드리겠습니다. 구형 볼트EV 사용자들은 아래 순서대로 따라하면 쉽게 볼트EV fork를 내 저장소로 복사할 수 있습니다.

어댑티브 크루즈가 없는 구형 볼트EV에 사용가능한 대표적으로 OPGM, 양민님 fork가 있습니다. 이번 포스팅에서는 양민님 포크를 나의 저장소로 복사하는 방법에 대해 설명드리겠습니다. 그전에 깃허브에 로그인해 주세요.

① 양민님 깃허브 주소로 접속(바로가기)

② 우측상단에 Fork 클릭

③ Copy the release branch only 체크 박스 해제 하고, Create fork 클릭

④ 잠시 후 내 깃 저장소에 양민님 fork가 복사됩니다.

⑤ release를 클릭하면 아래와 같이 여러 branch가 나옵니다. *브런치 아닙니다.

⑥ 모두 볼트EV를 위한 브랜치이지만 이 중 feature/opgm-ap-integration 브랜치를 사용할 것입니다.

4. github의 편리함

오픈파일럿은 하루에도 수십 개의 변경점이 main branch에 merge(병합) 됩니다. 이러한 수정들은 문제를 개선할 수도 있고, 없던 오류가 나게 만들기도 합니다. 그렇기 때문에 내 저장소에 복사하여 사용하는 것을 권장합니다. 그러면 최소한 안정적인 버전으로 계속 사용이 가능합니다.

그렇다고 주 개발자(ex:양민님)의 업데이트를 못 받는 것도 아닙니다. 깃허브 화면에서 Sync fork 클릭 후 Update branch를 클릭하면 복사해 온 주 개발자의 fork의 업데이트를 그대로 다 받아올 수 있습니다.