# 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