Skip to content

A ReactJs-based web client ๐Ÿ•น๏ธ provides a user-friendly interface for controlling robots ๐Ÿค–, emphasizing smooth movements, turn control, and camera live streaming. ๐Ÿ“ท

Notifications You must be signed in to change notification settings

mesutrk95/goddamn-robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

51 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿšฉ RaspberreyPI Remote Tank Chassis Robot ๐Ÿšฉ

This project contains all neccessary source codes to control a remote Raspberry Pi based tank chassis robot, Dedicated to lovers of robotics & software developers!

You can have your own tank chassis design depending on the hardwares you may have. Click here to see demo images & videos ๐Ÿ’ก of what i have made.

If you are looking for the hardware implementation then please follow this link or If you are intereseted to know more about the project software implementation then please stay here! ๐ŸŠ

My Robot Design

๐Ÿ”Ž Overview

I have used Wifi communication protocol to connect the robot to its controller, Thus the robot and robot's controller should be connected to a same Wifi network, You can connect them to your home Wifi, Or you can setup the RPI to make an access point, That there is more details about this kind of setup.

The RPI4 considered to be a Server and the web client application is our Client. The project consists of two separated projects for controlling the robot :

๐Ÿฆพ Features

Many other interesting features can be added to the robot, And they can realy make the robot smarter! The robot is still under development. At the time of writing the documentation, These are the main features of robot:

  • Smooth movements in all directions
  • Smooth turn control
  • Camera live stream
  • Robot keyboard controller
  • Robot mouse controller
  • Robot joystick controller

๐Ÿค– Robot application (Server)

The robot Nodejs application simply makes a SocketIO server that is listening to port 5123 by default. The app has got access to the RPI GPIO and the RPI camera, then you must have setup your RPI config to enable camera.

Read more about the robot application script and installation guides.

๐Ÿ•น๏ธ Robot webapp controller (Client)

The robot controller web application is based on web, And the client application developed using ReactJs. The main responsibility of this project is providing a good user interface to control the remote Robot. You can run this project on another machine or you even can run it on the robot RPI computer.

Read more about the robot web app controller and installation guides.

๐Ÿ”Œ Hardwares & Modules

The list below, includes all necessary modules and hardwares to make the robot and the
design depended parts were ignored in this list.

  • 1 x Tank chassis with 2 DC motors
  • 1 x Raspberry PI 4
  • 1 x Raspberry PI camera (OV5647)
  • 1 x L298 motor driver controller module
  • 1 x SG90 Servo motor
  • 1 x HX-2S-10 Series Li-ion battery managment system (BMS) module
  • 1 x TP-5100 Series Li-ion battery charger module
  • 2 x 5V-2A DC/DC Step-down voltage converter module (MP1584EN, MINI-360 ...)
  • 1 x 2A DC/DC Boost voltage converter module (MT3608 Module)
  • 4 x Li-ion 18650 battery (~2600mah)
  • 1 x USB to Type-C cable
  • 1 x Two way electric switch

โš ๏ธ Security!

Make sure about your Wifi modem that there you haven't got any data leak! Transmitting the camera and control data happens over the insecure http & ws protocols, you can secure the connections by implementing the https & wss contexts.

About

A ReactJs-based web client ๐Ÿ•น๏ธ provides a user-friendly interface for controlling robots ๐Ÿค–, emphasizing smooth movements, turn control, and camera live streaming. ๐Ÿ“ท

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published