This project focuses on an agricultural robot (Agri-Bot) that navigates a simulated greenhouse environment to detect, pick, and place ripe tomatoes. The bot uses Intel RealSense D435i for object detection and depth estimation, with image thresholding for identifying ripe tomatoes. Additionally, Lidar is used for obstacle avoidance and navigation.
The Agri-Bot autonomously moves within a greenhouse simulation to identify ripe tomatoes based on color detection. It leverages the Intel RealSense D435i camera for depth sensing and object detection. The bot uses Lidar for obstacle avoidance, ensuring smooth navigation while avoiding collisions with objects in the greenhouse.
- Tomato Detection: Identifies ripe tomatoes using image thresholding based on red color.
- Depth Estimation: Uses Intel RealSense D435i for accurate depth sensing and positioning.
- Lidar-Based Navigation: Avoids obstacles during movement using RPLidar data.
- Autonomous Pick and Place: Capable of identifying ripe tomatoes and performing pick-and-place tasks.
- Simulated Environment: A fully simulated greenhouse environment for testing.
Ensure the following dependencies are installed:
-
ROS Noetic
-
rosdep
sudo rosdep init rosdep update cd ROS-agri-robot-harvester rosdep install --from-paths src --ignore-src -r -y
-
moveit
packagesudo apt-get install ros-noetic-moveit-resources-prbt-moveit-config sudo apt-get install ros-noetic-moveit
- Clone the repository:
git clone https://github.com/S-Sidharthan/ROS-agri-robot-harvester.git
- Build the project:
cd ROS-agri-robot-harvester
catkin_make
- Source the workspace:
source devel/setup.bash
Start Agri-Bot To launch the Agri-Bot in the greenhouse environment:
roslaunch ebot_gazebo wall_follow.launch
roslaunch ebot_gazebo pick_and_place.launch
roslaunch ebot_gazebo nav_pick_and_place.launch
Figure 1: Agri-Bot in gazebo environment.
Figure 2: Ripe Tomatoes detection.
Watch a demo of the robot in action on YouTube:
https://www.youtube.com/watch?v=iV6wcWm2Lak
https://www.youtube.com/watch?v=Go9n7JF8ANU&ab
Contributions are welcome! Open issues or submit pull requests to improve the project.