Git Product home page Git Product logo

crtclient's Introduction

The Clover Rescue Project

CopterHack-2022, Clover Rescue Team - When something went wrong.

Team information

The list of team members

Кирилл Лещинский, @k_leshchinskiy - TeamLead.
Кузнецов Михаил, @fletchling_dev - Software Developer.
Даниил Валишин, @Astel_1 - Tech Specialist/Python programmer.
Роман Сибирцев, @r_sibirtsev - Hardware engineer/tester.

Project description

Table of contents



Project Idea

The idea of this project came immediately, it lies on the surface. A system that makes situations where pilots cannot find their flown away drone or stop it at full speed flying into a wall, a thing of the past, is something that pilots have been missing for a long time. The key feature of our software is that users can manage their Clover from anywhere in the world, this software replaces FTP and SSH (users can upload the code to their drone and run it directly from our site). Also, if radio communication with the Clover is lost, it can be returned to the user's or takeoff location with just one click. Moreover, the user can monitor the status in realtime, as well as location, camera data, and airborne position data of the drone. There are also functions that can be useful in emergency situations, such as landing, hovering and disarming the drone remotely from our website. A mobile version of the site with full functionality is also available!

Presentation video
Functional review video
Link to the website

How It Works

Links to repositories:

The first repository is the main server that users and their drones connect to. This server provides communication and control of the drone through a user-friendly interface. The second repository represents the server that runs on the drone and connects to the main server. This server reads and transmits telemetry to the main server (which is displayed as a 3-D visualization). It also takes commands from the user and executes them. The Socket.IO library is used to transfer data between the client, server and drone. After connecting the client and the drone to the server, they are added to a unique room with their UID, and already in it they exchange data. You can learn more about how it works by visiting the repositories.

Required Hardware

All you need is COEX Clover 3/4, Raspberry Pi 3/4, USB WIFI Modem and RPi Camera!

Operating Instructions

Firstly, users need to register on our website.



After registration the main control panel and installation instructions open.

Installation Instructions

First, you need to connect to your Clover via SSH and paste the command indicated in the instructions that opened (if it is not open, you can open it by clicking on the "Instructions" button). The command looks like that:
wget https://48c5-94-29-124-254.eu.ngrok.io/assets/installers/install.sh && sudo chmod 777 ./install.sh && ./install.sh #UID
When the software is installed, the server will automatically start. After installation, you can forget about manually launching the software, it will automatically start and connect to the main server after turning on the Сlover!

Work Example, Functions




On the website there are several commands for controlling the drone. “Get photo” allows you to get an image from the drone camera. The “Land” button lands the drone. The "Return" command returns drone to the operator, according to GPS coordinates (this requires a stable connection of the drone with 10 or more satellites). "Hover" makes the drone hover in the air. "Disarm" instantly disables the drone's motors, so you need to be careful with this command. The “Choose Code” and “Upload & Run” buttons allow users to select a code written in Python, upload it to the drone and run it. Also, users will see output of their code and all its errors. There is also interactive map with markers, blue marker the is location of the user, purple marker is the location of his drone. Also, as you can see, there is a real-time visualization of the Clover’s airborne position, as well as its altitude and the average voltage between the battery cells.

Settings




In the settings users can set speed and altitude of the return.



Users can choose an action after return (hover or land).



...And the place where the drone will return (User coordinates or takeoff coordinates).



Users can also set the period for automatically receiving photos from the drone.


At the top of the website is the status of your drone (Disconnected/Connected, disarmed, Connected, in flight).


Mobile Version


The mobile version of the site has absolutely the same functionality (swipe to the right/left to move between control panels).

Bots on the social networks and messengers


Bots on the social networks is an example of what you can do based on our project. They have the main functionality of our website and The Clover Rescue Team is still working on their features.

VK Bot Repository
Link to the bot
Demonstration video of the bot

Our plans for the future


We do not plan to stop and want to continue the development. Here is a list of what will be added.

1. Built-in code editor.

2. More drone control bots in social networks and messengers.

3. Socket API will be written so users can create their applications in different programming languages based on our app.

4. Drone swarm controls.

crtclient's People

Contributors

devmbs avatar imgbotapp avatar

Stargazers

 avatar

Watchers

 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.