a free software for FRC teams to use for vision proccesing on their robots
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.
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
-
python 3.7 and above
-
opencv 3.4.5
-
tornado web framework
-
robotpy-cscore
-
pynetworktables
-
pymq
-
vue.js
-
vuex
-
vue-router
-
less and less-loader
-
iView
-
vue-native-websocket
-
sudo apt-get update
-
apt-get dist-upgrade
-
sudo apt-get upgrade
-
sudo apt-get install python3-pip python3-dev cmake zip unzip build-essential git libnss-mdns --fix-missing
-
sudo pip3 install numpy (if on raspberry pi do "sudo apt-get install python3-numpy")
-
sudo apt-get install python3-opencv
-
pip3 install robotpy-cscore
-
pip3 install pyzmq
-
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
in order to compile the program for runtime run: (still needs to install dependencies)
python3 -m nuitka --follow-imports Main.py
-
sudo apt-get install nodejs npm
-
cd chameleon-client
-
sudo npm install
-
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
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
it is very important to install Bonjour
main docs can be found at google docs
-
Sagi Frimer - initial work - websocket, settings manager, UI
-
Ori Agranat - main coder - vision loop , UI, websocket, networktables
-
the robotpy project and mainly the cscore libs
-
basically all of stackoverflow
v4l2-ctl -d /dev/video0 -c auto_exposure=1 v4l2-ctl -d /dev/video0 -c exposure_time_absolute=500