Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Dhruv2012/Autonomous-Farm-Robot/llms.txt

Use this file to discover all available pages before exploring further.

The AGRIBOT ROS workspace (agribot_ws) is a standard catkin workspace containing all ROS packages needed to model, simulate, control, and navigate the robot. It follows the standard src/ layout with one directory per package. Custom packages handle everything from the physical robot description through sensor fusion, autonomous navigation, and manual teleoperation. Third-party packages provide GPS drivers, tile-based map visualization, and IMU firmware support.

Workspace Package Layout

agribot_ws/
└── src/
    ├── agribot/              # Meta-package (declares group dependencies)
    ├── agribot_description/  # URDF, Gazebo worlds, meshes, launch files
    ├── agribot_control/      # ROS controllers and PID configuration
    ├── autonomous_drive/     # GPS navigation ROS nodes
    ├── gps_umd/              # GPS ROS driver (gps_common, gpsd_client)
    ├── mapviz/               # Map visualization tool
    ├── mapviz_plugins/       # Mapviz plugins (GPS, navsat, path, etc.)
    ├── multires_image/       # Multi-resolution tile map for Mapviz
    ├── tile_map/             # Tile-based map plugin
    ├── marti_messages/       # Custom ROS message types
    ├── teleop_tools/         # Joystick, keyboard, mouse teleop
    └── imudata/              # Arduino sketch for MPU-6050 IMU

Building the Workspace

Clone the repository and build all packages with catkin_make. Make sure ROS Melodic (or Noetic) and all system dependencies are installed before building.
cd Autonomous-Farm-Robot/agribot_ws
catkin_make
source devel/setup.bash
After sourcing devel/setup.bash, all package executables, launch files, and topics will be available in the current shell. Add the source command to your ~/.bashrc to make it permanent.

Package Summary Table

PackageTypePurpose
agribotmetaGroups all agribot packages
agribot_descriptionrobot modelURDF, meshes, worlds, launch files
agribot_controlcontrollerPID effort controllers for wheels
autonomous_drivenavigationGPS-based autonomous drive nodes
gps_umddriverGPS ROS driver
mapvizvisualizationMap-based visualization tool
teleop_toolsteleopManual control via joystick/keyboard
marti_messagesmessagesCustom navigation and sensor messages
imudatafirmwareArduino sketch for IMU data acquisition

Explore the Custom Packages

agribot_description

URDF/Xacro robot model, Gazebo sensor plugins, farm world files, meshes, and all simulation launch files.

agribot_control

PID effort controllers for AGRIBOT’s four skid-steer wheels using ros_control.

autonomous_drive

GPS-guided field navigation nodes: GPS conversion, sensor fusion, and drive control.

Simulation Guide

Step-by-step instructions for launching AGRIBOT in the Gazebo farm simulation.

Build docs developers (and LLMs) love