AI-Quadruped-Robot-For-Agriculture
AI-Quadruped-Robot-For-Agriculture copied to clipboard
AI-Quadruped-Robot-For-Agriculture
Problem statement
Massive investment on agrochemicals from the farmers’ end on crops for protection against crop health issues, diseases, and pest attacks, leading to high chemical residue content in the final product, thus reducing the quality of the produce, productivity, and polluting the farm environment. Also large use of water into crops leading to unwanted wastage of water.
Solution
For the farmers cultivating crops, an OAK-D enabled quadruped robot with robotic arm to effectively spray water/pesticides/insecticides on the crops by identifying the crop or the pests, thus saving farmers investment on agrochemicals and water, utilizing the depth capability to detect the pest and analyze the pest infection in the process.
Software Installation - Agribot
We followed the GitHub repo by Mike4192 for this version. Go to this link to learn more. The default implementation is on Raspberry Pi 3 Model B and ROS kinetic, since we used Nvidia Jetson Nano we invested some time on migrating to ROS melodic. After installing ROS melodic on Nvidia Jetson Nano, run,
git clone https://github.com/kishorkuttan/AI-Quadruped-Robot-For-Agriculture.git
source /opt/ros/kinetic/setup.bash
mkdir -p ~/catkin_temp
cp -a /path/to/AI-Quadruped-Robot-For-Agriculture/src/ ~/catkin_temp/
catkin build
source devel/setup.bash
If you find errors during catkin build install necessary libraries or directly copy the libraries to /src/ folder and re run catkin_build
3D prints
Robot
Go to this link for spot micro 3D print files. We made slight modification due to stability and structural issues in the default print.
Arm
The files are under the folder /Arm 3D print stl files/
Connection
The Robotic Arm And Sprayer System
Connect as per the diagram and control the Raspberry Pi Zero W through VNC and run,
python arm_and_spray.py
In this script it calculates angles for servo motors using IK and also starts the DC motor pump after getting the x,y,z location data from OAK-D.
Test OAK-D
connect the OAK-D to the host
python spatial_mobilenet.py
Demo
https://user-images.githubusercontent.com/48623612/127535646-96b2c777-e888-43cb-af1a-77d663f8487b.mp4
https://user-images.githubusercontent.com/48623612/127535906-9ffb2053-86a3-4153-b496-3118d2ea1060.mp4
https://user-images.githubusercontent.com/48623612/128687662-2845c66a-45d7-49c7-8cf9-19cea187af5c.mp4
Pest detection
Test
python spatial_mobilenet_custom.py
Train
Pest detection TensorFlow 1.x pipeline
https://user-images.githubusercontent.com/48623612/128688979-6633d1d9-b441-4c8c-9f94-d753bce6091c.mp4
Inbuilt OAK-D IMU utilization
Run
python gyro visualization
https://user-images.githubusercontent.com/48623612/127535856-a1a527a5-7e4c-46dc-a450-e32995b7074e.mp4