- C 90.8%
- Makefile 7.9%
- CSS 1.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .idea | ||
| assets | ||
| .gitignore | ||
| demo.mkv | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| rover.c | ||
| server.c | ||
| server.css | ||
! Note
This project is only supported on linux, so if you are on Windows you might not get everything to work.
EfficientRover
If you have a rover on a far away planet you don't want to waste any bits sending commands. These scripts make sending routes more efficient (assuming going forward is used most).
Workings
The server script accepts the connection from the rover. When it receives "ping" it sends a randomly generated string of 1, 01, 001 and 000. with 50% 1 for forward, 25% 01 for backwards and 12.5% 001 and 000 for left and right. the efficiency comes from the fact that the most used (forward) is only 1 character, and lesser used actions are more. 3blue1brown explains it very well (https://youtu.be/l6DKRf-fAAM?si=0wl0j-8jQxhWdPC4&t=208). That video is also where I got the idea for this project.
DEMO
Usage
make deployshould compile and start everything. if not start the server then the rover.- Press the ping button to get the instructions and move the rover.
- Press the reset button to re-center the rover.
Setup with make
Everything should work with make:
make requirements
make deploy
Manual setup
If make does not work you can run:
Requirements:
sudo apt install build-essential pkg-config libgtk-3-dev
Compilation:
compile with gtk:
gcc `pkg-config --cflags gtk+-3.0` -o rover rover.c `pkg-config --libs gtk+-3.0` && gcc `pkg-config --cflags gtk+-3.0` server.c -o server `pkg-config --libs gtk+-3.0`
AI usage
NONE, no AI was used in this project