patrykcieslak/stonefish
Stonefish - an advanced C++ simulation library designed for (but not limited to) marine robotics.
Stonefish – 해양 로봇 시뮬레이션 라이브러리
개요 – Stonefish는 물리 엔진(Bullet 기반)과 사용자 정의 렌더링 파이프라인을 결합하여 해양 로봇을 시뮬레이션하는 오픈 소스 C++ 라이브러리입니다. 사실적인 유체 역학(물체의 실제 기하학적 형상 사용)과 시각적으로 정확한 수중 장면(파장 의존적 빛 흡수 및 산란)에 중점을 둡니다.
주요 기능
- 물리 엔진: 수중 운송체에 맞게 확장된 Bullet 기반 다이내믹스와 고급 유체 역학 계산.
- 그래픽: 대기, 해수면 및 수중 환경의 실시간 OpenGL 4.3 렌더링.
- ROS 통합: 포함된 ROS 패키지(
stonefish_ros)가 시뮬레이터 노드를 제공하여 ROS 생태계 내에서 라이브러리를 사용할 수 있습니다. - 문서: Doxygen을 통한 API 참조 및 Sphinx로 생성된 사용자 가이드(readthedocs.io에서 확인 가능).
대상 사용자 – 자율 수중 운송체(AUV), 원격 조종 운송체(ROV) 또는 해양 환경에서 작동하며 제어, 계획, 기계 학습 실험을 위해 고충실도 시뮬레이션이 필요한 로봇을 다루는 연구자 및 개발자.
시작하기
- 필요한 시스템 라이브러리(OpenGL Mathematics (GLM), SDL2, FreeType)를 설치합니다.
- 저장소를 복제하고
build디렉토리를 만든 후cmake ..및make를 실행합니다. sudo make install로 설치합니다.- 코드 수준의 API가 필요한 경우 Doxygen으로 문서를 빌드합니다.
- ROS 기반 프로젝트의 경우 별도의
stonefish_ros저장소를 가져와 통합 단계를 따르십시오.
플랫폼 참고 사항 – Ubuntu Linux에서 개발되었습니다. OpenGL 4.3을 지원하는 GPU가 필요합니다. Windows 또는 macOS 빌드는 제공되지 않습니다.
라이선스 – GPL-3.0이며, 동일한 라이선스 하에 코드를 사용, 수정 및 재배포할 수 있습니다.
중요성 – 수중 물리를 정확하게 시뮬레이션하는 것은 매우 어렵습니다. Stonefish의 기하학 기반 유체 역학과 사실적인 시각적 렌더링은 연구자들에게 범용 로봇 시뮬레이터보다 더 충실한 테스트 환경을 제공하여 해양 로봇을 위한 제어 알고리즘 및 기계 학습 모델 개발을 가속화합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트