mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-20 00:51:41 +00:00
154 lines
2.4 KiB
Markdown
154 lines
2.4 KiB
Markdown
# Chameleon-Vision
|
|
|
|
a free software for FRC teams to use for vision proccesing on their robots
|
|
|
|
## getting started
|
|
|
|
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
|
|
|
|
|
|
|
|
### Prerequisites
|
|
|
|
|
|
|
|
so in order to run this project we will need to install python in order to run the backend and node.js with vue.js in order to run the fronted
|
|
|
|
#### backend
|
|
|
|
- python 3.7 and above
|
|
|
|
- opencv 3.4.5
|
|
|
|
- tornado web framework
|
|
|
|
- robotpy-cscore
|
|
|
|
- pynetworktables
|
|
|
|
- pymq
|
|
|
|
|
|
|
|
#### frontend
|
|
|
|
- vue.js
|
|
|
|
- vuex
|
|
|
|
- vue-router
|
|
|
|
- less and less-loader
|
|
|
|
- iView
|
|
|
|
- vue-native-websocket
|
|
|
|
|
|
|
|
### installing
|
|
|
|
#### for the backend
|
|
|
|
1. sudo apt-get update
|
|
|
|
2. apt-get dist-upgrade
|
|
|
|
3. sudo apt-get upgrade
|
|
|
|
4. sudo apt-get install python3-pip python3-dev cmake zip unzip build-essential git libnss-mdns --fix-missing
|
|
|
|
5. sudo pip3 install numpy (if on raspberry pi do "sudo apt-get install python3-numpy")
|
|
6. sudo apt-get install python3-opencv
|
|
7. pip3 install robotpy-cscore
|
|
8. pip3 install pyzmq
|
|
9. pip3 install tornado
|
|
|
|
|
|
|
|
to run the backend:
|
|
|
|
```
|
|
|
|
sudo python3 Main.py
|
|
|
|
```
|
|
|
|
if backed gets suck or no camera are recognized after a crash do:
|
|
|
|
```
|
|
|
|
sudo pkill -9 python3
|
|
|
|
```
|
|
|
|
#### compiling:
|
|
|
|
in order to compile the program for runtime run: (still needs to install dependencies)
|
|
|
|
```
|
|
|
|
python3 -m nuitka --follow-imports Main.py
|
|
|
|
```
|
|
|
|
#### for the frontend
|
|
|
|
1. sudo apt-get install nodejs npm
|
|
|
|
2. cd chameleon-client
|
|
|
|
3. sudo npm install
|
|
|
|
4. sudo npm install @vue/cli
|
|
|
|
|
|
|
|
to run the front end you can open the cli ui by:
|
|
|
|
```
|
|
|
|
vue ui
|
|
|
|
```
|
|
|
|
of you can auto serve the ui by
|
|
|
|
```
|
|
|
|
npm run serve
|
|
|
|
```
|
|
|
|
## Hardware
|
|
|
|
this is important when choosing your sbc it is more important to have a good usb controller that a good cpu
|
|
|
|
on the odroid xu4 which is very fast i have got many bottlenecks from the usb controller and many times making the program crach
|
|
|
|
#### networking
|
|
|
|
it is very important to install Bonjour
|
|
|
|
|
|
|
|
|
|
## docs
|
|
|
|
main docs can be found at [google docs](https://docs.google.com/document/d/1qDuwHtpIPJfyXGIL8PJG89LZwRWbn2J9f-5g19lWL9U/edit?usp=sharing)
|
|
|
|
|
|
|
|
## Authors
|
|
|
|
* **Sagi Frimer** - *initial work* - websocket, settings manager, UI
|
|
|
|
* **Ori Agranat** - *main coder* - vision loop , UI, websocket, networktables
|
|
|
|
|
|
|
|
## Acknowledgments
|
|
|
|
* the [robotpy project](https://github.com/robotpy) and mainly the cscore libs
|
|
|
|
* basically all of stackoverflow |