오픈 소스 농업용 로봇 'Sowbot', 농업의 미래를 열다!
'Sowbot'은 농업용 로봇 개발의 프로토타입 제작 기간(Prototype Gap)을 줄이기 위해 설계되었으며, 오픈 하드웨어 및 소프트웨어로 구성됨
ROS2, RTK GPS, ESP32를 활용하여 자율 주행 및 정밀 위치 측위 기능을 구현하고, 오픈 코어(Open Core) 모듈을 중심으로 하드웨어 설계가 이루어짐
Docker 이미지 공유를 통해 연구실 간 실험 재현성을 높이고, RoSys/Field Friend 또는 DevKit ROS를 선택하여 소프트웨어 개발 환경을 구축할 수 있음
실제 농업 환경(Real-world Agricultural Environment) 적용에 대한 조언과 함께, BNO055 IMU 드라이버(Driver) 개발 경험 공유 등 커뮤니티의 적극적인 참여를 유도함
오픈 하드웨어 설계 및 모듈화
Sowbot은 10x10cm 크기의 모듈(Module)을 기반으로 설계되어 확장성과 유지 보수성을 높였다. 특히, Avaota A1 SBC 2개를 이더넷 케이블로 연결하여 제어 및 비전 처리를 분담하는 데이터 격리 아키텍처(Data Isolation Architecture)를 채택했다. 또한, CAN 버스(Bus)를 통해 필드(Field) 통신을 지원하고, ESP32 기반의 Lizard 펌웨어(Firmware)를 사용하여 실시간 모터 제어를 구현했다. 이러한 설계는 하드웨어 개발의 진입 장벽을 낮추고, 다양한 환경에 유연하게 대응할 수 있도록 한다.
ROS2 기반 소프트웨어 스택
Sowbot은 RoSys/Field Friend 또는 DevKit ROS를 선택하여 소프트웨어 개발 환경을 제공한다. RoSys는 asyncio 기반의 Python 프레임워크로, 제어 루프, 메시징, UI 개발을 간소화한다. DevKit ROS는 ROS 생태계에 익숙한 개발자를 위해 표준 ROS 툴링, 센서 드라이버, 시뮬레이션 지원을 제공한다. 이러한 유연한 선택지는 개발팀의 기술 스택과 프로젝트 요구 사항에 맞춰 최적의 환경을 구축할 수 있도록 지원한다.
정밀 위치 측위 및 자율 주행
Sowbot은 듀얼 RTK GNSS 수신기(Receiver)를 통해 센티미터(Centimetre) 단위의 정밀한 위치 정보를 획득한다. 이는 자율 주행 및 작업 수행의 정확성을 보장하는 핵심 요소이다. 또한, CAN 버스를 활용하여 필드 레벨(Field Level) 통신을 지원하며, ESP32 기반의 Lizard 펌웨어를 통해 실시간 모터 제어를 수행한다. 이러한 기술들은 험난한 농업 환경에서도 안정적인 작동을 가능하게 한다.
커뮤니티 기여 및 실제 농업 환경 적용
커뮤니티에서는 Sowbot의 실제 농업 환경(Real-world Agricultural Environment) 적용에 대한 다양한 의견이 제시되었다. 특히, 험난한 환경에서 로봇이 겪는 어려움에 대한 조언과 함께, BNO055 IMU 드라이버(Driver) 개발 경험 공유 등 적극적인 참여를 유도했다. 이러한 커뮤니티의 피드백은 Sowbot의 개선 방향을 제시하고, 실제 농업 현장에 적용 가능한 로봇 개발을 가속화하는 데 기여할 것이다.