본문으로 건너뛰기

Production Playground for C++ FRUIT

리더블 프로그래밍으로 구현한 자율주행 로봇 코어

ROS 대신 로봇의 핵심 실행 구조를 직접 구성할 수 있는 C++ 구현체입니다. 센서 스케줄링·파이프라인·메모리·설정·로그의 코어 소스와 센서 융합 예제, 이를 확장하기 위한 개발 기준·빌드·테스트·AI 작업 스킬을 함께 받습니다.

25 GROWERS개발대장

INSIDE

포함 구성과 활용 방법

  • Claude Code 작업 스킬 10개

    모듈 생성, 테스트 생성·실행, 의존성 추가, CMake 타깃 구성, 문서 생성, 포맷 검사, 정적 분석, 커버리지 측정, 품질 검증 스킬을 받습니다. .claude/skills/의 작업 절차를 읽고 수정해, Claude Code에 프로젝트 기준에 맞는 개발 작업을 맡길 때 사용할 수 있습니다.

  • AI와 함께 쓰는 개발 기준 문서

    CLAUDE.md와 context/의 C++·CMake·Doxygen·테스트 기준, 프로젝트별 설계 명세가 포함됩니다. AI에게 코드를 요청할 때 참고할 규칙과 구조가 준비되어 있어, 내 프로젝트의 요구사항과 예외를 여기에 덧붙여 작업 문맥으로 사용할 수 있습니다.

  • 동시 실행과 데이터 흐름 구현

    ThreadPool, Scheduler, Producer → Transformer → Consumer 파이프라인의 헤더와 구현 소스를 받습니다. 작업을 여러 스레드에 나누거나 주기적으로 실행하고, 수집한 데이터를 처리 단계로 연결하는 코드의 출발점으로 쓸 수 있습니다.

  • 설정·로그·오류 처리와 공통 라이브러리

    YAML 설정 읽기, spdlog 기반 로그, Tracy 프로파일러 연동, Result<T> 오류 처리, 파일·메모리·시간·물리 단위·문자열 유틸리티가 포함됩니다. 예를 들어 설정값을 읽어 실행 동작을 바꾸고, 성공·실패를 명시적으로 반환하는 방식을 실제 구현과 함께 살펴보고 가져올 수 있습니다.

  • 설치 스크립트와 CMake 빌드 구성

    macOS·Linux 환경 설치·확인 스크립트, debug·release·ci·profile 프리셋, 외부 라이브러리 의존성 구성을 받습니다. 실행 파일과 라이브러리, 테스트가 나뉜 프로젝트 구조에 내 코드를 추가하고 목적에 맞는 프리셋으로 빌드할 수 있습니다.

  • 테스트 코드와 품질 검사 도구

    Catch2 단위·통합 테스트, clang-format·clang-tidy 설정과 실행 스크립트, 커버리지 측정 구성, GitHub Actions 워크플로가 들어 있습니다. 기존 테스트를 참고해 새 기능의 검사를 추가하고, 수정한 코드의 형식·정적 분석 결과와 테스트 결과를 확인할 수 있습니다.

  • 센서 융합 로봇 시뮬레이션 소스

    IMU·LiDAR·GPS·카메라 데이터를 모사하는 실행 예제를 받습니다. Scheduler → SensorQueue → Pipeline → MotionCommand 흐름을 따라가며 코어 모듈이 하나의 애플리케이션에서 연결되는 모습을 확인하고, 데이터 처리 단계를 바꿔 볼 수 있습니다.

  • 프로젝트 설명서와 API 문서 구성

    원본 README, 설치·사용 설명서, Doxygen 설정과 문서 생성 워크플로를 함께 제공합니다. 디렉터리별 역할과 실행 방법을 확인하고, 소스의 문서 주석을 기반으로 API 문서를 만드는 구성을 활용할 수 있습니다.

구매 전 환경 확인

  • macOS설치 스크립트 포함설치 스크립트는 Homebrew를 사용합니다.
  • Linux설치 스크립트 포함설치 스크립트는 apt-get과 sudo를 사용합니다.
  • 도구C++17 · CMake 3.25 이상외부 라이브러리 다운로드에 인터넷 연결이 필요합니다.

FAQ

구매 전 이용 범위

개인 이용
구매한 개인의 프로젝트에서 사용·복사·수정할 수 있습니다. 개인 상업 프로젝트도 포함됩니다.
회사·조직 이용
별도 계약이 필요합니다.
재배포 제한
제공 파일의 공유·공개·재배포·재판매는 허용되지 않습니다. 세부 조건은 제공 파일의 LICENSE를 따릅니다.

자주 묻는 질문