Вы находитесь на странице: 1из 9

Indian Institute of Technology, Ropar

Course: Tinkering Lab

Project Report
On

Gesture-Controlled Steering Car

Project Guide: Dr. CK Narayanan and Dr. Prabir Sarkar

Submitted by: -
Divyansh Bansal (2017MEB1204)
Harsh Tomer (2017MEB1209)
Jishu Chauhan (2017MEB1216)
Harshdeep Hazarika (2017MEB1210)
Mayyank Garg (2017MEB1221)

1
Table of Contents

1 Abstract ............................................................................................................... 3
2 Motivation.......................................................................................................... 3
3 Project Objectives........................................................................................... 3
4 Project Layout .................................................................................................. 3
5 Components Used .......................................................................................... 4
6 Concept Aspects .............................................................................................. 5
7 Design .................................................................................................................. 7
8 Learnings............................................................................................................ 9
9 Future Scope ..................................................................................................... 9

2
1 Abstract
The aim of the project is to develop a gesture-controlled device that can recognize commands
through hand gesture and provide desirable result in the environment. For demonstration
purposes, we are going to develop a Gesture Controlled RC Car using MPU6050

2 Motivation
We as kids have always been fascinated by a remote-controlled car. This has been the root cause
of motivation for coming up with the project to build something that would be interesting as
well as challenging to implement. The whole idea of implementing something like a RC car
sounds cool and the finished product looks simply, but it was mixed with lots of challenges and
complex interfacing which motivated us towards in depth learning.

3 Project Objectives
The specific goals are as follows: -

1. All wheels on the robot are to be driven.


2. The robot needs at least four wheels.
3. The robot is to be teleoperated.
4. The robot must be able to turn about a point that is inside the chassis and along its
longitudinal line.
5. The error of the steering angles compared to the perfect Ackermann angles cannot
exceed five degrees (plus or minus) at all turning angles.
6. The robot must be able to go at least ten feet per second.
7. While going at ten feet per second, the robot must be able to drive along a ten-foot
radius circle while staying within a four-foot-wide lane.

4 Project Layout

Figure 1. The architecture design of car controlling with hand-gesture

3
5 Components Used
Electronic Parts:

Figure 2. Specification of electronic components used in to design the proposed system

Parts for Ackermann Geometry:

1. Ball Bearings
2. Wheels
3. Chassis
4. Stainless Steel Rod
5. Servo Motor
6. Hub

Figure. Ackermann Steering

4
6 Concept Aspects
The Ackermann steering condition occurs when the axes of all the wheels of a vehicle intersect
at a single turning point. Figure below shows an example of Ackermann steering compared to
parallel linkage steering. In the case of a parallel linkage, the wheels must skid during a turn
because the front wheels are turning about different points. By using Ackermann steering, the
wheels of a vehicle will never be forced to skid. This increases energy efficiency and reduces tire
wear.

Figure 3. Comparison between Ackermann and Parallel Steering

Figure. How Ackermann Steering Works

5
Transmission:

The transmission takes place as follows, ADXL 345 (Digital Accelerometer) is the input to the
MPU6050. ADXL produces 3 outputs (X-axis, Y-axis, Z-axis). The ADXL communicates with
microcontroller using I2C (InterIntegrated Circuit protocol) communication protocol. The
output of ADXL 345 is given to the MPU6050 where SDA is connected to P1.7 and SCL is
connected to P1.6. The input from ADXL 345 is processed by the controller and provided as an
output to the transmitter. The transmitter being used is nRF24L01. The MPU6050
communicates with the transmitter using UART (Universal Asynchronous
Receiver/Transmitter) communication protocol. The output of the MPU6050 is fed to the
transmitter where pin P1.2(UART) is connected to TX.

Receiver:

The reception takes place as follows, the transmitter output is detected by the Receiver
(nRF24L01). The communication between receiver and transmitter is wireless. The MPU6050
communicates with Receiver using UART (Universal Asynchronous Receiver/Transmitter). The
receiver output is fed to the MPU6050 where RX is connected to P1.1(UART). The inputs from
the receiver are fed to the MPU6050 which in turn drives the motor Driver IC(L293D).

