This repository contains the code for the oneERNI global hackathon divertiteam project.
- Programming Language: C#
- Frontend Framework: Angular 15
- Backend Framework: .NET 7
-
Programming Language: Python
- Flask
- Flask-Talisman (For https)
-
Dyndns (for robot public IP Address finding)
-
NoIP (For keep IP & Name syncronized)
-
Let's Encrypt CertBot (To generate TLS certificates)
-
Features:
- Robot movement controls (Left, right, forward, backward)
- Camera movement controls (Left, right, up, down, center)
- Talk (send string to make the robot talk)
- Record movement (start/stop recording)
- Replay recorded movement
- Follow line (follows a black line in the floor)
- Video stream (Stream video from front Robot camera)
- Robot alive signal (To know if the Robot is online)
- Https communications.
- Ensure you have .NET 7 installed on your machine.
- Ensure you have Node.js and Angular CLI installed on your machine.
-
Clone the repository
git clone https://github.com/SamuelHdez/oneERNI-global-hackaton-divertiteam.git
-
Navigate to the project folder
cd oneERNI-global-hackaton
-
Install NPM packages
npm install
-
Restore NuGet packages
-
Run the project
-
Angular Testing with Karma/Jasmine: 47 tests.
-
.NET Testing with xUnit: 19 tests.
You can access to the Website here: https://divertiteam-hackaton.azurewebsites.net/.
You can control the robot and camera by pressing the keys on your keyboard or by clicking on the keys on the interface.
ROBOT
- W: Move forward
- S: Move backward
- A: Move to the left
- D: Move to the right
CAMERA
- ↑: Look up
- ↓: Look down
- ←: Look to the left
- →: Look to the right
- SPACE: Center the camera
You can save manually made routes and then send the order to the robot to repeat it automatically. To do this, you can use the buttons under the camera.
- ⏺️ Record: Recording begins. Once the recording is running you can move the robot. The system will save all movements from that point on.
- ⏸️ Stop: Stop recording. From this point on, the movements made by the robot will not be stored in the system.
▶️ Play: Plays back the last recording made of the robot's movements. The robot will move autonomously from the point where it is, emulating the movements stored in the system.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
-
Samuel Hdez - @SamuelHdez
-
Carmen Avram - @carmenavram
-
Andrés Vázquez - @AndresVazqz
-
Ferran Balaguer
-
David Soto - @DavidSotoDalmau
Project Link: https://github.com/SamuelHdez/oneERNI-global-hackaton-divertiteam