All Projects → AutoRoboCulture → Nindamani-the-weed-removal-robot

AutoRoboCulture / Nindamani-the-weed-removal-robot

Licence: MIT license
Nindamani, the AI based mechanically weed removal robot

Programming Languages

python
139335 projects - #7 most used programming language
CMake
9771 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Nindamani-the-weed-removal-robot

rmw ecal
ROS2 middleware based on eCAL
Stars: ✭ 30 (-58.9%)
Mutual labels:  ros2
dynamixel control
ros2_control packages for ROBOTIS Dynamixel
Stars: ✭ 69 (-5.48%)
Mutual labels:  ros2
dockerfiles
Dockerfiles I use for development
Stars: ✭ 64 (-12.33%)
Mutual labels:  ros2
awesome-webots
Awesome Webots
Stars: ✭ 46 (-36.99%)
Mutual labels:  ros2
Improved-Wasserstein-GAN-application-on-MRI-images
Improved Wasserstein GAN (WGAN-GP) application on medical (MRI) images
Stars: ✭ 23 (-68.49%)
Mutual labels:  neuralnetwork
bootFromUSB
Boot NVIDIA Nano Jetson Developer Kit from a mass storage USB device (Jetson Nano devices A02, B01, 2GB and possibly Jetson TX1)
Stars: ✭ 96 (+31.51%)
Mutual labels:  jetson-nano-developer-kit
isaac ros visual odometry
Visual odometry package based on hardware-accelerated NVIDIA Elbrus library with world class quality and performance.
Stars: ✭ 101 (+38.36%)
Mutual labels:  ros2
ros msft camera
This ROS node uses Windows Media Foundation's frame server to efficiently process camera frames.
Stars: ✭ 17 (-76.71%)
Mutual labels:  ros2
li slam ros2
ROS2 package of tightly-coupled lidar inertial ndt/gicp slam
Stars: ✭ 160 (+119.18%)
Mutual labels:  ros2
vscode ros2 workspace
A template for using VSCode as an IDE for ROS2 development.
Stars: ✭ 527 (+621.92%)
Mutual labels:  ros2
Awesome Robotic Tooling
Tooling for professional robotic development in C++ and Python with a touch of ROS, autonomous driving and aerospace.
Stars: ✭ 1,876 (+2469.86%)
Mutual labels:  ros2
AI-Deep-Learning-for-Phishing-URL-Detection
AI: Deep Learning for Phishing URL Detection
Stars: ✭ 36 (-50.68%)
Mutual labels:  neuralnetwork
iknet
Inverse kinematics estimation of ROBOTIS Open Manipulator X with neural networks
Stars: ✭ 27 (-63.01%)
Mutual labels:  ros2
raspimouse ros2 examples
ROS 2 examples for Raspberry Pi Mouse
Stars: ✭ 29 (-60.27%)
Mutual labels:  ros2
isaac ros dnn inference
Hardware-accelerated DNN model inference ROS2 packages using NVIDIA Triton/TensorRT for both Jetson and x86_64 with CUDA-capable GPU
Stars: ✭ 67 (-8.22%)
Mutual labels:  ros2
astuff sensor msgs
A set of messages specific to each sensor supported by AutonomouStuff.
Stars: ✭ 37 (-49.32%)
Mutual labels:  ros2
DDS-Router
The DDS Router is an application developed by eProsima that allows, using Fast DDS, to communicate by DDS protocol different networks.
Stars: ✭ 34 (-53.42%)
Mutual labels:  ros2
JetsonTeach
space.bilibili.com/425957063/channel/detail?cid=73027
Stars: ✭ 16 (-78.08%)
Mutual labels:  jetson-nano-developer-kit
Plant-Disease-Identification-using-CNN
Plant Disease Identification Using Convulutional Neural Network
Stars: ✭ 89 (+21.92%)
Mutual labels:  neuralnetwork
Handwritten-Names-Recognition
The goal of this project is to solve the task of name transcription from handwriting images implementing a NN approach.
Stars: ✭ 54 (-26.03%)
Mutual labels:  neuralnetwork

Nindamani the weed removal robot

Award🏅

Our project "Nindamani: The Weed Removal AgriRobot" won 1st prize🏅 in Autonomous Machines & Robotics category at NVIDIA's AI at the Edge challenge.

Check out the articles on NVIDIA's blog, hackster.io page, and New Scientist's news letter

NVIDIA challenge winner

Note: Please do mention our title if you find this project helpful

Project Details

Nindamani, the AI based mechanically weed removal robot, which autonomously detects and segment the weeds from crop using artificial intelligence. The whole robot modules natively build on ROS2. Nindamani can be used in any early stage of crops for autonomous weeding.

In this following repository, you will find instructions for software installation and control mechanism for Nindamani robot.

