* Add some config stuff, run format * Create JacksonUtils.java * Fix deserialization, run wpiformat * initial work on source manager * work on USB camera class * wip USB Camera * rename root folder * added USB Camera Source * Fix some errors, run spotless * finished VIsion source manager * bugfix unversioned git files and added default cam config constructor * Apply spotless, add simpler CameraConfiguration ctor * [WIP] unit tests * Fixed camera mocking * added equal test for class * finalized test * added another cam to test & rebase * test bugfix * Better handle nonexistant files * removed camera validation and mockito * Update WPI maven repo to dev, change to version with VideoCapture fix * added Quirky camera class * remove name check for cam quirk , apply spotless * added quirk test Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
Chameleon-Vision
Chameleon Vision is free open-source software for FRC teams to use for vision proccesing on their robots.
There instructions are for compiling (contributing) and running the source-code of the project. This is NOT intended for the co-processor setup or your testing PC. To run the program normally (from a build .jar file), take a look at our ReadTheDocs documentation for installation here
These instruction are for the Chameleon Vision's backend/server in Java
To run the UI's sourcecode (optional) see the UI's readme
Hardware
Currently any 64-Bit devices (Windows, Linux and Mac OS) are supported.
32 Bit devices are not supported.
At least one USB camera (supported one is recommended)
Development setup
Prerequisites
- Java Development Kit 11: Follow the correct instructions for your platform from AdoptOpenJDK -When running the installer, follow the given instructions and ensure that you select Add to PATH, Associate .jar, and Set JAVA_HOME variable.
- Chameleon-Vision source code
Clone via a git client or download as zip and extract the source code into a empty folder.
git clone -b 3.0 https://github.com/Chameleon-Vision/chameleon-vision.git
For the co-processor(Linux system)
- Avahi Daemon:
sudo apt-get install avahi-daemon avahi-discover avahi-utils libnss-mdns mdns-scan
For the Driver Station
- Bonjour Download and install Bonjour from here
- VC++ Redistributable (Windows only) Download and install this
Importing to IDEA
We recommend the use of IntelliJ IDEA for running the source-code
-
Import Project
-
Choose the path to
chameleon-serverinside the copy of chameleon-vision that you cloned or downloaded
-
Click Ok, go to File -> Project Structure -> Project -> Project SDK, and then choose JDK 11.
-
Gradle will automatically download the necessary dependencies
Note: At this time, the program is not in a runnable state.
Authors
-
Sagi Frimer - initial work - websocket, settings manager, UI
-
Ori Agranat - main coder - project manager, vision loop, UI, websocket, networktables
-
Omer Zipory - developer - vision loop, websocket, networking, documentation, UI
-
Banks Troutman - developer - vision loop, websocket, networking, project structue
-
Matt Morley - developer - vision loop, project structue, documentation, solvePNP
Acknowledgments
-
WPILib - Specifically cscore, CameraServer, NTCore, and OpenCV.
-
Apache Commons - Specifically Commons Math, and Commons Lang
License
Usage of Chameleon Vision must fall under all terms of GNU General Public License
