Robotics and GraalVM native libraries by Florian Enner
- 15년간 고성능 모듈형 로봇 빌딩 블록을 개발하여 다양한 로봇 솔루션(액추에이터, 카메라, 배터리 등)을 제공하며, 고객의 R&D부터 특정 문제 해결까지 지원합니다. 🧱
- 기계 엔지니어들이 MATLAB과 Windows 같은 익숙한 환경에서 C++ 및 Linux 전환 없이 로봇을 제어할 수 있도록 플러그 앤 플레이 방식의 단일 프로세스 시스템을 목표로 합니다. 💻
- 로봇 제어의 핵심인 실시간성 확보를 위해 C++ 및 실시간 Linux 대신 일반 운영체제(Windows, Mac, Linux)의 지연 시간 한계를 파악하고 최대한 활용하는 방안을 모색합니다. ⏱️
- 운영체제별 지연 시간(jitter)은 Windows 최대 15-16ms, Mac 8ms, 일반 Linux 1-2ms 수준이며, 실시간 Linux는 120 마이크로초, 임베디드 RTOS는 5.5 마이크로초 미만의 낮은 지연 시간을 달성합니다. 📊
- 표준 이더넷(UDP) 통신은 이론과 유사하게 작동하며, 대부분의 지터는 네트워크 자체보다 운영체제의 수신 스택에서 발생함을 확인하여 산업 표준 대신 일반 이더넷 사용 가능성을 높였습니다. 📡
- 로봇의 안정성에 따라 제어 마감 시간이 달라지는데, 정적 로봇은 여유롭지만, 균형 로봇은 60ms 통신 손실 시 문제, 80ms 시 추락하는 등 엄격한 실시간 제어가 필수적입니다. 🚨
- 로봇 제어는 고수준(작업 계획, 100Hz 미만), 저수준(위치/속도/토크, 20ms 미만), 디바이스 드라이버(킬로헤르츠 이상)의 세 계층으로 나뉘며, 각 계층별로 요구되는 지연 시간이 다릅니다. ⚙️
- 전통적으로 로봇 공학에 잘 사용되지 않던 Java를 MATLAB과의 원활한 통합을 위해 채택했으며, 스레딩, 통신, UI 등을 담당하고 전체 GC를 피하기 위해 할당을 제한하여 로봇 오작동을 방지합니다. ☕
- MATLAB, ROS (C++), Python, Java 등 다양한 API를 제공하며, 역운동학 같은 핵심 기능은 Java와 C++로 독립적으로 구현하여 상호 의존성을 줄이고 유연성을 확보합니다. 🧩
- 발표 제목에 GraalVM 네이티브 라이브러리가 언급되었으나, 제공된 스크립트 내용에서는 GraalVM의 구체적인 활용이나 이점에 대한 상세한 설명이 부족하며, 주로 Java의 역할과 로봇 공학의 실시간성 문제에 초점을 맞춥니다. ❓