Giter VIP home page Giter VIP logo

eyantra-1's Introduction

This repository contains the code of our eYantra project, a robotics competition organized by IIT Bombay.

Theme of the Project: Navigate a Terrain was our theme. For our project, The Terrain was a Region consisting of five concentric rings. In the middle of the Region in the Base Station was a “Spotter” that provides guidance to the “Rover”, the robot moving through the Terrain. A Map of the Terrain was provided indicating the Checkpoints along the path to the Base Station. Checkpoints ensured accurate tracking of the Spotter by the Rover as it navigatedd through the concentric rings having openings at random points. The Challenge in this theme was to design and program two independent robotic systems that can communicate with each other in order to navigate the spaces between the rings of the arena without missing the Checkpoints. The challenge was to navigate the terrain in the shortest time possible and reach the Base Station.

A brief description on the two autonomous systems, the rover and the base station:

Base Station:

  1. Mechanical Systems:

● Base plate of dimension 15cm x 15 cm - Is used to support the rotating laser pointer system called Spotter. It helps the Spotter give a correct projection of the laser beam on the flex sheet.

● Servo Motors - Servo motors are used to rotate the laser beam on the flex sheet to give a correct direction to the rover. A pan-tilt system is created using the servo motors which enable a full 360 degree rotation for the laser which covers all the parts of the flex.

● PVC Pipe for the spotter - It will form a small tower kind of support connecting the base plate and the Spotter.

  1. Electronic Systems:

● Node MCU - The Node MCU is an open source firmware and development kit that helps one prototype his IoT product using a few lines of code. It is coded here using the Arduino IDE. It works at 3.3V. A PWM input from the Node MCU is used to run the Servo Motors via the logic level converter.

● Logic Level Converter - It is a small device that safely steps down 5V signals to 3.3V and steps up 3.3V to 5V at the same time. Thus it is used as a connector between the Node MCU and the Servo Motors to power the servo motors.

● Lipo Battery- Using T connectors, the lipo battery is used to power the Node - mcu to run the servo motors. The lipo battery gives 7.4V and that is suitable for the Node -mcu since Node - mcu can take maximum 15 V.

● Laser - The laser beam generated by the laser is used to guide the rover in the correct direction covering the checkpoints and reaching the parking area in minimum distance.

Rover:

  1. Mechanical Systems:

● Wheels-A pair of wheels along with the Caster wheel provide mobility for navigation.

● Chassis-Includes the top plate, bottom plate and a pair of side plates which forms the body of the Rover.

● DC Motors -The wheels of the Rover are driven by a pair of D.C. motors. Soldering is done in order to provide power supply using the 5V battery pack.

  1. Electronic Systems:

● Motor Driver- If we directly connect the D.C. motors to the output of the Raspberry Pi, the pins may get damaged Also it may not provide sufficient current (40-80 mA) to drive the DC Motors. Thus Motor Driver acts as a bridge between the D.C. motors and Raspberry in order to regulate current flow.

● 5V Battery Pack- Provides power supply to run the D.C. motors

● Raspberry Pi- It is a credit card sized single board computer. It is programmed using Python here. PWM output is generated using the Pi by interfacing it with the motor driver which controls four GPIO inputs of the Raspberry Pi which enable the rover to move.

● Camera-The camera is attached to the top of the Rover . It detects the laser beam emitted by the Base station in order to track the next location to be traversed.

● Wifi Dongle - The Wifi Dongle is used to create a wifi access point on the raspberry pi thus facilitating wireless connections . It is connected directly to the pi.

● Male Female Jumpers - These wires are used to make the interconnections between Raspberry Pi and the motor driver.

● Power bank - The power bank is connected to the Raspberry Pi. It is used to power the Pi.

● RGB LED - While the rover traverses from one AFN to other, when it reaches a checkpoint, it glows the RGB LED related to the identified colour. This is the use of the RGB LED.

How did they communicate?

We used TCP/IP communication. The laptop calculated the path to the base station. It stored all the coordinates in an array. The coordinates were sent one by one, only after the movement of the rover was acknowledged. As the spotter received the coordinate, it moved itself to cover an area of one cell. As the spotter moved, it sent an acknowledgement to the laptop. The laptop further sent a signal to the rover to move. The rover detected the laser and moved accordingly, sending an acknowledgement once done. When both the spotter and rover were one cell forward, the last acknowledgement sent by the rover signalled the laptop to send the next coordinates to the spotter.

  • Developed by Kanksha Zaveri, Romit Shah, Shreya Naik and Niti Shah

eyantra-1's People

Contributors

nits2097 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.