Skip to content

An autonomous robot capable of traversing alien environments and sending relevant data retrieved back to the user.

License

Notifications You must be signed in to change notification settings

7enTropy7/cypher_droid

Repository files navigation

Cypher Droid

-----------------------------------------------------

This project was completed under the guidance of Dr. P. Mahalakshmi.

Project Thesis: Click Here

Introduction

Cypher is an autonomous robot capable of traversing alien environments and sending relevant data retrieved back to the user. It uses a VR based controller that allows the user to take control of the bot and use the real-time video feed from the bot to manipulate various aspects of the bot.

How Stuff Works

The locomotion of the VR bot is manipulated by a bluetooth enabled gaming controller. We plan on using a dual joystick controller for experimentation of the concept. The signals transmitted by the controller to the raspberry pi across bluetooth will first be parsed at a satisfactory refresh rate to minimize lag. These joystick axis commands will then be parsed using pygame module and will be converted to the appropriate GPIO on-off signals on the raspberry pi which will then be sent to the motor driver circuit.

The raspberry pi will have a picam attached onboard which will stream the live video. The picam will be placed on a servo bracket that allows 2 degrees of freedom. The video streamed by the picamera will be hosted on a flask server website on the raspberry pi itself. The website, when opened on a handheld device, will render the live feed in a 2-windowed VR format.

The code hosted on the Flask server will additionally track the gyroscopic values of the client device. These x-y axis readings will be sent back to the flask server on the raspberry pi where they will be translated to the appropriate PWM based servo commands that will move the servo bracket to change the camera view in real time.

cypher

Dependencies

$ pip3 install -r requirements.txt

Instructions

$ python3 main.py

Note :

  • After running the main.py file, open the address: *IP of raspberry pi:5000 on your smartphone webbrowser.
  • Preferably use Firefox browser on Android to avoid sensor data permission related issues
  • Make sure your smartphone and raspberry pi are connected to the same wifi network.
  • Press Connect button on webpage.
  • Hit Calibrate button after pointing phone in same direction as cYpher.

cYpher's now ready to go out for a spin!

-----------------------------------------------------

Demonstration

VR Headset View

ezgif com-gif-maker (7)

Realtime Demo

ezgif com-gif-maker (7)

Android Application and Raspberry Pi

   

Creators

About

An autonomous robot capable of traversing alien environments and sending relevant data retrieved back to the user.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published