Features:

  • Fully ROS2 compatible
  • Battery Operated
  • Runtime upto 8-10 hours
  • Robotics Arm based weed removal
  • Weed detection accuracy upto 85%
  • Easy to Operate

Software Specifications:

Parameter Value
Robotics OS ROS2.0 Dashing Diademata
System Ubuntu 18.04 LTS
Communication Wireless , UART(internal motor control)
AI Framework Keras
Programming Language Python3 & C

Hardware Specifications:

Parameter Value
Degrees of freedom 3 DOF
Error ±2 mm
Payload 1.5 kg
Weight 35 kg
Height 740 to 860 mm
Width 980 mm
Arm Reach 200x200 sq mm
Processor board Jetson nano Dev Kit
Microcontroller Arduino Mega
Servo Motor 12V DC, 200RPM, 32kgcm H.Torque
Stepper Motor 48V, 6A, Nema 34, 87 kgcm H.Torque
Camera RPi cam ver.2
Wifi card Intel 8265
USB-TTL cable PL2303HX chip
Battery 48V 30ah

Packages

In this section we will install all the necessary dependencies in order to be able to launch nindamani robot:

  • nindamani_agri_robot - integrate all launch node of nindamani robot
  • rpicam_ai_interface - controlling the rpi camera with AI interface
  • servo_control - controlling the servo motors with ROS2 interface
  • stepper_control - controlling the multiple stepper motors with ROS2 interface

Installation on Jetson Nano Dev Kit

1. NVIDIA Jetpack SDK

2. Prerequisites and Dependencies for TensorFlow

3. ROS2 (Dashing Diademata)

4. Arduino

5. OpenCV 3.4.4

6. Wifi

Create ROS2 Workspace

  • follow this steps:
  mkdir -p ~/nindamani_ws/src
  cd ~/ros2_mara_ws
  colcon build
  cd src
  git clone https://github.com/AutoRoboCulture/nindamani-the-weed-removal-robot.git

Clone the Mask R-CNN GitHub Repository:

  1. Code: git clone https://github.com/matterport/Mask_RCNN.git
  2. Copy this cloned repo to rpicam_ai_interface package: cp Mask_RCNN rpicam_ai_interface/.
  3. Run command:
    • cd rpicam_ai_interface/Mask_RCNN
    • sudo python3 install setup.py
  4. Confirm the Library Was Installed: pip3 show mask-rcnn

Download preTrained Model weights

  • Link for MASK-RCNN preTrained model
  • Copy preTrained weights to rpicam_ai_interface package:
    mkdir rpicam_ai_interface/preTrained_weights
    cp mask_rcnn_trained_weed_model.h5 rpicam_ai_interface/preTrained_weights/.
    

Follow Folder Structure:

nindamani_ws
├── build
├── install
├── log
└── src
  ├── nindamani_agri_robot
  │   ├── launch
  │   └── scripts
  ├── rpicam_ai_interface
  │   ├── scripts
  │   ├── preTrained_weights
  │   └── Mask-RCNN
  ├── servo_control
  │   ├── config
  │   ├── scripts
  │   └── srv
  └── stepper_control
      ├── config
      ├── scripts
      ├── src
      └── srv

Compile nindamani_ws

  • Follow steps:
    cd nindamani_ws
    colcon build
    

Dependency

Stepper Motor library implementation on Arduino

Launch nindamani robot

  • Make sure source setup.bash in bashrc before ROS2 launch command: echo "source /home/<user-name>/nindamani_ws/install/setup.bash" >> ~/.bashrc
  • ROS2 Launch command: ros2 launch nindamani_agri_robot nindamani_agri_robot.launch.py

Demo video | Proof of Concept

IMAGE ALT TEXT HERE

Potential Improvements

We have presented the concept that how weeds can be detected from crops using Artifical Intelligence and through delta arm robot weeds are removed autonomously. It's not perfect of course as you can see in the video link but can be improved. Here are some of our ideas which can improvise this robot in future:

  • Gripper design enchancement with end tip as arrow shaped.
  • Delta arm reach can be improved with high torque stepper motor.
  • With RTK-GPS and 4 wheeled drive + 4 wheel steering implementation on robot, it will make whole robot working autonomously.
  • Need 3D mapping of land using Lidar, for finding variations in height of crops, weeds and ridge.

References

  1. Mask R-CNN for Object Detection and Segmentation
 @misc{matterport_maskrcnn_2017,
  title={Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow},
  author={Waleed Abdulla},
  year={2017},
  publisher={Github},
  journal={GitHub repository},
  howpublished={\url{https://github.com/matterport/Mask_RCNN}},
}
  1. Train Mask-RCNN model on Custom Dataset for Multiple Objects

  2. Delta Robot Simulation on Gazebo using MARA-Env

Developer's Contact Detail

Kevin Patel
Nihar Chaniyara
Email: [email protected]
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].