Motor Driver (L293D):

The IC L293D is used to implement H-Bridge. L293D consist of two H-bridge. H-bridge is the
simplest circuit for controlling a motor. It amplifies the current to drive the DC motors. It is used
for clockwise & anti-clockwise rotation of DC motor. Basically, used for driving DC Motors
coupled with rear wheels. The inputs for L293D are connected to MSP 430 port pin P1.6, P2.5,
P2.3, and P2.4.

PWM (Pulse Width Modulation):

PWM is basically high frequency pulses, modulated with the duty cycles. In our case, we have
kept the frequency to 800hz since the motor is slow reacting load. The full-time pulse is given by
digital value 255.On time varies between 0 to 255 for speed control

Advantages of Ackermann Geometry

1. Simple geometry and ease of calculations


2. Avoids front tire slippage and helps in achieving pure rolling
3. Easy to fabricate
4. Takes minimum space compared to other steering geometry like the Davis geometry

6
7 Design
Hand-Gestures Recognition

Figure shows the circuit design of hand-gestures, which control the robotic car using hand
movement. In this scenario, the robotic car will move in the same direction as the direction of
hand rotation. There are two schematic diagrams for the hand-gesture. First, we describe the
hardware implementation of the hand-gesture setup. In this task, one Arduino Nano, one MPU-
6050 accelerometer and one RF transmitter were used. The SLC pin of the MPU-6050 module is
connected to the Arduino analogue Pin A5, SDA to the A4, Ground pin to the GND and VCC (voltage
at the common collector) pin to the 5V pin of the Arduino. DATA pin of the RX-transmitter is
connected to the Arduino digital PIN D8, VCC pin to 5V and ground pin to GND port, as shown in
Figure 2a. After hardware implementing of the hand gesture, we move to the implementation of
car setup. In this task, one L298N motor module, one Arduino Uno and one RF-receiver were used.
Digital pins from A0–A13 of L298N motor module are connected to the digital pins A0–A13 and
Analog pins A0– A5 are connected to the analog pins A0–A5, and similarly, Vin pin to Vin port, 3V
pin to 3V port, 5V pin to 5V port, reset pin to reset port, ground pin to GND port and AREF pin to
the AREF port of Arduino Uno as displayed in Figure 2b. Further, M1.1–M4.1 pin is connected to
the negative terminal and M1.2–M4.2 pins of the motor module are connected to the positive
terminals of the motor. Similarly, VCC pin of RF-receiver is connected to the VCC pin of the motor
module, DATA pin to the digital pin D2 of motor module and Arduino and at last, the Ground pin
to the GND port of Arduino Uno. The complete software code of this case is presented in Figure
S1 of the supplementary materials.

Figure 4. Schematic Diagram of all connections

Movement of Motors with Hand-Gesture

As the user moves own hand, the reading of the accelerometer will change, and then it will be
recaptured by the application. There are genuinely two values: One is the minimum value
(Xrange), and another is the maximum value (Y range), and the range is defined using these two
values for each function of the car. In simple words, the set of ranges are defined for the
movement of the robot car in a specific way. If the received data by the application lies within

7
these specified values, then the corresponding decision will be made. This decision value will be
sent to the microcontroller, which then processes it to understand the corresponding gesture.
After knowing the gesture, it will send a signal to move the robot car accordingly. There is a total
of four DC motors, one motor for each wheel (two for left diagonal wheels, and two for right
diagonal wheels) used in the construction of this car. The motors are controlled by the L293D
motor shield.

Figure 5. The theme of gesture recognition (i.e., movement of hand, motors and wheels)

8
8 Learnings
1. Order parts after reading description of components carefully E. g. MG995 Continuous
SERVO motor is not a SERVO motors
2. Electromagnets requires very high amount of power to even levitate 1 cm
3. Electromagnets sold online are Lifting Solenoids and won’t function as electromagnets

9 Future Scope
1. Voice Recognition can be used instead of hand gestures
2. ESP 32 for long range and better results
3. Converting gestures to voice commands for mute

Вам также может понравиться