cyrillkuettel / ecstatic-pilot

Navigation software for autonomous robot. Real-time object detection using high-performance neural network inference computing framework. To communicate with microcontroller, text-based bluetooth communication. Progress of the roboter is shown on Website: We communicate with the server using websockets https://github.com/cyrillkuettel/rover/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ecstatic-pilot

demo.mp4

Features

rover

This is the software for a robot. The robot is specifically built to get best scores at a tournament at HSLU. It drives trough a parcour. A Smartphone is attached to it. The goal from a software perspective is to detect plants in real-time and communicate this the with hardware, so that the roboters stops. It then takes a image, which is uploaded to a webserver. The species of the plant will also be determined by calling an API. This is all happening completly autonomous without user input. The app will connect to a Bluetooth device in order to send commands to a microcontroller. At the same time this is happening, status updates are sent to the webserver.

Concept

rover

Finite State machine

finite state machine

Documentation

For the complete documentation of this hslu project, find it here: Gruppe38_Abschlussdokumentation_100622.pdf

Acknowledgments

This project wouldn't exist without libraries and other open-source projects.

  • SimpleBluetoothTerminal to enable communicating with a ESP32 microcontroller over Bluetooth.
  • CameraXBasic Example project which uses the CameraX library.
  • ncnn-android-nanodet NanoDet object detection, which depends on ncnn. I modified the code to only check for certain objects. (And ignore all the rest)
  • nv-websocket-client ,which offers a High-quality WebSocket client implementation for Android in Java.
  • NanoDet Super fast and lightweight anchor-free object detection model. Real-time on mobile devices.

About

Navigation software for autonomous robot. Real-time object detection using high-performance neural network inference computing framework. To communicate with microcontroller, text-based bluetooth communication. Progress of the roboter is shown on Website: We communicate with the server using websockets https://github.com/cyrillkuettel/rover/


Languages

Language:C++ 86.5%Language:C 8.9%Language:CMake 2.3%Language:Java 1.3%Language:Kotlin 1.0%Language:Shell 0.0%