Sowbot / Feldfreund DevKit ROS — WIP open agricultural robot stack

GitHub: Agroecology-Lab/feldfreund_devkit_ros · forked from zauberzeug/feldfreund_devkit_ros

We’re building Sowbot, an open-hardware precision seeding and weeding robot targeting smallholder agroecological farms. The ROS 2 Jazzy stack is containerised and designed to be reproducible on affordable, open hardware. Collaborators welcome — see CONTRIBUTING.md.

The ROS stack is a fork of Zauberzeug’s Feldfreund DevKit, The WIP Sowbot hardware (chassis, end-effectors) is also fully open — see sowbot.co.uk.

Key upstream packages:

  • LCAS topological_navigation (aoc_refactor) — graph-based navigation from Lincoln’s AgriOpenCore initiative. More appropriate for row-crop field patterns than a pure Nav2 global planner.
  • Nav2 — local planning and costmaps, used via AOC edge actions rather than as the primary planner.
  • fusioncore — UKF fusing RTK GNSS + wheel odometry + dual-antenna heading into /fusion/odom. Also handles topic remapping between LCAS topo_nav and Nav2.
  • ublox_dgnss — dual u-blox F9P moving-base RTK driver. Centimetre positioning and heading vector.
  • Fields2Cover — coverage path planning for the seeding pass; handles headland generation and row ordering.
  • LCAS Sentor — topic/node health monitoring; publishes a heartbeat that gates autonomous motion.
  • visual-multi-crop-row-navigation (Uni Bonn) — ExG + Otsu visual servoing for the weeding pass, running on a second SBC.
  • Lizard DSL (by Zauberzeug) — ESP32 firmware abstraction for motor control and hardware safety, keeping hard-RT concerns off the main SBC entirely.

Active development, ROS 2 Jazzy, caatinga-dev branch. Happy to discuss integration or architecture, or get help with any of the myriad complexities.

We have a weekly call at 1pm UK and hang out on Discord a bit if that’s your bag: Personal Robotics

4 Likes