IOTAurdinoBOTDifferential-Drive

A radio controlled amphibian bot made using the Arduino UNO Atmega that uses differential drive mechanism.

Problem Statement:

To build a wireless-remote controlled / truly wireless electric-powered robots that can be used to complete-broken pathways and transfer packages by running on land as well as water.

Our bot fits in...

  • Transfer of packages in war plagued situations.
  • Automation in agriculture (land and water).

Our Vision

To build a bot:

  • Which can efficiently traverse across land and water.
  • Which can overcome obstacles and hurdles with relative ease.
  • To position the CoG such that it can carry an irrigation system.
  • To make the bot recognize lines, so that it can follow a path.
  • To fit in a crane that can lift objects upto a certain weight (depending upon the CoG, and the power of the used servo).

Design

  • Fitted flaps on wheels.
  • Located CoG.
  • Implemented differential drive using 4 - wheel mechanism.
  • Achieved floatation using water bottles.

stage one

Step one

stage two

step two

Crane

  1. Powered by two heavy - duty servo motors.
  2. Arduino powers only one crane.
  3. Hook at the end of the crane for lifting objects.

stage three

Crane Fitted

RF Controller

Tuned such that the bot responds only when there is a change in the frequency of the RF.

RFcontroller

RF Controller

Differential Drive implementation

  • The differential drive is a two-wheeled drive system with independent actuators for each wheel. The name refers to the fact that the motion vector of the robot is the sum of the independent wheel motions. The drive wheels are usually placed on each side of the robot and toward the front.
  • Here we see how the bot moves with different inputs recived from the controller.
X and Y are points where the controllers stick is moved.
We map it with the motion of the bot.
if(x == 0 && y == 0) // STOP    
else if(x == 0 && y != 0) // FORWARD AND REVERSE 
else if(y == 0 && x != 0) // LEFT AND RIGHT DIRECT
else if(y >= 0 && x >= 0) // I QUAD
else if(y >= 0 && x <= 0) //II QUAD
else if(y <= 0 && x <= 0) // III QUAD
else if(y <= 0 && x >= 0) // IV QUAD        

©2022 Dev, by Sanjay.