How jacobsfarm/bruut_openagbot works
Bruut OpenAgbot is an experimental agricultural robot whose main workflow is field planning, selecting an AB-line mission in the web interface, and having the robot navigate and actuate its drive and steering hardware. The interface also supports status, manual control, and camera-based weed detection; route logging and mission-planning scripts support field work and review. The graph reflects documented capabilities, but several subsystem links are based on README descriptions and tree paths because their source was not sampled.
Main entry points: endpoints.py HTTP API · vehicle_controller.py Vehicle controller · App.svelte Web application · ab_navigator.py AB-line navigator
Components 25
Operator interface
- Web application
frontend/src/App.svelte - Telemetry client
frontend/src/lib/telemetry.js - Field map
frontend/src/components/veldkaart.svelte - Dashboard views
frontend/src/components/dashboard.svelte - Camera view
frontend/src/components/camera.svelte
Planning and navigation
- HTTP API
app/api/endpoints.py - AB mission maker
Single_script_code/AB_mission_maker.py - AB-line navigator
app/services/ab_navigator.py - Waypoint navigator
app/services/navigator.py - RTK positioning
app/hardware/gps_logic.py
Vehicle control
- Vehicle controller
app/services/vehicle_controller.py - Drive control
app/hardware/motor_logic.py - VESC CAN bus
app/hardware/vesc_can.py - Stepper steering
app/hardware/stepper_logic.py - Stepper firmware
Arduino/arduino_controlling_dual_steppercontroller.cpp
Vision and records
- Camera capture and inference
app/vision/streamer.py - Weed tracking
app/vision/weed_tracker.py - Detection records
app/vision/detection_logger.py - Ride logging
app/services/logger.py - Data handling
app/services/data_handler.py - Route review tools
Single_script_code/overlay_routes.py
Other components
- Farm operator
- Robot camera
- RTK receiver
- VESC motor controllers
Connections 26
- Farm operator → Web application: operates
- Web application → Field map: selects missions
- Web application → Dashboard views: views status
- Web application → Camera view: views camera
- Web application → Telemetry client: uses
- Field map → HTTP API: requests plans
- Telemetry client → HTTP API: requests status
- AB mission maker → AB-line navigator: writes mission data
- HTTP API → AB-line navigator: starts and configures
- HTTP API → Waypoint navigator: starts and stops
- HTTP API → RTK positioning: reads position
- AB-line navigator → RTK positioning: reads position
- Waypoint navigator → RTK positioning: reads position
- AB-line navigator → Vehicle controller: commands motion
- Waypoint navigator → Vehicle controller: commands motion
- HTTP API → Vehicle controller: manual and stop commands
- Vehicle controller → Drive control: sets drive speed
- Vehicle controller → Stepper steering: sets steering angles
- Drive control → VESC CAN bus: sends CAN commands
- VESC CAN bus → VESC motor controllers: controls and reads
- Stepper steering → Stepper firmware: sends serial commands
- Robot camera → Camera capture and inference: supplies frames
- Camera capture and inference → Weed tracking: provides detections
- Weed tracking → Detection records: records detections
- Vehicle controller → Ride logging: logs drive state
- Data handling → Route review tools: supports route review