Project

Project Technical description, Code, Schematics, Simulations & files/attachments.

Objective

This robot basically for the disaster management,control purpose and to provide surveillance. Also it's objective is to ease control of steered and drive vehicles.

Required Components

Following is the list of components needed for this project:

  • Robot car chassis with all parts ( 4 DC motors, 4 tyres, 2 Acrylic sheet, nut and bolts)
  • Solder and soldering iron
  • A lot of jumper wires
  • UltraSonic sensors
  • Radio Frequency Module NRF24
  • Wire cutter/stripper
  • Arduino UNO board
  • 9 V battery
  • L298 (Dual H-Bridge) based motor driving module

Description

This robot has the ability to move according to the movement of the hand on with the accelerometer is attached.This robot is very efficient and can be used for surveillance purposes.This robot uses a simple logarithm to move according to the gesture of hand,it the hand is tilted towards right the robot will moved towards the right with a constant speed and as the hand is tilted towards left the robot will moved towards left,as the same is the case with the up and down movement of hand,up gesture will move the robot forward and the down gesture of the hand will move the robot backward,an accelerometer is attached and calibrated so that it gives the signals to robot to move towards the desired direction.The accelerometer is basically an analog electronic circuit or a micro controller that takes feedback input from sensors and direct the robot in the desired path.Two Radio Frequency Modules NRF24 are used for the transmission and the receiving of the accelerometer values.

Gesture Control

Gestur Control

Drive Assembly

Gestur Control

Gesture Controlled Robot Code

This code contains more of working code of Gesture Control Robot with calibrated ADXL335 & Motors Controlled.

  //read the analog values from the accelerometer
  int xRead = analogRead(xPin);
  int yRead = analogRead(yPin);
  int zRead = analogRead(zPin);

  //convert read values to degrees -90 to 90 - Needed for atan2
  int xAng = map(xRead, minVal, maxVal, -90, 90);
  int yAng = map(yRead, minVal, maxVal, -90, 90);
  int zAng = map(zRead, minVal, maxVal, -90, 90);

  //Caculate 360deg values like so: atan2(-yAng, -zAng)
  //atan2 outputs the value of -π to π (radians)
  //We are then converting the radians to degrees
  x = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);
  y = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);
  z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);

Autonomous Mapping Robot

This code contains more of working code of WaveFront Algorithm (Slams Based Basic Algorithem). It has more functionality of UltraSonic Sensor(HC-SR04) & Time.

	char mapping[6][6] = {{'1','1','1','1','1','1'},
			      {'1','1','1','1','1','1'},
                              {'1','1','1','1','1','1'},
                              {'1','1','1','1','1','1'},
                              {'1','1','1','1','1','1'},
                              {'1','1','1','1','1','1'}};
	    i=5;
      //j=0;
      mapping[i][j]='*';
      right1=watch_right();
      if(right1==180)
      {
        for(int a=0; a<6; a++)
        {
          if(mapping[a][j]=='0')
          {
            mapping[a][j]='1';
          }
        }
      }
      j++;
      y++;

<<<<<<< HEAD ======= >>>>>>> origin/master