BlueOS는 온보드 컴퓨터에서 차량이나 로봇을 관리하기 위한 강력하고 효율적인 모듈식 플랫폼입니다. 이는 차량의 비디오 스트림과 통신을 제어 스테이션 컴퓨터로 라우팅하는 것을 목표로 하는 Companion 프로젝트의 진화입니다. 보다 정교하고 확장 가능한 시스템에 대한 필요성을 인식하여 BlueOS는 처음부터 이식성, 강력한 업데이트 및 확장성을 보장하기 위해 모듈성을 수용하여 만들어졌습니다.
공식 문서
개발 문서
기여
행동 강령
등록된 확장자
설치 디렉터리(사용자 정의 설치용)
BlueOS의 개발은 다음과 같은 핵심 원칙에 따라 추진됩니다.
기본적으로 단순하지만 필요할 때 강력한 인터페이스 - 사용자는 원하는 것을 변경하고 전체 경험을 사용자 정의할 수 있습니다.
중요한 것에 집중할 수 있도록 설계되었으며 , 인간 친화적인 UI 및 UX를 통해 정보 및 제어에 대한 사용자 접근성을 향상시켰습니다.
다른 애플리케이션의 디자인 패턴을 재사용하여 복잡한 작업을 단순화 하고 사용 편의성을 향상시킵니다(머티리얼 UI 지침 기준).
고급 오류 처리 및 감지로 문제 해결 방법과 함께 사용자와 개발자에게 문제를 명확하게 알려줍니다.
서비스 API 및 모듈식 개발 모델에 대한 전체 액세스를 제공하여 개발을 단순화합니다 .
휴대 가능하고 유연하며 Raspberry Pi 3/4 또는 Linux 운영 체제가 있는 모든 SBC에서 실행할 수 있어야 합니다. 기여를 환영합니다.
낮은 CPU 사용량으로 뛰어난 기능을 제공하며 전체 시스템이 효율적으로 실행되도록 구축되었습니다.
탄탄한 기반을 바탕으로 개발된 핵심 부품 또는 집중 인력 서비스는 안정성을 위해 사용할 수 있는 가장 진보된 언어와 기능을 사용하여 설계되었습니다.
BlueOS의 디자인, 구성 및 향후 릴리스는 이러한 원칙에 맞춰 최적화되고 풍부한 사용자 경험을 제공하기 위해 노력하고 있습니다.
BlueOS는 세 가지 릴리스 유형으로 제공됩니다.
안정적: 장기 지원이 포함된 공식적으로 테스트되고 검증된 버전입니다. 대부분의 사용자에게 권장됩니다.
베타: 새로운 기능, 버그 수정 및 개선 사항을 포함하여 가볍게 테스트된 롤링 릴리스입니다.
마스터: 거의 매일 변경되는 최첨단 개발 릴리스입니다. 이는 아직 테스트되지 않은 최신 기능입니다.
BlueOS는 차량 및 플랫폼 불가지론에 중점을 두고 설계되었습니다. 우리의 목표는 광범위한 애플리케이션 전반에 걸쳐 폭넓은 호환성을 촉진하는 것입니다. 현재 BlueOS는 공식적으로 다음 차량 유형을 지원합니다.
ArduRover는 오픈 소스 무인 보트 플랫폼입니다. 레저용 보트든 연구용 선박이든 BlueOS와 ArduRover의 호환성을 통해 바다를 원활하게 항해할 수 있습니다.
BlueBoat는 기본적으로 지원됩니다.
ArduSub는 원격으로 작동되는 수중 차량(ROV)을 위한 제어 시스템입니다. BlueOS는 ArduSub와의 원활한 통합을 제공하여 수중 차량의 효율적인 관리 및 작동을 가능하게 합니다.
BlueROV2는 기본적으로 지원됩니다.
BlueOS는 ArduPilot 및 PX4 자동 조종 장치를 사용하는 다양한 지상, 공중 및 해상 무인 차량에 대한 일반적인 지원을 제공합니다. 이를 통해 우리 시스템을 사용하여 관리할 수 있는 차량의 범위가 드론부터 자율주행차까지 확장됩니다.
참고: BlueOS에서 최적의 성능을 보장하려면 특정 차량 구성이 필요할 수 있습니다.
BlueOS는 다양한 시스템에서 최적의 성능을 발휘하도록 설계되었습니다. 최신 릴리스는 다음 아키텍처용으로 자동으로 구축됩니다.
armv7: 이는 임베디드 장치의 일반적인 아키텍처입니다. Raspberry Pi 3까지의 Raspberry Pi 모델을 다룹니다.
armv8/arm64: 최신 고성능 장치에서 사용됩니다. Raspberry Pi 4 또는 Apple Silicon이 설치된 컴퓨터에서 BlueOS를 실행할 수 있습니다.
amd64: 이는 대부분의 데스크톱 및 노트북 컴퓨터에서 사용되는 아키텍처입니다. 일반적인 예는 64비트 버전의 Linux를 실행하는 최신 PC입니다. 완전히 지원되지 않습니다.
현재 우리는 Raspberry Pi 3 및 4를 공식적으로 지원하지만 시스템은 올바른 도커 바인드를 사용하여 나열된 모든 아키텍처에서 "작동"해야 합니다.
Docker 기반 개발 환경은 core/compose/compose.yml
docker compose 파일을 통해 사용할 수 있습니다. 그러면 필요한 모든 서비스가 포함된 개발 환경이 시작되고 개발을 위해 이 저장소에 필요한 모든 디렉터리가 마운트됩니다.
docker compose pull # docker가 최신인지 확인합니다docker compose -f core/compose/compose.yml up
개발 환경을 다시 시작할 때 개발 환경을 깨끗하게 유지하기 위해 볼륨을 제거해야 할 수도 있습니다.
docker compose -f core/compose/compose.yml 다운