From 97a6e1419d159262c37eec6463e79417d19af692 Mon Sep 17 00:00:00 2001 From: oriagranat9 Date: Sat, 4 Jan 2020 11:53:18 -0800 Subject: [PATCH] V2.1 (#37) * Toggle mode * RangeSlider able to be disabled * Added another window from the press of the button * removed warning * Major changes to colorpicker page * Major changes to threshold tab * fix for BGR not RGB * Reverted changes of colorpicker.vue * Updated Readme.md Mainly Development Setup * Update readme small changes * updated readme.md Authors credit update * updated readme.md added usb camera to hardware * Updated UI readme added nodejs installation and explanation * Unit test vision (and implement networktable sending) * finished color picker in the ui * bugfix for correct tab * cleanup and commenting * Reveted changes to range slider * bug fix for color picker * Pipeline mat copy fix * Added crosshair pipe * compilation fix * removed unsued comment * moved calibration stuff to static class under 2d pipeline settings * Added debug print commented * Reverted subclass "Calibration" Fixed bug where single point calibration causes crash when no target is found * disable dual point crosshair for now * Proper no target found fix, and snackbar error now showing * Removed java fix for crash bug * fixed problem with clear points in single point calibration * change compatator to sqared values to make caluclation faster (no need for sqare root function) * fixed roated camera too heigh for the UI * Revert "fixed roated camera too heigh for the UI" This reverts commit 50c8ecd34560ac0171b8d7497bec2e2d1d93d43f. * fixed rotated camera too heigh for UI and corrected scalling * updated pom to fix the camera buffer issue * added pom variables * Created new CaptureStaticProperties when rotating cam * File stucture change, moved Pipeline implementation and their settings to /impl folder, refracted imports * ignore auto created iml file * ignore auto created iml file * Fix lack of access problems after moving pipleline impl out of the same package * Removed commented lines * Fixed bug when selecting the same 90 deg rotation twice causes crosshair to move * cleaned up single point calibration and bug fixed isBinary in driverMode * Enum fix for the UI * typo * fixed Stream divisor problems see issue 19 in github issues * fixed compilation error for test class * Fixed problem when rotating camera with stream divisor * Spelling + button style change * Add speed limit to UI Updates * Added runtime arg to fix settings permissions, and on-first-init * Added FileHelper class to manage setting permissions for all files. * Removed unnecessary argument * NT can set pipeline to out on bound indexes * bugfix in platform check * added pipeline popup * Round steam divisor resolution * added regex test for camera name and pipe name * Fix for Renaming pipeline leaves old config file #14 * Version change * adde ( ) - and . to regex * Replace NT timestamp with latency * added back NT flush * Add solvePNP, 3d tab on the UI, and some other misc bug fixes (#35) * Rebase solvePNP on master * added 3D tab minimap and csv reader * More solvePNP * Create draw pipe for pnp data * SolvePNP piping work * Move sorting into solvepnppipe * Create calibration pipeline * Update CalibrateSolvePNPPipeline.java * add camera tilt angle * Add calibration slider and snapshot button to 3D view * Mirror updates in the socket handler * add 3d calibration mode to the pipeline manager * created calibration functions in ui and backend * Start plumbing calibration * Add snapshot and other handling to the RequestHandler * added select resolution before starting calibration * Rename solvePNPPipe to bounding box solve pnp pipe * Update BoundingBoxSolvePNPPipe.java * Add Mat serializer and CameraCalibrationConfig * Begun calibration saving, fixed UI/Backend snapshot count mismatch * Add (unplumbed) option to set checkerboard size This will allow users to change the units their calibration is in * Create chessboard.png * Fix calibration NPE * changed string serialization to a json send * bug fixed cancellation button * Fix spelling of snapshot in 3d.vue * Plumb resolution change * Set resolution during config, start on config serialization * Update .gitignore * Config fixes * Start transition away from cvpipeline3d * fix NPE on uncalibrated cameras * clear list on fail * Fix video mode index error * ignore getters in camera calibration config * Create json constructor for jsonmat * get solvePNP mostly returning sane values * Fix solvePNP bug and add unit test * FIx calibration mat truncation * added capture amount model upload and minimap data * Standardize on meters in calibration and bounding box * fix json out of bounds and handle null calibration more gracefully * don't put text on calibrate image, go back to inches * convert distance to meters this means calibration will need to be in inches * Actually save raw contor * Update GroupContoursPipe.java * Add all calibration return to camera capture * hard code 2019 target * bugfixed draw2d added fail calib popup, merge end and cancel added the res index to the calib start * Clarify error message and draw more fancy rectangles * Cleanup memory in solvepnp * re did minimap component * fix npe if left/right is null * remove references to 2d * try-catch running the current pipeline * Add method to find corners using the harris corner detector * Possibly fix left/right missmatch * Fix 3D Tab error * FIx file permissions, mat serializer adjustments * fixed mini map for field coordinates * mini map changes fov * Update SolvePNPPipe.java * get rid of target corners * some memory leak fixes * fixed mini map location * added position under minimap * changed player fov look * put all targets in the web send * re did target send to ui added target tables, bugfix calibration * fixed y position * Add tilt angle to capture properties * maybe fix y axis in minimap * Add square size to onCalibrationEnding * Possibly add square size to UI * fix NPE with pitch * Fix bug with sending multiple targets * Only instantiate 3d stuff if we are in 3d mode * Fix array list exceptions * Fix bug in sort contors list was truncated too early * added download chess, tilt setting and ordinal tilt, * added square size connection * removed unused code * Update pom version to 2.1-RELEASE * Send camera calibrations to UI * Stream pose list to a LIst * Only stream necessary parts of the aux list entry * Make broadcastMessage synchronized to prevent ConcurrentModificationExceptions * added fps counter changed squaresize steps bug fixes in tables * bugfix camera settings cam wont change Authored-by: oriagranat9 * disable pose print * standardize on calibration in inches and add square size as a divisor This should do the same thing as calibrating in the correct units but it doesnt like meeeeee * updated pom for release, 3d calibration change, cosmetic changes * WIP: 3D res filter * bug fix in index parsing * add good features to track point finder * offset found corners by old tl position * Add method to find most extreme per-quadrant points for solvePNP * re did pipeline duplication * Add release method to standard cv pipeline * remove contor from tracked target * Explicitly release all the intermediate results * avoid creating new mats in group contors pipe * removed mat release * updated pom * Actually cache the last target We were trying to but i never hooked this part up * Fix memory leak in sort contros pipe * Fix memory leak in sort contors pipe * Help more with memory usage in speckle reject and draw pipes * minor bugfixes to the ui * Start moving stream into vision process Should probs move into a pipe to be idimatic * justify bug fix * Fix sort left/right bug * Fix target grouping bug * Avoid allocating a new mat in solvePNP, perf. increases in group contors pipe * Event scripts (#36) * Begin scripting work * More scripting work * Finalize scripting system * Begin implementing script events * Finalize script system Co-authored-by: Banks T Co-authored-by: OmerZ7 Co-authored-by: Matt Co-authored-by: Banks T --- .gitignore | 2 + README.md | 79 ++-- chameleon-client/README.md | 9 +- chameleon-client/package-lock.json | 6 + chameleon-client/package.json | 1 + chameleon-client/src/assets/chessboard.png | Bin 0 -> 62550 bytes chameleon-client/src/assets/robotIcon.svg | 140 +++++++ .../src/components/3D/MiniMap.vue | 165 ++++++++ .../components/OutputTab/DualCalibration.vue | 4 +- .../OutputTab/SingleCalibration.vue | 10 +- .../src/components/cv-number-input.vue | 4 +- .../src/components/cv-range-slider.vue | 4 +- chameleon-client/src/components/cv-switch.vue | 4 +- chameleon-client/src/plugins/ColorPicker.js | 121 ++++++ chameleon-client/src/router.js | 2 +- chameleon-client/src/store.js | 15 +- chameleon-client/src/views/Camera.vue | 175 +++++++-- .../src/views/CameraViewes/3D.vue | 96 +++++ .../src/views/CameraViewes/InputTab.vue | 9 +- .../src/views/CameraViewes/OutputTab.vue | 13 +- .../src/views/CameraViewes/ThresholdTab.vue | 99 ++++- .../src/views/SettingsViewes/Cameras.vue | 156 +++++++- chameleon-server/chameleon-server.iml | 86 ----- chameleon-server/chameleon-vision.iml | 42 +- chameleon-server/pom.xml | 55 ++- .../Exceptions/DuplicatedKeyException.java | 7 + .../main/java/com/chameleonvision/Main.java | 22 +- .../config/CameraCalibrationConfig.java | 64 +++ .../chameleonvision/config/CameraConfig.java | 120 ++++-- .../chameleonvision/config/ConfigManager.java | 12 +- .../config/FullCameraConfiguration.java | 8 +- .../com/chameleonvision/config/JsonMat.java | 78 ++++ .../config/PipelineConfig.java | 56 +-- .../network/NetworkManager.java | 2 +- .../scripting/ScriptCommandType.java | 14 + .../scripting/ScriptConfig.java | 23 ++ .../scripting/ScriptEvent.java | 35 ++ .../scripting/ScriptEventType.java | 21 + .../scripting/ScriptManager.java | 126 ++++++ .../com/chameleonvision/util/FileHelper.java | 44 +++ .../chameleonvision/util/JacksonHelper.java | 2 +- .../com/chameleonvision/util/MathHandler.java | 5 + .../com/chameleonvision/util/Platform.java | 6 +- .../util/ProgramDirectoryUtilities.java | 9 +- .../com/chameleonvision/util/ShellExec.java | 37 ++ .../chameleonvision/vision/VisionManager.java | 11 +- .../chameleonvision/vision/VisionProcess.java | 203 +++++++--- .../vision/camera/CameraCapture.java | 6 + .../vision/camera/CameraStreamer.java | 40 +- .../vision/camera/USBCameraCapture.java | 43 ++- .../vision/camera/USBCaptureProperties.java | 9 +- .../vision/enums/ImageRotationMode.java | 2 + .../vision/image/CaptureProperties.java | 12 +- .../vision/image/StaticImageCapture.java | 12 + .../vision/pipeline/CVPipeline.java | 6 +- .../vision/pipeline/CVPipeline3d.java | 35 -- .../vision/pipeline/CVPipeline3dSettings.java | 7 - .../vision/pipeline/{pipes => }/Pipe.java | 2 +- .../vision/pipeline/PipelineManager.java | 84 ++-- .../pipeline/impl/Calibrate3dPipeline.java | 167 ++++++++ .../{ => impl}/DriverVisionPipeline.java | 25 +- .../StandardCVPipeline.java} | 127 ++++-- .../StandardCVPipelineSettings.java} | 16 +- .../vision/pipeline/pipes/BlurPipe.java | 4 +- .../pipeline/pipes/Collect2dTargetsPipe.java | 58 ++- .../pipeline/pipes/Draw2dContoursPipe.java | 24 +- .../pipeline/pipes/Draw2dCrosshairPipe.java | 84 ++++ .../pipeline/pipes/DrawSolvePNPPipe.java | 109 ++++++ .../pipeline/pipes/ErodeDilatePipe.java | 4 +- .../pipeline/pipes/FilterContoursPipe.java | 1 + .../pipeline/pipes/FindContoursPipe.java | 1 + .../pipeline/pipes/GroupContoursPipe.java | 40 +- .../vision/pipeline/pipes/HsvPipe.java | 1 + .../vision/pipeline/pipes/OutputMatPipe.java | 1 + .../vision/pipeline/pipes/RotateFlipPipe.java | 1 + .../vision/pipeline/pipes/SolvePNPPipe.java | 365 ++++++++++++++++++ .../pipeline/pipes/SortContoursPipe.java | 37 +- .../pipeline/pipes/SpeckleRejectPipe.java | 5 + .../chameleonvision/web/RequestHandler.java | 131 ++++++- .../java/com/chameleonvision/web/Server.java | 5 + .../chameleonvision/web/SocketHandler.java | 124 +++--- .../wpi/first/wpilibj/geometry/Pose2d.java | 271 +++++++++++++ .../first/wpilibj/geometry/Rotation2d.java | 251 ++++++++++++ .../first/wpilibj/geometry/Transform2d.java | 106 +++++ .../first/wpilibj/geometry/Translation2d.java | 243 ++++++++++++ .../wpi/first/wpilibj/geometry/Twist2d.java | 76 ++++ .../edu/wpi/first/wpilibj/util/Units.java | 104 +++++ .../src/main/resources/web/img/chessboard.png | Bin 0 -> 62550 bytes .../config/StaticCaptureTest.java | 20 +- .../scripting/ScriptingTest.java | 29 ++ .../chameleonvision/vision/pipeline/20in.png | Bin 0 -> 174001 bytes .../vision/pipeline/30deg40in.png | Bin 0 -> 54793 bytes .../vision/pipeline/40deg20in.png | Bin 0 -> 135345 bytes .../chameleonvision/vision/pipeline/40in.png | Bin 0 -> 62046 bytes .../vision/pipeline/SolvePNPtest.java | 38 ++ .../vision/pipeline/stream.png | Bin 0 -> 1834322 bytes 96 files changed, 4251 insertions(+), 677 deletions(-) create mode 100644 chameleon-client/src/assets/chessboard.png create mode 100644 chameleon-client/src/assets/robotIcon.svg create mode 100644 chameleon-client/src/components/3D/MiniMap.vue create mode 100644 chameleon-client/src/plugins/ColorPicker.js create mode 100644 chameleon-client/src/views/CameraViewes/3D.vue delete mode 100644 chameleon-server/chameleon-server.iml create mode 100644 chameleon-server/src/main/java/com/chameleonvision/Exceptions/DuplicatedKeyException.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/config/CameraCalibrationConfig.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/config/JsonMat.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptCommandType.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptConfig.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEvent.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEventType.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptManager.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/util/FileHelper.java delete mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline3d.java delete mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline3dSettings.java rename chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/{pipes => }/Pipe.java (84%) create mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/Calibrate3dPipeline.java rename chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/{ => impl}/DriverVisionPipeline.java (57%) rename chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/{CVPipeline2d.java => impl/StandardCVPipeline.java} (62%) rename chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/{CVPipeline2dSettings.java => impl/StandardCVPipelineSettings.java} (69%) create mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dCrosshairPipe.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/DrawSolvePNPPipe.java create mode 100644 chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SolvePNPPipe.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Pose2d.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Rotation2d.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Transform2d.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Translation2d.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Twist2d.java create mode 100644 chameleon-server/src/main/java/edu/wpi/first/wpilibj/util/Units.java create mode 100644 chameleon-server/src/main/resources/web/img/chessboard.png create mode 100644 chameleon-server/src/test/java/com/chameleonvision/scripting/ScriptingTest.java create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/20in.png create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/30deg40in.png create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/40deg20in.png create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/40in.png create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/SolvePNPtest.java create mode 100644 chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/stream.png diff --git a/.gitignore b/.gitignore index 12b3f0298..3cccab404 100644 --- a/.gitignore +++ b/.gitignore @@ -113,8 +113,10 @@ chameleon-server/.classpath chameleon-server/.project chameleon-server/settings chameleon-server/dependency-reduced-pom.xml +chameleon-server/chameleon-vision.iml New client/chameleon-client/* *.prefs *.jfr +.DS_Store diff --git a/README.md b/README.md index 881a043b2..c467fba49 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ + + # Chameleon-Vision [![CircleCI](https://img.shields.io/circleci/build/github/Chameleon-Vision/chameleon-vision/dev?label=dev&logo=name)](https://circleci.com/gh/Chameleon-Vision/workflows/chameleon-vision/tree/dev) @@ -5,62 +7,69 @@ Chameleon Vision is free open-source software for FRC teams to use for vision proccesing on their robots. -## Getting started -See Deployment for notes on how to deploy the project on a live system. +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](https://chameleon-vision.readthedocs.io/en/latest/installation/coprocessor-setup.html) -These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. -(Coming soon!) + +These instruction are for the Chameleon Vision's backend/server in Java + +To run the UI's sourcecode (optional) see the UI's [readme](https://github.com/Chameleon-Vision/chameleon-vision/blob/master/chameleon-client/README.md) + +## 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](https://chameleon-vision.readthedocs.io/en/latest/hardware/supported-hardware.html#supported-cameras) one is recommended) + +## Development setup ### Prerequisites ---- -#### For the co-processor -- Java 12 Runtime (See Deployment - Software) -- Avahi Daemon +- Java Development Kit 12: +Follow the correct instructions for your platform from [BellSoft](https://bell-sw.com/pages/liberica_install_guide-12.0.2/) +- Chameleon-vision source code +Clone via a git client or download as zip and extract the source code into a empty folder +#### 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 - - -## Deployment -Deploying is as simple as uploading the chameleon-vision-1.xx.jar file to your target device. -Run the program with `java -jar chameleon-vision-1.xx.jar` - -## Software - -### Java 12 -Follow the correct instructions for your platform from [BellSoft](https://bell-sw.com/pages/liberica_install_guide-12.0.2/) - -### Avahi Daemon (Linux systems) -`sudo apt-get install avahi-daemon avahi-discover avahi-utils libnss-mdns mdns-scan` - -### Bonjour (Windows Systems) Download and install Bonjour [from here](https://support.apple.com/kb/DL999?locale=en_US) +- VC++ Redistributable (Windows only) +Download and install [this](https://aka.ms/vs/16/release/vc_redist.x64.exe) -## Hardware +## Importing to IDEA +We recommend the use of [Intellij Idea](https://www.jetbrains.com/idea/) for running the source-code -### ARM Co-processors -Currently only Raspberry Pi 3 or 4 models with at least 1GB of RAM are tested and supported. -Additional ARM-based single board computers (Odroid, Nvidia Jetson, etc.) will be supported in the near future. +1. Import Project +2. Choose the path to `chameleon-server` inside the copy of Chameleon-Vision that you cloned or downloaded -### x86 Computers -Currently any 64-Bit devices (Windows, Linux and Mac OS) are supported. -32 Bit devices are not supported. +![](https://i.vgy.me/KmrzCV.png) +3. Import the project as a `Maven` project + +![](https://i.vgy.me/2ltb7B.png) + +4. Under `JDK for importer` choose the JDK 12 you downloaded earlier +5. Maven will automatically download the necessary dependencies +6. Run `Main` under `src/main/java/com/chameleonvision/` + ## Authors * **Sagi Frimer** - *initial work* - websocket, settings manager, UI -* **Ori Agranat** - *main coder* - vision loop, UI, websocket, networktables +* **Ori Agranat** - *main coder* - project manager, vision loop, UI, websocket, networktables -* **Omer Zipory** - *developer* - vision loop, websocket, networking +* **Omer Zipory** - *developer* - vision loop, websocket, networking, documentation, UI -* **Banks Troutman** - *developer* - vision loop, websocket, networking +* **Banks Troutman** - *developer* - vision loop, websocket, networking, project structue -* **Matt Morley** - *developer* - documentation +* **Matt Morley** - *developer* - vision loop, project structue, documentation, solvePNP ## Acknowledgments @@ -71,8 +80,6 @@ Currently any 64-Bit devices (Windows, Linux and Mac OS) are supported. * [Javalin](https://javalin.io/) -* [Spring Framework](https://spring.io/) - * [JSON](https://json.org) * [Google](https://github.com/google) - Specifically [Gson](https://github.com/google/gson) diff --git a/chameleon-client/README.md b/chameleon-client/README.md index d3a694552..36cff5a2e 100644 --- a/chameleon-client/README.md +++ b/chameleon-client/README.md @@ -1,11 +1,18 @@ -# chameleon-client +# Chameleon Client UI + +## Install Node.js + +Follow [this](https://nodejs.org/en/) link ## Project setup +Run this one time, this command downloades the packages the UI uses and it might take a short while + ``` npm install ``` ### Compiles and hot-reloads for development +Run this every developing session, this command auto-build the UI after every change your make ``` npm run serve ``` diff --git a/chameleon-client/package-lock.json b/chameleon-client/package-lock.json index 7fbbc6120..6aec554b8 100644 --- a/chameleon-client/package-lock.json +++ b/chameleon-client/package-lock.json @@ -7952,6 +7952,12 @@ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", "dev": true }, + "papaparse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.1.0.tgz", + "integrity": "sha512-3jEYMiCc8qN7V5ffi2BTS2mRauKxCu5AIED6DxbjnHhIm7OY7fzKYkndfPlHWaaKUDCTml5XTU6V+hiuxGlZuw==", + "dev": true + }, "parallel-transform": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", diff --git a/chameleon-client/package.json b/chameleon-client/package.json index 44588b6e3..12ab893bc 100644 --- a/chameleon-client/package.json +++ b/chameleon-client/package.json @@ -27,6 +27,7 @@ "babel-eslint": "^10.0.1", "eslint": "^5.16.0", "eslint-plugin-vue": "^5.0.0", + "papaparse": "^5.1.0", "sass": "^1.17.4", "sass-loader": "^7.1.0", "vue-cli-plugin-vuetify": "^0.6.3", diff --git a/chameleon-client/src/assets/chessboard.png b/chameleon-client/src/assets/chessboard.png new file mode 100644 index 0000000000000000000000000000000000000000..39bb399e89ffe43397125f457fad252fcc746ffc GIT binary patch literal 62550 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 Qm&9J+yLj%w*}>`m2JU)0G5`Po literal 0 HcmV?d00001 diff --git a/chameleon-client/src/assets/robotIcon.svg b/chameleon-client/src/assets/robotIcon.svg new file mode 100644 index 000000000..8c2f2a247 --- /dev/null +++ b/chameleon-client/src/assets/robotIcon.svg @@ -0,0 +1,140 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chameleon-client/src/components/3D/MiniMap.vue b/chameleon-client/src/components/3D/MiniMap.vue new file mode 100644 index 000000000..5de4b9b2e --- /dev/null +++ b/chameleon-client/src/components/3D/MiniMap.vue @@ -0,0 +1,165 @@ + + + + + \ No newline at end of file diff --git a/chameleon-client/src/components/OutputTab/DualCalibration.vue b/chameleon-client/src/components/OutputTab/DualCalibration.vue index 22b95ccc5..4513a1cbc 100644 --- a/chameleon-client/src/components/OutputTab/DualCalibration.vue +++ b/chameleon-client/src/components/OutputTab/DualCalibration.vue @@ -40,13 +40,13 @@ if (isNaN(m) === false && isNaN(b) === false) { this.sendSlope(m, b, true); } else { - this.$emit('snackbar'); + this.$emit('snackbar',"Points are too close"); } this.pointA = undefined; this.pointB = undefined; } }, - sendSlope(m, b, valid) { + sendSlope(m, b) { this.handleInput('dualTargetCalibrationM', m); this.handleInput('dualTargetCalibrationB', b); this.$emit('update'); diff --git a/chameleon-client/src/components/OutputTab/SingleCalibration.vue b/chameleon-client/src/components/OutputTab/SingleCalibration.vue index c77dc8b53..75d6edee2 100644 --- a/chameleon-client/src/components/OutputTab/SingleCalibration.vue +++ b/chameleon-client/src/components/OutputTab/SingleCalibration.vue @@ -17,12 +17,16 @@ props: ['rawPoint'], methods: { clearPoint() { - this.handleInput('point', [0, 0]); + this.handleInput('point', []); this.$emit('update'); }, takePoint() { - this.handleInput('point', this.rawPoint); - this.$emit('update'); + if (this.rawPoint[0] && this.rawPoint[1]) { + this.handleInput('point', this.rawPoint); + this.$emit('update'); + } else { + this.$emit('snackbar',"No target found"); + } } } } diff --git a/chameleon-client/src/components/cv-number-input.vue b/chameleon-client/src/components/cv-number-input.vue index 32aaede9b..b2269fd59 100644 --- a/chameleon-client/src/components/cv-number-input.vue +++ b/chameleon-client/src/components/cv-number-input.vue @@ -6,7 +6,7 @@ + style="width: 70px" :step="step"/> @@ -15,7 +15,7 @@ + + \ No newline at end of file diff --git a/chameleon-client/src/views/CameraViewes/InputTab.vue b/chameleon-client/src/views/CameraViewes/InputTab.vue index e45835e0a..f844eb445 100644 --- a/chameleon-client/src/views/CameraViewes/InputTab.vue +++ b/chameleon-client/src/views/CameraViewes/InputTab.vue @@ -46,11 +46,10 @@ streamResolutionList: { get() { let cam_res = this.$store.state.resolutionList[this.value.videoModeIndex]; - let tmp_list = []; - let x = 1; - for (let i = 0; i < 4; i++) { - tmp_list.push(`${cam_res['width'] / x} X ${cam_res['height'] / x}`); - x *= 2; + let tmp_list = []; + tmp_list.push(`${Math.floor(cam_res['width'])} X ${Math.floor(cam_res['height'])}`); + for (let x = 2; x <= 6; x+=2) { + tmp_list.push(`${Math.floor(cam_res['width'] / x)} X ${Math.floor(cam_res['height'] / x)}`); } return tmp_list; } diff --git a/chameleon-client/src/views/CameraViewes/OutputTab.vue b/chameleon-client/src/views/CameraViewes/OutputTab.vue index f9c7f3910..2fe73a691 100644 --- a/chameleon-client/src/views/CameraViewes/OutputTab.vue +++ b/chameleon-client/src/views/CameraViewes/OutputTab.vue @@ -3,14 +3,14 @@ - + Calibrate: - + - Points are too close + {{snackbarText}} Close @@ -40,12 +40,17 @@ }, doUpdate() { this.$emit('update') - } + }, + showSnackbar(message){ + this.snackbarText = message; + this.snackbar = true; + }, }, data() { return { snackbar: false, + snackbarText:"" } }, computed: { diff --git a/chameleon-client/src/views/CameraViewes/ThresholdTab.vue b/chameleon-client/src/views/CameraViewes/ThresholdTab.vue index 4067bb804..979236692 100644 --- a/chameleon-client/src/views/CameraViewes/ThresholdTab.vue +++ b/chameleon-client/src/views/CameraViewes/ThresholdTab.vue @@ -4,36 +4,115 @@ + + + colorize + Eye drop + + + add + Expand Selection + + + remove + Shrink Selection + + \ No newline at end of file diff --git a/chameleon-client/src/views/SettingsViewes/Cameras.vue b/chameleon-client/src/views/SettingsViewes/Cameras.vue index 04d276eaa..ec8ae53ae 100644 --- a/chameleon-client/src/views/SettingsViewes/Cameras.vue +++ b/chameleon-client/src/views/SettingsViewes/Cameras.vue @@ -1,8 +1,57 @@ @@ -17,7 +66,22 @@ CVnumberinput }, data() { - return {} + return { + isCalibrating: false, + resolutionIndex: undefined, + calibrationModeButton: { + text: "Start Calibration", + color: "green" + }, + cancellationModeButton: { + text: "Cancel Calibration", + color: "red" + }, + squareSize: 1.0, + snapshotAmount: 0, + hasEnough: false, + snack: false + } }, methods: { sendCameraSettings() { @@ -30,9 +94,69 @@ } ) }, - + sendCalibrationMode() { + const self = this; + let data = {}; + let connection_string = "/api/settings/"; + if (self.isCalibrating === true) { + connection_string += "snapshot" + } else { + connection_string += "startCalibration"; + data['resolution'] = this.filteredResolutionList[this.resolutionIndex].actualIndex; + data['squareSize'] = this.squareSize; + self.hasEnough = false; + } + this.axios.post("http://" + this.$address + connection_string, data).then( + function (response) { + if (response.status === 200) { + if (self.isCalibrating) { + self.snapshotAmount = response.data['snapshotCount']; + self.hasEnough = response.data['hasEnough']; + if (self.hasEnough === true) { + self.cancellationModeButton.text = "Finish Calibration"; + self.cancellationModeButton.color = "green"; + } + } else { + self.calibrationModeButton.text = "Take Snapshot"; + self.isCalibrating = true; + } + } + } + ); + }, + sendCalibrationFinish() { + const self = this; + let connection_string = "/api/settings/endCalibration"; + let data = {}; + data['squareSize'] = this.squareSize; + self.axios.post("http://" + this.$address + connection_string, data).then( + function (response) { + if (response.status === 500) { + self.snack = true; + } + self.isCalibrating = false; + self.hasEnough = false; + self.snapshotAmount = 0; + self.calibrationModeButton.text = "Start Calibration"; + self.cancellationModeButton.text = "Cancel Calibration"; + self.cancellationModeButton.color = "red"; + } + ); + } }, computed: { + checkResolution() { + return this.resolutionIndex === undefined; + }, + checkCancelation() { + if (this.isCalibrating) { + return false + } else if (this.checkResolution) { + return true; + } else { + return true + } + }, currentCameraIndex: { get() { return this.$store.state.currentCameraIndex; @@ -49,6 +173,28 @@ this.$store.commit('cameraList', value); } }, + filteredResolutionList: { + get() { + let tmp_list = []; + for (let i in this.$store.state.resolutionList) { + let res = JSON.parse(JSON.stringify(this.$store.state.resolutionList[i])); + if (!tmp_list.some(e => e.width === res.width && e.height === res.height)) { + res['actualIndex'] = parseInt(i); + tmp_list.push(res); + } + } + return tmp_list; + } + }, + stringResolutionList: { + get() { + let tmp = []; + for (let i of this.filteredResolutionList) { + tmp.push(`${i['width']} X ${i['height']}`) + } + return tmp + } + }, cameraSettings: { get() { return this.$store.state.cameraSettings; diff --git a/chameleon-server/chameleon-server.iml b/chameleon-server/chameleon-server.iml deleted file mode 100644 index f0b619951..000000000 --- a/chameleon-server/chameleon-server.iml +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/chameleon-server/chameleon-vision.iml b/chameleon-server/chameleon-vision.iml index a3c362a46..78fe946ea 100644 --- a/chameleon-server/chameleon-vision.iml +++ b/chameleon-server/chameleon-vision.iml @@ -11,6 +11,20 @@ + + + + + + + + + + + + + + @@ -48,20 +62,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/chameleon-server/pom.xml b/chameleon-server/pom.xml index bc1068049..a1deba26e 100644 --- a/chameleon-server/pom.xml +++ b/chameleon-server/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.chameleon-vision.main chameleon-vision - 2.0-RELEASE + 2.1-RELEASE @@ -31,7 +31,8 @@ - + com.chameleonvision.Main @@ -43,18 +44,14 @@ UTF-8 + 2020.1.2 + 3.4.7-2 - - - - - - WPI WPILib Artifactory Server-releases - https://frcmaven.wpi.edu:443/artifactory/development + https://frcmaven.wpi.edu:443/artifactory/release @@ -136,37 +133,37 @@ edu.wpi.first.cscore cscore-java - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} edu.wpi.first.cscore cscore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxaarch64bionic edu.wpi.first.cscore cscore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxraspbian edu.wpi.first.cscore cscore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxx86-64 edu.wpi.first.cscore cscore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} osxx86-64 edu.wpi.first.cscore cscore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} windowsx86-64 @@ -174,45 +171,45 @@ edu.wpi.first.cameraserver cameraserver-java - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} edu.wpi.first.ntcore ntcore-java - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} edu.wpi.first.ntcore ntcore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} osxx86-64 edu.wpi.first.ntcore ntcore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxraspbian edu.wpi.first.ntcore ntcore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxx86-64 edu.wpi.first.ntcore ntcore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} linuxaarch64bionic edu.wpi.first.ntcore ntcore-jni - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} windowsx86-64 @@ -220,43 +217,43 @@ edu.wpi.first.wpiutil wpiutil-java - 2020.1.1-beta-3-12-gb8c1024 + ${wpilib.version} edu.wpi.first.thirdparty.frc2020.opencv opencv-java - 3.4.7-2 + ${opencv.version} edu.wpi.first.thirdparty.frc2020.opencv opencv-jni - 3.4.7-2 + ${opencv.version} linuxaarch64bionic edu.wpi.first.thirdparty.frc2020.opencv opencv-jni - 3.4.7-2 + ${opencv.version} linuxraspbian edu.wpi.first.thirdparty.frc2020.opencv opencv-jni - 3.4.7-2 + ${opencv.version} linuxx86-64 edu.wpi.first.thirdparty.frc2020.opencv opencv-jni - 3.4.7-2 + ${opencv.version} osxx86-64 edu.wpi.first.thirdparty.frc2020.opencv opencv-jni - 3.4.7-2 + ${opencv.version} windowsx86-64 diff --git a/chameleon-server/src/main/java/com/chameleonvision/Exceptions/DuplicatedKeyException.java b/chameleon-server/src/main/java/com/chameleonvision/Exceptions/DuplicatedKeyException.java new file mode 100644 index 000000000..dc54ae95a --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/Exceptions/DuplicatedKeyException.java @@ -0,0 +1,7 @@ +package com.chameleonvision.Exceptions; + +public class DuplicatedKeyException extends Exception{ + public DuplicatedKeyException(String message){ + super(message); + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/Main.java b/chameleon-server/src/main/java/com/chameleonvision/Main.java index 7223da8df..53c8953fa 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/Main.java +++ b/chameleon-server/src/main/java/com/chameleonvision/Main.java @@ -2,7 +2,10 @@ package com.chameleonvision; import com.chameleonvision.config.ConfigManager; import com.chameleonvision.network.NetworkManager; +import com.chameleonvision.scripting.ScriptEventType; +import com.chameleonvision.scripting.ScriptManager; import com.chameleonvision.util.Platform; +import com.chameleonvision.util.ShellExec; import com.chameleonvision.util.Utilities; import com.chameleonvision.vision.VisionManager; import com.chameleonvision.web.Server; @@ -41,6 +44,8 @@ public class Main { if (!hasReportedConnectionFailure && logMessage.message.contains("timed out")) { System.err.println("NT Connection has failed!"); hasReportedConnectionFailure = true; + } else if (logMessage.message.contains("connected")) { + ScriptManager.queueEvent(ScriptEventType.kNTConnected); } } } @@ -101,6 +106,9 @@ public class Main { } public static void main(String[] args) { + + Runtime.getRuntime().addShutdownHook(new Thread(() -> ScriptManager.queueEvent(ScriptEventType.kProgramExit))); + if (CurrentPlatform.equals(Platform.UNSUPPORTED)) { System.err.printf("Sorry, this platform is not supported. Give these details to the developers.\n%s\n", CurrentPlatform.toString()); return; @@ -132,6 +140,14 @@ public class Main { } ConfigManager.initializeSettings(); + + if (!CurrentPlatform.isWindows()) { + ScriptManager.initialize(); + } else { + System.out.println("Scripts not yet supported on Windows. ScriptEvents will be ignored."); + } + + NetworkManager.initialize(manageNetwork); if (ntServerMode) { @@ -147,6 +163,8 @@ public class Main { // NetworkTableInstance.getDefault().startClient("localhost"); } + ScriptManager.queueEvent(ScriptEventType.kProgramInit); + boolean visionSourcesOk = VisionManager.initializeSources(); if (!visionSourcesOk) { System.out.println("No cameras connected!"); @@ -155,13 +173,13 @@ public class Main { boolean visionProcessesOk = VisionManager.initializeProcesses(); if (!visionProcessesOk) { - System.err.println("shit"); + System.err.println("Failed to start threads!"); return; } VisionManager.startProcesses(); - System.out.printf("Starting Webserver at port %d\n", DEFAULT_PORT); + System.out.printf("Starting Web server at port %d\n", DEFAULT_PORT); Server.main(DEFAULT_PORT); } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/CameraCalibrationConfig.java b/chameleon-server/src/main/java/com/chameleonvision/config/CameraCalibrationConfig.java new file mode 100644 index 000000000..2dbed87b2 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/config/CameraCalibrationConfig.java @@ -0,0 +1,64 @@ +package com.chameleonvision.config; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonIgnoreType; +import com.fasterxml.jackson.annotation.JsonProperty; +import org.opencv.core.Mat; +import org.opencv.core.MatOfDouble; +import org.opencv.core.Size; + +/** + * A class that holds a camera matrix and distortion coefficients for a given resolution + */ +public class CameraCalibrationConfig { + @JsonProperty("resolution") public final Size resolution; + @JsonProperty("cameraMatrix") public final JsonMat cameraMatrix; + @JsonProperty("distortionCoeffs") public final JsonMat distortionCoeffs; + @JsonProperty("squareSize") public final double squareSize; + + @JsonCreator + public CameraCalibrationConfig( + @JsonProperty("resolution") Size resolution, + @JsonProperty("cameraMatrix") JsonMat cameraMatrix, + @JsonProperty("distortionCoeffs") JsonMat distortionCoeffs, + @JsonProperty("squareSize") double squareSize) { + this.resolution = resolution; + this.cameraMatrix = cameraMatrix; + this.distortionCoeffs = distortionCoeffs; + this.squareSize = squareSize; + } + + public CameraCalibrationConfig(Size resolution, Mat cameraMatrix, Mat distortionCoeffs, double squareSize) { + this.resolution = resolution; + this.cameraMatrix = JsonMat.fromMat(cameraMatrix); + this.distortionCoeffs = JsonMat.fromMat(distortionCoeffs); + this.squareSize = squareSize; + } + + @JsonIgnoreType + public static class UICameraCalibrationConfig { + public final int width; + public final int height; + public final double[] cameraMatrix; + public final double[] distortionCoeffs; + + public UICameraCalibrationConfig(CameraCalibrationConfig config) { + width = (int) config.resolution.width; + height = (int) config.resolution.height; + cameraMatrix = config.cameraMatrix.data; + distortionCoeffs = config.distortionCoeffs.data; + } + + } + + @JsonIgnore + public Mat getCameraMatrixAsMat() { + return cameraMatrix.toMat(); + } + + @JsonIgnore + public MatOfDouble getDistortionCoeffsAsMat() { + return new MatOfDouble(distortionCoeffs.toMat()); + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/CameraConfig.java b/chameleon-server/src/main/java/com/chameleonvision/config/CameraConfig.java index fd0262cdf..66d9df0da 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/config/CameraConfig.java +++ b/chameleon-server/src/main/java/com/chameleonvision/config/CameraConfig.java @@ -1,5 +1,6 @@ package com.chameleonvision.config; +import com.chameleonvision.util.FileHelper; import com.chameleonvision.util.JacksonHelper; import com.chameleonvision.vision.pipeline.CVPipelineSettings; @@ -8,58 +9,85 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; public class CameraConfig { - private static final Path camerasConfigFolderPath = Paths.get(ConfigManager.SettingsPath.toString(), "cameras"); + private static final Path camerasConfigFolderPath = Path.of(ConfigManager.SettingsPath.toString(), "cameras"); - private final String cameraConfigName; private final CameraJsonConfig preliminaryConfig; + private final Path configFolderPath; + private final Path configPath; + private final Path driverModePath; + private final Path calibrationPath; + final Path pipelineFolderPath; public final PipelineConfig pipelineConfig; CameraConfig(CameraJsonConfig config) { preliminaryConfig = config; - cameraConfigName = preliminaryConfig.name.replace(' ', '_'); + String cameraConfigName = preliminaryConfig.name.replace(' ', '_'); pipelineConfig = new PipelineConfig(this); + + configFolderPath = Path.of(camerasConfigFolderPath.toString(), cameraConfigName); + configPath = Path.of(configFolderPath.toString(), "camera.json"); + driverModePath = Path.of(configFolderPath.toString(), "drivermode.json"); + calibrationPath = Path.of(configFolderPath.toString(), "calibration.json"); + pipelineFolderPath = Paths.get(configFolderPath.toString(), "pipelines"); } public FullCameraConfiguration load() { checkFolder(); checkConfig(); checkDriverMode(); + checkCalibration(); pipelineConfig.check(); - return new FullCameraConfiguration(loadConfig(), pipelineConfig.load(), loadDriverMode(), this); + return new FullCameraConfiguration(loadConfig(), pipelineConfig.load(), loadDriverMode(), loadCalibration(), this); } private CameraJsonConfig loadConfig() { CameraJsonConfig config = preliminaryConfig; try { - config = JacksonHelper.deserializer(getConfigPath(), CameraJsonConfig.class); + config = JacksonHelper.deserializer(configPath, CameraJsonConfig.class); } catch (IOException e) { - System.err.printf("Failed to load camera config: %s - using default.\n", getConfigPath().toString()); + System.err.printf("Failed to load camera config: %s - using default.\n", configPath.toString()); } return config; } private CVPipelineSettings loadDriverMode() { CVPipelineSettings driverMode = new CVPipelineSettings(); - driverMode.nickname = "DRIVERMODE"; try { - driverMode = JacksonHelper.deserializer(getDriverModePath(), CVPipelineSettings.class); + driverMode = JacksonHelper.deserializer(driverModePath, CVPipelineSettings.class); } catch (IOException e) { - System.err.println("Failed to load camera drivermode: " + getDriverModePath().toString()); + System.err.println("Failed to load camera drivermode: " + driverModePath.toString()); + } + if (driverMode != null) { + driverMode.nickname = "DRIVERMODE"; + driverMode.index = -1; } return driverMode; } + private List loadCalibration() { + List calibrations = new ArrayList<>(); + try { + calibrations = List.of(Objects.requireNonNull(JacksonHelper.deserializer(calibrationPath, CameraCalibrationConfig[].class))); + } catch (Exception e) { + System.err.println("Failed to load camera calibration: " + driverModePath.toString()); + } + return calibrations; + } + void saveConfig(CameraJsonConfig config) { try { - JacksonHelper.serializer(getConfigPath(), config); + JacksonHelper.serializer(configPath, config); + FileHelper.setFilePerms(configPath); } catch (IOException e) { - System.err.println("Failed to save camera config file: " + getConfigPath().toString()); + System.err.println("Failed to save camera config file: " + configPath.toString()); } } @@ -69,20 +97,33 @@ public class CameraConfig { public void saveDriverMode(CVPipelineSettings driverMode) { try { - JacksonHelper.serializer(getDriverModePath(), driverMode); + JacksonHelper.serializer(driverModePath, driverMode); + FileHelper.setFilePerms(driverModePath); } catch (IOException e) { - System.err.println("Failed to save camera drivermode file: " + getDriverModePath().toString()); + System.err.println("Failed to save camera drivermode file: " + driverModePath.toString()); + } + } + + + public void saveCalibration(List cal) { + CameraCalibrationConfig[] configs = cal.toArray(new CameraCalibrationConfig[0]); + try { + JacksonHelper.serializer(calibrationPath, configs); + FileHelper.setFilePerms(calibrationPath); + } catch (IOException e) { + System.err.println("Failed to save camera calibration file: " + calibrationPath.toString()); } } void checkFolder() { - if (!getConfigFolderExists()) { + if (!configFolderExists()) { try { - if (!(new File(getConfigFolderPath().toUri()).mkdirs())) { - System.err.println("Failed to create camera config folder: " + getConfigFolderPath().toString()); + if (!(new File(configFolderPath.toUri()).mkdirs())) { + System.err.println("Failed to create camera config folder: " + configFolderPath.toString()); } + FileHelper.setFilePerms(configFolderPath); } catch(Exception e) { - System.err.println("Failed to create camera config folder: " + getConfigFolderPath().toString()); + System.err.println("Failed to create camera config folder: " + configFolderPath.toString()); } } } @@ -90,9 +131,10 @@ public class CameraConfig { private void checkConfig() { if (!configExists()) { try { - JacksonHelper.serializer(getConfigPath(), preliminaryConfig); + JacksonHelper.serializer(configPath, preliminaryConfig); + FileHelper.setFilePerms(configPath); } catch (IOException e) { - System.err.println("Failed to create camera config file: " + getConfigPath().toString()); + System.err.println("Failed to create camera config file: " + configPath.toString()); } } } @@ -102,38 +144,38 @@ public class CameraConfig { try { CVPipelineSettings newDriverModeSettings = new CVPipelineSettings(); newDriverModeSettings.nickname = "DRIVERMODE"; - JacksonHelper.serializer(getDriverModePath(), newDriverModeSettings); + JacksonHelper.serializer(driverModePath, newDriverModeSettings); + FileHelper.setFilePerms(driverModePath); } catch (IOException e) { - System.err.println("Failed to create camera drivermode file: " + getDriverModePath().toString()); + System.err.println("Failed to create camera drivermode file: " + driverModePath.toString()); } } } - private Path getConfigFolderPath() { - return Paths.get(camerasConfigFolderPath.toString(), cameraConfigName); + private void checkCalibration() { + if (!calibrationExists()) { + try { + List calibrations = new ArrayList<>(); + JacksonHelper.serializer(calibrationPath, calibrations.toArray()); + } catch (IOException e) { + System.err.println("Failed to create camera calibration file: " + calibrationPath.toString()); + } + } } - private Path getConfigPath() { - return Paths.get(getConfigFolderPath().toString(), "camera.json"); - } - - private Path getDriverModePath() { - return Paths.get(getConfigFolderPath().toString(), "drivermode.json"); - } - - private boolean getConfigFolderExists() { - return Files.exists(getConfigFolderPath()); - } - - Path getPipelineFolderPath() { - return Paths.get(getConfigFolderPath().toString(), "pipelines"); + private boolean configFolderExists() { + return Files.exists(configFolderPath); } private boolean configExists() { - return getConfigFolderExists() && Files.exists(getConfigPath()); + return configFolderExists() && Files.exists(configPath); } private boolean driverModeExists() { - return getConfigFolderExists() && Files.exists(getDriverModePath()); + return configFolderExists() && Files.exists(driverModePath); + } + + private boolean calibrationExists() { + return configFolderExists() && Files.exists(calibrationPath); } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/ConfigManager.java b/chameleon-server/src/main/java/com/chameleonvision/config/ConfigManager.java index 3003b6d02..18da8285e 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/config/ConfigManager.java +++ b/chameleon-server/src/main/java/com/chameleonvision/config/ConfigManager.java @@ -1,7 +1,7 @@ package com.chameleonvision.config; -import com.chameleonvision.util.ProgramDirectoryUtilities; -import com.chameleonvision.util.JacksonHelper; +import com.chameleonvision.Main; +import com.chameleonvision.util.*; import com.chameleonvision.vision.pipeline.CVPipelineSettings; import java.io.File; @@ -16,7 +16,7 @@ import java.util.List; public class ConfigManager { private ConfigManager() {} - static final Path SettingsPath = Paths.get(ProgramDirectoryUtilities.getProgramDirectory(), "settings"); + public static final Path SettingsPath = Paths.get(ProgramDirectoryUtilities.getProgramDirectory(), "settings"); private static final Path settingsFilePath = Paths.get(SettingsPath.toString(), "settings.json"); private static final LinkedHashMap cameraConfigs = new LinkedHashMap<>(); @@ -33,6 +33,9 @@ public class ConfigManager { System.err.println("Failed to create settings folder: " + SettingsPath.toString()); } Files.createDirectory(SettingsPath); + if (!Platform.CurrentPlatform.isWindows()) { + new ShellExec().executeBashCommand("sudo chmod -R 0777 " + SettingsPath.toString()); + } } catch (IOException e) { if(!(e instanceof java.nio.file.FileAlreadyExistsException)) e.printStackTrace(); @@ -45,6 +48,7 @@ public class ConfigManager { if (settingsFileEmpty || !settingsFileExists()) { try { JacksonHelper.serializer(settingsFilePath, settings); + FileHelper.setFilePerms(settingsFilePath); } catch (IOException e) { e.printStackTrace(); } @@ -61,11 +65,13 @@ public class ConfigManager { System.out.println("Settings folder: " + SettingsPath.toString()); checkSettingsFolder(); checkSettingsFile(); + FileHelper.setAllPerms(SettingsPath); } private static void saveSettingsFile() { try { JacksonHelper.serializer(settingsFilePath, settings); + FileHelper.setFilePerms(settingsFilePath); } catch (IOException e) { System.err.println("Failed to save settings.json!"); } diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/FullCameraConfiguration.java b/chameleon-server/src/main/java/com/chameleonvision/config/FullCameraConfiguration.java index 7e98c09b4..632526fbc 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/config/FullCameraConfiguration.java +++ b/chameleon-server/src/main/java/com/chameleonvision/config/FullCameraConfiguration.java @@ -7,13 +7,15 @@ import java.util.List; public class FullCameraConfiguration { public final CameraJsonConfig cameraConfig; public final List pipelines; - public final CVPipelineSettings drivermode; + public final CVPipelineSettings driverMode; + public final List calibration; public final CameraConfig fileConfig; - FullCameraConfiguration(CameraJsonConfig cameraConfig, List pipelines, CVPipelineSettings drivermode, CameraConfig fileConfig) { + FullCameraConfiguration(CameraJsonConfig cameraConfig, List pipelines, CVPipelineSettings driverMode, List calibration, CameraConfig fileConfig) { this.cameraConfig = cameraConfig; this.pipelines = pipelines; - this.drivermode = drivermode; + this.driverMode = driverMode; + this.calibration = calibration; this.fileConfig = fileConfig; } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/JsonMat.java b/chameleon-server/src/main/java/com/chameleonvision/config/JsonMat.java new file mode 100644 index 000000000..df1fded86 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/config/JsonMat.java @@ -0,0 +1,78 @@ +package com.chameleonvision.config; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.opencv.core.CvType; +import org.opencv.core.Mat; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; + + +public class JsonMat { + public final int rows; + public final int cols; + public final int type; + public final double[] data; + + public JsonMat(int rows, int cols, double[] data) { + this(rows, cols, CvType.CV_64FC1, data); + } + + public JsonMat( + @JsonProperty("rows") int rows, + @JsonProperty("cols") int cols, + @JsonProperty("type") int type, + @JsonProperty("data") double[] data) { + this.rows = rows; + this.cols = cols; + this.type = type; + this.data = data; + } + + public Mat toMat() { + return toMat(this); + } + + private static boolean isCameraMatrixMat(Mat mat) { + return mat.type() == CvType.CV_64FC1 && mat.cols() == 3 && mat.rows() == 3; + } + + private static boolean isDistortionCoeffsMat(Mat mat) { + return mat.type() == CvType.CV_64FC1 && mat.cols() == 5 && mat.rows() == 1; + } + + private static boolean isCalibrationMat(Mat mat) { + return isDistortionCoeffsMat(mat) || isCameraMatrixMat(mat); + } + + public static double[] getDataFromMat(Mat mat) { + if (!isCalibrationMat(mat)) return null; + + double[] data = new double[(int)(mat.total()*mat.elemSize())]; + mat.get(0, 0, data); + + int dataLen = -1; + + if (isCameraMatrixMat(mat)) dataLen = 9; + if (isDistortionCoeffsMat(mat)) dataLen = 5; + + // truncate Mat data to correct number data points. + return Arrays.copyOfRange(data, 0, dataLen); + } + + public static JsonMat fromMat(Mat mat) { + if (!isCalibrationMat(mat)) return null; + return new JsonMat(mat.rows(), mat.cols(), getDataFromMat(mat)); + } + + public static Mat toMat(JsonMat jsonMat) { + if (jsonMat.type != CvType.CV_64FC1) return null; + + Mat retMat = new Mat(jsonMat.rows, jsonMat.cols, jsonMat.type); + retMat.put(0, 0, jsonMat.data); + return retMat; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/config/PipelineConfig.java b/chameleon-server/src/main/java/com/chameleonvision/config/PipelineConfig.java index e57ca250f..e4d1c4757 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/config/PipelineConfig.java +++ b/chameleon-server/src/main/java/com/chameleonvision/config/PipelineConfig.java @@ -1,7 +1,9 @@ package com.chameleonvision.config; +import com.chameleonvision.util.FileHelper; import com.chameleonvision.util.JacksonHelper; import com.chameleonvision.vision.pipeline.*; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipelineSettings; import java.io.File; import java.io.IOException; @@ -13,9 +15,6 @@ import java.util.List; public class PipelineConfig { - private static final String CVPipeline2DPrefix = "CV2D"; - private static final String CVPipeline3DPrefix = "CV3D"; - private final CameraConfig cameraConfig; /** @@ -27,15 +26,20 @@ public class PipelineConfig { } private void checkFolder() { - if ( !(new File(cameraConfig.getPipelineFolderPath().toUri()).mkdirs())) { - if (Files.notExists(cameraConfig.getPipelineFolderPath())) { + if ( !(new File(cameraConfig.pipelineFolderPath.toUri()).mkdirs())) { + if (Files.notExists(cameraConfig.pipelineFolderPath)) { System.err.println("Failed to create pipelines folder."); } } + try { + FileHelper.setFilePerms(cameraConfig.pipelineFolderPath); + } catch (IOException e) { + // ignored + } } private File[] getPipelineFiles() { - return new File(cameraConfig.getPipelineFolderPath().toUri()).listFiles(); + return new File(cameraConfig.pipelineFolderPath.toUri()).listFiles(); } private boolean folderHasPipelines() { @@ -49,15 +53,14 @@ public class PipelineConfig { checkFolder(); // Check if there's at least one pipe if (!folderHasPipelines()) { - save(new CVPipeline2dSettings()); + save(new StandardCVPipelineSettings()); } } private Path getPipelinePath(CVPipelineSettings setting) { String pipelineName = setting.nickname.replace(' ', '_'); - String prefix = ((setting instanceof CVPipeline2dSettings) ? CVPipeline2DPrefix : CVPipeline3DPrefix) + "-"; - String fullFileName = prefix + pipelineName + ".json"; - return Path.of(cameraConfig.getPipelineFolderPath().toString(), fullFileName); + String fullFileName = pipelineName + ".json"; + return Path.of(cameraConfig.pipelineFolderPath.toString(), fullFileName); } private boolean pipelineExists(CVPipelineSettings setting) { @@ -68,20 +71,11 @@ public class PipelineConfig { var path = getPipelinePath(settings); - if (settings instanceof CVPipeline3dSettings) { - try { - JacksonHelper.serializer(path, settings); - } catch (IOException e) { - e.printStackTrace(); - } - } else if (settings instanceof CVPipeline2dSettings) { - try { - JacksonHelper.serializer(path, settings); - } catch (IOException e) { - e.printStackTrace(); - } - } else { - throw new RuntimeException("saving non-2d and non-3d pipelines not implemented~"); + try { + JacksonHelper.serializer(path, settings); + FileHelper.setFilePerms(path); + } catch (IOException e) { + e.printStackTrace(); } } @@ -124,24 +118,12 @@ public class PipelineConfig { System.err.println("no pipes to load! loading default"); } else { for(File pipelineFile : pipelineFiles) { - var name = pipelineFile.getName(); - if(name.startsWith(CVPipeline3DPrefix)) { - // try to load 3d pipe try { - var pipe = JacksonHelper.deserializer(Paths.get(pipelineFile.getPath()), CVPipeline3dSettings.class); - deserializedList.add(pipe); - } catch (IOException e) { - System.err.println("couldn't load cvpipeline3d"); - } - } else if(name.startsWith(CVPipeline2DPrefix)) { - // try to load 2d pipe - try { - var pipe = JacksonHelper.deserializer(Paths.get(pipelineFile.getPath()), CVPipeline2dSettings.class); + var pipe = JacksonHelper.deserializer(Paths.get(pipelineFile.getPath()), StandardCVPipelineSettings.class); deserializedList.add(pipe); } catch (IOException e) { System.err.println("couldn't load cvpipeline2d"); } - } } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/network/NetworkManager.java b/chameleon-server/src/main/java/com/chameleonvision/network/NetworkManager.java index f9cd51eb4..d505199cd 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/network/NetworkManager.java +++ b/chameleon-server/src/main/java/com/chameleonvision/network/NetworkManager.java @@ -20,7 +20,7 @@ public class NetworkManager { return; } - Platform platform = Platform.getCurrentPlatform(); + Platform platform = Platform.CurrentPlatform; if (platform.isLinux()) { networking = new LinuxNetworking(); diff --git a/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptCommandType.java b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptCommandType.java new file mode 100644 index 000000000..017512065 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptCommandType.java @@ -0,0 +1,14 @@ +package com.chameleonvision.scripting; + +public enum ScriptCommandType { + kDefault(""), + kBashScript("bash"), + kPythonScript("python"), + kPython3Script("python3"); + + public final String value; + + ScriptCommandType(String value) { + this.value = value; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptConfig.java b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptConfig.java new file mode 100644 index 000000000..313397841 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptConfig.java @@ -0,0 +1,23 @@ +package com.chameleonvision.scripting; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ScriptConfig { + public final ScriptEventType eventType; + public final String command; + + public ScriptConfig(ScriptEventType eventType) { + this.eventType = eventType; + this.command = ""; + } + + @JsonCreator + public ScriptConfig( + @JsonProperty("eventType") ScriptEventType eventType, + @JsonProperty("command") String command + ) { + this.eventType = eventType; + this.command = command; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEvent.java b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEvent.java new file mode 100644 index 000000000..c117c73de --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEvent.java @@ -0,0 +1,35 @@ +package com.chameleonvision.scripting; + +import com.chameleonvision.Debug; +import com.chameleonvision.util.ShellExec; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; + +public class ScriptEvent { + private static final ShellExec executor = new ShellExec(true, true); + + public final ScriptConfig config; + + public ScriptEvent(ScriptConfig config) { + this.config = config; + } + + public int run() throws IOException { + int retVal = executor.executeBashCommand(config.command); + + String output = executor.getOutput(); + String error = executor.getError(); + + if (!error.isEmpty()) { + System.err.printf("Error when running \"%s\" script: %s\n", config.eventType.name(), error); + } else if (!output.isEmpty()) { + Debug.printInfo(String.format("Output from \"%s\" script: %s\n", config.eventType.name(), output)); + } + Debug.printInfo(String.format("Script for %s ran with command line: \"%s\", exit code: %d, output: %s, error: %s\n", config.eventType.name(), config.command, retVal, output, error)); + return retVal; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEventType.java b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEventType.java new file mode 100644 index 000000000..436676ee3 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptEventType.java @@ -0,0 +1,21 @@ +package com.chameleonvision.scripting; + +public enum ScriptEventType { + kProgramInit("Program Init"), + kProgramExit("Program Exit"), + kNTConnected("NT Connected"), + kLEDOn("LED On"), + kLEDOff("LED Off"), + kEnterDriverMode("Enter Driver Mode"), + kExitDriverMode("Exit Driver Mode"), + kFoundTarget("Found Target"), + kFoundMultipleTarget("Found Multiple Target"), + kLostTarget("Lost Target"), + kPipelineLag("Pipeline Lag"); + + public final String value; + + ScriptEventType(String value) { + this.value = value; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptManager.java b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptManager.java new file mode 100644 index 000000000..9385a13c3 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/scripting/ScriptManager.java @@ -0,0 +1,126 @@ +package com.chameleonvision.scripting; + +import com.chameleonvision.Debug; +import com.chameleonvision.Main; +import com.chameleonvision.config.ConfigManager; +import com.chameleonvision.util.JacksonHelper; +import com.chameleonvision.util.LoopingRunnable; +import com.chameleonvision.util.Platform; +import com.chameleonvision.util.ProgramDirectoryUtilities; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.LinkedBlockingQueue; + +public class ScriptManager { + + private ScriptManager() {} + + private static final List events = new ArrayList<>(); + private static final LinkedBlockingDeque queuedEvents = new LinkedBlockingDeque<>(25); + + public static void initialize() { + ScriptConfigManager.initialize(); + if (ScriptConfigManager.fileExists()) { + for (ScriptConfig scriptConfig : ScriptConfigManager.loadConfig()) { + ScriptEvent scriptEvent = new ScriptEvent(scriptConfig); + events.add(scriptEvent); + } + + new Thread(new ScriptRunner(10L)).start(); + } else { + System.err.println("Something went wrong initializing scripts! Events will not run."); + } + } + + private static class ScriptRunner extends LoopingRunnable { + + ScriptRunner(Long loopTimeMs) { + super(loopTimeMs); + } + + @Override + protected void process() { + try { + + handleEvent(queuedEvents.takeFirst()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + private void handleEvent(ScriptEventType eventType) { + var toRun = events.parallelStream().filter(e -> e.config.eventType == eventType).findFirst().orElse(null); + if (toRun != null) { + try { + toRun.run(); + } catch (IOException e) { + System.err.printf("Failed to run script for event: %s, exception below.\n%s\n", eventType.name(), e.getMessage()); + } + } + } + } + + protected static class ScriptConfigManager { + + protected static final Path scriptConfigPath = Paths.get(ConfigManager.SettingsPath.toString(), "scripts.json"); + + private ScriptConfigManager() {} + + static boolean fileExists() { return Files.exists(scriptConfigPath); } + + public static void initialize() { + if (!fileExists()) { + List eventsConfig = new ArrayList<>(); + for (var eventType : ScriptEventType.values()) { + eventsConfig.add(new ScriptConfig(eventType)); + } + + try { + JacksonHelper.serializer(scriptConfigPath, eventsConfig.toArray(new ScriptConfig[0])); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + static List loadConfig() { + try { + var raw = JacksonHelper.deserializer(scriptConfigPath, ScriptConfig[].class); + if (raw != null) { + return List.of(raw); + } + } catch (IOException e) { + e.printStackTrace(); + } + return new ArrayList<>(); + } + + protected static void deleteConfig() { + try { + Files.delete(scriptConfigPath); + } catch (IOException e) { + // + } + } + } + + public static void queueEvent(ScriptEventType eventType) { + if (!Platform.getCurrentPlatform().isWindows()) { + try { + queuedEvents.putLast(eventType); + Debug.printInfo("Queued event: " + eventType.name()); + } catch (InterruptedException e) { + System.err.println("Failed to add event to queue: " + eventType.name()); + } + } + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/FileHelper.java b/chameleon-server/src/main/java/com/chameleonvision/util/FileHelper.java new file mode 100644 index 000000000..1ff3c139c --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/util/FileHelper.java @@ -0,0 +1,44 @@ +package com.chameleonvision.util; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.PosixFileAttributes; +import java.nio.file.attribute.PosixFilePermission; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +public class FileHelper { + private FileHelper() {} + + private static final Set allReadWriteExecutePerms = new HashSet<>(Arrays.asList(PosixFilePermission.values())); + + public static void setFilePerms(Path path) throws IOException { + if (!Platform.CurrentPlatform.isWindows()) { + File thisFile = path.toFile(); + Set perms = Files.readAttributes(path, PosixFileAttributes.class).permissions(); + if (!perms.equals(allReadWriteExecutePerms)) { + System.out.printf("setting perms on %s\n", path.toString()); + Files.setPosixFilePermissions(path, perms); + if (thisFile.isDirectory()) { + for (File subfile : thisFile.listFiles()) { + setFilePerms(subfile.toPath()); + } + } + } + } + } + + public static void setAllPerms(Path path) { + String command = String.format("chmod 777 -R %s", path.toString()); + try { + Process p = Runtime.getRuntime().exec(command); + p.waitFor(); + + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/JacksonHelper.java b/chameleon-server/src/main/java/com/chameleonvision/util/JacksonHelper.java index b0a856c69..8979b4621 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/util/JacksonHelper.java +++ b/chameleon-server/src/main/java/com/chameleonvision/util/JacksonHelper.java @@ -4,9 +4,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator; import com.fasterxml.jackson.databind.jsontype.PolymorphicTypeValidator; + import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; public class JacksonHelper { diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/MathHandler.java b/chameleon-server/src/main/java/com/chameleonvision/util/MathHandler.java index a95a089e3..f2bcbaa62 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/util/MathHandler.java +++ b/chameleon-server/src/main/java/com/chameleonvision/util/MathHandler.java @@ -24,4 +24,9 @@ public class MathHandler { public static double toSlope(Number angle){ return FastMath.atan(FastMath.toRadians(angle.doubleValue() - 90)); } + + public static double roundTo(double value, int to) { + double toMult = Math.pow(10, to); + return (double)Math.round(value * toMult) / toMult; + } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/Platform.java b/chameleon-server/src/main/java/com/chameleonvision/util/Platform.java index 4bc4e6712..203880e98 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/util/Platform.java +++ b/chameleon-server/src/main/java/com/chameleonvision/util/Platform.java @@ -23,7 +23,7 @@ public enum Platform { private static final String OS_ARCH = System.getProperty("os.arch"); public static final Platform CurrentPlatform = getCurrentPlatform(); - public boolean isWindows() { + public boolean isWindows() { return this == WINDOWS_64; } @@ -35,6 +35,10 @@ public enum Platform { return this == MACOS_64; } + public static boolean isRaspberryPi() { + return CurrentPlatform.equals(LINUX_RASPBIAN); + } + private static ShellExec shell = new ShellExec(true, false); public boolean isRoot() { diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/ProgramDirectoryUtilities.java b/chameleon-server/src/main/java/com/chameleonvision/util/ProgramDirectoryUtilities.java index b78b45e91..3c415a412 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/util/ProgramDirectoryUtilities.java +++ b/chameleon-server/src/main/java/com/chameleonvision/util/ProgramDirectoryUtilities.java @@ -24,19 +24,16 @@ public class ProgramDirectoryUtilities { if (runningFromJAR()) { + if (Platform.isRaspberryPi()) { + return "/boot/chameleon-vision"; + } return getCurrentJARDirectory(); } else { return System.getProperty("user.dir"); -// return getCurrentProjectDirectory(); } } - private static String getCurrentProjectDirectory() - { - return new File("").getAbsolutePath(); - } - private static String getCurrentJARDirectory() { try diff --git a/chameleon-server/src/main/java/com/chameleonvision/util/ShellExec.java b/chameleon-server/src/main/java/com/chameleonvision/util/ShellExec.java index f0fa0f1cd..60856cf79 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/util/ShellExec.java +++ b/chameleon-server/src/main/java/com/chameleonvision/util/ShellExec.java @@ -19,6 +19,43 @@ public class ShellExec { this.readError = readError; } + /** + * Execute a bash command. We can handle complex bash commands including + * multiple executions (; | && ||), quotes, expansions ($), escapes (\), e.g.: + * "cd /abc/def; mv ghi 'older ghi '$(whoami)" + * @param command + * @return true if bash got started, but your command may have failed. + */ + public int executeBashCommand(String command) throws IOException { + boolean wait = true; + boolean success = false; + Runtime r = Runtime.getRuntime(); + // Use bash -c so we can handle things like multi commands separated by ; and + // things like quotes, $, |, and \. My tests show that command comes as + // one argument to bash, so we do not need to quote it to make it one thing. + // Also, exec may object if it does not have an executable file as the first thing, + // so having bash here makes it happy provided bash is installed and in path. + String[] commands = {"bash", "-c", command}; + + Process process = r.exec(commands); + + // Consume streams, older jvm's had a memory leak if streams were not read, + // some other jvm+OS combinations may block unless streams are consumed. + errorGobbler = new StreamGobbler(process.getErrorStream(), readError); + outputGobbler = new StreamGobbler(process.getInputStream(), readOutput); + errorGobbler.start(); + outputGobbler.start(); + + exitCode = 0; + if (wait) { + try { + process.waitFor(); + exitCode = process.exitValue(); + } catch (InterruptedException ignored) { } + } + return exitCode; + } + /** * Execute a command in current folder, and wait for process to end * @param command command ("c:/some/folder/script.bat" or "some/folder/script.sh") diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/VisionManager.java b/chameleon-server/src/main/java/com/chameleonvision/vision/VisionManager.java index d4d42c662..dda752965 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/VisionManager.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/VisionManager.java @@ -6,7 +6,6 @@ import com.chameleonvision.config.ConfigManager; import com.chameleonvision.config.FullCameraConfiguration; import com.chameleonvision.util.Helpers; import com.chameleonvision.util.Platform; -import com.chameleonvision.vision.camera.CameraCapture; import com.chameleonvision.vision.camera.USBCameraCapture; import com.chameleonvision.vision.pipeline.CVPipelineSettings; import edu.wpi.cscore.UsbCamera; @@ -84,9 +83,9 @@ public class VisionManager { CameraJsonConfig cameraJsonConfig = config.cameraConfig; - USBCameraCapture camera = new USBCameraCapture(cameraJsonConfig); - VisionProcess process = new VisionProcess(camera, cameraJsonConfig.name, config.pipelines); - process.pipelineManager.driverModePipeline.settings = config.drivermode; + USBCameraCapture camera = new USBCameraCapture(config); + VisionProcess process = new VisionProcess(camera, config); + process.pipelineManager.driverModePipeline.settings = config.driverMode; visionProcesses.add(new VisionProcessManageable(i, cameraJsonConfig.name, process)); } currentUIVisionProcess = getVisionProcessByIndex(0); @@ -102,6 +101,10 @@ public class VisionManager { return currentUIVisionProcess; } + public static CameraConfig getCurrentCameraConfig() { + return getCameraConfig(currentUIVisionProcess); + } + public static CameraConfig getCameraConfig(VisionProcess process) { String cameraName = process.getCamera().getProperties().name; return Objects.requireNonNull(loadedCameraConfigs.stream().filter(x -> x.cameraConfig.name.equals(cameraName)).findFirst().orElse(null)).fileConfig; diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/VisionProcess.java b/chameleon-server/src/main/java/com/chameleonvision/vision/VisionProcess.java index 9d11db4fd..f501e8ee9 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/VisionProcess.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/VisionProcess.java @@ -1,17 +1,26 @@ package com.chameleonvision.vision; import com.chameleonvision.Debug; +import com.chameleonvision.config.CameraCalibrationConfig; +import com.chameleonvision.config.CameraConfig; import com.chameleonvision.config.ConfigManager; +import com.chameleonvision.scripting.ScriptEventType; +import com.chameleonvision.scripting.ScriptManager; +import com.chameleonvision.config.FullCameraConfiguration; import com.chameleonvision.util.LoopingRunnable; -import com.chameleonvision.vision.camera.CameraCapture; +import com.chameleonvision.util.MathHandler; import com.chameleonvision.vision.camera.CameraStreamer; import com.chameleonvision.vision.camera.USBCameraCapture; import com.chameleonvision.vision.pipeline.*; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; +import com.chameleonvision.vision.pipeline.impl.DriverVisionPipeline; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipelineSettings; import com.chameleonvision.web.SocketHandler; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import edu.wpi.cscore.VideoMode; import edu.wpi.first.networktables.*; +import edu.wpi.first.wpilibj.geometry.Pose2d; import edu.wpi.first.wpiutil.CircularBuffer; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Mat; @@ -21,6 +30,7 @@ import java.util.HashMap; import java.util.List; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingDeque; +import java.util.stream.Collectors; public class VisionProcess { @@ -28,6 +38,7 @@ public class VisionProcess { private final USBCameraCapture cameraCapture; private final CameraStreamerRunnable streamRunnable; private final VisionProcessRunnable visionRunnable; + private final CameraConfig fileConfig; public final CameraStreamer cameraStreamer; public PipelineManager pipelineManager; @@ -37,6 +48,7 @@ public class VisionProcess { // network table stuff private final NetworkTable defaultTable; + private NetworkTableInstance tableInstance; private NetworkTableEntry ntPipelineEntry; public NetworkTableEntry ntDriverModeEntry; private int ntDriveModeListenerID; @@ -45,17 +57,22 @@ public class VisionProcess { private NetworkTableEntry ntPitchEntry; private NetworkTableEntry ntAuxListEntry; private NetworkTableEntry ntAreaEntry; - private NetworkTableEntry ntTimeStampEntry; + private NetworkTableEntry ntLatencyEntry; private NetworkTableEntry ntValidEntry; + private NetworkTableEntry ntPoseEntry; private ObjectMapper objectMapper = new ObjectMapper(); - VisionProcess(USBCameraCapture cameraCapture, String name, List loadedPipelineSettings) { + private long lastUIUpdateMs = 0; + + VisionProcess(USBCameraCapture cameraCapture, FullCameraConfiguration config) { this.cameraCapture = cameraCapture; - pipelineManager = new PipelineManager(this, loadedPipelineSettings); + fileConfig = config.fileConfig; + + pipelineManager = new PipelineManager(this, config.pipelines); // Thread to put frames on the dashboard - this.cameraStreamer = new CameraStreamer(cameraCapture, name); + this.cameraStreamer = new CameraStreamer(cameraCapture, config.cameraConfig.name, pipelineManager.getCurrentPipeline().settings.streamDivisor); this.streamRunnable = new CameraStreamerRunnable(30, cameraStreamer); // Thread to process vision data @@ -74,10 +91,10 @@ public class VisionProcess { visionThread.setName(getCamera().getProperties().name + " - Vision Thread"); visionThread.start(); - System.out.println("Starting stream thread."); - var streamThread = new Thread(streamRunnable); - streamThread.setName(getCamera().getProperties().name + " - Stream Thread"); - streamThread.start(); +// System.out.println("Starting stream thread."); +// var streamThread = new Thread(streamRunnable); +// streamThread.setName(getCamera().getProperties().name + " - Stream Thread"); +// streamThread.start(); } /** @@ -99,14 +116,16 @@ public class VisionProcess { } private void initNT(NetworkTable newTable) { + tableInstance = newTable.getInstance(); ntPipelineEntry = newTable.getEntry("pipeline"); ntDriverModeEntry = newTable.getEntry("driver_mode"); ntPitchEntry = newTable.getEntry("pitch"); ntYawEntry = newTable.getEntry("yaw"); ntAreaEntry = newTable.getEntry("area"); - ntTimeStampEntry = newTable.getEntry("timestamp"); + ntLatencyEntry = newTable.getEntry("latency"); ntValidEntry = newTable.getEntry("is_valid"); ntAuxListEntry = newTable.getEntry("aux_targets"); + ntPoseEntry = newTable.getEntry("poseList"); ntDriveModeListenerID = ntDriverModeEntry.addListener(this::setDriverMode, EntryListenerFlags.kUpdate); ntPipelineListenerID = ntPipelineEntry.addListener(this::setPipeline, EntryListenerFlags.kUpdate); ntDriverModeEntry.setBoolean(false); @@ -120,11 +139,13 @@ public class VisionProcess { public void setDriverMode(boolean driverMode) { pipelineManager.setDriverMode(driverMode); + ScriptManager.queueEvent(driverMode ? ScriptEventType.kEnterDriverMode : ScriptEventType.kExitDriverMode); SocketHandler.sendFullSettings(); } /** * Method called by the nt entry listener to update the next pipeline. + * * @param notification the notification */ private void setPipeline(EntryNotification notification) { @@ -136,76 +157,101 @@ public class VisionProcess { // if it's null, we haven't even started the program yet, so just return // otherwise, set it. - if(ntDriverModeEntry != null) { + if (ntDriverModeEntry != null) { ntDriverModeEntry.setBoolean(isDriverMode); } } private void updateUI(CVPipelineResult data) { - if(cameraCapture.getProperties().name.equals(ConfigManager.settings.currentCamera)) { - HashMap WebSend = new HashMap<>(); - HashMap point = new HashMap<>(); - HashMap calculated = new HashMap<>(); - List center = new ArrayList<>(); - if (data.hasTarget) { - if(data instanceof CVPipeline2d.CVPipeline2dResult) { - CVPipeline2d.CVPipeline2dResult result = (CVPipeline2d.CVPipeline2dResult) data; - CVPipeline2d.Target2d bestTarget = result.targets.get(0); - center.add(bestTarget.rawPoint.center.x); - center.add(bestTarget.rawPoint.center.y); - calculated.put("pitch", bestTarget.pitch); - calculated.put("yaw", bestTarget.yaw); - calculated.put("area", bestTarget.area); - } else if (data instanceof CVPipeline3d.CVPipeline3dResult) { - // TODO: (2.1) 3d stuff in UI + // 30 "FPS" update rate + long currentMillis = System.currentTimeMillis(); + if (currentMillis - lastUIUpdateMs > 1000 / 30) { + lastUIUpdateMs = currentMillis; + + + if (cameraCapture.getProperties().name.equals(ConfigManager.settings.currentCamera)) { + HashMap WebSend = new HashMap<>(); + HashMap point = new HashMap<>(); + HashMap pointMap = new HashMap<>(); + ArrayList webTargets = new ArrayList(); + List center = new ArrayList<>(); + + + + if (data.hasTarget) { + if (data instanceof StandardCVPipeline.StandardCVPipelineResult) { + StandardCVPipeline.StandardCVPipelineResult result = (StandardCVPipeline.StandardCVPipelineResult) data; + StandardCVPipeline.TrackedTarget bestTarget = result.targets.get(0); + if (((StandardCVPipelineSettings) pipelineManager.getCurrentPipeline().settings).multiple) { + for (var target : result.targets) { + pointMap = new HashMap<>(); + pointMap.put("pitch", target.pitch); + pointMap.put("yaw", target.yaw); + pointMap.put("area", target.area); + pointMap.put("pose", target.cameraRelativePose); + webTargets.add(pointMap); + } + } else { + pointMap.put("pitch", bestTarget.pitch); + pointMap.put("yaw", bestTarget.yaw); + pointMap.put("area", bestTarget.area); + pointMap.put("pose", bestTarget.cameraRelativePose); + webTargets.add(pointMap); + } + center.add(bestTarget.minAreaRect.center.x); + center.add(bestTarget.minAreaRect.center.y); + + } } else { + pointMap.put("pitch", null); + pointMap.put("yaw", null); + pointMap.put("area", null); + pointMap.put("pose", new Pose2d()); + webTargets.add(pointMap); center.add(null); center.add(null); - calculated.put("pitch", null); - calculated.put("yaw", null); - calculated.put("area", null); } - } else { - center.add(null); - center.add(null); - calculated.put("pitch", null); - calculated.put("yaw", null); - calculated.put("area", null); + + point.put("fps", visionRunnable.fps); + point.put("targets", webTargets); + point.put("rawPoint", center); + WebSend.put("point", point); + SocketHandler.broadcastMessage(WebSend); } - point.put("fps", visionRunnable.fps); - point.put("calculated", calculated); - point.put("rawPoint", center); - WebSend.put("point", point); - SocketHandler.broadcastMessage(WebSend); } } private void updateNetworkTableData(CVPipelineResult data) { ntValidEntry.setBoolean(data.hasTarget); - if(data.hasTarget && !(data instanceof DriverVisionPipeline.DriverPipelineResult)) { - if(data instanceof CVPipeline2d.CVPipeline2dResult) { + if (data.hasTarget && !(data instanceof DriverVisionPipeline.DriverPipelineResult)) { + if (data instanceof StandardCVPipeline.StandardCVPipelineResult) { //noinspection unchecked - List targets = (List) data.targets; - ntTimeStampEntry.setDouble(data.imageTimestamp); + List targets = (List) data.targets; + ntLatencyEntry.setDouble(MathHandler.roundTo(data.processTime * 1e-6, 3)); ntPitchEntry.setDouble(targets.get(0).pitch); ntYawEntry.setDouble(targets.get(0).yaw); ntAreaEntry.setDouble(targets.get(0).area); try { - ntAuxListEntry.setString(objectMapper.writeValueAsString(targets)); + ntAuxListEntry.setString(objectMapper.writeValueAsString(targets.stream() + .map(it -> List.of(it.pitch, it.yaw, it.area, it.cameraRelativePose)) + .collect(Collectors.toList()))); + + // TODO: (2.1) 3d stuff... + ntPoseEntry.setString(objectMapper.writeValueAsString(targets.stream().map(target -> target.cameraRelativePose).collect(Collectors.toList()))); } catch (JsonProcessingException e) { e.printStackTrace(); } - } else if (data instanceof CVPipeline3d.CVPipeline3dResult) { - // TODO: (2.1) 3d stuff... + } else { + ntPitchEntry.setDouble(0.0); + ntYawEntry.setDouble(0.0); + ntAreaEntry.setDouble(0.0); + ntLatencyEntry.setDouble(0.0); + ntAuxListEntry.setString(""); } - } else { - ntPitchEntry.setDouble(0.0); - ntYawEntry.setDouble(0.0); - ntAreaEntry.setDouble(0.0); - ntTimeStampEntry.setDouble(0.0); - ntAuxListEntry.setString(""); } + tableInstance.flush(); + } public void setVideoMode(VideoMode newMode) { @@ -229,6 +275,27 @@ public class VisionProcess { return pipelineManager.driverModePipeline.settings; } + public void addCalibration(CameraCalibrationConfig cal) { + cameraCapture.addCalibrationData(cal); + System.out.println("saving to file"); + fileConfig.saveCalibration(cameraCapture.getConfig()); + } + + public void setIs3d(Boolean value) { + var settings = pipelineManager.getCurrentPipeline().settings; + if (settings instanceof StandardCVPipelineSettings) { + ((StandardCVPipelineSettings) settings).is3D = value; + } + } + + public boolean getIs3d() { + var settings = pipelineManager.getCurrentPipeline().settings; + if (settings instanceof StandardCVPipelineSettings) { + return ((StandardCVPipelineSettings) settings).is3D; + } + return false; + } + /** * VisionProcessRunnable will process images as quickly as possible */ @@ -240,14 +307,22 @@ public class VisionProcess { @Override public void run() { var lastUpdateTimeNanos = System.nanoTime(); - while(!Thread.interrupted()) { + var lastStreamTimeMs = System.currentTimeMillis(); + while (!Thread.interrupted()) { // blocking call, will block until camera has a new frame. Pair camData = cameraCapture.getFrame(); Mat camFrame = camData.getLeft(); if (camFrame.cols() > 0 && camFrame.rows() > 0) { - CVPipelineResult result = pipelineManager.getCurrentPipeline().runPipeline(camFrame); + CVPipelineResult result = null; + try { + result = pipelineManager.getCurrentPipeline().runPipeline(camFrame); + } catch (Exception e) { + System.err.println("Exception in vision process " + getCamera().getProperties().getNickname() + "!"); + e.printStackTrace(); + } + camFrame.release(); if (result != null) { @@ -259,8 +334,16 @@ public class VisionProcess { } try { - streamFrameQueue.clear(); - streamFrameQueue.add(lastPipelineResult.outputMat); +// streamFrameQueue.clear(); +// streamFrameQueue.add(lastPipelineResult.outputMat); + var currentTime = System.currentTimeMillis(); + if((currentTime - lastStreamTimeMs)/1000d > 1.0 / 30.0) { + cameraStreamer.runStream(lastPipelineResult.outputMat); +// System.out.println("Ran stream in " + (System.currentTimeMillis() - currentTime) + "ms!"); + lastStreamTimeMs = currentTime; + lastPipelineResult.outputMat.release(); + } + } catch (Exception e) { Debug.printInfo("Vision running faster than stream."); } @@ -274,7 +357,7 @@ public class VisionProcess { double getAverageFPS() { var temp = 0.0; - for(int i = 0; i < 7; i++) { + for (int i = 0; i < 7; i++) { temp += fpsAveragingBuffer.get(i); } temp /= 7.0; @@ -290,7 +373,7 @@ public class VisionProcess { private CameraStreamerRunnable(int cameraFPS, CameraStreamer streamer) { // add 2 FPS to allow for a bit of overhead - super(1000L/(cameraFPS + 2)); + super(1000L / (cameraFPS + 2)); this.streamer = streamer; } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraCapture.java b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraCapture.java index 949e0da77..a59a4b2cd 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraCapture.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraCapture.java @@ -1,9 +1,12 @@ package com.chameleonvision.vision.camera; +import com.chameleonvision.config.CameraCalibrationConfig; import com.chameleonvision.vision.image.CaptureProperties; import com.chameleonvision.vision.image.ImageCapture; import edu.wpi.cscore.VideoMode; +import java.util.List; + public interface CameraCapture extends ImageCapture { CaptureProperties getProperties(); @@ -39,4 +42,7 @@ public interface CameraCapture extends ImageCapture { * @param gain the new gain to set the camera to */ void setGain(int gain); + + CameraCalibrationConfig getCurrentCalibrationData(); + List getAllCalibrationData(); } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java index b36a0ad60..b3c9a95bf 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/CameraStreamer.java @@ -14,13 +14,14 @@ import org.opencv.imgproc.Imgproc; public class CameraStreamer { private final CameraCapture cameraCapture; private final String name; - private StreamDivisor divisor = StreamDivisor.NONE; + private StreamDivisor divisor; private CvSource cvSource; private final Object streamBufferLock = new Object(); private Mat streamBuffer = new Mat(); private Size size; - public CameraStreamer(CameraCapture cameraCapture, String name) { + public CameraStreamer(CameraCapture cameraCapture, String name,StreamDivisor div) { + this.divisor = div; this.cameraCapture = cameraCapture; this.name = name; this.cvSource = CameraServer.getInstance().putVideo(name, @@ -35,28 +36,33 @@ public class CameraStreamer { } public void setDivisor(StreamDivisor newDivisor, boolean updateUI) { - if (divisor != newDivisor) { - this.divisor = newDivisor; - var camValues = cameraCapture.getProperties(); - var newWidth = camValues.getStaticProperties().imageWidth / newDivisor.value; - var newHeight = camValues.getStaticProperties().imageHeight / newDivisor.value; - this.size = new Size(newWidth, newHeight); - synchronized (streamBufferLock) { - this.streamBuffer = new Mat(newWidth, newHeight, CvType.CV_8UC3); - this.cvSource = CameraServer.getInstance().putVideo(this.name, - cameraCapture.getProperties().getStaticProperties().imageWidth / divisor.value, - cameraCapture.getProperties().getStaticProperties().imageHeight / divisor.value); - } - if (updateUI) { - SocketHandler.sendFullSettings(); - } + this.divisor = newDivisor; + var camValues = cameraCapture.getProperties(); + var newWidth = camValues.getStaticProperties().imageWidth / newDivisor.value; + var newHeight = camValues.getStaticProperties().imageHeight / newDivisor.value; + this.size = new Size(newWidth, newHeight); + synchronized (streamBufferLock) { + this.streamBuffer = new Mat(newWidth, newHeight, CvType.CV_8UC3); + VideoMode oldVideoMode = cvSource.getVideoMode(); + cvSource.setVideoMode(new VideoMode(oldVideoMode.pixelFormat, + cameraCapture.getProperties().getStaticProperties().imageWidth / divisor.value, + cameraCapture.getProperties().getStaticProperties().imageHeight / divisor.value, + oldVideoMode.fps)); } + if (updateUI) { + SocketHandler.sendFullSettings(); + } + } public StreamDivisor getDivisor() { return divisor; } + public void recalculateDivision() { + setDivisor(this.divisor, false); + } + public void setNewVideoMode(VideoMode newVideoMode) { // Trick to update cvSource and streamBuffer to the new resolution // Must change the cameraProcess resolution first diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java index f8b229c6d..129558ba0 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCameraCapture.java @@ -1,7 +1,7 @@ package com.chameleonvision.vision.camera; -import com.chameleonvision.config.CameraJsonConfig; -import com.chameleonvision.vision.image.CaptureProperties; +import com.chameleonvision.config.CameraCalibrationConfig; +import com.chameleonvision.config.FullCameraConfiguration; import edu.wpi.cscore.CvSink; import edu.wpi.cscore.UsbCamera; import edu.wpi.cscore.VideoException; @@ -9,14 +9,23 @@ import edu.wpi.cscore.VideoMode; import edu.wpi.first.cameraserver.CameraServer; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Mat; +import org.opencv.core.Size; +import org.opencv.imgcodecs.Imgcodecs; + +import java.util.ArrayList; +import java.util.List; public class USBCameraCapture implements CameraCapture { private final UsbCamera baseCamera; private final CvSink cvSink; + private List calibrationList; private Mat imageBuffer = new Mat(); private USBCaptureProperties properties; - public USBCameraCapture(CameraJsonConfig config) { + public USBCameraCapture(FullCameraConfiguration fullCameraConfiguration) { + var config = fullCameraConfiguration.cameraConfig; + this.calibrationList = new ArrayList<>(); //fullCameraConfiguration.calibration; + calibrationList.addAll(fullCameraConfiguration.calibration); baseCamera = new UsbCamera(config.name, config.path); cvSink = CameraServer.getInstance().getVideo(baseCamera); properties = new USBCaptureProperties(baseCamera, config); @@ -25,6 +34,24 @@ public class USBCameraCapture implements CameraCapture { setVideoMode(videoMode); } + public CameraCalibrationConfig getCalibration(Size size) { + for(var calibration: calibrationList) { + if(calibration.resolution.equals(size)) return calibration; + } + return null; + } + + public CameraCalibrationConfig getCalibration(VideoMode mode) { + return getCalibration(new Size(mode.width, mode.height)); + } + + public void addCalibrationData(CameraCalibrationConfig newConfig) { + calibrationList.add(newConfig); + } + + public List getConfig() { + return calibrationList; + } @Override public USBCaptureProperties getProperties() { @@ -91,4 +118,14 @@ public class USBCameraCapture implements CameraCapture { } } } + + @Override + public CameraCalibrationConfig getCurrentCalibrationData() { + return getCalibration(getCurrentVideoMode()); + } + + @Override + public List getAllCalibrationData() { + return calibrationList; + } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCaptureProperties.java b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCaptureProperties.java index b08d6701b..2abbef913 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCaptureProperties.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/camera/USBCaptureProperties.java @@ -5,6 +5,7 @@ import com.chameleonvision.util.Platform; import com.chameleonvision.vision.image.CaptureProperties; import edu.wpi.cscore.UsbCamera; import edu.wpi.cscore.VideoMode; +import edu.wpi.first.wpilibj.geometry.Rotation2d; import java.util.Arrays; import java.util.List; @@ -12,7 +13,7 @@ import java.util.function.Predicate; import java.util.stream.Collectors; import java.util.stream.Stream; -public class USBCaptureProperties extends com.chameleonvision.vision.image.CaptureProperties { +public class USBCaptureProperties extends CaptureProperties { public static final double DEFAULT_FOV = 70; private static final int DEFAULT_EXPOSURE = 50; private static final int DEFAULT_BRIGHTNESS = 50; @@ -100,10 +101,16 @@ public class USBCaptureProperties extends com.chameleonvision.vision.image.Captu return videoModes; } + public VideoMode getVideoMode(int index){ + return videoModes.get(index); + } + public VideoMode getCurrentVideoMode() { return staticProperties.mode; } public int getCurrentVideoModeIndex(){ return getVideoModes().indexOf(getCurrentVideoMode()); } + + } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/enums/ImageRotationMode.java b/chameleon-server/src/main/java/com/chameleonvision/vision/enums/ImageRotationMode.java index c7920b46d..b22150aab 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/enums/ImageRotationMode.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/enums/ImageRotationMode.java @@ -13,4 +13,6 @@ public enum ImageRotationMode { ImageRotationMode(int value) { this.value = value; } + + public boolean isRotated(){return this.value==DEG_90.value||this.value==DEG_270.value;} } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/image/CaptureProperties.java b/chameleon-server/src/main/java/com/chameleonvision/vision/image/CaptureProperties.java index 8717bb88d..c2e2374bc 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/image/CaptureProperties.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/image/CaptureProperties.java @@ -2,11 +2,13 @@ package com.chameleonvision.vision.image; import com.chameleonvision.vision.camera.CaptureStaticProperties; import edu.wpi.cscore.VideoMode; +import edu.wpi.first.wpilibj.geometry.Rotation2d; import org.opencv.core.Mat; public class CaptureProperties { protected CaptureStaticProperties staticProperties; + private Rotation2d tilt = new Rotation2d(); protected CaptureProperties() { } @@ -14,8 +16,16 @@ public class CaptureProperties { public CaptureProperties(VideoMode videoMode, double fov) { staticProperties = new CaptureStaticProperties(videoMode, fov); } - + public void setStaticProperties(CaptureStaticProperties staticProperties) {this.staticProperties = staticProperties;} public CaptureStaticProperties getStaticProperties() { return staticProperties; } + + public Rotation2d getTilt() { + return tilt; + } + + public void setTilt(Rotation2d tilt) { + this.tilt = tilt; + } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/image/StaticImageCapture.java b/chameleon-server/src/main/java/com/chameleonvision/vision/image/StaticImageCapture.java index 5de9999b7..820a9097d 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/image/StaticImageCapture.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/image/StaticImageCapture.java @@ -1,5 +1,6 @@ package com.chameleonvision.vision.image; +import com.chameleonvision.config.CameraCalibrationConfig; import com.chameleonvision.vision.camera.CameraCapture; import com.chameleonvision.vision.camera.USBCaptureProperties; import edu.wpi.cscore.VideoMode; @@ -9,6 +10,7 @@ import org.opencv.imgcodecs.Imgcodecs; import java.nio.file.Files; import java.nio.file.Path; +import java.util.List; public class StaticImageCapture implements CameraCapture { @@ -73,4 +75,14 @@ public class StaticImageCapture implements CameraCapture { public void setGain(int gain) { // do nothing } + + @Override + public CameraCalibrationConfig getCurrentCalibrationData() { + return null; + } + + @Override + public List getAllCalibrationData() { + return null; + } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline.java index 092939ace..a51073778 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline.java @@ -9,7 +9,7 @@ import org.opencv.core.Mat; */ public abstract class CVPipeline { protected Mat outputMat = new Mat(); - CameraCapture cameraCapture; + protected CameraCapture cameraCapture; public S settings; protected CVPipeline(S settings) { @@ -29,8 +29,4 @@ public abstract class CVPipeline { - - - protected CVPipeline3d(CVPipeline3dSettings settings) { - super(settings); - } - - CVPipeline3d() { - super(new CVPipeline3dSettings()); - } - - @Override - public CVPipeline3dResult runPipeline(Mat inputMat) { - return null; - } - - - public static class CVPipeline3dResult extends CVPipelineResult { - public CVPipeline3dResult(List targets, Mat outputMat, long processTime) { - super(targets, outputMat, processTime); - } - } - - public static class Target3d extends CVPipeline2d.Target2d { - // TODO: (2.1) Define 3d-specific target data - } -} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline3dSettings.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline3dSettings.java deleted file mode 100644 index 342659ca1..000000000 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline3dSettings.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.chameleonvision.vision.pipeline; - -public class CVPipeline3dSettings extends CVPipeline2dSettings { - // TODO: (2.1) define 3d-specific pipeline settings - // add 3d-specific property to ensure serializing/deserializing works - public boolean placeholder = false; -} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Pipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/Pipe.java similarity index 84% rename from chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Pipe.java rename to chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/Pipe.java index d2458a6c7..8fd8104d0 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Pipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/Pipe.java @@ -1,4 +1,4 @@ -package com.chameleonvision.vision.pipeline.pipes; +package com.chameleonvision.vision.pipeline; import org.apache.commons.lang3.tuple.Pair; diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/PipelineManager.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/PipelineManager.java index 7e6a942a1..11f6acafb 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/PipelineManager.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/PipelineManager.java @@ -1,10 +1,13 @@ package com.chameleonvision.vision.pipeline; +import com.chameleonvision.Exceptions.DuplicatedKeyException; import com.chameleonvision.config.CameraConfig; import com.chameleonvision.config.ConfigManager; import com.chameleonvision.vision.VisionManager; import com.chameleonvision.vision.VisionProcess; +import com.chameleonvision.vision.pipeline.impl.*; import com.chameleonvision.web.SocketHandler; +import edu.wpi.cscore.VideoMode; import edu.wpi.first.networktables.NetworkTableEntry; import java.util.Comparator; @@ -16,10 +19,12 @@ import java.util.List; public class PipelineManager { private static final int DRIVERMODE_INDEX = -1; + private static final int CAL_3D_INDEX = -2; public final LinkedList pipelines = new LinkedList<>(); public final CVPipeline driverModePipeline = new DriverVisionPipeline(new CVPipelineSettings()); + public final Calibrate3dPipeline calib3dPipe = new Calibrate3dPipeline(new StandardCVPipelineSettings()); private final VisionProcess parentProcess; private int lastPipelineIndex; @@ -29,7 +34,7 @@ public class PipelineManager { public PipelineManager(VisionProcess visionProcess, List loadedPipelineSettings) { parentProcess = visionProcess; if (loadedPipelineSettings == null || loadedPipelineSettings.size() == 0) { - pipelines.add(new CVPipeline2d("New Pipeline")); + pipelines.add(new StandardCVPipeline("New Pipeline")); } else { for (CVPipelineSettings setting : loadedPipelineSettings) { addInternalPipeline(setting); @@ -71,10 +76,8 @@ public class PipelineManager { } private void addInternalPipeline(CVPipelineSettings setting) { - if (setting instanceof CVPipeline3dSettings) { - pipelines.add(new CVPipeline3d((CVPipeline3dSettings) setting)); - } else if (setting instanceof CVPipeline2dSettings) { - pipelines.add(new CVPipeline2d((CVPipeline2dSettings) setting)); + if (setting instanceof StandardCVPipelineSettings) { + pipelines.add(new StandardCVPipeline((StandardCVPipelineSettings) setting)); } else { System.out.println("Non 2D/3D pipelines not supported!"); } @@ -82,11 +85,18 @@ public class PipelineManager { } public void setDriverMode(boolean driverMode) { - if (driverMode) { - setCurrentPipeline(DRIVERMODE_INDEX); - } else { - setCurrentPipeline(lastPipelineIndex); - } + if (driverMode) setCurrentPipeline(DRIVERMODE_INDEX); + else setCurrentPipeline(lastPipelineIndex); + } + + public void setCalibrationMode(boolean calibrationMode) { + setCurrentPipeline((calibrationMode ? CAL_3D_INDEX : lastPipelineIndex)); + } + + public void enableCalibrationMode(VideoMode mode) { + parentProcess.setVideoMode(mode); + calib3dPipe.setVideoMode(mode); + setCalibrationMode(true); } public boolean getDriverMode() { @@ -98,32 +108,45 @@ public class PipelineManager { } public CVPipeline getCurrentPipeline() { - if (currentPipelineIndex <= DRIVERMODE_INDEX) { + if (currentPipelineIndex == DRIVERMODE_INDEX) { return driverModePipeline; + } else if (currentPipelineIndex <= CAL_3D_INDEX) { + return calib3dPipe; } else { return pipelines.get(currentPipelineIndex); } } public void setCurrentPipeline(int index) { - CVPipeline newPipeline; + CVPipeline newPipeline=null; if (index == DRIVERMODE_INDEX) { newPipeline = driverModePipeline; - // if we're changing into driver mode, try to set the nt entry to frue + // if we're changing into driver mode, try to set the nt entry to true + parentProcess.setDriverModeEntry(true); + } else if (index == CAL_3D_INDEX) { parentProcess.setDriverModeEntry(true); - } else { - newPipeline = pipelines.get(index); - // if we're switching out of driver mode, try to set the nt entry to false - parentProcess.setDriverModeEntry(false); + newPipeline = calib3dPipe; + } else { + if (index < pipelines.size()&&index>=0) { + newPipeline = pipelines.get(index); + + // if we're switching out of driver mode, try to set the nt entry to false + parentProcess.setDriverModeEntry(false); + } + else + { + //TODO alert/warn user that pipeline doesnt exsits + System.err.println("Index is out of bounds"); + } } if (newPipeline != null) { lastPipelineIndex = currentPipelineIndex; currentPipelineIndex = index; getCurrentPipeline().initPipeline(parentProcess.getCamera()); - if(ConfigManager.settings.currentCamera.equals(parentProcess.getCamera().getProperties().name)) { + if (ConfigManager.settings.currentCamera.equals(parentProcess.getCamera().getProperties().name)) { ConfigManager.settings.currentPipeline = currentPipelineIndex; HashMap pipeChange = new HashMap<>(); @@ -136,7 +159,9 @@ public class PipelineManager { } } newPipeline.initPipeline(parentProcess.getCamera()); - if(ntIndexEntry != null) { + if (parentProcess.cameraStreamer != null) + parentProcess.cameraStreamer.setDivisor(newPipeline.settings.streamDivisor, true); + if (ntIndexEntry != null) { ntIndexEntry.setDouble(index); } } @@ -153,13 +178,9 @@ public class PipelineManager { savePipelineConfig(pipeline.settings); } - public void addNewPipeline(boolean is3D) { - CVPipeline newPipeline; - if (!is3D) { - newPipeline = new CVPipeline2d(); - } else { - newPipeline = new CVPipeline3d(); - } + public void addNewPipeline(String piplineName) { + StandardCVPipeline newPipeline = new StandardCVPipeline(); + newPipeline.settings.nickname = piplineName; newPipeline.settings.index = pipelines.size(); addPipeline(newPipeline); } @@ -168,19 +189,22 @@ public class PipelineManager { return pipelines.get(index); } - public void duplicatePipeline(CVPipelineSettings pipeline) { + public void duplicatePipeline(CVPipelineSettings pipeline) throws DuplicatedKeyException { duplicatePipeline(pipeline, parentProcess); } - public void duplicatePipeline(CVPipelineSettings pipeline, VisionProcess destinationProcess) { + public void duplicatePipeline(CVPipelineSettings pipeline, VisionProcess destinationProcess) throws DuplicatedKeyException { pipeline.index = destinationProcess.pipelineManager.pipelines.size(); pipeline.nickname += "(Copy)"; - destinationProcess.pipelineManager.addPipeline(pipeline); + if (destinationProcess.pipelineManager.pipelines.stream().anyMatch(c -> c.settings.nickname.equals(pipeline.nickname))){ + throw new DuplicatedKeyException("key Already exists"); + } else{ + destinationProcess.pipelineManager.addPipeline(pipeline); + } } public void renameCurrentPipeline(String newName) { CVPipelineSettings settings = getCurrentPipeline().settings; - settings.nickname = newName; renamePipelineConfig(settings, newName); } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/Calibrate3dPipeline.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/Calibrate3dPipeline.java new file mode 100644 index 000000000..fbba9856c --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/Calibrate3dPipeline.java @@ -0,0 +1,167 @@ +package com.chameleonvision.vision.pipeline.impl; + +import com.chameleonvision.config.CameraCalibrationConfig; +import com.chameleonvision.config.ConfigManager; +import com.chameleonvision.vision.VisionManager; +import com.chameleonvision.vision.camera.CameraCapture; +import com.chameleonvision.vision.pipeline.CVPipeline; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import edu.wpi.cscore.VideoMode; +import edu.wpi.first.wpilibj.util.Units; +import org.opencv.calib3d.Calib3d; +import org.opencv.core.*; +import org.opencv.imgproc.Imgproc; + +import java.util.ArrayList; +import java.util.List; + +public class Calibrate3dPipeline extends CVPipeline { + + private int checkerboardSquaresHigh = 7; + private int checkerboardSquaresWide = 7; + private MatOfPoint3f objP_ORIG; + + private MatOfPoint3f objP;// new MatOfPoint3f(checkerboardSquaresHigh + checkerboardSquaresWide, 3);//(checkerboardSquaresWide * checkerboardSquaresHigh, 3); + private Size patternSize = new Size(checkerboardSquaresHigh, checkerboardSquaresWide); + private Size imageSize; + double checkerboardSquareSize = 1; // inches! + private MatOfPoint2f calibrationOutput = new MatOfPoint2f(); + private List objpoints = new ArrayList<>(); + private List imgpoints = new ArrayList<>(); + + public static double checkerboardSquareSizeUnits = Units.inchesToMeters(1.0); + + public static final int MIN_COUNT = 15; + private VideoMode calibrationMode; + private final Size windowSize = new Size(11, 11); + private final Size zeroZone = new Size(-1, -1); + private TermCriteria criteria = new TermCriteria(3, 30, 0.001); //(Imgproc.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) + + private int captureCount = 0; + private boolean wantsSnapshot = false; + private double squareSizeInches; + + public Calibrate3dPipeline(StandardCVPipelineSettings settings) { + super(settings); + + objP_ORIG = new MatOfPoint3f(); + objP = new MatOfPoint3f(); + + for(int i = 0; i < checkerboardSquaresHigh * checkerboardSquaresWide; i++) { + objP_ORIG.push_back(new MatOfPoint3f(new Point3(i / checkerboardSquaresWide, i % checkerboardSquaresHigh, 0.0f))); + } + + setSquareSize(checkerboardSquareSizeUnits); + + objpoints.forEach(Mat::release); + imgpoints.forEach(Mat::release); + objpoints.clear(); + imgpoints.clear(); + } + + public void setSquareSize(double size) { + this.squareSizeInches = size; + } + + public void takeSnapshot() { + wantsSnapshot = true; + } + + public boolean hasEnoughSnapshots() { + return captureCount >= MIN_COUNT - 1; + } + + @Override + public DriverVisionPipeline.DriverPipelineResult runPipeline(Mat inputMat) { + + // look for checkerboard + Imgproc.cvtColor(inputMat, inputMat, Imgproc.COLOR_BGR2GRAY); + var checkerboardFound = Calib3d.findChessboardCorners(inputMat, patternSize, calibrationOutput); + + + + if(!checkerboardFound) { + Imgproc.cvtColor(inputMat, inputMat, Imgproc.COLOR_GRAY2BGR); + + return new DriverVisionPipeline.DriverPipelineResult(null, inputMat, 0); + } + +// System.out.println("[SolvePNP] checkerboard found!!"); + + // cool we found a checkerboard + // do corner subpixel + Imgproc.cornerSubPix(inputMat, calibrationOutput, windowSize, zeroZone, criteria); + + // convert back to BGR + Imgproc.cvtColor(inputMat, inputMat, Imgproc.COLOR_GRAY2BGR); + // draw the chessboard + Calib3d.drawChessboardCorners(inputMat, patternSize, calibrationOutput, true); + + if(wantsSnapshot) { + this.imageSize = new Size(inputMat.width(), inputMat.height()); + + var mat = new MatOfPoint3f(); + calibrationOutput.copyTo(mat); + this.objpoints.add(objP); + imgpoints.add(mat); + captureCount++; + wantsSnapshot = false; + } + + imageSize = new Size(inputMat.width(), inputMat.height()); + + return new DriverVisionPipeline.DriverPipelineResult(null, inputMat, 0); + } + + @Override + public void initPipeline(CameraCapture camera) { + super.initPipeline(camera); + objpoints.clear(); + imgpoints.clear(); + captureCount = 0; + } + + public boolean tryCalibration() { + if (!hasEnoughSnapshots()) return false; + + Mat cameraMatrix = new Mat(); + Mat distortionCoeffs = new Mat(); + List rvecs = new ArrayList<>(); + List tvecs = new ArrayList<>(); + + try { + Calib3d.calibrateCamera(objpoints, imgpoints, imageSize, cameraMatrix, distortionCoeffs, rvecs, tvecs); + } catch(Exception e) { + System.err.println("Camera calibration failed!"); + initPipeline(cameraCapture); + return false; + } + + VideoMode currentVidMode = cameraCapture.getCurrentVideoMode(); + Size resolution = new Size(currentVidMode.width, currentVidMode.height); + CameraCalibrationConfig cal = new CameraCalibrationConfig(resolution, cameraMatrix, distortionCoeffs, squareSizeInches); + + VisionManager.getCurrentUIVisionProcess().addCalibration(cal); + + try { + System.out.printf("CALIBRATION SUCCESS! camMatrix: \n%s\ndistortionCoeffs:\n%s\n", + new ObjectMapper().writeValueAsString(cal.cameraMatrix), new ObjectMapper().writeValueAsString(cal.distortionCoeffs)); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } + + + ConfigManager.saveGeneralSettings(); + + return true; + } + + public void setVideoMode(VideoMode mode){ + this.calibrationMode = mode; + } + + public int getSnapshotCount() { + return captureCount + 1; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/DriverVisionPipeline.java similarity index 57% rename from chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java rename to chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/DriverVisionPipeline.java index e5cc03baa..1dcff6a30 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/DriverVisionPipeline.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/DriverVisionPipeline.java @@ -1,8 +1,12 @@ -package com.chameleonvision.vision.pipeline; +package com.chameleonvision.vision.pipeline.impl; import com.chameleonvision.util.MemoryManager; import com.chameleonvision.vision.camera.CameraCapture; -import com.chameleonvision.vision.pipeline.pipes.Draw2dContoursPipe; +import com.chameleonvision.vision.enums.CalibrationMode; +import com.chameleonvision.vision.pipeline.CVPipeline; +import com.chameleonvision.vision.pipeline.CVPipelineResult; +import com.chameleonvision.vision.pipeline.CVPipelineSettings; +import com.chameleonvision.vision.pipeline.pipes.Draw2dCrosshairPipe; import com.chameleonvision.vision.pipeline.pipes.RotateFlipPipe; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Mat; @@ -10,14 +14,13 @@ import org.opencv.core.RotatedRect; import java.util.List; -import static com.chameleonvision.vision.pipeline.DriverVisionPipeline.DriverPipelineResult; +import static com.chameleonvision.vision.pipeline.impl.DriverVisionPipeline.DriverPipelineResult; public class DriverVisionPipeline extends CVPipeline { private RotateFlipPipe rotateFlipPipe; - private Draw2dContoursPipe draw2dContoursPipe; - private Draw2dContoursPipe.Draw2dContoursSettings draw2dContoursSettings = new Draw2dContoursPipe.Draw2dContoursSettings(); - private final List blankList = List.of(); + private Draw2dCrosshairPipe drawCrosshairPipe; + private Draw2dCrosshairPipe.Draw2dCrosshairPipeSettings crosshairPipeSettings = new Draw2dCrosshairPipe.Draw2dCrosshairPipeSettings(); private final MemoryManager memoryManager = new MemoryManager(200, 20000); @@ -30,22 +33,20 @@ public class DriverVisionPipeline extends CVPipeline rotateFlipResult = rotateFlipPipe.run(inputMat); - Pair draw2dContoursResult = draw2dContoursPipe.run(Pair.of(rotateFlipResult.getLeft(), blankList)); - + Pair draw2dCrosshairResult = drawCrosshairPipe.run(Pair.of(rotateFlipResult.getLeft(),null)); memoryManager.run(); - return new DriverPipelineResult(null, draw2dContoursResult.getLeft(), 0); + return new DriverPipelineResult(null, draw2dCrosshairResult.getLeft(), 0); } public static class DriverPipelineResult extends CVPipelineResult { diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipeline.java similarity index 62% rename from chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java rename to chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipeline.java index dd211a5a1..e5407baac 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2d.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipeline.java @@ -1,19 +1,22 @@ -package com.chameleonvision.vision.pipeline; +package com.chameleonvision.vision.pipeline.impl; import com.chameleonvision.Main; import com.chameleonvision.util.MemoryManager; import com.chameleonvision.vision.camera.CameraCapture; import com.chameleonvision.vision.camera.CaptureStaticProperties; +import com.chameleonvision.vision.pipeline.CVPipeline; +import com.chameleonvision.vision.pipeline.CVPipelineResult; import com.chameleonvision.vision.pipeline.pipes.*; +import edu.wpi.first.wpilibj.geometry.Pose2d; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.*; import java.util.List; -import static com.chameleonvision.vision.pipeline.CVPipeline2d.*; +import static com.chameleonvision.vision.pipeline.impl.StandardCVPipeline.*; @SuppressWarnings("WeakerAccess") -public class CVPipeline2d extends CVPipeline { +public class StandardCVPipeline extends CVPipeline { private Mat rawCameraMat = new Mat(); @@ -29,21 +32,25 @@ public class CVPipeline2d extends CVPipeline rotateFlipResult = rotateFlipPipe.run(inputMat); totalPipelineTimeNanos += rotateFlipResult.getRight(); + inputMat.copyTo(rawCameraMat); + // Pair blurResult = blurPipe.run(rotateFlipResult.getLeft()); // totalPipelineTimeNanos += blurResult.getRight(); @@ -143,22 +164,47 @@ public class CVPipeline2d extends CVPipeline, Long> speckleRejectResult = speckleRejectPipe.run(filterContoursResult.getLeft()); totalPipelineTimeNanos += speckleRejectResult.getRight(); - Pair, Long> groupContoursResult = groupContoursPipe.run(speckleRejectResult.getLeft()); + Pair, Long> groupContoursResult = groupContoursPipe.run(speckleRejectResult.getLeft()); totalPipelineTimeNanos += groupContoursResult.getRight(); - Pair, Long> sortContoursResult = sortContoursPipe.run(groupContoursResult.getLeft()); + Pair, Long> sortContoursResult = sortContoursPipe.run(groupContoursResult.getLeft()); totalPipelineTimeNanos += sortContoursResult.getRight(); - Pair, Long> collect2dTargetsResult = collect2dTargetsPipe.run(Pair.of(sortContoursResult.getLeft(), camProps)); + Pair, Long> collect2dTargetsResult = collect2dTargetsPipe.run(Pair.of(sortContoursResult.getLeft(), camProps)); totalPipelineTimeNanos += collect2dTargetsResult.getRight(); // takes pair of (Mat of original camera image (8UC3), Mat of HSV thresholded image(8UC1)) - Pair outputMatResult = outputMatPipe.run(Pair.of(rotateFlipResult.getLeft(), hsvResult.getLeft())); + Pair outputMatResult = outputMatPipe.run(Pair.of(rawCameraMat, hsvResult.getLeft())); totalPipelineTimeNanos += outputMatResult.getRight(); + Pair result; + + if(!settings.is3D) { + // takes pair of (Mat to draw on, List of sorted contours) + result = draw2dContoursPipe.run(Pair.of(outputMatResult.getLeft(), sortContoursResult.getLeft())); + totalPipelineTimeNanos += result.getRight(); + } else { + result = outputMatResult; + } + // takes pair of (Mat to draw on, List of sorted contours) - Pair draw2dContoursResult = draw2dContoursPipe.run(Pair.of(outputMatResult.getLeft(), sortContoursResult.getLeft())); - totalPipelineTimeNanos += draw2dContoursResult.getRight(); + Pair draw2dCrosshairResult = draw2dCrosshairPipe.run(Pair.of(result.getLeft(),collect2dTargetsResult.getLeft())); + totalPipelineTimeNanos += draw2dCrosshairResult.getRight(); + + Mat outputMat; + + if(settings.is3D) { + // once we've sorted our targets, perform solvePNP. The number of "best targets" is limited by the above pipe + Pair, Long> solvePNPResult = solvePNPPipe.run(collect2dTargetsResult.getLeft()); + totalPipelineTimeNanos += solvePNPResult.getRight(); + + Pair draw3dContoursResult = drawSolvePNPPipe.run(Pair.of(outputMatResult.getLeft(), solvePNPResult.getLeft())); + totalPipelineTimeNanos += draw3dContoursResult.getRight(); + + outputMat = draw3dContoursResult.getLeft(); + } else { + outputMat = draw2dCrosshairResult.getLeft(); + } if (Main.testMode) { pipelineTimeString += String.format("PipeInit: %.2fms, ", pipeInitTimeNanos / 1000000.0); @@ -173,7 +219,8 @@ public class CVPipeline2d extends CVPipeline { - public CVPipeline2dResult(List targets, Mat outputMat, long processTimeNanos) { + public static class StandardCVPipelineResult extends CVPipelineResult { + public StandardCVPipelineResult(List targets, Mat outputMat, long processTimeNanos) { super(targets, outputMat, processTimeNanos); } + + public void release() { + targets.forEach(TrackedTarget::release); + outputMat.release(); + } } - public static class Target2d { + public static class TrackedTarget { public double calibratedX = 0.0; public double calibratedY = 0.0; public double pitch = 0.0; public double yaw = 0.0; public double area = 0.0; - public RotatedRect rawPoint; + public RotatedRect minAreaRect; + + // 3d stuff + public Pose2d cameraRelativePose = new Pose2d(); + public Mat rVector = new Mat(); + public Mat tVector = new Mat(); + public MatOfPoint2f imageCornerPoints = new MatOfPoint2f(); + public Pair leftRightDualTargetPair = null; + public Pair leftRightRotatedRect = null; + + public void release() { + rVector.release(); + tVector.release(); + imageCornerPoints.release(); + } } + + } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2dSettings.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipelineSettings.java similarity index 69% rename from chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2dSettings.java rename to chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipelineSettings.java index 2f3be3ed8..a6db1e5fc 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/CVPipeline2dSettings.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/impl/StandardCVPipelineSettings.java @@ -1,14 +1,21 @@ -package com.chameleonvision.vision.pipeline; +package com.chameleonvision.vision.pipeline.impl; import com.chameleonvision.vision.enums.CalibrationMode; import com.chameleonvision.vision.enums.SortMode; import com.chameleonvision.vision.enums.TargetGroup; import com.chameleonvision.vision.enums.TargetIntersection; +import com.chameleonvision.vision.pipeline.CVPipelineSettings; +import com.fasterxml.jackson.annotation.JsonIgnore; +import edu.wpi.first.wpilibj.util.Units; +import org.opencv.core.Mat; +import org.opencv.core.MatOfDouble; +import org.opencv.core.Point; +import org.opencv.core.Point3; import java.util.Arrays; import java.util.List; -public class CVPipeline2dSettings extends CVPipelineSettings { +public class StandardCVPipelineSettings extends CVPipelineSettings { public List hue = Arrays.asList(50, 180); public List saturation = Arrays.asList(50, 255); public List value = Arrays.asList(50, 255); @@ -27,4 +34,9 @@ public class CVPipeline2dSettings extends CVPipelineSettings { public CalibrationMode calibrationMode = CalibrationMode.None; public double dualTargetCalibrationM = 1; public double dualTargetCalibrationB = 0; + + // 3d stuff + public double targetWidth = 15.5, targetHeight = 6.0; + + public boolean is3D = false; } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/BlurPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/BlurPipe.java index a6ee819b5..95f99b7be 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/BlurPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/BlurPipe.java @@ -1,10 +1,8 @@ package com.chameleonvision.vision.pipeline.pipes; +import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; -import org.opencv.core.CvException; import org.opencv.core.Mat; -import org.opencv.core.Size; -import org.opencv.imgproc.Imgproc; public class BlurPipe implements Pipe { diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Collect2dTargetsPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Collect2dTargetsPipe.java index 572e9e6e2..4e7bdc878 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Collect2dTargetsPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Collect2dTargetsPipe.java @@ -1,45 +1,38 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.vision.camera.CaptureStaticProperties; -import com.chameleonvision.vision.pipeline.CVPipeline2d; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import com.chameleonvision.vision.enums.CalibrationMode; import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.math3.util.FastMath; -import org.opencv.core.Mat; -import org.opencv.core.RotatedRect; import java.util.ArrayList; import java.util.List; -public class Collect2dTargetsPipe implements Pipe, CaptureStaticProperties>, List> { +public class Collect2dTargetsPipe implements Pipe, CaptureStaticProperties>, List> { + - private CalibrationMode calibrationMode; private CaptureStaticProperties camProps; + private CalibrationMode calibrationMode; private List calibrationPoint; private double calibrationM, calibrationB; + private List targets = new ArrayList<>(); - private List targets = new ArrayList<>(); - - public Collect2dTargetsPipe(CalibrationMode calibrationMode, List calibrationPoint, - double calibrationM, double calibrationB, CaptureStaticProperties camProps) { - this.calibrationMode = calibrationMode; - this.camProps = camProps; - this.calibrationPoint = calibrationPoint; - this.calibrationM = calibrationM; - this.calibrationB = calibrationB; + public Collect2dTargetsPipe(CalibrationMode calibrationMode, List calibrationPoint, double calibrationM, double calibrationB, CaptureStaticProperties camProps) { + setConfig(calibrationMode, calibrationPoint, calibrationM, calibrationB, camProps); } - public void setConfig(CalibrationMode calibrationMode, List calibrationPoint, - double calibrationM, double calibrationB, CaptureStaticProperties camProps) { + public void setConfig(CalibrationMode calibrationMode, List calibrationPoint, double calibrationM, double calibrationB, CaptureStaticProperties camProps) { this.calibrationMode = calibrationMode; - this.camProps = camProps; this.calibrationPoint = calibrationPoint; this.calibrationM = calibrationM; this.calibrationB = calibrationB; + this.camProps = camProps; } @Override - public Pair, Long> run(Pair, CaptureStaticProperties> inputPair) { + public Pair, Long> run(Pair, CaptureStaticProperties> inputPair) { long processStartNanos = System.nanoTime(); targets.clear(); @@ -47,27 +40,30 @@ public class Collect2dTargetsPipe implements Pipe, Captur var imageArea = inputPair.getRight().imageArea; if (input.size() > 0) { - for (RotatedRect r : input) { - CVPipeline2d.Target2d t = new CVPipeline2d.Target2d(); - t.rawPoint = r; - switch (calibrationMode) { + for (var t : input) { + switch (this.calibrationMode) { + case Single: + if(this.calibrationPoint.isEmpty()) + { + this.calibrationPoint.add(camProps.centerX); + this.calibrationPoint.add(camProps.centerY); + } + t.calibratedX = this.calibrationPoint.get(0).doubleValue(); + t.calibratedY = this.calibrationPoint.get(1).doubleValue(); + break; case None: t.calibratedX = camProps.centerX; t.calibratedY = camProps.centerY; break; - case Single: - t.calibratedX = calibrationPoint.get(0).doubleValue(); - t.calibratedY = calibrationPoint.get(1).doubleValue(); - break; case Dual: - t.calibratedX = (r.center.y - calibrationB) / calibrationM; - t.calibratedY = (r.center.x * calibrationM) + calibrationB; + t.calibratedX = (t.minAreaRect.center.y - this.calibrationB) / this.calibrationM; + t.calibratedY = (t.minAreaRect.center.x * this.calibrationM) + this.calibrationB; break; } - t.pitch = calculatePitch(r.center.y, t.calibratedY); - t.yaw = calculateYaw(r.center.x, t.calibratedX); - t.area = r.size.area() / imageArea; + t.pitch = calculatePitch(t.minAreaRect.center.y, t.calibratedY); + t.yaw = calculateYaw(t.minAreaRect.center.x, t.calibratedX); + t.area = t.minAreaRect.size.area() / imageArea; targets.add(t); } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java index af7655af6..9fdb6def9 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dContoursPipe.java @@ -2,6 +2,8 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.vision.camera.CaptureStaticProperties; import com.chameleonvision.util.Helpers; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Point; import org.opencv.core.*; @@ -11,7 +13,7 @@ import java.awt.*; import java.util.ArrayList; import java.util.List; -public class Draw2dContoursPipe implements Pipe>, Mat> { +public class Draw2dContoursPipe implements Pipe>, Mat> { private final Draw2dContoursSettings settings; private CaptureStaticProperties camProps; @@ -37,10 +39,10 @@ public class Draw2dContoursPipe implements Pipe>, Ma } @Override - public Pair run(Pair> input) { + public Pair run(Pair> input) { long processStartNanos = System.nanoTime(); - if (settings.showCrosshair || settings.showCentroid || settings.showMaximumBox || settings.showRotatedBox) { + if (settings.showCentroid || settings.showMaximumBox || settings.showRotatedBox) { // input.getLeft().copyTo(processBuffer); // processBuffer = input.getLeft(); @@ -49,11 +51,13 @@ public class Draw2dContoursPipe implements Pipe>, Ma if (i != 0 && !settings.showMultiple){ break; } - RotatedRect r = input.getRight().get(i); + StandardCVPipeline.TrackedTarget target = input.getRight().get(i); + RotatedRect r = input.getRight().get(i).minAreaRect; if (r == null) continue; drawnContours.forEach(Mat::release); drawnContours.clear(); + drawnContours = new ArrayList<>(); r.points(vertices); contour.fromArray(vertices); @@ -77,34 +81,22 @@ public class Draw2dContoursPipe implements Pipe>, Ma } } - if (settings.showCrosshair) { - xMax.set(new double[] {camProps.centerX + 10, camProps.centerY}); - xMin.set(new double[] {camProps.centerX - 10, camProps.centerY}); - yMax.set(new double[] {camProps.centerX, camProps.centerY + 10}); - yMin.set(new double[] {camProps.centerX, camProps.centerY - 10}); - Imgproc.line(input.getLeft(), xMax, xMin, Helpers.colorToScalar(settings.crosshairColor), 2); - Imgproc.line(input.getLeft(), yMax, yMin, Helpers.colorToScalar(settings.crosshairColor), 2); - } - // processBuffer.copyTo(outputMat); // processBuffer.release(); } else { // input.getLeft().copyTo(outputMat); } - long processTime = System.nanoTime() - processStartNanos; return Pair.of(input.getLeft(), processTime); } public static class Draw2dContoursSettings { public boolean showCentroid = false; - public boolean showCrosshair = false; public boolean showMultiple = false; public int boxOutlineSize = 0; public boolean showRotatedBox = false; public boolean showMaximumBox = false; public Color centroidColor = Color.GREEN; - public Color crosshairColor = Color.GREEN; public Color rotatedBoxColor = Color.BLUE; public Color maximumBoxColor = Color.RED; } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dCrosshairPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dCrosshairPipe.java new file mode 100644 index 000000000..3f215ea38 --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/Draw2dCrosshairPipe.java @@ -0,0 +1,84 @@ +package com.chameleonvision.vision.pipeline.pipes; + +import com.chameleonvision.util.Helpers; +import com.chameleonvision.vision.enums.CalibrationMode; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; +import org.apache.commons.lang3.tuple.Pair; +import org.opencv.core.Mat; +import org.opencv.core.Point; +import org.opencv.imgproc.Imgproc; + +import java.awt.*; +import java.util.List; + +public class Draw2dCrosshairPipe implements Pipe>, Mat> { + + //Settings + private Draw2dCrosshairPipeSettings crosshairSettings; + private CalibrationMode calibrationMode; + private List calibrationPoint; + private double calibrationM, calibrationB; + + + private Point xMax = new Point(), xMin = new Point(), yMax = new Point(), yMin = new Point(); + + public Draw2dCrosshairPipe(Draw2dCrosshairPipeSettings crosshairSettings, CalibrationMode calibrationMode, List calibrationPoint, double calibrationM, double calibrationB) { + setConfig(crosshairSettings, calibrationMode, calibrationPoint, calibrationM, calibrationB); + } + + public void setConfig(Draw2dCrosshairPipeSettings crosshairSettings, CalibrationMode calibrationMode, List calibrationPoint, double calibrationM, double calibrationB) { + this.crosshairSettings = crosshairSettings; + this.calibrationMode = calibrationMode; + this.calibrationPoint = calibrationPoint; + this.calibrationM = calibrationM; + this.calibrationB = calibrationB; + } + + @Override + public Pair run(Pair> inputPair) { + long processStartNanos = System.nanoTime(); + Mat image = inputPair.getLeft(); + List targets = inputPair.getRight(); + double x = 0, y = 0, scale = image.cols() / 32.0; + + drawCrosshair: + if (this.crosshairSettings.showCrosshair) { + x = image.cols() / 2; + y = image.rows() / 2; + switch (this.calibrationMode) { + case Single: + if(this.calibrationPoint.isEmpty()) + { + this.calibrationPoint.add(x); + this.calibrationPoint.add(y); + } + x = this.calibrationPoint.get(0).intValue(); + y = this.calibrationPoint.get(1).intValue(); + break; + case Dual: +// if (targets != null && !targets.isEmpty()) { +// x = targets.get(0).calibratedX; +// y = targets.get(0).calibratedY; +// //TODO dual point calibration crosshair checks +// } else +// break drawCrosshair; + break; + } + xMax.set(new double[]{x + scale, y}); + xMin.set(new double[]{x - scale, y}); + yMax.set(new double[]{x, y + scale}); + yMin.set(new double[]{x, y - scale}); + Imgproc.line(inputPair.getLeft(), xMax, xMin, Helpers.colorToScalar(this.crosshairSettings.crosshairColor), 2); + Imgproc.line(inputPair.getLeft(), yMax, yMin, Helpers.colorToScalar(this.crosshairSettings.crosshairColor), 2); + } + + long processTime = System.nanoTime() - processStartNanos; + return Pair.of(inputPair.getLeft(), processTime); + } + + public static class Draw2dCrosshairPipeSettings { + public boolean showCrosshair = true; + public Color crosshairColor = Color.GREEN; + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/DrawSolvePNPPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/DrawSolvePNPPipe.java new file mode 100644 index 000000000..3eaad04fb --- /dev/null +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/DrawSolvePNPPipe.java @@ -0,0 +1,109 @@ +package com.chameleonvision.vision.pipeline.pipes; + +import com.chameleonvision.config.CameraCalibrationConfig; +import com.chameleonvision.util.Helpers; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; +import org.apache.commons.lang3.tuple.Pair; +import org.opencv.calib3d.Calib3d; +import org.opencv.core.*; +import org.opencv.core.Point; +import org.opencv.imgproc.Imgproc; + +import java.awt.*; +import java.util.List; + +public class DrawSolvePNPPipe implements Pipe>, Mat> { + + private MatOfPoint3f boxCornerMat = new MatOfPoint3f(); + + public Scalar color = Helpers.colorToScalar(Color.GREEN); + + public DrawSolvePNPPipe(CameraCalibrationConfig settings) { + setConfig(settings); + setObjectBox(14.5, 6, 2); + } + + public void setObjectBox(double targetWidth, double targetHeight, double targetDepth) { + // implementation from 5190 Green Hope Falcons + + boxCornerMat.release(); + boxCornerMat = new MatOfPoint3f( + new Point3(-targetWidth/2d, -targetHeight/2d, 0), + new Point3(-targetWidth/2d, targetHeight/2d, 0), + new Point3(targetWidth/2d, targetHeight/2d, 0), + new Point3(targetWidth/2d, -targetHeight/2d, 0), + new Point3(-targetWidth/2d, -targetHeight/2d, -targetDepth), + new Point3(-targetWidth/2d, targetHeight/2d, -targetDepth), + new Point3(targetWidth/2d, targetHeight/2d, -targetDepth), + new Point3(targetWidth/2d, -targetHeight/2d, -targetDepth) + ); + } + + private Mat cameraMatrix = new Mat(); + private MatOfDouble distortionCoefficients = new MatOfDouble(); + + public void setConfig(CameraCalibrationConfig config) { + if(config == null) { + System.err.println("got passed a null config! Returning..."); + return; + } + setConfig(config.getCameraMatrixAsMat(), config.getDistortionCoeffsAsMat()); + } + + public void setConfig(Mat cameraMatrix_, MatOfDouble distortionMatrix_) { + this.cameraMatrix = cameraMatrix_; + this.distortionCoefficients = distortionMatrix_; + } + + @Override + public Pair run(Pair> targets) { + long processStartNanos = System.nanoTime(); + + var image = targets.getLeft(); + for(var it : targets.getRight()) { + MatOfPoint2f imagePoints = new MatOfPoint2f(); + try { + Calib3d.projectPoints(boxCornerMat, it.rVector, it.tVector, this.cameraMatrix, this.distortionCoefficients, imagePoints, new Mat() , 0); + } catch (Exception e) { + e.printStackTrace(); + } + var pts = imagePoints.toList(); + + // draw left and right targets if possible + if(it.leftRightDualTargetPair != null) { + var left = it.leftRightDualTargetPair.getLeft(); + var right = it.leftRightDualTargetPair.getRight(); + Imgproc.rectangle(image, left.tl(), left.br(), new Scalar(200, 200, 0), 4); + Imgproc.rectangle(image, right.tl(), right.br(), new Scalar(200, 200, 0), 2); + } + + // draw corners + for(int i = 0; i < it.imageCornerPoints.rows(); i++) { + var point = new Point(it.imageCornerPoints.get(i, 0)); + Imgproc.circle(image, point, 4, new Scalar(0, 255, 0), 5); + } + + // sketch out floor + Imgproc.line(image, pts.get(0), pts.get(1), new Scalar(0, 255, 0), 3); + Imgproc.line(image, pts.get(1), pts.get(2), new Scalar(0, 255, 0), 3); + Imgproc.line(image, pts.get(2), pts.get(3), new Scalar(0, 255, 0), 3); + Imgproc.line(image, pts.get(3), pts.get(0), new Scalar(0, 255, 0), 3); + + // draw pillars + Imgproc.line(image, pts.get(0), pts.get(4), new Scalar(255, 0, 0), 3); + Imgproc.line(image, pts.get(1), pts.get(5), new Scalar(255, 0, 0), 3); + Imgproc.line(image, pts.get(2), pts.get(6), new Scalar(255, 0, 0), 3); + Imgproc.line(image, pts.get(3), pts.get(7), new Scalar(255, 0, 0), 3); + + // draw top + Imgproc.line(image, pts.get(4), pts.get(5), new Scalar(0, 0, 255), 3); + Imgproc.line(image, pts.get(5), pts.get(6), new Scalar(0, 0, 255), 3); + Imgproc.line(image, pts.get(6), pts.get(7), new Scalar(0, 0, 255), 3); + Imgproc.line(image, pts.get(7), pts.get(4), new Scalar(0, 0, 255), 3); + } + + long processTime = System.nanoTime() - processStartNanos; + return Pair.of(image, processTime); + } +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/ErodeDilatePipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/ErodeDilatePipe.java index 5b8a67319..2d5034118 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/ErodeDilatePipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/ErodeDilatePipe.java @@ -1,5 +1,6 @@ package com.chameleonvision.vision.pipeline.pipes; +import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Mat; import org.opencv.core.Size; @@ -11,9 +12,6 @@ public class ErodeDilatePipe implements Pipe { private boolean dilate; private Mat kernel; - private Mat processBuffer = new Mat(); - private Mat outputMat = new Mat(); - public ErodeDilatePipe(boolean erode, boolean dilate, int kernelSize) { this.erode = erode; this.dilate = dilate; diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FilterContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FilterContoursPipe.java index 121216214..282c711db 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FilterContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FilterContoursPipe.java @@ -2,6 +2,7 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.vision.camera.CaptureStaticProperties; import com.chameleonvision.util.MathHandler; +import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.MatOfPoint; import org.opencv.core.MatOfPoint2f; diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FindContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FindContoursPipe.java index bf57d57d1..e2426dbb5 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FindContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/FindContoursPipe.java @@ -1,5 +1,6 @@ package com.chameleonvision.vision.pipeline.pipes; +import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java index 93b64f25b..42cfd6d96 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/GroupContoursPipe.java @@ -3,6 +3,8 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.util.MathHandler; import com.chameleonvision.vision.enums.TargetGroup; import com.chameleonvision.vision.enums.TargetIntersection; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import org.apache.commons.lang3.tuple.Pair; import org.opencv.core.*; import org.opencv.imgproc.Imgproc; @@ -13,7 +15,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -public class GroupContoursPipe implements Pipe, List> { +public class GroupContoursPipe implements Pipe, List> { private static final Comparator sortByMomentsX = Comparator.comparingDouble(GroupContoursPipe::calcMomentsX); @@ -21,7 +23,7 @@ public class GroupContoursPipe implements Pipe, List groupedContours = new ArrayList<>(); + private List groupedContours = new ArrayList<>(); private MatOfPoint2f intersectMatA = new MatOfPoint2f(); private MatOfPoint2f intersectMatB = new MatOfPoint2f(); @@ -36,9 +38,10 @@ public class GroupContoursPipe implements Pipe, List, Long> run(List input) { + public Pair, Long> run(List input) { long processStartNanos = System.nanoTime(); + groupedContours.forEach(StandardCVPipeline.TrackedTarget::release); groupedContours.clear(); if (input.size() > (group.equals(TargetGroup.Single) ? 0 : 1)) { @@ -55,7 +58,9 @@ public class GroupContoursPipe implements Pipe, List, List, List, List> { + + private Double tilt_angle; + private MatOfPoint3f objPointsMat = new MatOfPoint3f(); + private Mat rVec = new Mat(); + private Mat tVec = new Mat(); + private Mat rodriguez = new Mat(); + private Mat pzero_world = new Mat(); + private Mat cameraMatrix = new Mat(); + Mat rot_inv = new Mat(); + Mat kMat = new Mat(); + private MatOfDouble distortionCoefficients = new MatOfDouble(); + private List poseList = new ArrayList<>(); + Comparator leftRightComparator = Comparator.comparingDouble(point -> point.x); + Comparator verticalComparator = Comparator.comparingDouble(point -> point.y); + private double distanceDivisor = 1.0; + Mat scaledTvec = new Mat(); + + public SolvePNPPipe(StandardCVPipelineSettings settings, CameraCalibrationConfig calibration, Rotation2d tilt) { + super(); + setCameraCoeffs(calibration); + setTarget(settings.targetWidth, settings.targetHeight); + this.tilt_angle = tilt.getRadians(); + } + + public void setTarget(double targetWidth, double targetHeight) { + // order is left top, left bottom, right bottom, right top + + List corners = List.of( + new Point3(-targetWidth / 2.0, targetHeight / 2.0, 0.0), + new Point3(-targetWidth / 2.0, -targetHeight / 2.0, 0.0), + new Point3(targetWidth / 2.0, -targetHeight / 2.0, 0.0), + new Point3(targetWidth / 2.0, targetHeight / 2.0, 0.0) + ); + setObjectCorners(corners); + } + + public void setObjectCorners(List objectCorners) { + objPointsMat.release(); + objPointsMat = new MatOfPoint3f(); + objPointsMat.fromList(objectCorners); + } + + public void setConfig(StandardCVPipelineSettings settings, CameraCalibrationConfig camConfig, Rotation2d tilt) { + setCameraCoeffs(camConfig); + setTarget(settings.targetWidth, settings.targetHeight); + tilt_angle = tilt.getRadians(); + } + + private void setCameraCoeffs(CameraCalibrationConfig settings) { + if(settings == null) { + System.err.println("SolvePNP can only run on a calibrated resolution, and this one is not! Please calibrate to use solvePNP."); + return; + } + if(cameraMatrix != settings.getCameraMatrixAsMat()) { + cameraMatrix.release(); + settings.getCameraMatrixAsMat().copyTo(cameraMatrix); + } + if(distortionCoefficients != settings.getDistortionCoeffsAsMat()) { + distortionCoefficients.release(); + settings.getDistortionCoeffsAsMat().copyTo(distortionCoefficients); + } + this.distanceDivisor = settings.squareSize; + } + + @Override + public Pair, Long> run(List targets) { + long processStartNanos = System.nanoTime(); + poseList.clear(); + for(var target: targets) { + var corners = (target.leftRightDualTargetPair != null) ? findCorner2019(target) : findBoundingBoxCorners(target); + var pose = calculatePose(corners, target); + if(pose != null) poseList.add(pose); + } + long processTime = System.nanoTime() - processStartNanos; + return Pair.of(poseList, processTime); + } + + private MatOfPoint2f findCorner2019(StandardCVPipeline.TrackedTarget target) { + if(target.leftRightDualTargetPair == null) return null; + + var left = target.leftRightDualTargetPair.getLeft(); + var right = target.leftRightDualTargetPair.getRight(); + + // flip if the "left" target is to the right + if(left.x > right.x) { + var temp = left; + left = right; + right = temp; + } + + var points = new MatOfPoint2f(); + points.fromArray( + new Point(left.x, left.y + left.height), + new Point(left.x, left.y), + new Point(right.x + right.width, right.y), + new Point(right.x + right.width, right.y + right.height) + ); + return points; + } + + private MatOfPoint2f findCornerMinAreaRect(StandardCVPipeline.TrackedTarget target) { + if(target.leftRightRotatedRect == null) return null; + + var centroid = target.minAreaRect.center; + + var left = target.leftRightRotatedRect.getLeft(); + var right = target.leftRightRotatedRect.getRight(); + + // flip if the "left" target is to the right + if(left.center.x > right.center.x) { + var temp = left; + left = right; + right = temp; + } + + var leftPoints = new Point[4]; + left.points(leftPoints); + var rightPoints = new Point[4]; + right.points(rightPoints); + ArrayList combinedList = new ArrayList<>(List.of(leftPoints)); + combinedList.addAll(List.of(rightPoints)); + + // start looking in the top left quadrant + Comparator distanceProvider = Comparator.comparingDouble((Point point) -> FastMath.sqrt(FastMath.pow(centroid.x - point.x, 2) + FastMath.pow(centroid.y - point.y, 2))); + + var tl = combinedList.stream().filter(point -> point.x < centroid.x && point.y < centroid.y).max(distanceProvider).get(); + var tr = combinedList.stream().filter(point -> point.x > centroid.x && point.y < centroid.y).max(distanceProvider).get(); + var bl = combinedList.stream().filter(point -> point.x < centroid.x && point.y > centroid.y).max(distanceProvider).get(); + var br = combinedList.stream().filter(point -> point.x > centroid.x && point.y > centroid.y).max(distanceProvider).get(); + + boundingBoxResultMat.release(); + boundingBoxResultMat.fromList(List.of(tl, bl, br, tr)); + + return boundingBoxResultMat; + } + + private MatOfPoint2f findBoundingBoxCorners(StandardCVPipeline.TrackedTarget target) { + +// List> list = new ArrayList<>(); +// // find the corners based on the bounding box +// // order is left top, left bottom, right bottom, right top + + // extract the corners + var points = new Point[4]; + target.minAreaRect.points(points); + + // find the tl/tr/bl/br corners + // first, min by left/right + var list_ = Arrays.asList(points); + list_.sort(leftRightComparator); + // of this, we now have left and right + // sort to get top and bottom + var left = new ArrayList<>(List.of(list_.get(0), list_.get(1))); + left.sort(verticalComparator); + var right = new ArrayList<>(List.of(list_.get(2), list_.get(3))); + right.sort(verticalComparator); + + // tl tr bl br + var tl = left.get(0); + var bl = left.get(1); + var tr = right.get(0); + var br = right.get(1); + + boundingBoxResultMat.release(); + boundingBoxResultMat.fromList(List.of(tl, bl, br, tr)); + + return boundingBoxResultMat; + } + + MatOfPoint2f boundingBoxResultMat = new MatOfPoint2f(); + MatOfPoint2f goodFeaturesResultMat = new MatOfPoint2f(); + + private Mat dstNorm = new Mat(); + private Mat dstNormScaled = new Mat(); + List tempCornerList = new ArrayList<>(); + + /** + * Find the corners in an image. + * @param targetImage the image to find corners in. + * @return the corners found in the image. + */ + @Deprecated + private List findCornerHarris(Mat targetImage) { + + // convert the image to greyscale + var gray = new Mat(); + Imgproc.cvtColor(targetImage, gray, Imgproc.COLOR_BGR2GRAY); + Mat dst = Mat.zeros(targetImage.size(), CvType.CV_8U); + + // constants + final int blockSize = 2; + final int apertureSize = 3; + final double k = 0.04; + final int threshold = 200; + + /// Detecting corners + Imgproc.cornerHarris(gray, dst, blockSize, apertureSize, k); + + /// Normalizing + Core.normalize(dst, dstNorm, 0, 255, Core.NORM_MINMAX); + Core.convertScaleAbs(dstNorm, dstNormScaled); + + /// Drawing a circle around corners + float[] dstNormData = new float[(int) (dstNorm.total() * dstNorm.channels())]; + dstNorm.get(0, 0, dstNormData); + + tempCornerList.clear(); + for (int i = 0; i < dstNorm.rows(); i++) { + for (int j = 0; j < dstNorm.cols(); j++) { + if ((int) dstNormData[i * dstNorm.cols() + j] > threshold) { + tempCornerList.add(new Point(j, i)); + } + } + } + + return tempCornerList; + } + + @Deprecated + private MatOfPoint2f findGoodFeaturesToTrack2019(StandardCVPipeline.TrackedTarget target, Mat srcImage) { + +// Imgproc.approxPolyDP(new MatOfPoint2f(max_contour.toArray()),approx,epsilon,true); + + // start by looking at the targets + var leftRight = target.leftRightDualTargetPair; + var reverse = (leftRight.getLeft().x < leftRight.getRight().x); + var left = reverse ? leftRight.getLeft() : leftRight.getRight(); + var right = !reverse ? leftRight.getLeft() : leftRight.getRight(); + var boundingTl = left.tl(); + var boundingBr = right.br(); + + var slightlyBiggerTl = new Point( + Math.max(0, boundingTl.x - 5), + Math.max(0, boundingTl.y - 5) + ); + + var slightlyBiggerBr = new Point( + Math.min(srcImage.rows(), boundingBr.x + 5), + Math.min(srcImage.cols(), boundingBr.y + 5) + ); + var rect = new Rect(slightlyBiggerTl, slightlyBiggerBr); + + var croppedImage = srcImage.submat(rect); + var corners = new MatOfPoint(); + Imgproc.goodFeaturesToTrack(croppedImage, corners, 8,0.5,5); + + List cornerList = new ArrayList<>(corners.toList()); + if(cornerList.size() != 8 && cornerList.size() != 4) return null; + cornerList.sort(leftRightComparator); + + cornerList = cornerList.stream().map(point -> + new Point(point.x + slightlyBiggerTl.x, point.y + slightlyBiggerTl.y)) + .collect(Collectors.toList()); + + // of these, we want the two leftmost and two rightmost points + var left1 = cornerList.get(0); + var left2 = cornerList.get(1); + var right1 = cornerList.get(0); + var right2 = cornerList.get(1); + + // TODO maximize distance from the center rather than naively assume the leftmost and rightmost + // will have to do per quadrant + + var leftOrder = left1.y < left2.y; + var rightOrder = right1.y < right2.y; + + var tl = leftOrder ? left1 : left2; + var bl = !leftOrder ? left1 : left2; + var tr = rightOrder ? right1 : right2; + var br = !rightOrder ? right1 : right2; + + goodFeaturesResultMat.release(); + goodFeaturesResultMat.fromList(List.of(tl, bl, br, tr)); + + return goodFeaturesResultMat; + } + + private StandardCVPipeline.TrackedTarget calculatePose(MatOfPoint2f imageCornerPoints, StandardCVPipeline.TrackedTarget target) { + if(objPointsMat.rows() != imageCornerPoints.rows() || cameraMatrix.rows() < 2 || distortionCoefficients.cols() < 4) { + System.err.println("can't do solvePNP with invalid params!"); + return null; + } + + imageCornerPoints.copyTo(target.imageCornerPoints); + + try { + Calib3d.solvePnP(objPointsMat, imageCornerPoints, cameraMatrix, distortionCoefficients, rVec, tVec); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + // Algorithm from team 5190 Green Hope Falcons + +// var tilt_angle = 0.0; // TODO add to settings + + var x = tVec.get(0, 0)[0]; + var z = FastMath.sin(tilt_angle) * tVec.get(1, 0)[0] + tVec.get(2, 0)[0] * FastMath.cos(tilt_angle); + + // distance in the horizontal plane between camera and target + var distance = FastMath.sqrt(x * x + z * z); + + // horizontal angle between center camera and target + @SuppressWarnings("SuspiciousNameCombination") + var angle1 = FastMath.atan2(x, z); + + Calib3d.Rodrigues(rVec, rodriguez); + Core.transpose(rodriguez, rot_inv); + + // This should be pzero_world = numpy.matmul(rot_inv, -tvec) +// pzero_world = rot_inv.mul(matScale(tVec, -1)); + scaledTvec = matScale(tVec, -1); + Core.gemm(rot_inv, scaledTvec, 1, kMat, 0, pzero_world); + + var angle2 = FastMath.atan2(pzero_world.get(0, 0)[0], pzero_world.get(2, 0)[0]); + + var targetAngle = -angle1; // radians + var targetRotation = -angle2; // radians + var targetDistance = distance * 25.4 / 1000d / distanceDivisor; // This should be meters + + var targetLocation = new Translation2d(targetDistance * FastMath.cos(targetAngle), targetDistance * FastMath.sin(targetAngle)); + target.cameraRelativePose = new Pose2d(targetLocation, new Rotation2d(targetRotation)); + target.rVector = rVec; + target.tVector = tVec; + + return target; + } + + /** + * Element-wise scale a matrix by a given factor + * @param src the source matrix + * @param factor by how much to scale each element + * @return the scaled matrix + */ + public Mat matScale(Mat src, double factor) { + Mat dst = new Mat(src.rows(),src.cols(),src.type()); + Scalar s = new Scalar(factor); // TODO check if we need to add more elements to this + Core.multiply(src, s, dst); + return dst; + } + +} diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SortContoursPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SortContoursPipe.java index ee10cf099..4435a8874 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SortContoursPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SortContoursPipe.java @@ -2,32 +2,34 @@ package com.chameleonvision.vision.pipeline.pipes; import com.chameleonvision.vision.camera.CaptureStaticProperties; import com.chameleonvision.vision.enums.SortMode; +import com.chameleonvision.vision.pipeline.Pipe; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.math3.util.FastMath; -import org.opencv.core.RotatedRect; +import org.opencv.core.*; import java.util.ArrayList; import java.util.Comparator; import java.util.List; -public class SortContoursPipe implements Pipe, List> { +public class SortContoursPipe implements Pipe, List> { - private final Comparator SortByCentermostComparator = Comparator.comparingDouble(this::calcCenterDistance); + private final Comparator SortByCentermostComparator = Comparator.comparingDouble(this::calcSquareCenterDistance); - private static final Comparator SortByLargestComparator = (rect1, rect2) -> Double.compare(rect2.size.area(), rect1.size.area()); - private static final Comparator SortBySmallestComparator = SortByLargestComparator.reversed(); + private static final Comparator SortByLargestComparator = (rect1, rect2) -> Double.compare(rect2.minAreaRect.size.area(), rect1.minAreaRect.size.area()); + private static final Comparator SortBySmallestComparator = SortByLargestComparator.reversed(); - private static final Comparator SortByHighestComparator = (rect1, rect2) -> Double.compare(rect2.center.y, rect1.center.y); - private static final Comparator SortByLowestComparator = SortByHighestComparator.reversed(); + private static final Comparator SortByHighestComparator = (rect1, rect2) -> Double.compare(rect1.minAreaRect.center.y, rect2.minAreaRect.center.y); + private static final Comparator SortByLowestComparator = SortByHighestComparator.reversed(); - private static final Comparator SortByLeftmostComparator = Comparator.comparingDouble(rect -> rect.center.x); - private static final Comparator SortByRightmostComparator = SortByLeftmostComparator.reversed(); + public static final Comparator SortByLeftmostComparator = Comparator.comparingDouble(target -> target.minAreaRect.center.x); + private static final Comparator SortByRightmostComparator = SortByLeftmostComparator.reversed(); private SortMode sort; private CaptureStaticProperties camProps; private int maxTargets; - private List sortedContours = new ArrayList<>(); + private List sortedContours = new ArrayList<>(); public SortContoursPipe(SortMode sort, CaptureStaticProperties camProps, int maxTargets) { this.sort = sort; @@ -42,13 +44,13 @@ public class SortContoursPipe implements Pipe, List, Long> run(List input) { + public Pair, Long> run(List input) { long processStartNanos = System.nanoTime(); sortedContours.clear(); if (input.size() > 0) { - sortedContours.addAll(input.subList(0, Math.min(input.size(), maxTargets - 1))); + sortedContours.addAll(input); switch (sort) { case Largest: @@ -77,11 +79,16 @@ public class SortContoursPipe implements Pipe, List(sortedContours.subList(0, Math.min(input.size(), maxTargets - 1))); + sortedContours.subList(Math.min(input.size(), maxTargets - 1), sortedContours.size()).forEach(StandardCVPipeline.TrackedTarget::release); + sortedContours.clear(); + sortedContours = new ArrayList<>(); + long processTime = System.nanoTime() - processStartNanos; - return Pair.of(sortedContours, processTime); + return Pair.of(sublistedContors, processTime); } - private double calcCenterDistance(RotatedRect rect) { - return FastMath.sqrt(FastMath.pow(camProps.centerX - rect.center.x, 2) + FastMath.pow(camProps.centerY - rect.center.y, 2)); + private double calcSquareCenterDistance(StandardCVPipeline.TrackedTarget rect) { + return FastMath.sqrt(FastMath.pow(camProps.centerX - rect.minAreaRect.center.x, 2) + FastMath.pow(camProps.centerY - rect.minAreaRect.center.y, 2)); } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java index 058e955d6..063bcdbb0 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java +++ b/chameleon-server/src/main/java/com/chameleonvision/vision/pipeline/pipes/SpeckleRejectPipe.java @@ -1,7 +1,10 @@ package com.chameleonvision.vision.pipeline.pipes; +import com.chameleonvision.vision.pipeline.Pipe; import org.apache.commons.lang3.tuple.Pair; +import org.opencv.core.Mat; import org.opencv.core.MatOfPoint; +import org.opencv.core.MatOfPoint2f; import org.opencv.imgproc.Imgproc; import java.util.ArrayList; @@ -25,7 +28,9 @@ public class SpeckleRejectPipe implements Pipe, List, Long> run(List input) { long processStartNanos = System.nanoTime(); + despeckledContours.forEach(MatOfPoint::release); despeckledContours.clear(); + despeckledContours = new ArrayList<>(); if (input.size() > 0) { double averageArea = 0.0; diff --git a/chameleon-server/src/main/java/com/chameleonvision/web/RequestHandler.java b/chameleon-server/src/main/java/com/chameleonvision/web/RequestHandler.java index 34bff6030..d7c2a102c 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/web/RequestHandler.java +++ b/chameleon-server/src/main/java/com/chameleonvision/web/RequestHandler.java @@ -1,21 +1,35 @@ package com.chameleonvision.web; +import com.chameleonvision.Exceptions.DuplicatedKeyException; import com.chameleonvision.config.ConfigManager; import com.chameleonvision.network.NetworkIPMode; import com.chameleonvision.vision.VisionManager; import com.chameleonvision.vision.VisionProcess; -import com.chameleonvision.vision.camera.CameraCapture; import com.chameleonvision.vision.camera.USBCameraCapture; +import com.chameleonvision.vision.pipeline.CVPipelineSettings; +import com.chameleonvision.vision.pipeline.PipelineManager; +import com.chameleonvision.vision.pipeline.impl.Calibrate3dPipeline; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipelineSettings; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; +import edu.wpi.cscore.VideoMode; +import edu.wpi.first.wpilibj.geometry.Rotation2d; import io.javalin.http.Context; +import io.javalin.http.Handler; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; import java.util.Map; public class RequestHandler { + private static final ObjectMapper kObjectMapper = new ObjectMapper(); + public static void onGeneralSettings(Context ctx) { - ObjectMapper objectMapper = new ObjectMapper(); + ObjectMapper objectMapper = kObjectMapper; try { Map map = objectMapper.readValue(ctx.body(), Map.class); @@ -35,21 +49,67 @@ public class RequestHandler { } } + public static void onDuplicatePipeline(Context ctx) { + ObjectMapper objectMapper = kObjectMapper; + try { + Map data = objectMapper.readValue(ctx.body(), Map.class); + + int cameraIndex = (Integer) data.getOrDefault("camera", -1); + + var pipelineIndex = (Integer) data.get("pipeline"); + StandardCVPipelineSettings origPipeline = (StandardCVPipelineSettings) VisionManager.getCurrentUIVisionProcess().pipelineManager.getPipeline(pipelineIndex).settings; + String tmp = objectMapper.writeValueAsString(origPipeline); + StandardCVPipelineSettings newPipeline = objectMapper.readValue(tmp, StandardCVPipelineSettings.class); + + if (cameraIndex == -1) { // same camera + + VisionManager.getCurrentUIVisionProcess().pipelineManager.duplicatePipeline(newPipeline); + + } else { // another camera + var cam = VisionManager.getVisionProcessByIndex(cameraIndex); + if (cam != null) { + if (cam.getCamera().getProperties().videoModes.size() < newPipeline.videoModeIndex) { + newPipeline.videoModeIndex = cam.getCamera().getProperties().videoModes.size() - 1; + } + if (newPipeline.is3D){ + var calibration = cam.getCamera().getCalibration(cam.getCamera().getProperties().getVideoMode(newPipeline.videoModeIndex)); + if (calibration == null){ + newPipeline.is3D = false; + } + } + VisionManager.getCurrentUIVisionProcess().pipelineManager.duplicatePipeline(newPipeline, cam); + ctx.status(200); + } else { + ctx.status(500); + } + } + } catch (JsonProcessingException | DuplicatedKeyException ex) { + ctx.status(500); + } + } + + public static void onCameraSettings(Context ctx) { - ObjectMapper objectMapper = new ObjectMapper(); + ObjectMapper objectMapper = kObjectMapper; try { Map camSettings = objectMapper.readValue(ctx.body(), Map.class); VisionProcess currentVisionProcess = VisionManager.getCurrentUIVisionProcess(); USBCameraCapture currentCamera = currentVisionProcess.getCamera(); - double newFOV; + double newFOV, tilt; try { newFOV = (Double) camSettings.get("fov"); } catch (Exception ignored) { newFOV = (Integer) camSettings.get("fov"); } + try { + tilt = (Double) camSettings.get("tilt"); + } catch (Exception ignored) { + tilt = (Integer) camSettings.get("tilt"); + } currentCamera.getProperties().setFOV(newFOV); + currentCamera.getProperties().setTilt(Rotation2d.fromDegrees(tilt)); VisionManager.saveCurrentCameraSettings(); SocketHandler.sendFullSettings(); ctx.status(200); @@ -58,4 +118,67 @@ public class RequestHandler { ctx.status(500); } } + + public static void onCalibrationStart(Context ctx) throws JsonProcessingException { + PipelineManager pipeManager = VisionManager.getCurrentUIVisionProcess().pipelineManager; + ObjectMapper objectMapper = kObjectMapper; + var data = objectMapper.readValue(ctx.body(), Map.class); + int resolutionIndex = (Integer) data.get("resolution"); + double squareSize; + try { + squareSize = (Double) data.get("squareSize"); + } catch (Exception e) { + squareSize = (Integer) data.get("squareSize"); + } + // convert from mm to meters + pipeManager.calib3dPipe.setSquareSize(squareSize); + VisionManager.getCurrentUIVisionProcess().pipelineManager.calib3dPipe.settings.videoModeIndex = resolutionIndex; + VisionManager.getCurrentUIVisionProcess().pipelineManager.setCalibrationMode(true); + VisionManager.getCurrentUIVisionProcess().getCamera().setVideoMode(resolutionIndex); + } + + public static void onSnapshot(Context ctx) { + Calibrate3dPipeline calPipe = VisionManager.getCurrentUIVisionProcess().pipelineManager.calib3dPipe; + + calPipe.takeSnapshot(); + + HashMap toSend = new HashMap<>(); + toSend.put("snapshotCount", calPipe.getSnapshotCount()); + toSend.put("hasEnough", calPipe.hasEnoughSnapshots()); + + ctx.json(toSend); + ctx.status(200); + } + + public static void onCalibrationEnding(Context ctx) throws JsonProcessingException { + PipelineManager pipeManager = VisionManager.getCurrentUIVisionProcess().pipelineManager; + + var data = kObjectMapper.readValue(ctx.body(), Map.class); + double squareSize; + try { + squareSize = (Double) data.get("squareSize"); + } catch (Exception e) { + squareSize = (Integer) data.get("squareSize"); + } + pipeManager.calib3dPipe.setSquareSize(squareSize); + + System.out.println("Finishing Cal"); + if (pipeManager.calib3dPipe.hasEnoughSnapshots()) { + if (pipeManager.calib3dPipe.tryCalibration()) { + ctx.status(200); + } else { + System.err.println("CALFAIL"); + ctx.status(500); + } + } + pipeManager.setCalibrationMode(false); + ctx.status(200); + } + + public static void onPnpModel(Context ctx) throws JsonProcessingException { + System.out.println(ctx.body()); + ObjectMapper objectMapper = kObjectMapper; + List points = objectMapper.readValue(ctx.body(), List.class); + System.out.println(points); + } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/web/Server.java b/chameleon-server/src/main/java/com/chameleonvision/web/Server.java index b37393b39..a9617edbb 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/web/Server.java +++ b/chameleon-server/src/main/java/com/chameleonvision/web/Server.java @@ -30,6 +30,11 @@ public class Server { }); app.post("/api/settings/general", RequestHandler::onGeneralSettings); app.post("/api/settings/camera", RequestHandler::onCameraSettings); + app.post("/api/vision/duplicate", RequestHandler::onDuplicatePipeline); + app.post("/api/settings/startCalibration", RequestHandler::onCalibrationStart); + app.post("/api/settings/snapshot", RequestHandler::onSnapshot); + app.post("/api/settings/endCalibration", RequestHandler::onCalibrationEnding); + app.post("/api/vision/pnpModel", RequestHandler::onPnpModel); app.start(port); } } diff --git a/chameleon-server/src/main/java/com/chameleonvision/web/SocketHandler.java b/chameleon-server/src/main/java/com/chameleonvision/web/SocketHandler.java index 1a1b504bd..d8b7b5302 100644 --- a/chameleon-server/src/main/java/com/chameleonvision/web/SocketHandler.java +++ b/chameleon-server/src/main/java/com/chameleonvision/web/SocketHandler.java @@ -1,16 +1,21 @@ package com.chameleonvision.web; +import com.chameleonvision.config.CameraCalibrationConfig; import com.chameleonvision.config.ConfigManager; import com.chameleonvision.vision.VisionManager; import com.chameleonvision.vision.VisionProcess; import com.chameleonvision.vision.camera.CameraCapture; +import com.chameleonvision.vision.camera.CaptureStaticProperties; import com.chameleonvision.vision.camera.USBCameraCapture; +import com.chameleonvision.vision.enums.ImageRotationMode; import com.chameleonvision.vision.enums.StreamDivisor; import com.chameleonvision.vision.pipeline.CVPipeline; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import com.chameleonvision.vision.pipeline.CVPipelineSettings; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import edu.wpi.cscore.VideoMode; import io.javalin.websocket.WsBinaryMessageContext; import io.javalin.websocket.WsCloseContext; import io.javalin.websocket.WsConnectContext; @@ -20,10 +25,9 @@ import org.msgpack.jackson.dataformat.MessagePackFactory; import java.lang.reflect.Field; import java.nio.ByteBuffer; -import java.util.ArrayList; -import java.util.HashMap; +import java.util.*; import java.util.List; -import java.util.Map; +import java.util.stream.Collectors; public class SocketHandler { @@ -31,6 +35,8 @@ public class SocketHandler { private static List users; private static ObjectMapper objectMapper; + private static final Object broadcastLock = new Object(); + SocketHandler() { users = new ArrayList<>(); objectMapper = new ObjectMapper(new MessagePackFactory()); @@ -54,7 +60,7 @@ public class SocketHandler { VisionProcess currentProcess = VisionManager.getCurrentUIVisionProcess(); CameraCapture currentCamera = currentProcess.getCamera(); CVPipeline currentPipeline = currentProcess.pipelineManager.getCurrentPipeline(); - +// System.out.println("entry.getKey()+entry.getValue()= " + entry.getKey() + entry.getValue()); switch (entry.getKey()) { case "driverMode": { HashMap data = (HashMap) entry.getValue(); @@ -77,39 +83,17 @@ public class SocketHandler { VisionManager.saveCurrentCameraPipelines(); break; } - case "duplicatePipeline": { - HashMap pipelineVals = (HashMap) entry.getValue(); - int pipelineIndex = (int) pipelineVals.get("pipeline"); - int cameraIndex = (int) pipelineVals.get("camera"); - ObjectMapper mapper = new ObjectMapper(); - CVPipelineSettings origPipeline = currentProcess.pipelineManager.getPipeline(pipelineIndex).settings; - String val = mapper.writeValueAsString(origPipeline); - CVPipelineSettings newPipeline = mapper.readValue(val, origPipeline.getClass()); - - if (cameraIndex != -1) { - VisionProcess newProcess = VisionManager.getVisionProcessByIndex(cameraIndex); - if (newProcess != null) { - currentProcess.pipelineManager.duplicatePipeline(newPipeline, newProcess); - } else { - System.err.println("Failed to get destination camera for pipeline duplication!"); - } - } else { - currentProcess.pipelineManager.duplicatePipeline(newPipeline); - } - - VisionManager.saveCurrentCameraPipelines(); + case "addNewPipeline": { +// HashMap data = (HashMap) entry.getValue(); + String pipeName = (String) entry.getValue(); + // TODO: add to UI selection for new 2d/3d + currentProcess.pipelineManager.addNewPipeline(pipeName); sendFullSettings(); + VisionManager.saveCurrentCameraPipelines(); break; } case "command": { switch ((String) entry.getValue()) { - case "addNewPipeline": - // TODO: add to UI selection for new 2d/3d - boolean is3d = false; - currentProcess.pipelineManager.addNewPipeline(is3d); - sendFullSettings(); - VisionManager.saveCurrentCameraPipelines(); - break; case "deleteCurrentPipeline": currentProcess.pipelineManager.deleteCurrentPipeline(); sendFullSettings(); @@ -129,20 +113,54 @@ public class SocketHandler { sendFullSettings(); break; } + case "is3D": { + VisionManager.getCurrentUIVisionProcess().setIs3d((Boolean) entry.getValue()); + break; + } case "currentPipeline": { currentProcess.pipelineManager.setCurrentPipeline((Integer) entry.getValue()); sendFullSettings(); break; } + case "isPNPCalibration": { + currentProcess.pipelineManager.setCalibrationMode((Boolean) entry.getValue()); + break; + } + case "takeCalibrationSnapshot": { + currentProcess.pipelineManager.calib3dPipe.takeSnapshot(); + } default: { - // only change settings when we aren't in driver mode - if(currentProcess.pipelineManager.getDriverMode()) { + switch (entry.getKey()) {//Pre field value set + case "rotationMode": {//Create new CaptureStaticProperties with new width and height, reset crosshair calib + ImageRotationMode oldRot = currentPipeline.settings.rotationMode; + ImageRotationMode newRot = ImageRotationMode.class.getEnumConstants()[(Integer) entry.getValue()]; + CaptureStaticProperties prop = currentCamera.getProperties().getStaticProperties(); + int width, height; + if (oldRot.isRotated() != newRot.isRotated()) { + width = prop.mode.height; + height = prop.mode.width; + //Creates new video mode with new width and height to create new CaptureStaticProperties and applies it + currentCamera.getProperties().setStaticProperties(new CaptureStaticProperties( + new VideoMode(prop.mode.pixelFormat, width, height, prop.mode.fps), prop.fov)); + } + prop = currentCamera.getProperties().getStaticProperties(); + currentProcess.cameraStreamer.recalculateDivision(); + if (currentPipeline instanceof StandardCVPipeline) + ((StandardCVPipeline) currentPipeline).settings.point = Arrays.asList(prop.mode.width / 2, prop.mode.height / 2);//Reset Crosshair in single point calib + break; + } + + } + + + if (currentProcess.pipelineManager.getDriverMode()) { setField(currentProcess.pipelineManager.driverModePipeline.settings, entry.getKey(), entry.getValue()); } else { setField(currentPipeline.settings, entry.getKey(), entry.getValue()); } + //Post field value set switch (entry.getKey()) { case "exposure": { currentCamera.setExposure((Integer) entry.getValue()); @@ -152,11 +170,14 @@ public class SocketHandler { currentCamera.setBrightness((Integer) entry.getValue()); break; } - case "videoModeIndex":{ + case "videoModeIndex": { + if (currentPipeline instanceof StandardCVPipeline) + ((StandardCVPipeline) currentPipeline).settings.point = new ArrayList<>();//This will reset the calibration currentCamera.setVideoMode((Integer) entry.getValue()); + currentProcess.cameraStreamer.recalculateDivision(); break; } - case "streamDivisor":{ + case "streamDivisor": { currentProcess.cameraStreamer.setDivisor(StreamDivisor.values()[(Integer) entry.getValue()], true); break; } @@ -186,18 +207,22 @@ public class SocketHandler { } private static void broadcastMessage(Object obj, WsContext userToSkip) { - if (users != null) - for (WsContext user : users) { - if (userToSkip != null && user.getSessionId().equals(userToSkip.getSessionId())) { - continue; - } - try { - ByteBuffer b = ByteBuffer.wrap(objectMapper.writeValueAsBytes(obj)); - user.send(b); - } catch (JsonProcessingException e) { - e.printStackTrace(); + synchronized (broadcastLock) { + if (users != null) { + var userList = users; + for (WsContext user : userList) { + if (userToSkip != null && user.getSessionId().equals(userToSkip.getSessionId())) { + continue; + } + try { + ByteBuffer b = ByteBuffer.wrap(objectMapper.writeValueAsBytes(obj)); + user.send(b); + } catch (JsonProcessingException e) { + e.printStackTrace(); + } } } + } } public static void broadcastMessage(Object obj) { @@ -236,9 +261,16 @@ public class SocketHandler { HashMap tmp = new HashMap<>(); VisionProcess currentVisionProcess = VisionManager.getCurrentUIVisionProcess(); USBCameraCapture currentCamera = VisionManager.getCurrentUIVisionProcess().getCamera(); + tmp.put("fov", currentCamera.getProperties().getFOV()); tmp.put("streamDivisor", currentVisionProcess.cameraStreamer.getDivisor().ordinal()); tmp.put("resolution", currentVisionProcess.getCamera().getProperties().getCurrentVideoModeIndex()); + tmp.put("tilt", currentVisionProcess.getCamera().getProperties().getTilt().getDegrees()); + + List calibrations = currentCamera.getAllCalibrationData().stream() + .map(CameraCalibrationConfig.UICameraCalibrationConfig::new).collect(Collectors.toList()); + tmp.put("calibration", calibrations); + return tmp; } diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Pose2d.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Pose2d.java new file mode 100644 index 000000000..92c5a0219 --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Pose2d.java @@ -0,0 +1,271 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.geometry; + +import java.io.IOException; +import java.util.Objects; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +/** + * Represents a 2d pose containing translational and rotational elements. + */ +@JsonSerialize(using = Pose2d.PoseSerializer.class) +@JsonDeserialize(using = Pose2d.PoseDeserializer.class) +public class Pose2d { + private final Translation2d m_translation; + private final Rotation2d m_rotation; + + /** + * Constructs a pose at the origin facing toward the positive X axis. + * (Translation2d{0, 0} and Rotation{0}) + */ + public Pose2d() { + m_translation = new Translation2d(); + m_rotation = new Rotation2d(); + } + + /** + * Constructs a pose with the specified translation and rotation. + * + * @param translation The translational component of the pose. + * @param rotation The rotational component of the pose. + */ + public Pose2d(Translation2d translation, Rotation2d rotation) { + m_translation = translation; + m_rotation = rotation; + } + + /** + * Convenience constructors that takes in x and y values directly instead of + * having to construct a Translation2d. + * + * @param x The x component of the translational component of the pose. + * @param y The y component of the translational component of the pose. + * @param rotation The rotational component of the pose. + */ + @SuppressWarnings("ParameterName") + public Pose2d(double x, double y, Rotation2d rotation) { + m_translation = new Translation2d(x, y); + m_rotation = rotation; + } + + /** + * Transforms the pose by the given transformation and returns the new + * transformed pose. + * + *

The matrix multiplication is as follows + * [x_new] [cos, -sin, 0][transform.x] + * [y_new] += [sin, cos, 0][transform.y] + * [t_new] [0, 0, 1][transform.t] + * + * @param other The transform to transform the pose by. + * @return The transformed pose. + */ + public Pose2d plus(Transform2d other) { + return transformBy(other); + } + + /** + * Returns the Transform2d that maps the one pose to another. + * + * @param other The initial pose of the transformation. + * @return The transform that maps the other pose to the current pose. + */ + public Transform2d minus(Pose2d other) { + final var pose = this.relativeTo(other); + return new Transform2d(pose.getTranslation(), pose.getRotation()); + } + + /** + * Returns the translation component of the transformation. + * + * @return The translational component of the pose. + */ + public Translation2d getTranslation() { + return m_translation; + } + + /** + * Returns the rotational component of the transformation. + * + * @return The rotational component of the pose. + */ + public Rotation2d getRotation() { + return m_rotation; + } + + /** + * Transforms the pose by the given transformation and returns the new pose. + * See + operator for the matrix multiplication performed. + * + * @param other The transform to transform the pose by. + * @return The transformed pose. + */ + public Pose2d transformBy(Transform2d other) { + return new Pose2d(m_translation.plus(other.getTranslation().rotateBy(m_rotation)), + m_rotation.plus(other.getRotation())); + } + + /** + * Returns the other pose relative to the current pose. + * + *

This function can often be used for trajectory tracking or pose + * stabilization algorithms to get the error between the reference and the + * current pose. + * + * @param other The pose that is the origin of the new coordinate frame that + * the current pose will be converted into. + * @return The current pose relative to the new origin pose. + */ + public Pose2d relativeTo(Pose2d other) { + var transform = new Transform2d(other, this); + return new Pose2d(transform.getTranslation(), transform.getRotation()); + } + + /** + * Obtain a new Pose2d from a (constant curvature) velocity. + * + *

See + * Controls Engineering in the FIRST Robotics Competition + * section on nonlinear pose estimation for derivation. + * + *

The twist is a change in pose in the robot's coordinate frame since the + * previous pose update. When the user runs exp() on the previous known + * field-relative pose with the argument being the twist, the user will + * receive the new field-relative pose. + * + *

"Exp" represents the pose exponential, which is solving a differential + * equation moving the pose forward in time. + * + * @param twist The change in pose in the robot's coordinate frame since the + * previous pose update. For example, if a non-holonomic robot moves forward + * 0.01 meters and changes angle by 0.5 degrees since the previous pose update, + * the twist would be Twist2d{0.01, 0.0, toRadians(0.5)} + * @return The new pose of the robot. + */ + @SuppressWarnings("LocalVariableName") + public Pose2d exp(Twist2d twist) { + double dx = twist.dx; + double dy = twist.dy; + double dtheta = twist.dtheta; + + double sinTheta = Math.sin(dtheta); + double cosTheta = Math.cos(dtheta); + + double s; + double c; + if (Math.abs(dtheta) < 1E-9) { + s = 1.0 - 1.0 / 6.0 * dtheta * dtheta; + c = 0.5 * dtheta; + } else { + s = sinTheta / dtheta; + c = (1 - cosTheta) / dtheta; + } + var transform = new Transform2d(new Translation2d(dx * s - dy * c, dx * c + dy * s), + new Rotation2d(cosTheta, sinTheta)); + + return this.plus(transform); + } + + /** + * Returns a Twist2d that maps this pose to the end pose. If c is the output + * of a.Log(b), then a.Exp(c) would yield b. + * + * @param end The end pose for the transformation. + * @return The twist that maps this to end. + */ + public Twist2d log(Pose2d end) { + final var transform = end.relativeTo(this); + final var dtheta = transform.getRotation().getRadians(); + final var halfDtheta = dtheta / 2.0; + + final var cosMinusOne = transform.getRotation().getCos() - 1; + + double halfThetaByTanOfHalfDtheta; + if (Math.abs(cosMinusOne) < 1E-9) { + halfThetaByTanOfHalfDtheta = 1.0 - 1.0 / 12.0 * dtheta * dtheta; + } else { + halfThetaByTanOfHalfDtheta = -(halfDtheta * transform.getRotation().getSin()) / cosMinusOne; + } + + Translation2d translationPart = transform.getTranslation().rotateBy( + new Rotation2d(halfThetaByTanOfHalfDtheta, -halfDtheta) + ).times(Math.hypot(halfThetaByTanOfHalfDtheta, halfDtheta)); + + return new Twist2d(translationPart.getX(), translationPart.getY(), dtheta); + } + + @Override + public String toString() { + return String.format("Pose2d(%s, %s)", m_translation, m_rotation); + } + + /** + * Checks equality between this Pose2d and another object. + * + * @param obj The other object. + * @return Whether the two objects are equal or not. + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Pose2d) { + return ((Pose2d) obj).m_translation.equals(m_translation) + && ((Pose2d) obj).m_rotation.equals(m_rotation); + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(m_translation, m_rotation); + } + + static class PoseSerializer extends StdSerializer { + PoseSerializer() { + super(Pose2d.class); + } + + @Override + public void serialize( + Pose2d value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + + jgen.writeStartObject(); + jgen.writeObjectField("translation", value.m_translation); + jgen.writeObjectField("rotation", value.m_rotation); + jgen.writeEndObject(); + } + } + + static class PoseDeserializer extends StdDeserializer { + PoseDeserializer() { + super(Pose2d.class); + } + + @Override + public Pose2d deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + JsonNode node = jp.getCodec().readTree(jp); + + Translation2d translation = + jp.getCodec().treeToValue(node.get("translation"), Translation2d.class); + Rotation2d rotation = jp.getCodec().treeToValue(node.get("rotation"), Rotation2d.class); + return new Pose2d(translation, rotation); + } + } +} diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Rotation2d.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Rotation2d.java new file mode 100644 index 000000000..40950056a --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Rotation2d.java @@ -0,0 +1,251 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.geometry; + +import java.io.IOException; +import java.util.Objects; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +/** + * A rotation in a 2d coordinate frame represented a point on the unit circle + * (cosine and sine). + */ +@JsonSerialize(using = Rotation2d.RotationSerializer.class) +@JsonDeserialize(using = Rotation2d.RotationDeserializer.class) +public class Rotation2d { + private final double m_value; + private final double m_cos; + private final double m_sin; + + /** + * Constructs a Rotation2d with a default angle of 0 degrees. + */ + public Rotation2d() { + m_value = 0.0; + m_cos = 1.0; + m_sin = 0.0; + } + + /** + * Constructs a Rotation2d with the given radian value. + * The x and y don't have to be normalized. + * + * @param value The value of the angle in radians. + */ + public Rotation2d(double value) { + m_value = value; + m_cos = Math.cos(value); + m_sin = Math.sin(value); + } + + /** + * Constructs a Rotation2d with the given x and y (cosine and sine) + * components. + * + * @param x The x component or cosine of the rotation. + * @param y The y component or sine of the rotation. + */ + @SuppressWarnings("ParameterName") + public Rotation2d(double x, double y) { + double magnitude = Math.hypot(x, y); + if (magnitude > 1e-6) { + m_sin = y / magnitude; + m_cos = x / magnitude; + } else { + m_sin = 0.0; + m_cos = 1.0; + } + m_value = Math.atan2(m_sin, m_cos); + } + + /** + * Constructs and returns a Rotation2d with the given degree value. + * + * @param degrees The value of the angle in degrees. + * @return The rotation object with the desired angle value. + */ + public static Rotation2d fromDegrees(double degrees) { + return new Rotation2d(Math.toRadians(degrees)); + } + + /** + * Adds two rotations together, with the result being bounded between -pi and + * pi. + * + *

For example, Rotation2d.fromDegrees(30) + Rotation2d.fromDegrees(60) = + * Rotation2d{-pi/2} + * + * @param other The rotation to add. + * @return The sum of the two rotations. + */ + public Rotation2d plus(Rotation2d other) { + return rotateBy(other); + } + + /** + * Subtracts the new rotation from the current rotation and returns the new + * rotation. + * + *

For example, Rotation2d.fromDegrees(10) - Rotation2d.fromDegrees(100) = + * Rotation2d{-pi/2} + * + * @param other The rotation to subtract. + * @return The difference between the two rotations. + */ + public Rotation2d minus(Rotation2d other) { + return rotateBy(other.unaryMinus()); + } + + /** + * Takes the inverse of the current rotation. This is simply the negative of + * the current angular value. + * + * @return The inverse of the current rotation. + */ + public Rotation2d unaryMinus() { + return new Rotation2d(-m_value); + } + + /** + * Multiplies the current rotation by a scalar. + * + * @param scalar The scalar. + * @return The new scaled Rotation2d. + */ + public Rotation2d times(double scalar) { + return new Rotation2d(m_value * scalar); + } + + /** + * Adds the new rotation to the current rotation using a rotation matrix. + * + *

The matrix multiplication is as follows: + * [cos_new] [other.cos, -other.sin][cos] + * [sin_new] = [other.sin, other.cos][sin] + * value_new = atan2(cos_new, sin_new) + * + * @param other The rotation to rotate by. + * @return The new rotated Rotation2d. + */ + public Rotation2d rotateBy(Rotation2d other) { + return new Rotation2d( + m_cos * other.m_cos - m_sin * other.m_sin, + m_cos * other.m_sin + m_sin * other.m_cos + ); + } + + /* + * Returns the radian value of the rotation. + * + * @return The radian value of the rotation. + */ + public double getRadians() { + return m_value; + } + + /** + * Returns the degree value of the rotation. + * + * @return The degree value of the rotation. + */ + public double getDegrees() { + return Math.toDegrees(m_value); + } + + /** + * Returns the cosine of the rotation. + * + * @return The cosine of the rotation. + */ + public double getCos() { + return m_cos; + } + + /** + * Returns the sine of the rotation. + * + * @return The sine of the rotation. + */ + public double getSin() { + return m_sin; + } + + /** + * Returns the tangent of the rotation. + * + * @return The tangent of the rotation. + */ + public double getTan() { + return m_sin / m_cos; + } + + @Override + public String toString() { + return String.format("Rotation2d(Rads: %.2f, Deg: %.2f)", m_value, Math.toDegrees(m_value)); + } + + /** + * Checks equality between this Rotation2d and another object. + * + * @param obj The other object. + * @return Whether the two objects are equal or not. + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Rotation2d) { + return Math.abs(((Rotation2d) obj).m_value - m_value) < 1E-9; + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(m_value); + } + + static class RotationSerializer extends StdSerializer { + RotationSerializer() { + super(Rotation2d.class); + } + + @Override + public void serialize( + Rotation2d value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + + jgen.writeStartObject(); + jgen.writeNumberField("radians", value.m_value); + jgen.writeEndObject(); + } + } + + static class RotationDeserializer extends StdDeserializer { + RotationDeserializer() { + super(Rotation2d.class); + } + + @Override + public Rotation2d deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + JsonNode node = jp.getCodec().readTree(jp); + double radians = node.get("radians").numberValue().doubleValue(); + + return new Rotation2d(radians); + } + } +} \ No newline at end of file diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Transform2d.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Transform2d.java new file mode 100644 index 000000000..15f47851e --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Transform2d.java @@ -0,0 +1,106 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.geometry; + +import java.util.Objects; + +/** + * Represents a transformation for a Pose2d. + */ +public class Transform2d { + private final Translation2d m_translation; + private final Rotation2d m_rotation; + + /** + * Constructs the transform that maps the initial pose to the final pose. + * + * @param initial The initial pose for the transformation. + * @param last The final pose for the transformation. + */ + public Transform2d(Pose2d initial, Pose2d last) { + // We are rotating the difference between the translations + // using a clockwise rotation matrix. This transforms the global + // delta into a local delta (relative to the initial pose). + m_translation = last.getTranslation().minus(initial.getTranslation()) + .rotateBy(initial.getRotation().unaryMinus()); + + m_rotation = last.getRotation().minus(initial.getRotation()); + } + + /** + * Constructs a transform with the given translation and rotation components. + * + * @param translation Translational component of the transform. + * @param rotation Rotational component of the transform. + */ + public Transform2d(Translation2d translation, Rotation2d rotation) { + m_translation = translation; + m_rotation = rotation; + } + + /** + * Constructs the identity transform -- maps an initial pose to itself. + */ + public Transform2d() { + m_translation = new Translation2d(); + m_rotation = new Rotation2d(); + } + + /** + * Scales the transform by the scalar. + * + * @param scalar The scalar. + * @return The scaled Transform2d. + */ + public Transform2d times(double scalar) { + return new Transform2d(m_translation.times(scalar), m_rotation.times(scalar)); + } + + /** + * Returns the translation component of the transformation. + * + * @return The translational component of the transform. + */ + public Translation2d getTranslation() { + return m_translation; + } + + /** + * Returns the rotational component of the transformation. + * + * @return Reference to the rotational component of the transform. + */ + public Rotation2d getRotation() { + return m_rotation; + } + + @Override + public String toString() { + return String.format("Transform2d(%s, %s)", m_translation, m_rotation); + } + + /** + * Checks equality between this Transform2d and another object. + * + * @param obj The other object. + * @return Whether the two objects are equal or not. + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Transform2d) { + return ((Transform2d) obj).m_translation.equals(m_translation) + && ((Transform2d) obj).m_rotation.equals(m_rotation); + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(m_translation, m_rotation); + } +} diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Translation2d.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Translation2d.java new file mode 100644 index 000000000..9d3f55038 --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Translation2d.java @@ -0,0 +1,243 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.geometry; + +import java.io.IOException; +import java.util.Objects; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; + +/** + * Represents a translation in 2d space. + * This object can be used to represent a point or a vector. + * + *

This assumes that you are using conventional mathematical axes. + * When the robot is placed on the origin, facing toward the X direction, + * moving forward increases the X, whereas moving to the left increases the Y. + */ +@JsonSerialize(using = Translation2d.TranslationSerializer.class) +@JsonDeserialize(using = Translation2d.TranslationDeserializer.class) +@SuppressWarnings({"ParameterName", "MemberName"}) +public class Translation2d { + private final double m_x; + private final double m_y; + + /** + * Constructs a Translation2d with X and Y components equal to zero. + */ + public Translation2d() { + this(0.0, 0.0); + } + + /** + * Constructs a Translation2d with the X and Y components equal to the + * provided values. + * + * @param x The x component of the translation. + * @param y The y component of the translation. + */ + public Translation2d(double x, double y) { + m_x = x; + m_y = y; + } + + /** + * Calculates the distance between two translations in 2d space. + * + *

This function uses the pythagorean theorem to calculate the distance. + * distance = sqrt((x2 - x1)^2 + (y2 - y1)^2) + * + * @param other The translation to compute the distance to. + * @return The distance between the two translations. + */ + public double getDistance(Translation2d other) { + return Math.hypot(other.m_x - m_x, other.m_y - m_y); + } + + /** + * Returns the X component of the translation. + * + * @return The x component of the translation. + */ + public double getX() { + return m_x; + } + + /** + * Returns the Y component of the translation. + * + * @return The y component of the translation. + */ + public double getY() { + return m_y; + } + + /** + * Returns the norm, or distance from the origin to the translation. + * + * @return The norm of the translation. + */ + public double getNorm() { + return Math.hypot(m_x, m_y); + } + + /** + * Applies a rotation to the translation in 2d space. + * + *

This multiplies the translation vector by a counterclockwise rotation + * matrix of the given angle. + * [x_new] [other.cos, -other.sin][x] + * [y_new] = [other.sin, other.cos][y] + * + *

For example, rotating a Translation2d of {2, 0} by 90 degrees will return a + * Translation2d of {0, 2}. + * + * @param other The rotation to rotate the translation by. + * @return The new rotated translation. + */ + public Translation2d rotateBy(Rotation2d other) { + return new Translation2d( + m_x * other.getCos() - m_y * other.getSin(), + m_x * other.getSin() + m_y * other.getCos() + ); + } + + /** + * Adds two translations in 2d space and returns the sum. This is similar to + * vector addition. + * + *

For example, Translation2d{1.0, 2.5} + Translation2d{2.0, 5.5} = + * Translation2d{3.0, 8.0} + * + * @param other The translation to add. + * @return The sum of the translations. + */ + public Translation2d plus(Translation2d other) { + return new Translation2d(m_x + other.m_x, m_y + other.m_y); + } + + /** + * Subtracts the other translation from the other translation and returns the + * difference. + * + *

For example, Translation2d{5.0, 4.0} - Translation2d{1.0, 2.0} = + * Translation2d{4.0, 2.0} + * + * @param other The translation to subtract. + * @return The difference between the two translations. + */ + public Translation2d minus(Translation2d other) { + return new Translation2d(m_x - other.m_x, m_y - other.m_y); + } + + /** + * Returns the inverse of the current translation. This is equivalent to + * rotating by 180 degrees, flipping the point over both axes, or simply + * negating both components of the translation. + * + * @return The inverse of the current translation. + */ + public Translation2d unaryMinus() { + return new Translation2d(-m_x, -m_y); + } + + /** + * Multiplies the translation by a scalar and returns the new translation. + * + *

For example, Translation2d{2.0, 2.5} * 2 = Translation2d{4.0, 5.0} + * + * @param scalar The scalar to multiply by. + * @return The scaled translation. + */ + public Translation2d times(double scalar) { + return new Translation2d(m_x * scalar, m_y * scalar); + } + + /** + * Divides the translation by a scalar and returns the new translation. + * + *

For example, Translation2d{2.0, 2.5} / 2 = Translation2d{1.0, 1.25} + * + * @param scalar The scalar to multiply by. + * @return The reference to the new mutated object. + */ + public Translation2d div(double scalar) { + return new Translation2d(m_x / scalar, m_y / scalar); + } + + @Override + public String toString() { + return String.format("Translation2d(X: %.2f, Y: %.2f)", m_x, m_y); + } + + public static Translation2d fromRotation2d(Rotation2d rotation) { + return new Translation2d(rotation.getCos(), rotation.getSin()); + } + + /** + * Checks equality between this Translation2d and another object. + * + * @param obj The other object. + * @return Whether the two objects are equal or not. + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Translation2d) { + return Math.abs(((Translation2d) obj).m_x - m_x) < 1E-9 + && Math.abs(((Translation2d) obj).m_y - m_y) < 1E-9; + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(m_x, m_y); + } + + static class TranslationSerializer extends StdSerializer { + TranslationSerializer() { + super(Translation2d.class); + } + + @Override + public void serialize( + Translation2d value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + + jgen.writeStartObject(); + jgen.writeNumberField("x", value.m_x); + jgen.writeNumberField("y", value.m_y); + jgen.writeEndObject(); + } + } + + static class TranslationDeserializer extends StdDeserializer { + TranslationDeserializer() { + super(Translation2d.class); + } + + @Override + public Translation2d deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + JsonNode node = jp.getCodec().readTree(jp); + double xval = node.get("x").numberValue().doubleValue(); + double yval = node.get("y").numberValue().doubleValue(); + + return new Translation2d(xval, yval); + } + } +} diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Twist2d.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Twist2d.java new file mode 100644 index 000000000..24c8c63c0 --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/geometry/Twist2d.java @@ -0,0 +1,76 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.geometry; + +import java.util.Objects; + +/** + * A change in distance along arc since the last pose update. We can use ideas + * from differential calculus to create new Pose2ds from a Twist2d and vise + * versa. + * + *

A Twist can be used to represent a difference between two poses. + */ +@SuppressWarnings("MemberName") +public class Twist2d { + /** + * Linear "dx" component. + */ + public double dx; + + /** + * Linear "dy" component. + */ + public double dy; + + /** + * Angular "dtheta" component (radians). + */ + public double dtheta; + + public Twist2d() { + } + + /** + * Constructs a Twist2d with the given values. + * @param dx Change in x direction relative to robot. + * @param dy Change in y direction relative to robot. + * @param dtheta Change in angle relative to robot. + */ + public Twist2d(double dx, double dy, double dtheta) { + this.dx = dx; + this.dy = dy; + this.dtheta = dtheta; + } + + @Override + public String toString() { + return String.format("Twist2d(dX: %.2f, dY: %.2f, dTheta: %.2f)", dx, dy, dtheta); + } + + /** + * Checks equality between this Twist2d and another object. + * + * @param obj The other object. + * @return Whether the two objects are equal or not. + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof Twist2d) { + return Math.abs(((Twist2d) obj).dx - dx) < 1E-9 + && Math.abs(((Twist2d) obj).dy - dy) < 1E-9 + && Math.abs(((Twist2d) obj).dtheta - dtheta) < 1E-9; + } + return false; + } + + @Override + public int hashCode() { + return Objects.hash(dx, dy, dtheta); + } +} diff --git a/chameleon-server/src/main/java/edu/wpi/first/wpilibj/util/Units.java b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/util/Units.java new file mode 100644 index 000000000..0bdfdc7b6 --- /dev/null +++ b/chameleon-server/src/main/java/edu/wpi/first/wpilibj/util/Units.java @@ -0,0 +1,104 @@ +/*----------------------------------------------------------------------------*/ +/* Copyright (c) 2019 FIRST. All Rights Reserved. */ +/* Open Source Software - may be modified and shared by FRC teams. The code */ +/* must be accompanied by the FIRST BSD license file in the root directory of */ +/* the project. */ +/*----------------------------------------------------------------------------*/ + +package edu.wpi.first.wpilibj.util; + +/** + * Utility class that converts between commonly used units in FRC. + */ +public final class Units { + private static final double kInchesPerFoot = 12.0; + private static final double kMetersPerInch = 0.0254; + private static final double kSecondsPerMinute = 60; + + /** + * Utility class, so constructor is private. + */ + private Units() { + throw new UnsupportedOperationException("This is a utility class!"); + } + + /** + * Converts given meters to feet. + * + * @param meters The meters to convert to feet. + * @return Feet converted from meters. + */ + public static double metersToFeet(double meters) { + return metersToInches(meters) / kInchesPerFoot; + } + + /** + * Converts given feet to meters. + * + * @param feet The feet to convert to meters. + * @return Meters converted from feet. + */ + public static double feetToMeters(double feet) { + return inchesToMeters(feet * kInchesPerFoot); + } + + /** + * Converts given meters to inches. + * + * @param meters The meters to convert to inches. + * @return Inches converted from meters. + */ + public static double metersToInches(double meters) { + return meters / kMetersPerInch; + } + + /** + * Converts given inches to meters. + * + * @param inches The inches to convert to meters. + * @return Meters converted from inches. + */ + public static double inchesToMeters(double inches) { + return inches * kMetersPerInch; + } + + /** + * Converts given degrees to radians. + * + * @param degrees The degrees to convert to radians. + * @return Radians converted from degrees. + */ + public static double degreesToRadians(double degrees) { + return Math.toRadians(degrees); + } + + /** + * Converts given radians to degrees. + * + * @param radians The radians to convert to degrees. + * @return Degrees converted from radians. + */ + public static double radiansToDegrees(double radians) { + return Math.toDegrees(radians); + } + + /** + * Converts rotations per minute to radians per second. + * + * @param rpm The rotations per minute to convert to radians per second. + * @return Radians per second converted from rotations per minute. + */ + public static double rotationsPerMinuteToRadiansPerSecond(double rpm) { + return rpm * Math.PI / (kSecondsPerMinute / 2); + } + + /** + * Converts radians per second to rotations per minute. + * + * @param radiansPerSecond The radians per second to convert to from rotations per minute. + * @return Rotations per minute converted from radians per second. + */ + public static double radiansPerSecondToRotationsPerMinute(double radiansPerSecond) { + return radiansPerSecond * (kSecondsPerMinute / 2) / Math.PI; + } +} diff --git a/chameleon-server/src/main/resources/web/img/chessboard.png b/chameleon-server/src/main/resources/web/img/chessboard.png new file mode 100644 index 0000000000000000000000000000000000000000..39bb399e89ffe43397125f457fad252fcc746ffc GIT binary patch literal 62550 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 Qm&9J+yLj%w*}>`m2JU)0G5`Po literal 0 HcmV?d00001 diff --git a/chameleon-server/src/test/java/com/chameleonvision/config/StaticCaptureTest.java b/chameleon-server/src/test/java/com/chameleonvision/config/StaticCaptureTest.java index 267a93220..1856e9f19 100644 --- a/chameleon-server/src/test/java/com/chameleonvision/config/StaticCaptureTest.java +++ b/chameleon-server/src/test/java/com/chameleonvision/config/StaticCaptureTest.java @@ -1,10 +1,12 @@ package com.chameleonvision.config; import com.chameleonvision.util.ProgramDirectoryUtilities; +import com.chameleonvision.vision.camera.CameraStreamer; import com.chameleonvision.vision.image.StaticImageCapture; -import com.chameleonvision.vision.pipeline.CVPipeline2d; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; import edu.wpi.cscore.CameraServerCvJNI; import edu.wpi.cscore.CameraServerJNI; +import edu.wpi.first.networktables.NetworkTableInstance; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -15,7 +17,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -55,12 +56,23 @@ class StaticCaptureTest { } @Test - void ImageProcessTest() { + void ImageProcessTest() throws InterruptedException { ImageLoadTest(); - CVPipeline2d testPipeline = new CVPipeline2d(); + StandardCVPipeline testPipeline = new StandardCVPipeline(); String testImage1 = "CargoSideStraightDark36in"; StaticImageCapture testCapture1 = loadedImages.get(testImage1); testPipeline.initPipeline(testCapture1); + + var streamer = new CameraStreamer(testCapture1, "CargoSideStraightDark36in",testPipeline.settings.streamDivisor); + + NetworkTableInstance.getDefault().startClient("localhost"); + + while(true) { + var result = testPipeline.runPipeline(testCapture1.getFrame().getKey()); + streamer.runStream(result.outputMat); + Thread.sleep(20); + } + } } \ No newline at end of file diff --git a/chameleon-server/src/test/java/com/chameleonvision/scripting/ScriptingTest.java b/chameleon-server/src/test/java/com/chameleonvision/scripting/ScriptingTest.java new file mode 100644 index 000000000..deda0cd12 --- /dev/null +++ b/chameleon-server/src/test/java/com/chameleonvision/scripting/ScriptingTest.java @@ -0,0 +1,29 @@ +package com.chameleonvision.scripting; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import static com.chameleonvision.scripting.ScriptManager.*; + +public class ScriptingTest { + + @Test + public void configTest() { + ScriptConfigManager.deleteConfig(); + + Assertions.assertFalse(ScriptConfigManager.fileExists()); + + ScriptConfigManager.initialize(); + + Assertions.assertTrue(ScriptConfigManager.fileExists()); + + var config = ScriptConfigManager.loadConfig(); + Assertions.assertEquals(config.size(), ScriptEventType.values().length); + System.out.println("Script Config PASSED"); + } + + @Test + public void eventTest() { + ScriptManager.queueEvent(ScriptEventType.kProgramInit); + } +} diff --git a/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/20in.png b/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/20in.png new file mode 100644 index 0000000000000000000000000000000000000000..46cf8c92b226579325c2f993f6eece3f58d088ee GIT binary patch literal 174001 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

ptc9F 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

3-|$`O5|Qn=ATPGkKd-spLMB- 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 )B)_=k^Fcm7ie5L<0rDwW#lpnBv{DjxJI$6(Yd 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 literal 0 HcmV?d00001 diff --git a/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/40in.png b/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/40in.png new file mode 100644 index 0000000000000000000000000000000000000000..f329e121e3e02f98c15909d33d078ead7fa7f030 GIT binary patch literal 62046 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 literal 0 HcmV?d00001 diff --git a/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/SolvePNPtest.java b/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/SolvePNPtest.java new file mode 100644 index 000000000..04e8b3317 --- /dev/null +++ b/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/SolvePNPtest.java @@ -0,0 +1,38 @@ +package com.chameleonvision.vision.pipeline; + +import com.chameleonvision.vision.image.StaticImageCapture; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipeline; +import com.chameleonvision.vision.pipeline.impl.StandardCVPipelineSettings; +import edu.wpi.cscore.CameraServerCvJNI; +import edu.wpi.cscore.CameraServerJNI; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.nio.file.Path; + +public class SolvePNPtest { + + private static final Path root = Path.of("src", "test", "java", "com", "chameleonvision", "vision", "pipeline"); + + @Test public void test20in() { + + try { + forceLoad(); + } catch (IOException e) { + return; + } + + // mock up pipeline + var pipeline = new StandardCVPipeline(); + var capture = new StaticImageCapture(Path.of(root.toString(), "20in.png")); + pipeline.initPipeline(capture); + var settings = new StandardCVPipelineSettings(); + + } + + private void forceLoad() throws IOException { + CameraServerJNI.forceLoad(); + CameraServerCvJNI.forceLoad(); + } + +} diff --git a/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/stream.png b/chameleon-server/src/test/java/com/chameleonvision/vision/pipeline/stream.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc26d70132461f81d805fa748d20933b8c84b48 GIT binary patch literal 1834322 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%0D-bHNi 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 z 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�i>1cb{wbJ?VhwuL! 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�D(S@4Up9J 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

O-gXsmPNVl7vOw85^CsW#p z?M8~@0#0e2l&)IQWs^XS$D^1$-$%2lh&D=71beYv2wl78==QFuj`C)|%Z@TpdoJLT zOb4jzBC%C~8}lJKFngZmy768VfS7bSrep17696lQ{vc+@C=RQ>0#CC6-sT!3neV9&6mpXGXd!@#ghaf(DZIj4f?C ztDSgw#NMprXwHnYeDj#>4L_&BfL%a?0+hw5fG|Dz3m{;Q4{L5*UB$3hz|Z}$mLM&l zuRrJ)-B67yOvwL>z58sEHM_FIeA4^!*EQT2jERs)iXTRyPz3qg@DCLdgBp&60R|0p zUsoUhSs}CEXm^j)>TjsmBZ_*k(eSQp6PlA?2Oz~_q%+ykb0RtJ3>~Bej0v+&=@2h`m z&|6z-1OyVO%4Q7kBk?@5TqG>DdRT*T>@`8=W()W=9A|WH@t&l07eg?B5C#P&5umKH zi2%9+Y42sQ&0)7b|Gokh+5kU&yid!d7(^>5L2PU?02hXt)>Vlf_DRiXP66@kPszT- zKjfX)6b7UI*eHfJ34Z(zTT=lO7$cyjxq9%std&6+=T^PbA$A(WRxwV{&F2CX13+Z} zMGedWiH8$iW55XjtzQORI*t_tw2m0dg7)DUxX*XfdEJJ|;2s--<6ek2tiS6Mqonn< zQ+@4rTZ?EizgqwRAOJ~3K~x#;b9`EK$LckR=8h*tlJgWqYhnEXHU^^5OvZk~sMFdM zwq*TX!vL1HiMX`|w(bK#qSjSlCjZ3mR82O|YHC-=3e2o$s)7#{9` zb>_$TUaLbAM61}vWE^&2{3gB2-7ZrR0ek=%-HTXez}7l>QzD503JBCP+Ra*6Pw(M- z#T7Tv{?WA+Uz0 zvRfU>dU-6W%Y6>+ts0Lw~eyfG|FnePnQCK+Hf|Y9#%Ql6PX+9&le}2 zI$(0wX}*50Smd+#0~}34pYv8_f!H(qEdzJN8f6~<8z`@6;QAE@4a*X5lb8Vf^QHE| z=CBPbi#@>FNfIAJM?<@rSPp>Wtg$7l{i+NviT+oeNQ~1kn&?Ct)RJLtwP1z)zdnO; z3MarKpyb{Ho1%Ztl17y{!1gd;g^j60@$8$2hx6XdW zWm?U}?25PBm3*-svIFq1AqI2pC;M_;*_+388D7Xgcaa2&uI&mzMPi-)tc|VSy$i7t$gWJVIM29#(%X^*mMr~k-z!tzbaQ({jjZ_ zQJ*t56*u8f6U2`U)z3IIaX>rc$#@~?_PWVWSn&qH}E@ISZ5&e7X8v0c0$}>>wG4~hkyFRw;^VT+dusDec}xF z{)c;#C9H5!?n~W}=Y{>#U;o-GkQgNv=5@o@K|jv5FMHpY^Z0sH@`Ipj^@q8eaX!j9 z^*raG9>i1a#KHOA6A`agyI?gfXW~Ep`~UE(RDozJoHrT3kHc|s4-bz?j3i%^@nzX> z=$V)#H7LVwKj6>J#bpjxhBusP*^qY!MPj_kbk|0iKF`8_F)YLdVcoPky-Y(B9H`cK zylNK4pBAa+Ni}sqAO@f_{ zKvp}F;QegKISC9og1_TS+Bc)KfF|dv#j}dTs}yNP@fugRH|00K{cZW(KmES8B3|5O(&fYb zQ+c|74$J5dfA|nDf8*9JkeEr zddcr*FZ1&9Jj=f`tRa=~DokpM^G1+r@-4?h?A|@tpVG#vnuY-gti>!G4KK>|)oqzR zy~K#VJinCt&ktq#@KTnuRjAt9A_X0c*k-vclffuVrHkRDET@|?{W>j!*06LNov<2j z?rzKV)lD?3fC>g^Fs>M9j}K32*SNdBO+|-3g1}KV2k0k>QVACzSW^KG5Rl~*^xWRu zCO9`3z#tI;!FIJyAka(YeI3?l^Vm)sTBq457n6%r^FM$3oPZ}m5eGBs$C#^Vn*Qo= zo`}~E$7QE2U{42cQ2O*L&l5W(jaZffGVhO}>N5anu^Ry-gYF=0QnW0ws@Ai4g6p?h z23Fg!tvIq*kX%CRd=B~-WxH;detVKikg74Tg5Hk(;J#}wS}Y{)y>k2JT_Op@`rY!fT4vA;5bxK&{Z09czxvBei`8?qcv>#?joxsLS(t+YI?F-IZ5?$!+Z`ofX}|#?8|nCxyA5n)9IJhY<-@@NPC2i ziB<@#qEp)6*){v(Wjap_*0;aY7J65j4burn*;^8rXvFO>Bef+D0!V4a){doJ3iu9$ zcMc8h5irthBW*~($I)&NRNNc+@WmthAaQ6IMru0IajdF86E?ka3NwTd| zzn5S>zDU%&+1CfCV$m@gU!>&&;K4>~PtzWzbNWT? zQ`GYA~0ea}W$A~(0{YoM07P6K>mPs;D=WhmX!JQ3bp7a( zjpLWCuh;H{^=X}eCsjfM!`E8SdhvR>1_LD)FNuRBarBtAt8MnHw2uM((v1?GO0CS= z25T`1GtBh@Q<*`Gdm2%SB*1AgiK)|C!g{@u*6i0L;hZxB{0kFS(630mJH?Oj-Qsg` zg07j}rgr#9rnPJ@XN$61?Ml1R4cKQQIdE?^U*^x2CTfO)X#w4aX;)b|RU$$G*8a1` zK#;6E(9L~L!9$C49Z2WQ(ZJG9>;7Y2rm&0Ym(HPf*3iiuPWl1Q7pC6#y5;)KZDKHt zSMkN`RAWPdA~iDTrfUOxnlI}Py2(=l?1=;Xe$=g!BV>>OH`{&gqx?%;ouMqrjwqc!m_@ zm85=7g74};0UAta+ZNo zinbVdm7U7x^I76KAffIXpX=%2IYZyPA7*DJ*z*h6jlEs~K!B-xY~O2}w>K5{WU<=n zt+lvBQIcM!)^?yc+vBX-|NgdSq)imxNWx(7B6B#y2QhxXo#9=h$)sFf8Q7s1REs~l zhG>kpxu&eeE-{P_B0gj~doG<(H}+IMB__{V$i3->HHl!tW{AlQ6J$jvmy^m&jy`TD z0Frg|nL-pf53XSof!*>CAc8+aqcAMG1`t9AM3cl*Cu z{y+WT|Hl=;T6QR2fxh!L|KT0~TR-=J*T=HSc^m`rTKM*|(pfBFe`}m^+n1-ZdU`2y zSkZJ|TL1RX{>`r#I0h6`jl)}R*0sVOkxAMnde0|uT7V3~sI1ZS;VGipZ*FdrJkb@| zsj#&e%XJdq+uNHsrUd0_VK9}iYDZwb3DRGyr!SAw(rtFi-PL7TE?&yXP=oWNMAT@l zz>(>qoYw2)fNVDV@_7FgosOUV?B~%Dl+3EeOGqU|s(z4s%sj!hrAwuz-OLbC z7evK7w4SCf(Y+C5i~8p;%d!JpY-;k;YxFXiYx+1Z3qb3k>aaXKJtw%4*Z^Q3fo!xH z=d<$l=`q!446pmAX<4i{WxGE`%T6+h&G--hMO$;d#{c}E{?D-31OgbLKmX~^ORLo_ zYl-sa5K(l=-P`xyr1h8+oIcI65xdQPX&%~T*d3SIoDjT(wd%s$-#?berhwOf^C^j+GS zDkqi$I;-eQ1_6)SYdI-7mjt!1Wl2!J!J^=(dR4f2e<~4wMN2o$vnla$dO4y|f@p(7 zj)!*XG=|Yop9ZO8_ZQ zq~?VQI=61x!cE%kcgk|Rj_wV1t=1_%1w#*oU5nCcy-ZTgISLrHZwvl8X3p5pYMUob zn)^7x+qTs{YokR12}RKbo_o~4ap!j~a8t1XavpYI#=$x^*LWr}SD9;yZiTa}?3 z0w?-X=YoVF40{ncBtVBo?KYe>;Me;JUMqkF;6UdO7_qIoeH?PTja?_iZr1jc!zpZJ zhFBsep!2!{Vu^xkzhD}01$;1Fu$uu%iWuyzWZxvk%#c1$o&|_#L1*73(wI75KYuKb51-4C z22sCVZmz~j_^cm2oOm@+BZq}uu88C?MbE+~;n_}Qu~~%Kr>g$h#Pfkc8Be9%VGr2t zRR%i&9N6&ei$~kd#FVN;6~V; z(EFQrcV)JmW&-zayDZ;)^ETjSw_EpKG#Hbx*J+WtXTTXDYC~e*DLw2`lY1pJTGP)h zn(WPV_LyK$K$xklBmj0ms~YeDB#w%|jZ^vf@k^n#sl~;%a8Crr3L*m6PTB(4L#=tU zfaVE8(*@K@Y@n!6udQmy*sH*I8d%z^1?u*uJt_gyrrQCeZ?)>p%kjwfV=qb!YNSrP z#(C4;r_B>UBUp*{SOY*;%A31)g(j@_Ktb<(ra(rz;C;Ei2KZ`uc5VShfOwM|0bz~k z&?YTDPr3B@={3^A(qIj&P;@cj&t8qzZlh6VOKc6ms3f8?fB>C7moFfp^N{<5MY082 z90KG!cR&=uKZy^Cw75wumt^%&+m-Fps?SojW7ivuvqQA`2;pxx%X}XD+xa9@;r$df zSD0m6;9+eivtE+Sfd3f|(5ZV7!Xtqv{vFmG)?d|k@;50L$!>I%093$4gSZTpU<(IW zM*>GjPg7_%RFWB=3HYx?QJ%(*OR#}IfLO^#T7b1io{OtV3S}Df@dB1q)(qQAqmF-; zykdm*CEo_C&_o;dG8Bdl0n9iD&N`+zIR)_-KoyXPRcER@Mq=~W4C4;KYZwuhAwQ^K z!sY-**c8_*fp`59H*D6Vu^D({t!s>EZ~C0TF!6?I^zQd+vC2JX2eoz4pVD$Kh8PX# zgf_~0F)!=rx?$BR%svOy(?+J1X*OxlU8Ki?1Jbf(2tD?`W5ASN>d-1VGSP#4>tjg=QvL;$eiY>4BV z<xl-Cr%hhnVjtfSwj?~l8F3cmD`C&N9w`q(L)Gp@2=F}XAf^tmxmEaT zgaMg}#&nGk8?dXzZ(6s>0$_};>tGoB%pUc}eN3DYO*jRPItWBeBlg4c5`%aQsv%o3 z9?;DtBXOR9EN>8x75M0EQpJcz$SO6YY$8gK^4E7&_h9RKYChyFHg?uFaf8$Uv9(sf%)s7U3`6T&gAQh`TPJjU14Fmvore) zq_o%AcKM!yrkDxQgP#+t3Ms_`?6thhYdGT=pJG>ef-|5!-*E%d0-VV~C=LbuYlv-X zafe-qZ%o%$9b_aXaPH-H&Ig|w{p81|^6ssHh1=-0()|AE&pzZFj>vfUe7Qc78M+p* z1jR`uHcrfwVs9i8E;2llpJERV`x^hlZ2s`+`(PN(`G=qVB=(J;3CQa`vW{+qh^c^>A3l8-hSKfbn>fWpa5NWGuoP6(-p9 z@i{CyQx5xWI#qz9Zu#j?e;UvM)281aX3&G1+-ncY&%XJ2z&~QX)B9eP=-OMmFn~TG!AODKa}NWTYmT5$3mwIqvsFbeJr0pe<_Q_ zHf*O>%S30|FVlcDS~dZO*S9nypUeHjQ-T+j`v#Gx(ug(!fqTp&PESBTdzl725)}Ae zH{%d+2VS&@iLvd)45x_Cs1wF#kj3o2EJ z2-gFjMSKaK2K_K40TKdO1Pv{q00MgsSeCZJQ(l@xLg80l^{?hcul_Oe*U zfohip{1`HTH7DTO(cck#C+Rtsc7h2(0oIEOdu7cDyZ~`PHAzV{B2DWiP>phyFHU@v z3E%dO>BGJxGtq)-OVa4cRA%ygF)OoYAX6*y16q{=Dhrf5b&mip04u7!0!6@+;3COG zCVO6FTC#vYa8}y)>ttuGeB13h$uP!(Fi_ICJ!qwAK+=c(k6#s-{hqdSS= zpq;21;T@*-^* zl3rBwvGy_n9%*ODn1Mp~n1fPl}hd0ZP-1gF_A$;Gm~eRrEgnt#5S zOajs<-~fcQLz`Cm@bpmLzx$?WSEBXAZve??5xH*rA6Q^dNZ|e9bf+k7eo$!5If(5JvfNUb=!T)fJx(qe%Qt)djocX8U~YzlOzsd%b9f9?v~|pRp$KG__Es4B>2rL+#V3K zwt=}f27-7$UswPEf3=|QfI(Wj>;~77=sz)z{h1bT1Eu=*3Vmmc2OqHNWM;rX%S3vh zb7i++u?Rrfy2^;CEykFmie2tCMjRj^?O9?RL))5-(m798wGQ#2XFW{5o2Fg`cPq0~ z>v7mwT07f-4WI8=CZlmNz>KKAwFPQkjV^O8h@tx;v~F+r75Pr5*f0A|%!M@t7c~cbJ*wnVm;CP zH0kx?augqYd2>|!!X5i%L3%fgU4 z)^mNr-rDY>cL%^+&nn;t)DwdP|Ez(I0$|P-2)JBk`nLqxfEKK>=pt{(?_k3pV;jj^ zBmp5hp4H~T3;{C5+y27(tM&%VIAEXzJ9JKaqcZp2D)DVBZ)jnPs!M9P}#&S5*g|L(h7-|g+&BL5Ng$ltUPBhwgW z#plq$#MBkD=mfCuwOMaA2p*f*Ch`1-4x;x*m01n^Q$t~&DzRRU<%}sVCdL2| zkt9%r`hNxfvK{K4@S*?3WB&Nt`ma31W6r;L{rh~-6A##$KC8XwtNPt)3C`VLx7Yvx zAOJ~3K~ztBefU3nom^l1Q(Q!1lDr@`XbeidxF3LvAKv_5Tud64YMh@~MFDqL z_)O;!3%gFdPit1LhYW~V%sD5IB7fuq-oJkvTdiEh%3kua+LzW*z-{_ux2)#Yby{_1_J^|Z z8JC;#>D!NG{x~adZ{C*M%bU`1fyYKzkys&udIHo-W6)J*F^N*f?4%OP$O#g}52{$E zY1JVhYCVmBaRNz!j6mEV3x$1Ci->I>+U@e|Z@(=M(^=_^N3zB8w3wG!7-YNh-Iveh z@nu>rZ*Btc+&{jQ@4o+BR$J{q*fsm|>HE*+X*x?atkvq3`C?sLs){Mjs~n5j^d*TS z2I>@>aicxp5Th!15xfi1v}w>Dk)Q#9uCFdrt(U+WCLqcG_}#~}WL#ccm)(iD^Pp@p z+-8(A*1I=vvtL!o?Rk|U3ABBrddx}C5gbh}%6zv8J5JR;x_9SbRgj|ECs7?cQ~g1v zwAtgTw%6m!Fc|jRb-9=fGs#vW03g)b0bm&quySVsC!0Xe_8={w+CTxQNgP{}w^g|q zcgw}3S9ZHaDUD5rE1b%zv^vK!A#&W_mECb!n%!e*At7{4ChV8Swoy7wZEckWgq7A7 zv~=5Lb=a1nz@^(NT5q+oJ>K7kWg#ixgaFv4=V{$en_vcuHB!N)y#xrT`cutv|M_Dy z+TOmoEwtpY9&X;=M4R#c{vjarWOA8S4u<1t`Vw~RYs;)4XcbLHqW=|GGL4nS6#&rt zCy6ZvMQq|Q*V}a*sK85NC18?xNc^x30bhU-L6u~<+mjq)@a)3&l%O7u*h#efR$=W7 zhXkhAWne%?%Vh8hq+miQeq@Rs4V>LJ!LuMf!MJLqpj4uY4VVd!t+Lt716-N13G^9{ zdr7SJM}pc~jaKE@w7*)V*>i?Bv9kvQaA>2^%Syq~H4}DF-IjQ7%W&K&oqjXzhuCV) zdx8Q_p<%X@B##2X0|>D>B?W>FwiL5Ra4pyoM2-8j1iML$CDa0O?N*WlZ0r;8X;%_l zaT6v!vdcgF$xq7l<)n=I_URz3E`yUs7YZt&%T_1%IHG%c$a$y)cNMa`>=Q3zkQQ4 zV6lOBn7f!F&TSKb+L9Om1WQ_x0ppT*xGE5!)jDSC>mPpq`v4z+ZH#FktYXY~bP+bs zp?L~Ge0_5le~8IUe-Ria8A-r^$r+GL9}zG`g;{GFU|Rr4uS(l7{SlPFswX7O2f70h zxov9?5b_kD9?jeRMjPwCm`K}U``{F5&C%jlCl%A&bJqA}AQd150Nrl%%GKnqNCYuN z024GC*#=-LK;dUU|4=#|z)PKVF9BzRCH6j?!WEy!=LxnYsM>zFOIoqVG9DU~(ac0+ z%w`2J!@=g8W&A=%jz=i@IO6EE#OpzR@1xssIh2|kkIvND|lIE2} z^0>`;z*z$Ixo)lHkWQ}$V8(ct%vab3BLHil4%)!l1PHq?3QY)wNyrbiD4f>Cvwjj_ z#E=h#9s3LVwcf2`Q^Y;?%{If$+R=Y?y{2DQwr0tM)cL%Ep_13MZ3cA4R9r>d(o|pZ zT}{HUT>&9%t-&M1=p+GZfmUL)etQs!k+9L0ivWOtLd<;kRq_R(v{^De_pBMIARwNx zw-p)z8eUJ^ClFMtHM>rf-OrsR%qxH(FimPn3sZiT>EMPU4KPj5jQ_6Rn^X|BK<`?Ug=ui!qG6<{#{oqKz7hC2aJB%sb%K;JNStG1Rkv&RA95^g$@ z0RY{yCc6Uot_1~2ZUBu2fD#}|NMGVAX*JLcAhn1+!OU?T+Cvpht%%Q!dCb4rFNSRJ z-6<#-%ys~r*Y-FqavPEknJO)5#>}g&yK)&m17N{6#f~X#^g3nK@1&aq^GwUA>tI9H zbFH71U1^=g3t}Go(N~6d&>kj_K{5klbh#?66S%J#p>=*ztc;C0=nNzEBGC2-qzC6S zB>q$uDq%w|X1`;w0su^z^>02n_HJuH#k@`&Z|X#-Er0Abz(~=8Btd=2Mq+HzG;~~% z9Z(pL_T%Z0LY5c~n9lzw?C1zcaUfvJA%qE^H~xK9+bh`<@i$#d>}*COz%iB`roJ|2 z)4$ny9ZdUUnLW>w(_D{l%4BpEjcV<+e6sV2DFuLa@t9RK-huY?ZgtRjOrw2Dd$Aa1 zrv=+2K^-;SZuWYLGwW?~Ai&U|ZJ<{<7ow{K4<@pKK!Caaa9Ez6XX#o}@Z<04U1Alp z0SYJ*XnW#fa+&kNraV8IVB9aaw|8a37l@tdz(xyM4oDM_24F1))1n7vGDC(kef;=` zNbmgo7e6oK;br-Yzx<2Xp~#Bb>p3rmRn>_g5_~yG!1YeZ)v+lG(QMO?zkKVDeV(s> zf$zNjoO^qHNHDnbbL2;_KhN`j^v&yQ=WiQ~XB8`)zr42B%9q!vxZWSH#V=l8E-wR`U$y)ZaRwp>d(D4Gqt!%kT^0sMZR7-%vFrodGXWEwZUi3_y6KFrR%J4o zl&7c1FmW-afx%n0quYwKk$BCa;a5|HP~6gO5WfJJtg(UDwa3_lt@d~T>h75L5YH+Y z!86`{xGc>oQJcpklsVtW3Id+*QM}^6*dTxW)t~Vq9PPd3auz|#{-_tH{rTa(bWI7JFOtlu z^aGJ3gDUg$*(}c06xy4s%WV3`uU{iBZ@|aP^HU~5wpBx$0I5yb1sF!!>I5DV3PG=c zv(p=#!K;0_y1ES;MX)cSG57&+h8YMX6l7pV0C4nQw+HR={rBI+fnAL+D-hYx*8sCX zOusKtY6gt(IZmx+S?$(oS-8BNl*#3w9LlCl=g(oX5D}+k5*7iPzjjo5fYx@iF5}@a zAR;k$Od`5yn1Wbxf=NR&L<6VoE;=$Q0)P!h@$2VLX}zNLk&<>}=q?cT%5xE#Z@I%Ms9a?Hxm z(=V^f|Ng)Ir$Phr?cKWofvU(~K0k)FGrYVk57U>t_WkrFtitKyrCiOj^VhOmOZKp*_T^=^$V66JlnF{rm^J-5 z6Bt$UC4jqfOpDL1JUl-Id=*G77OOm;FuuK~I*559KsNpPaXK%XUDaCSU`?%#E>NQc zB$nthw17ZP0ssi;W}H)*A@Z&wd!UUtjK+zB`}&9RcMmxlRp-jisba0FuN(ngsBVwg z`y$L!nr-!Qn2Z%9VDwFwl*F0L>zX(R$z;E4s^r%I9$KZoK75Mq)`xH2mVG&t-mqJy z3+>+Z`n92Xue9SFN_l_vld|7boiKqEXDqNfG*pJ0Wp^~K5<{?Ap6fTf3 zHU)YxER)O20F3K%tBS-BNUaiTIFB>313acuYOqJQJUu<<%-g@(`8i)KROi6^OA4B8 z?HKE@O})qSY8chlyf^G~mK`-b3G<^z~L)Xwf8&6CnJXW2gKApjtlUB9Gi7)4}&k6!O{c* zq#bj!EH~`p5QvS@VZtI&^;+4K)BzHn9;c~Hi~d!vX=_UQdy?PbI7I<0XXlE&$27Fx zBpwnLL6bmK^)ZZ9iF35d47<^$V*RzLnLM}&`%i!zA>-pAET5~(N%`ep{(1S^zx|uA z@klbn%C_nLnZhQE#3ZU9kwmQ3tHU+~LD*4(FM%8e-^bs7N-NdPgwl1VLp%l|3j{Wk=mtfJOz?_eC)V8#ThqEyGF1@okbN02P@8Lw^8HScmO_fj`~S z?zi)&KdekWK(GP>7CKx0?(Ms5Hi>tDDZ^j-!?gOQRWw01W|_9SRhV)T15e682P~pa zGkRg}1-&bF;rixHbQ@=jRe73D;{$;K{PO*m`*MACT^7?t?iFxiHl1euCG5ZjJ_@)6 zr1ppHl;mUcO6&na5l-r_bfz|4;uz8PSLf^Ap3cwyyy$ z93!>>Xf4^2m`kuEn?RbdMNF1^hO}pV@RrNm=)@U=cTL9N&N3`X%p=Ao^E_S_ftSm!5 z5h#FtE}6A<3KkLx$se#C@ECmDhs|IF?brscREB`D0&I!z129VH+meW?8zt1#294Ph z(1adtqn(NICY+y+&9Yf50@RkjEVM)pD}vTh&J_L8M!F&doHUO+{XsHQHcu#10UHB_ zx`~Ud55_bQ>tZr0txlsXX>%SW`i?ySqmj5w%N54XVlfN50;^AQ^vYIqui2%$tDD$Q zMM*%0VOjjL*bvi0A=kObz-OZk&A|Lp6uN!;Hky3e3GENIe@(vTN4kYN6B55g&$xoR zT8xu2$y@V5Pc<3CHViZ5SeA<_<>2#RfJ!d4KLc1gy;ch3_5i>(%&=|+LD*Ze7g&S# z7?zOp=ssdZ1`r^*keFm02A}v=a!UWy<4FgIHzd7Ud&$l?D{(yMR%k3^+Xq|G^%2lN zYz^li?NMRkfX?=j8;>2lr@?DjMb$!0mci@ox97rnZKZVvyf$zXAs_{Vgtl}CYXN~5 zljyoeTChFE+wCqb)U3Z)mTmm>@nhosfDDRs_F1=+^P2%Krd;cuaLx5i1IA+MxJR4i z;(Y&B5ZH1t92S~;i2 zgPb#SIqnbRSC%h}oLfWhtl29|Ui-AzM1hk3bgqGQ?jz=GH=z#z{9F6a5l z7SA~gyIr4FA9Vgc_Txv`U7qiC&i2GpegOW?KYx9lA75ME(3Ac09FvhR34rE0e3sYu z_qWHs{_)|%=<|qXaybi<)_OKE6UVjSm+UP$TL>oQlsr=rN=%0h9_B0U?&Gd(+3nFV z{zvS^PngCIV^A=f&8Io5Fb`)qQaFis6$R?>ANFK6n`b5YT{bUm;hWl-gIFZT06HT_ zi3@MF z{#e==as8h6FYVr-v+3db_7&>Ckr*3H-I_2r>thCCY{Po}doATxUrA%&a%G3O%5L9e+OS!n} zm&eEN%Hg;ww|AH2W%d&7Bf$(^A5L}L@0XXyuVu4dlwbbk&&$Kp=dc)eWmk5MeKEK1 zWjTwZY#cE9=H;~Cr6MVCYBx_sYZ*f%f$(`$aDi_$1ILrwRPFlhM!CKirLu~Fq;lLH zcFZR$FRPcrC~V8NOs>aC>SwFjnNf5qtNps{1z(+Rl3ifxo40R^saEs@393&Yr{(JM zx{UgxaxuOtv(VvH85uCfcX(I{2hOa*qY zTE}w0GHdV4@Sw`*OxqowljNx#dQ+c{&B6VH`Be%VJT+6Q7HjY?N+qn7@I~?Y1eZoANRjAY7)^ zJjH^nFIHl!thY3?1WDTAngOJp2}~opZQ2jEm`B>KTE{Y7J(WF*eXmiT=kxL+04&aj z_ivYOe;5IF2|j>=&6W&dO)jR(Xk+$!!?IoN%H7SI49@A10BA~jRe}expGT~mrhDmg zVtIAT<+*aM;w=bT&(~qIT#hbNY*E?17~Yg#Yf@%Uo6_r!OF3fxm9kuJ%i!{&JTIrE zJLr}B=|dS2WT(?5_|_(e5sG0*drgaKfbffG1sc@S=$d5Ku7gKTKuOXCsr!VPmkdd9 zWIQV0{NzJ1$S7^crB#;OLs?^P(X}k?FpqpL!S`t|5mn7S2KXb36;WG*dlswm<>S|~ zneWP=H!1h`PXWQK?d8Q)3RwiW*O46P$M0ausM?w!zQmwdE=rfqm|-hz%)GPz1hg1r zvzeFWVOh3~P3ex?WqF(@KtDA%Wxc~z#t=N@JpI#ezAd*mZ^Nd%y}Szm?(B1-f?ECt zNGM>#O4fQ8MxH%$0B$rRae?KANeA@v9Fw@Qs#;y*_aeAf^k3-LJ>PHL_=ltpOKcOZH%V)x3L=P)-PtaU!#)gqEX&bE!h0-4sRh2+MnE|%==Ew5 zt+ipNSDFBUGspla>-1?b^>U3zT6_kS>`!I-G7A7F7^ic{A6qlvmgERf^7!;n-oC#p zyZy3kcFwnf45#wu&1LELOSH}ma}l3NnBxb?Da2^wFfx5k62Z! z)k}01wUqAnSn}d85)&1i!%P8IVxo5kow7e|O6ly%bn&$eC-phlLplm}n^QrcSf&UVDpv1K>j3PRhSx;eF7wvHe_G`*7|NAJu$<>*lU2J;uD#IljPlZNB3w~ zdNh@KtNj4JNt{ zLoWbocM!I6SRxW9!#fmxHi|XJ((ZRtcq`pTG{ly>b>bx;iP{538#*-w*6$E&t zpPh2P$rdaZl4EwZlQvmEvcgOon^dw2%uFopeeCQsW# z>A44M9W$$PHJZdOjk?{^+#SjQBW`=hpU&PrYn0~ZSUSf>={M?QhK9ksOw07?G4@c) zskj@9eqT1_*dY1P%$af@0YY{(20t=2M*OhTPireJ=N&-3rI^QO1N#+f>o5!;w|fg5 z*B%QH#_9%U)8o_1y55ogs2y1n{*{(?g|9}p?AE7r617gG4!Q-I68JFejT5ho1|%Qa z0Uw6r3*(Fe&|cmus61xx8{oyiZ`bS6Yc|UK`MK=Zt2*R{rnSko2Lr?=0V;tNVfCH6 zD(poJOu&uU*w8!vJjKKFlw!Gq^9bMtiUZ97K`A^L24~pUpqF-Jz_>g?@e&ZdV<%dt zvTy9l)9kUd2F=p!mD1`r%3`}H&o2*Qgc}N_a4HWWmwe2EVgKF=C*foN<; zGDiV@oNX+@GjLkFVZxj}F87g*L16>|`rg((?HJB*Oe+3Pl zh;+=?o1nR#%QjzJ-lV&0x2sdW=||CaPq!E8m{zAC=jh0Z3T`yzlBA{L}yc6<2^CaYh`CoV)Yg z0Nsjvfd2JBRrb1ED))|lF3igRLP$SX2PB-r#pSL%efO#S;U9lj=1(u>{oR`Ye>A3} znf~>2iiV%Rd@8NK`R3pMibEyl-4*0+wGFm%NUq-8mKpZRf%euh0d0EZ59qe2=+B|> zxBAU;_u*Z+pFWn^a#Jp@Z_49zR_04O2S(mI+^r<-s$$wHO@&kulhCUMNr)MZoOwa7 z@z@hO6NETTd@|LrwuYK?nO4R2pgg?HVvG&NP*DMp8U8`vO~Qql;ZV}R^7m%7PNm+z zIV3Gh0?e{+mics9+NVyryLp$v9S_eh0o^2osy@WuwUs?Rel7hD+WIhU#(MMxs~p+I zXq@Wx>dfl-2}FLk4s%P;u%!)?wowybeKy#C1XEyzs00T<}Ly`W;(x3e*dMS(r2Gnpetkv(srgVoU z^fk+Ty%KMgo@qmb=(PrI_8HiKT8t5+R+Uq{QQi8W-^*F_Z^XxxQY%6VCeC=YK@F9CuL$EL>r-*gi-P+ zk<;E85>lgTZ>2@$w9B+%EHe8Z+m$oNViEvPp8(~}0HlIAG=CLO?5eBDWvbW?9Z^<{ z9!EX;fa75%Kw*!*%;+mtAaOjB^iIm@*vho!&!6rCs9+^D+f2o-^at9tSEbWEB_X`M zxlWq|R)dMZ*p9oyscbMg-~4?3mUt?jVh z3#-7Ni^;J3^3VS)`hwG^r?hQ5Gq;y-%64`vv-?@tivoO=T&-H@=+2*gmR2Ft8M_sj zpIls>S$6AG+yMfD2^BlZE1(U_O`s{EcYmy}DUffm$}T2lvs%`~ak~3!F0@4Zqx;;#bR(W`M4ydP1%xep@P21uc(d#7}_M1IAoxKE5l4JsN`AdNb zDSfUdP?#CS=P|_qWI#XcFz=Oph|w&V+N{gwa4gR= zOo?%HQS5y|xi&xSIvRV=)5mgidmTMYOyEC!_gy|C7Uq1uE+i1XK0cK{eD^8x0s=OfY zDrhL>x(!)amdy%dQT$OEel(}7uS6E}zS|#Uuo#BBb(NrKg$KmY;N>UNqGtm2aZ{F? z%8tT@o-d{;sQuy>KMiyGlAdC>A3e{f$EN@xbSRxeKFjB1Kg1Q18-%p$D8TGhU-7X-eDY4P(vbWI$qcvEWZFIe`z%h{Q)!If{&!Ud2%B-Sw2W;5}6jP|c zxRf*i88G4$14#sU4iH6xyjt!`>!cXl$@EPvcLr<8@Dx2nXBEV^oHas zOpMiH%Fhtg6NT1RV9X7A!P=dpB}LZ_M-E$d=TkPzbh(a3?Ew3kmZxh^8$ZoP@*9&d z-IHIJh8q?BD1ch! z0$WKj*%PeSnQk2HX*zIilitZ*RCYBZLK|7ZA3#Zp07!`-!iob&5k;{7d{BFujk8}B zUZA^Jp!Ae0!`;EgI$xLjr>6i)I==EegX^X*<+$6YyIo-bQ_Sl*gZ9C6J`dBlXP}_7 z)@qfX{n;|M*E!>Q z{9_8^UMJXE1%&eY_32rU`rGsW>vsO(d7kPue8u*jFWVl=Ye#R+*{|2^1?|ba(<=~o zerYdIn`aYP=e^~e0S>+1j_+usSfz6ed)DjJ_VQhkk9cvhi9PH*=wyOnh+!o7ulWQ+ z29S5Q{Ncls7XY*mRWn=+72j7H(P(5>bqUdL-t9<6w8OYvF5n1aj&8ZTeVYN9;w;@x z_xJaa!(q3aNqI4ibnHW|+rz}d8bCZQj9yBr+=IRIXx z%=)k?v&B4;L4awo&D(cx%H{P%&ZR_~of4PSTV>&2zj9~J-<)sc>#zRw_rKZ-SosS7 z)gxLV{i9oJ=abtk+b@shH~;w`%9rmxh8WP(83LoY zx`+(ZKm1>RpZNr0VnBH7-~HMD@+)8-t&~ounL!)<@gT!CZr z#nQ{Bym@m~+TBx`&hB$A0B!)!`>*%8=V^E7V6pTwu~};-HphJSl1XBc9_uQxkyIP3 zQrGxcOh|4W+W~4gJ#7gB_|0ySYuO#v<>qc2F!1VzwiV%QEw# zw8W|yG!PH~aeZ@}pSf;{=5VC_Qc|(VnKl^}+wkV*vP>q10tqs;+L^-KObe`l?&bL< zV#&^$piR3m831fTL8kx|BPstj;W({qf>oh6hQPdBUjUEldPP`10(FhBEPYRVR8?AA z<<-?y0wBSt=L1~X6;nptPYJrk1wI;?4Z|m zJ+9sUxV$n@qP7A(JlvP*^K%$X0?o^d%h)gYnEM|6q}Ug_TiqlS_Q9Lm>i|OE{?qTu z?D@G|Ul6VbsBhDzF8Bas( zQG_O-vDQg4uq{rs{-$NSUWQ#@LZ|DPzs&0zEtlnGI!i()$#7mDA79FEe*4=vTdX8| z34>|+Jj*mxcJtXl89JbgMeO*F{^#?&JWuCk`m)HMPoE!C#Mtgmlo)IUnlTwG{R7{&b30lPr{eSV$<~6NpdZkb&an*2kbz4 z?5cCJzl=oIiJbfDjqUUPuvIzh2@w-3l!SW}EN_SD(L;O4^%@pRFL z_CtyLS=Wt5jUo{H3>?$Gs>K?MTAK{i&H3{MOy}R(TZy8V#lR#5OrXvdD0;YVJ`z|4WJzJspoXk@ZBqqc`8;`CbQ5bv6cA9cE^i`H z(H6=Mpj{CD=bySsRLK|k!e{{ai#?)e7=~~&j9*W4-+*%btt$@*PqR1DC#D(F@bh_0 z(Pa4jSw5gmLvYE4QOr7Lvi@Z z*g6yKqumTJqMh5RafR6axXoH&l>%f_Cc2NY`Vb zvX`*`*r7cp4%V&DLL;xTmh5w}Ntm>>N|V2AOMg5p+ubI>y?9%mPzQ6=c3*zbiu3g; z;$Za}2oxY0xKL#ZWb9hw4eV09S9mma92gN`PaAN%6S;waAWiJRW#X6E&9s2;Dnq@~ zjjV&upuL+7WE1VX@de3}c8V+R4}ei@W_^5qU( zJQ*GLh{5A(Q6*OQT3!Shq=+x-|T`r+|Edd>6eo&Wmb z`9FT0_}tg0`~dz{+w{jPXDk7KF7*6tiyN)Z`t#Rkuzwy{bBJ2(WX~|A z@O*`^!}p#qr($QEt;uK-qLS-YIAEK_HLk-ou(1zc?#pJm41jKb4hOx&+9VNP9v@4O zu4Ge3U?cH^bHx#-y`Ie3VIOkS+qZ9{F<4`(y23s;A6mcuQNB4b#Q=Ca1vx z{=={TJ{^A3<#YLT|FN`(O#tBE{fZ&BPoU#kA51vhp0?DD%f>WS!pRXkHIM>8q-tDS zJ+$hzhlBEDlIz5VC*D6TcegjGZfSFaVxz+fA{lN09R?rt6SGit#s_UPwu4~|?DOm; zP7BpsRgQ7QH0g9r1|vG&3(JW%l0c9yhC?WztPBjSk-CTuoTS)+h`t&UJ*SkI>xuxH|729HyPf6;f9^U2}u?Og92!Q z5f%V|;LH8j>WmW1wu{{4>(^yzG=MC<7#Cp8?$`+H1IvTP9Oj>_oIBg=6Vh^2j%8tZ zK>Lu%hI<4VEi?jp#-iH^Xh8q3Z@SjukZK3!hxM?Y0vLwZJrXF|fLM7x14nL3(&N)K zNeGrp+K>CAu#;5YI7PY|64oTPsh+qHYyv{9jU>qu=oidE>oXV^PByKT5%}epmCUh5 zP@qlQ6)0i5^~<;4ep`O|%U{OuWB*OY;|Tf-a53wAR>0OPu!C9+{M&A7>w?b-Ko$T2 zr40iB5ZZ5PvuU@=_02_?5?al)fdRzmHE_nNiVu%p!^ZgV{!LoxK7IZ^Lhf3l=_P67 z`0(z1l3k1@!_wH@L6G06S<;~rj1YrOT>?Q#_pp|ad-SwMHAv0*f6yo{xrM!Fp zHWfzgH~YN+f_{Y#0l{6>Y>{_c%d4xKye}qXquD8gG3q!iN6fB9(PAp$P~oKuWO@{B zE^Mz>R}!_4pm#soZ%T~^}55H&&lPec+~&(S-6C03FAOMTq@}#c^R0a0JR}3Rc!|b>ss48W6iC6nj&> z>E^7r>s0lVIYoD@PGk*xKq59C*Or%)$#BHD6$ea++yp$N4+(G<=wcOV3m1?MNB!&r z$t~M*W3qG-tab)9ynpjP`%~Zvl%OFa3dA-7rrq6Kmv^^!u?c_)KqM_Yg^)H@jTX`E zHrg_C>kI4$m>3SC>JF^#bu#HVEpprhy+o~@i$!@M1RPfNIOjTm=dpsRrgCx^0$S|^ zD)v|~0ma9oy4IsnfDreIMyi%n7Btz0>LX@HM9^!JwiC^Qu62G#w z^|R8dQ@K_AP#7?X;OpakfN|5hfsfee3514K^OC0H*RK!d@o^e~NwaeD~66qDInDVk_s5xD>KCqF5swZD7&CTCnQNV{q@Iq$(F zCE86fWxM6LTZd_xKvnxL;0*u~{y(6t`a?h;{So|wi^-dz8 zjfe<7(18Cjyvte%GDoG`aZa{jywTzW6J)|RhJj+b4LBU2KEwTtf<;{#vZfhVjE0GdQ$@hG}9P&wIxTDUUCbp z5kR{K24UI7e&^oS_iF~^Xr9@X0(kZ`L$fvpEo}4ooR}JWSVH@wGH9I(z=8Hl=L#rh znZ+$aK#bkVh7-Q5;2qg|R|-c<0->sx1jQzDsRjXGwGq%c7Tax2hg2XLU1W#~ z5YW&bu_Z77d)e8-dS##O(*aP;N~XxPOJXXX!9sSk0T+rse4BgczA0$9|MUmR;IQps z6zypxvpEJv0e>yMK`~WYK|H`0irY;a&R#Q=Z)ZAnv@2>7k!0HQwa!+MRNP+IvobJW z2Whb7uEq16Uok7dC`BzTbZeS|TFz@Lr^krT_+EgG?=hv)=1JSG-HM-eKgDy-Mr~`x z&>jV>b7tiOK_%(Sp2TRIv-CkDZS3rb_(j~tuUkvN+I+c)Z3%<)Y-i*FUNh%|4j0zf zifqsy0lK@5mt?d*SNDih=pEH*&P3Y@$DIM_%O zz)wZ=wCMJ<`|nZ!#rAY>#51GuAk062sA3-*b37;*Xl3n|-f&oU`(q)AB4+1%0nN^} zm~WqbS@nFyZsG$h{}fu&whoX{G%!?%k3-VH-c^{5g{fM!DZt1hY44FR=++`@3J$yY zU~4BC(*@--ur&bEw25LXYabts(%}FMRhZ@@#FzZT>zA|U^BQjGI0#O(t-Bg~-#K({ z_=4qPk$dkPFxm7KfuqPO^Tndv-#;c7Q}lPH=Cipm=fwa=Lm)(2uR&o{nXFab4d2^h4T**<9r_5)ty<6sDc|>Vh&DCC)MVZ2dXVDVV?+{PU~V zU%&qS1LR}tzAnhQP1iXRqj{V9@A`mz|HBhspOlCE!1}8`qW-MLhxKuJ-_VkL|6`Q$ z^@9NS{I0?q^@3l2$9SH7Pyj%$oQte4?q@mMek|UqF_*XmD3%xoK_(ps)#lUVc1G<- z_MDBgX0NPh`(NP)=(k;w;i}l9#D|a6UI|i9}8X zj9t697uf9I-anuG9H+RZ?Ru@-J%GM*ONK!1aM*6j<#3e3nUg>6=@@7x_5lRO&hN>g zbOU_qu+ibj?s=QK7pfhMZ^%2>_pgijS;}b}BJLOoBy7fAl~9{r^!)x0J8XAIoAt zFOA-*wEp_T|M)A@Y!{1Z23%+x=?vPX*=v{kr-!rzsbVpr=cE51cwC;J9&*u~k)%Ysj6^}zh67YBo2`veKb3(AtsO$(1esTLNGq-#F zI8NGkD&4c0KtRx5LADt7h(<3{v6ZB;R%p5^fatb@OI07qRYc(T`>J=>?qnbZLjbYg zu6O1B39DouHj|(Loj9z4Ml*~g6N`K8UUX)*vrSpOtnxma`MOLWpVQ_s=yc2T!&6#F z1eV%C1VMrnZG{}z)8o7xj~HFV(!ED3dTiP^*XIf|LMV2hAr~|Y{Ly4%`qXN_D(ykD ztdH9OwHSa$6-dA%hlAQ2syht?$quJUOR%;YRVHL@0m7(bNUfPIhUt>3Kiw37C&tD8 zm=;y7l@d#ibW77BaRaHH~Xo5`!QZmFrSI|`pVJ0sD z$Fy>o)HWK19i*LG>#3x2yA~Lp!rZ|`5V*Rxm@lfN_Jl-UAfr+$5J2a?zPl|KSC_e` zNfcF(GPP@$_fr)F%xSetE6jRZF0X-W{TNvwi=da$#m;nb>+L*~(SUVyz$8a#%@LAm-`<4AOgyj16HuunT1!UXJ zHiaT!!TWdb!}v^+8z8cg_UP#g=HEQ6KQuA}>K(gfwlt~jlC382XRES1w#v8PeJsEK{&NZ>+TgS^0S+*AI9%&&FRJLec6;60@*B>jdoM5qzDi-ne~}}X zb~GJL%vJ1)e8PGg7MI@}zMv2S)MF3X-vEFCh1f)s?Cg6CAjOSlT1fDi4y{w!HA-2s z!2oXwy}*>+NMWv>{iKi~sSdEzEV(Bp(YrbV)&M}#8y+K3!y06d6zMLnu5x__6JV3O zHWM5VtyUx`tT+8F!OG=ik^v9&O0-&=Zc6Lht~($A03ZNKL_t(?DDj`Zl=Wg&M%_U` zS(Ui3p)4NI^ITkW{@96`cJw6URlpy30yJbtB;S{ltL$k7(B7aD1yqx62RcT*U!1CR3PfHEU%I7g;jqeo1 z*J-_8$zT!54}T{hve$qO?t{V}W}0pSF$AsUum-h>M=PoBgVVkdt-oP+5pGr$ODL)yJhy8ycO0C3m6CfOlwptrS^ z+#g7ztjcD@ZGfqLl?G7oP+-8q^!OBA2E8h~;2ef!Wm0nWcL7keC2kGk z*krGz&~mJLiR`95BO$G95%)?G$ff9Q$LKz0&saN*O)A8R=@t?gT{^PGbkKBs) z=3BXGXT0(cL@$y`YoL_YcT97(zIVL=6xruzf&+8UxzpSr45SCnjAz#;_Hkat*=!Bd1n3Oll=fe2 zHgR)hCt>V)4r>c+^L+*t4u?tf#LJ3L)khvu2*LyKUKoH{XRE{m<>4wHL~E9vz$iEM z*85@p$?5D{=iRV9ZRi{5llI^KF!r8Qi`b7JbZ`B;*^q!DUdRpXF>G~{gON9mbX z$`e04OUDbqI3NZ4tB8FB#ONH5`_;sh|CBGtCETYl$&(E$?CaP##BXAVTSNDcedI?J zcOd)N_pf$!VQ65wY+N(h1XEJARvU2TbGjeZ#-`1EtBu&OL2Ug-e5)=jgBHaU@*KJ0 z(vXm)T%xkxy(ds|(CU<(p-Ee;Rz)m2@Y;TnEYLK&Wrs1S%dOQe&#PtWjtAu@KmSFM zciYRFqny(!CvgU^uzpkcuKKQ|8Up5cpbv6J;Z9=JR|LVwvk*V}vQ|E}hx^LkXAm$y zf;-2mR^RmB0st-W>*M2wyqKSHNw3d;{YQPL^Z&iO$DCil`g@!rvA+YR`v*J0##X=R zv*y=;k8{hTc*+@a_PsIx=PYKBCPsL_o6o9P?ri)&?A=#$^IMi4_5}h&AV@It4JS^A z3AReIq`9%|Dyw|q&($ALRjzWC%2S%q(V*bqE{?13bmZnTfZl6{Exc> zS&~gp{_juG=3oToiwy|5YD3UU{N+q9pX=#iR*&~rb$4@F7wh|{PrvM}^JT6)bua=8|LlOYU z{Z`O>#E6Tln>c|0e_a*&WyCxMyOD1{shV+^Dn18$lLWz&@qXQ1 z-PQfoGy^ieIC~S2VS0U&Hks3t<5X#9z_RC70oDGCfrlYtYS8^`S-X3$)BY<_dZ}I{ zsAs@18Qkkk#A;JT1-;sPlbX?|=&ft9ZW@h>>d7)x3pUzM5_OKyCQ>C6U~9V-$PB|$ zB(?!&Y=IwL69x)1jS~cXVg8w-%b&F=VCk7nn}#4p@FH>MoH;aLtHgjI(gvssf@bY~ zVXM&P^E1FvXH6qYU@Oq%^i7}br^>-0(9n7J?p+v5uV25;#7x1BYZv%kUEjp1`yLx5 zTm{J!y~H{8N-sfKc5^y->sx`D=wAuppFqBM8y}r6mfPZ*!lA#O3{%+0g zA42QDyT31j-KVFo1F%gmZfin^XsZ)|&suAFJ3Tu|>u=7r7t@lYJyQbR?bXrYVfKd# z(3`VYHNBaJk>OgF%Xyug9Ea6KD4&Ao!(v*82fNkT(#kOmQ$V1ywKWJpmS6)iFG{!G zs$oR)C8*e++5|Bho;l8z(9y>lj5;-)UDf@AU`p_6+7;#qo6x2r0^puFpN;MkP{cXm ztoQaOH5d=Vt}#4i3s`ROjAUyQ*oI+>RbXEv4rpwKw9^0{3}wK+!~PJAFKEmy0t^Dp zwaXpS&r3`2T>?W@XCUCa5ATyKoW44%-Mvw!C>|Xhw(DOm^BAE7FxA;_0AoKa2*J+N z<2*nW&_VJ@13-|$W_bRzaBuX|v<0kIO%oH#7mJFRenfp$37;_Gw4-PrBXqx2Z(qF% za7G{;&>TSX!F%h~>o;%nT8q^xLAnb3&SbZa&d$ovB?T6Mj`k$&e3GY^0Abi0)WKxZ zCWV*bG2>`}uy@XfBwSTcGHlkTG^ z795P8<#JJn2a|gJ+Q5*#IyySe``0!#1MEj9MN-nQR9IXoTR%2a9-78 z8i0cttipVKeOs3oH?bE))>Q)88~_DSQc}W?c@FQ}aGks9Lu{_8=pG0B$6TdL(;fC| z-3!cJcMpr$wgx1zn-yI-pq|&kM$G=5FC*rUnbPl$BFGI8l5_)f#J~IjutdyY9Zhl1 zpoUJj{^1{foAsq_xW>5B9f0MwVfATw*`ZrI=mp$9GIdc)_3cfPyZya!_Lc-u@|X}7 zdtftvAV3?INMRq3Qh3u==UlqSrpqSD-cvQ-ZhEvphmB4vHZU8CCF}k-X5~}BKhK?F z1fW(@nz)AR;{O!E+H2THKo>x*b@q48+OuM4blFh14WVko1o%!q`uh5&ZVi4=xWn|< zg16G@4B(Rtkyrt!Y=EH@Iv=7D$#=2s5)%n6&=SbBJKBrAiGN)8GC5lz4$HTLRnA@k zd@%I_JpMig=8wHMF$AMZA_YidFG{X{4>~DtG!;01{NuR+l43+L3487QDCz?4#$H!@Wb~|B3<>z9 z%_rdo;IeDLNPd$qbw90@!6piB>}p(h07`59nCsMPn}j!l_U@TtI#vqcwi~vSHaPx- zpL9KZoPA|oi$B~OL2tj!KNA2xAyVKnj|VTA6itV3t;6y?ahY)g}`q=EBA^jAx!4Ls3io!@eCKpVV-B zkaHzgV~@0lnF{i3P72vuEv65Ej$Hlx zl-C7hTYDe!9Q%!p@w}o{d%BtzO@-jMGMZ5koiNsdh@2f{>3)|hG}|l8#V%) zda`z{>x7-mz1mE!WouKAx4^kwO*aq#_|iS=?Q(`chjhSca>kdB7XUC1-8|OU&APY0 z_t>BPN&C~EJ@)07Y-axM%QM{1~B^GG~3=`n0r{{V!37hj#e->7T6h z&wlr(FaNvWfoA&J%e*Yb=Ce=85zZMO&$h7DDmJT|Sv^c|>brmZ`+E1gf2_~%Ki1>j zvYtr-O_#Mc1k1q7yZaRF&aXb#<@CH}&$C+8vbsB4bv3)L?!W)n|Lbp-i)n4|pySVL zH0fv3jG-H$vTtJ{iDgZQ+KuCrJVM^pDQC~m_2cKyNt7iBf&*+2)(pEL?QaRr1+Ut$ zR1=MI*OswWN3W0ScR&7E7gx6d$98uQfD3Ik4l;)>C~^=PbFHC%etv#krigk!ZZ^l2fe6Fx8jMWGy^6gBFle24 zT9_g^D^oTP#*;eQJtzXuD!Ra~5nYa*od7+bFFvK+2~fpZ2?SiXz>^`_-8-zur(VsM ztD4OK8>S^~{v;w5o&y_~#&RZB1pFM&Iw_^`N-vBeId*TUd1PziP) zA7caoj)da{l#+b`FYT!N*|fH|T?6))3bTq$17>69`EUAScXxGmdRE8B$4PvxqgEQ# zM~+2s>4sVRB;H%vCIqG8yVlla0`$@0ev)>9F9#wSt|d){UXrH%_9(+QR!bfq0}v>* zSMNWZ2c$J25!(*6e>61gC1tw+U7SI5MMjLc;AbZ-a}vQg6dG?@EPD-L-P;|fee(G5 z;HT--0&R&dChGCgQIgaMIZOUJ*bObv1W<)}r2TUv{;b6)8ZFUCF*L&jQORo40tC*h zNC}{wUqA!))9R7#-+k8Q;OHRN%83B&-v9V6RVhIG!NFk?KP)IM&-TmF$#JTe?9%Ps zRo&j-Bso@5rSB(sfFjUlViF`Lvh*aAYi+lta1wr}QJ{mpO}Gu)CKV6bEW6Rj5TIqx zcN!ZH+vNP>B2~Wx^7OPGFa#>Yc_c{AF*`z37;s@vtDFOyv~|sA_X+Gd`-!#bqyN*g z!E|kmPYI!YKNJXRd+!iv-$}*yafw;=Tss)S+uPaK`x7z+09NhAqq;i(Twj0rMI9X; z#BK;gUY))QQ1JfUhXj>LY6kr}K0T@a&L~U-Q|5pGTA#cpiJ}ndXfmk-V4VGpVWw*D zJdAe(wy~}39^E$YXK%6}TZaj{e|Q+S0&k-w$Pgp%8v~Qg%J-AK=w1$o7?YD4ZUaHJ zif<>0*cm$`1}^n7z{C<8c%ua#C<>JFeA=S{>ZZKfcVB<|P5t>_{CUoWRy+yM$;nZj zpMR=;v`Ati<=J!Y5yztY%6txb~Q0_tEHIRA!70hIY136zi6pcSAz6u(Wd2DoC@B-D*D z3827q0PxN3=5={_mG=mMW4|Tf63V6OFvh~>Z=avpzHWSv*AtYoQT!Ni5vaP}*2QGX z?qjqS0Uj7-f(_v5a{idtqLm}qb$+lcv}0~}`n9tyS;ENB;>T{P@OP8sYR?47Dt2K| z2$BJA2GEe(P+4DZs`Ady81pgl!#d2|;jmXH+FR&yEoU{oxe5p|*#~L^hO{6z_AR>~ z0MI1eu;QfL71;ye3jmNm^9GN3?6K5>Fyy>O^CxQ+dkiS7aT-P#qx8&dvMtxsY(FhD zqV)brtUbR=bv0~M_TXAN&#_mH{qksyWzVt(T-9SP9(nSdtfZ1^ejrorA}@ zweTM4ttsI2QovPE1O(||5a(bGSr_amb`_YoyQ}?dD}yn*&ii^Dz}lj?KK|MiM@3vV zkj=`y3?qNjXPDMB8i>F(Nh;mB2J&Sfh$NAIVf<#>TU%Rg;9OYQKoPB>z?-ata8PG} z7@&cA?k9j)V^K zWbHLZ>~3}+Adrm_OFA#u?Ch;;1GPMeRZN zpN(cewbUybz2r3ZkacmEt(S$8TjWg3q1bMn1OetTUWJqE*RvUhWTG zKhM+(L>ur={JQ!7??3ZjFZdNOFs$r0Vc4Ftm+dpYh<^zi723RcPX>@aubXYFo?7(~vO(2=XBwmp$9jrYK51J z+spc!-~OjM{qn4C=C?I{yszi2b#?!bfBVEr!4?9x$FKe)zB~Bys1wg-X|~-L^_OEe%iCNxMonq zR@LS0c{Du^CWq0J0rCk7eE>w#Dx73~RI}M41{TmL84@h2fIZCaQ#seFDJU=k96%MP zvuf-+2L~1W?v5D!JOKs=r5zG;g!2ZVsB%gyruWz)PZ{;jX)*?wS~NIL_K#|?HAs8Q zPOqP~)Md0r7DWI*Lg(F1oxMJdW|FEJ)=WT*PN&|!`J%r2{<}8WGY*CWC%#Yrj2Lgz z4RY56+wL7B$aqQ$Eh;B2VV*xdqyj0)^fn);``j8k4dKG)f+*LkgXA3xOOKzkn+M$@knqzAYJKWNhQ|=c*6y&+F~m zuj=}Cnj|{cHXsJOtYObRo7dYf-X?ejeA4~_JPpUg_|WUotm?%h3lZO?Ula-3vD;C%A>th5}On&#eWr-{=W z^jgr?7qHTfqYEWLZ=%O%XGitaSq2E)-e^^zssk&At_15He%gjxzX;R+o?tL@hRiW zt$Bp0F#$~ZdR(Q#O>8uGp3C{zDoIfkWZqQ3~9)J>p`R6CLv>S~e&xakLy~dikHrLN~`H)Z~5Zm4k2;T2$ z!=gpi01>T#*n1xH;}1V%oiX2l?*cu*-{fF7KmYvsQ<85%7F%cPB__?6U%aW4v*Q2= z&iC*@8~9_i1MQ)EI((g~FTVJ?hTGb(kJ3JTe>bi3PoKgT-Nu5|TG#8<`}ZFbs7vI( z`{9TBc>X!XqQk>U?F@M$1*FERG5L5ya;c7+De_)F*X;H-ECVf|cel6EWCF@zF_GT=wbj6YR#=5@Z@OW4-x1>md{&s+WYIeLXbBg6C}Q&x+lTmgc<6|h>eh26!~@^A zy6ecYw037cS?ljIK=IR3i`*owgRRg=53K2C@pb)lK8(x#c751wY2EB&hROaV;{YMR z03W{jATOisQ;U0m8^8_#u9HHL{pH>Qz}OYB7(4Dg+F*)@H<#C&?;W8A@M&Z6VQ*^< zzXy=V#|G;wz5C!5+uO&=;ulK-zNtm$d9pBM-T!WE< zU5le6Pkb$#uH)f$dJ_-{TRO5InQ)DDe$+E0!d$K+1SC^bex(-?gNcLT?X=jV) ztpD}(Wn(_tUxk^xlUSD=007Xv@_P2!%k^U>&(1c0wT};JQ7wnFemH@&Skuqtp1MN#}h?{+Dgg8+~E>%)M7+^lxc$FSg-ul>7$h zKzr2R>vD(1vc{%(r#;sq>P5+ALgJxCla9Q|G*`|Q$k%id_F5z)La(_1fa%^y*Xf6iru)f<7|ZKq zU|iN~)7IWGWUpy%D=^$I9^w~hO44k$&+T!sC??}CfB9{F@%D8H*cEJC5>Ktm%o*{$Az}{?4M^4^F4l9dTb|Qc<#Iw~ffPmLQyHk$fMfZMLXUO5 zz0+OrkOB}}t3yE7kUVl|T0DZ#6V~S>*JdKQ^L~4M7m%KfVKZo*vlkw#fFKuUtDP-5 z7#k|4_S%a23fFAbiyk-osxyuafkT)j!0+)H>}VLWf`qO?qSHD)J8mHJX7$_~MV1B# zzTDWCUGmSZXjbr_`^BGr_TT#syd1bc{_N~+&R>8(2Y&Wg59il)_5FuB|KWYze!8sr z?KIsiw7|EYw`;dIu2FX<`pS>bi?OKppFUQ1*stTa$MxgI#~L5*)%WbUh>Ed3`dA81a%a@^)SjQ}{Ni&0 z0M5so^7)Xi(4)#ytMC9KG1WeN`jpnCZ@&GuReUnZswG3fB?%iRn1iy_&2-VLi}MTw z_~z>`)B3CR0=whY+c#;C+~3vJMXS8pyc3uiLxZ z1VyTG*QQpi3OHR*e))sp2=v9ni*Fab6zd zYZQDSsz5@*&N0ys8jiX(o2y!&%lE@-6LbpDZf~z!b)`e!>9$Ufk1|CS)9C*0HX`_R z*t7~tG`1n4-(pO)7 zRW~4qfYzlp4Qv5gmWlxW3D5-ePwU1aOgkgZIc=T0 z<2**y9GfxiHeq*|#-^e>PlAHws4A+GDghO^nKEf_smuw|7z>~}T?{OM>@BT2s(lZ$ zB%{^}peiT;L~1>DeZDq;==9{I=J&I(!zR1?0ZmY&)63i?OgSs6(EwF}4O^LjX``cxJ+|E) z)>iG*1OKqnnm)<&Gp#+=CN2J3bffx7mbVApFb^dhm-uyR}{}>X+Ys6_AsTA;vLV ze$5_f#|qQqxdz)NlrF2=S*G=QMP&YY9WmzJfk6~|wbT|XaavdHhMBPpTk>9e9346O zhnRhfd7Yh})ZhQz-`1PAuLFj#E7ydbpP%dC@Gyz!%?){qrr)ByKcra5gpUo|fy{v9 z#lF%K>RhnDdj<;FGmlScCk77eAMPjFaUR$X{>1uQcYq>>rQri?j)5&cyuJkQ>iQ~` z>Fdjj8V`5V-fXh{<6>QhyN9)WSXH+St!UbN+nrvfug`ApYc<0_V?-p#g9zD6_WDDb zRBgbJ>%h#(w7olQKtmS#MaK~E#_uS6O~%6-LQz(WQu^zbf(|gFGKKs0?z%8i`J2n> zWwg~MNBebgagp`M){tb9J-{;bzJWmQC&rq+ivg=BXieBM#e(zCm(>f4(mlaQ!#rVo zb?suSJ>~a&p#9A+CJBrNavL;aKPe_TD_GCitgQ$^bE*|P!px4g9^fYFTauzo2<;7` zf6EqY)l1u`f?3zF6hnE$LH*Y5y4_ksm+WU)?5(L5L*8rA^~5@B1vgrG{Di_t)A@Am z(VXn}>S?uzoJ40E>rruZmPEteU>n#7zy%fx+ht#|u@W;yN%t1uN8=RphFwn78m2^J z)%CmG03Lo1$Z=n2MY=Bj^6p`l?-lagkp2CG=Er8UyiU#u){$g*bN^aoyw3G%mDW9B zs2BDQk$%(0O*7r<7*MpR@pzK6WbhCss{QaX+(WB$CP$}rmqx0g5sF-G!ZjcXU;?0} zFU43|Cll}4`4sVVpF9F3fop9-BS1hBe|3EsfHTbcZNQt?YXe9Cii$@5Mr?vrtuT9& zAv@dAua#6<7j_0?%zAhnFk;tP>L?;U2e$?;@#)yk;=`srx>bhOVFGF)2l%uWeS1Q| z*tuw(6n@U8y60>K-z7#CgL|K@gDoGju0`Qjk>FteAb;;%N{}$L4dY`MO}4i{atmOI zIL35s5-|#x+B@wt1yW2nNxiQX+dQ6)2GEd}$o`BT**e1e?x)|2FC^IRg?-@+_?b8; z0ATcld$9#@5CD;5}vcy)OZ0N@2+bH-dRu-AYk_sBm!AIlmr>)svhA0-E{e=%Ay z_5i(Nx91LB-$sUD699_Vl%26YGzu~5+#BBm;(W~>P7e2L`Lw8~PAghxx-*uZ0@ipO zzhV#k_`|z8Jvqx+#U6Hs&p(TCCUp;FU(5CSVS#rIz33XO#s(W0G_H&Di-2jE{6JZ; zy&}H%1GHz0*#mJiTW!skCf46h8&P114N1PHn(d}#y=*Kh8^QWCW@gj&!xE(92|)wG zoSwa^tLy84qt2xQsZI|AcNVMrTGD!^PcEjqZ@G`C#QF5x?ACO8lLGf1CfAq@fesB_ zaE~>Z4C{XWQ13o}2w}zjmm~3m@i#+VBjhZ$>iBTKzIc0FgKnoTK7GL0s6nq=1KO?x^XF*pU%?Z$x9j-z zaTe3#`5>`Mvr*mLkJza!-XAaI%ZmPd*S!4fPoMv5?*PB>^1)X6aQ}b)Io~)ho8P~D z?@=#jS6zw^3BKcp>ZJa$V~gji>8#%W?LXGV5AW;Y^0sb2T-NHLO@aRS{!_g^epB0> zVfEJAHQL@yr|N(B5C3pFXV7WN;#D81^P$ESKkr+s>=$#^$a zaMWy$j3Jcp(`AyVqE!jT%3_PBJYh zSS}Z7dm~8xgi&}mt&wS107$b>fuWfwse)>8pHs2m z*Y)|+d3Cm)>t=eDfdhM!aT3v1-PJm}ouCPr!O;OyctL{wl0cCkBcX!8pwR^h6sx6| zh^B_{~qeD=m{E@^!%m7ES?U0Mu-VNLJu!;WJZ zRcL@2?hB_ZQ1H6$M_PA=gY3Bs56R=_wL8+DeOKGvPW|ea--fNp>Gry z3ZNb2R|%Kv<5A(7W?ue+ocTt=2-Y(x%Ybl!!^`3%h**tiW`! zFC<;qy;^(XsHH{Ev1A~){+|Nqu z?d)!vtKH`%wvqrtINyS2-CwqUwqCP6J&VbfKY8X+FJz-?osq07t4B>-iQ5%&4WRs z2yw7G$)s-Yf0^lvPhrKmPb$#?bvM8>TS)Ijdx0RunPFp8r6uQDVeEm|uU@4U#rKjH z*C03#n+fwTXAa0DX=#&1Nq3rl$HoiV>9q!gSU;!5=)UU>sT7MN#*h$wQsKXX|xek@;mhg817?6|j7yztcF5my~T>uI9_2b8Pb$jfzKEz;J)b#4A6lDzM+1oLQNXz+F9UTKW z*=WdR1FO1&?X+Fnb5Bc?S6dJ!*1)6%S~YXp+D1*Y6az@^*(pP;92VMyQe*eZYe)py zWcOY|2!zMB2Hb1o5#I5KD?qVgO>A{z9#~V)Bk1??5?Xeip99cg=FsB;ggq<`ad-*? z&OH-1cs^&tKmNo&o6l5wEuZZ4i`)j50g#E#i()MHVZfQ~2HZGbd?4UkOvU!G*I8%a zWpsNx)!!SYcn37_Sm37&Li`1s(8*xm0fk__3NXMwg+BkhM}t~0CcForL)b9GofLrm z9&5p4Rg|4%@~}&@!w2f76ovxR&&{wOOnT zo1!s`73m?EM^CkK-VM5%Yw3DO=ZDAoS`6b}U~q|HkB<(*00u<8bf%E}@PYLq4g+M1 z(fB|yv6MPm+%kVMFzd#u_ctC7kP1uNfEaA=Fg;t`=9I`WY-I5)z@9&qq&hR~{R?mu zaEz_ePPzlM1z^q-yE+e;lfac1_Hp9FFm#-mrbmjYrRzrFDEEE?E?R5rtU$1xiM0U# z2D$_NoDp$|7^x*i!bAYpOPihHE#h5BNMqA^{uU>z8b?+Y-Mj*S9wU7 zLs)SeUul2DHfw!1cwuv2UGvL5W~*EN&;|?wCUp?;8Fy2fuv;mx1AW+c?`df7V;w4) z*|Q2ep0L|A_FTX7>2c&$+&f(sz(0}?Kr}YV+S_kHgU9u<#(Nlbt`*~`bt(ZufRqYE zVruW-d-A+|NYhyZH$T_*aI5A^`hUMa*J2Vt9Jct?<#m%P*y`2~-@gkJpM=9`w3qe2 zpDnVlNu)#v?Fn-fDrGSVh@vf+G ze0p4yqn-BmVJjmIHGg1F=U&Ih`Ko!_{O}L{^T!MN2fzH&H~)n@VC~&=A1|N(xj*^& z?|%Mu!}(f!dB_l+>jl|gK24(dDnl0<`eqPs~t^z)rVX@WeSHCl? zVRxtMaVzAsi_cdXkeV463XAjmu>NjlchSt;&V=^o>i%#4;xB(A(3XH693Ry6^rp@) zu4-?0zs^5g*1`Cw#@jnJyP4JZ-~Euvqa=utdj0xUEoRetMtK*E3L+dZ8gZ&Li)AW3 zf@VUSf{GiH{+{TOJlFB@L0w#YN(G(q7xU_;*Y_@Xne2~KD!9HrPeK5B*EWVVc6M@7 zcXzk-i(h?P^VLJxPe1(lE|tx%zxg(-5nz#k-yvj3Iea%?^6Nmj*J20>)6TH5*R)&q zN3FkpD*-tz3RS#WH2zd;7;LN+==}4Op!lH-HKc`BTaRfS7NDxod7Xp9gRocLz57sq z@t6N|?#XX|`$KC1T+u_h3lJi47T~6pg$5XdVhs7F?KdpF);wL?sU)|mGzahdz8QNo z6gXeKRsP36}$&bs059}K?{0S%zC}LxxT2wgT1=Cx~S2pUw`rEzbc&)0t-87lB zzs(=Ds6W;2!CviP2m(?#k5u2=R5LAnJ_MQxJl5JH1RhUmjS%Pvf|eVd677zy3g23e zu`r`mF&t+79_BZ7dXKkDBS9m7FAk%0HiPs z(&n_2!8#nRL>tRX8}4g+VRZknGAc zQvDSiVMJ~Z64YRONcOa3Vvn!|cMs$X#%aCuypnX2FXwcJ7Hz7nr2b{?Z*H%{q!6q; z+}|f5@i)umJYT~hHWbUx*>50<4gHG4G2j;hWYdO_>fKv*T(024RKxAWRgulyQ;C4tR#1h9b}(2 zkkfz)6Q}8RnPlA0-`bxNo@kDl!fPNwihT{Z01yL!#GI@QJK^>D71!>}VY5oSfdlrr zjuF@A_dZ)EpgIuO`M}UrG)haL;soLU=yU=mfqbhZ<@OAlk1@*Tco4sc6-wm4*EMal z0l;jPWHaxNf6t&Y>{j}WilkM?hle%P0*IlCMVj}-SF}X2zr)^X*(7yheH$ADXrUOm zSeTUB0CewbZ|@-2uFW5~=EjS4#DSPs+VY2koy0t0|6vUS-|6&ZH??e@%>`zFS)(t9 z(U!&$@tvntXxvH+plHNLu&I2T5AhtZOhT;?C^?U$fWbX7?hTm4Z(BEo0Dyc;&gsKh zM}y>=9-sFTratZHZ9^~Os5euDyT5PKqf0F?k7Uhb3W@HI^FR`$=P z0PSM?#ZzeoZs5CjCufMZw|oXUAbG??&hPEbb^Jal3ygWv8T`MYS*HB4KL9lhK!q~4 z1GsL0pd89|Z;!U4y_`-ULpKcYN+-dh9-?1nEgLAna9H=OJs5I}?r5jF+a|})vhI8a zBY{NWANi$^?>~lNX&SOg@~_Tbr+{Jz;^ob43Jl^^5>f6|^pN{)aE`Ta=Xnq?-G1_( zGU#Y}m-~SIs_;UNflrA_syqOpfsWpT0<^a3Ht0%+llug$!)$D}2gA9OZk?r;&}Wma z4gAqr(x(3c<;BR(2~bWx!Z$0RTSt4`-zZ=MUbJUE+)oobFXpr43wwJQ>-Q-ZDWET( zmvy(gPw^kHDeiK=Pfkyg)6!4p_wAU;?zq1G@@<`+9;eNprtpYH^PcJHzxOR{($+AQ z>*T}is^{h$#avFeo%@*M)1)SXS8aebKYjuAe4T&(^YZoPv%g83@6W)&oPiBa)PScA zxbf2ywdeU~{|obdHn_(?NA{SV0mwD2_2s8$4_5U7h+AQop zS-f_||K!Ji`oVwI9eD9O9{l@z{r~@`KYxtetEnN=d+Y=^`-u{`l9)Z$IzwlF`0aOf`ROvmE(Or;)}U6iRqYJuxi`rJgHv~Q$2B=RtUF-y<2+2_rP#3F z%d7*rZTJ8DxBuoh93tbwL7E(j<~`Wn$$0bK?QzAC-uu;d>fkVQgF6>sIhj3 z^;3=egPN$Ia+({R3M{?onJky34MI@F0Gh(ajNQ*9SrU>#U0>crH|^E&>87=JxnUIz z>i+(=c1Lt5x^;JZouuIO_&5ODvR3JzAM6a<6sPq%i6Tb{D3Gu*paN!x*=cP-Bt5IG zOjmt+!rD<;lRzytL9yv=O&}al0!Sp}|K+P!`hn^$Q;vZJi&{R;YPj34-HB1}PXUE` z26WI%>8!)Z(HfNrYdx)riwu&Wt8p{EZk2aKH_(^`Tyg%rd<}$SxC9TWj0*$=BLI&v zV5d#C>#U3kUq}BB8_={$Lf-%r&%yC+r;VzcBu(Nt03M{htR?I2lQ0oT=U%ADGkgM7 z_X-mRa0guSJBEz$QPFOHrqsD)i6VQDU(g*eeiyN)ki3RaLfM zGeX7mV+Q>Mi1XZ+WfF1MrOlKN!Jc$atSLHwl9V+Nq9tUKVTPCgw8u`4CUtdrUawvq zh28M5xU1>>rtTlEYd99Lt4?0l!^2GthTTk+m4vAbX*Cz9>|*T6TGzyyC1I=je03hM zZM9xS9|+TFKmnrk001BWNklAceiYx+%cOT!!Q=FgMKiWYBc%3j> zFmEJ1x7X8}-rUw|zRcRtI|?9?Y0Figt}fCB*K#siA`MWMFkpI04z0JU{A$i-FKacQ zC-GHm(e_6FjBT{`3Ly4`K&2($_LD#pOUj@Xzy@193=7a;9B0+Jw3e7UUIU9dnpO>6 z37c0714bA+*L=RJ>FunpukLGyK38?pI?Xn}dHbr4PL5g&*d`eiAYNQuM|(B_4jF^d zZr$JBB{`*^`u_coxxWVMeDl>8Iagadbc^WU^=oG`&Sd#_=O42kf~}VUC+l+Ek9B=@ zlf5dbG`Tmy>IT53IkScRqWyijtn-_zS_r)S3`40?*;{FS*#IVd9snNukS(?rz6OBX z4+2#70!YR7hoNB~sN|YvstubR97^y^TNH#YqBF|=T4Q?*XrkhLbbMGxM+ecLGz3RE z@mIh4wvLY{wbgwtAn#XSzpb4yO->cj7c5|QO{UdQ_f0XScsoJ5~ywOr&Z0XRIr zz0ZHQzm-VB0t|qf7lsr(Fu>Tbo9XrTmg`Rvo5{qjzyQQ@25F}yIPYx*jB}4tq{#H? zy?_+7H0|d=7^d>g=h3+mlk^JXuT4Zv`)uwzzuOXY1uTFThBRBv;l*~)se8DOFU8)n z{}qNt*lK(R;CUm!+!C2Kz0&=*X9Vrey0gfB3j`JH8hZx9;-i5efMx5B1;)oG5jL?h zEt733EAW+OSRl(_8f;?_0`d$# zP*_UdnnbF#O_Boe-WACdUY&sqIf$@%lc`|ig$I0?xWyiC;9mvUX3tiSKu%ML-S2f; z^4WiO2VlY$`jCVgc0j_wSzBoDHPM~#+yG_(YWI>Y>~)7ptN=@feaWV_d%6OYAJ=J{ z2NpSp>^EN!hF7DnrSN1AxL?3cOp(WWtexFazzWxHZv)oFLm0+<5WCL~(1$Xd1`A$d z3pBIVK;8gbSpOMd!cRBdGjW+>xeqpg-3Gkdmz`cGfOj`})_+bhmyNL| z_Dl-T(L$Brw!#bF3PfRZ2R&f7f-8OHb#y=dp zgzxPo_t-uVCjp?vRY1=G&(W~eg6SQKz*=Igoz!C`=n{W_1I*^9+&A~kFgoWHXs!4v zMq_sr;S`-*gYGJJ+Pbg@?3_*|k6Wysk{bZGOnY~a>|JXtCSyB&?KPb*ag>vj0NUvW=t)Y^I~>;YiJ>DbZ$#ESqPUK3lBuMa@m(SA;T$eHb>lZp>^ z?P3$Tg8hkk4)AGuo6ptnHu)0kWzV#BYC|{LkQeuwPqS~>oA%FHeaaenJ?8+JMB)L! z5-r?Lnv1hffcGS7_*+(zRE$*%=wu&OV{WqrDL~Qleq3dZ6f{&;$+9@R>cXiw=oGK_*yF_Gxz;?JQd$``W-o_9s3jhTTc`4y~iz(Lgj=kRAI1{x$#5 zn0Efc<9y^X8^W3U=ZW(-ez&okFORd=|BD|vm(HffzcyfLG1rx&Nd6q{Ji{4NbP;zx zt$FNdHLm85HJd)x#}5b?k6HKRCc1DQF=OSeZO_XifyWqu&DON{&t8NLywwJMq=RFV zBR57BKdu7?INki0T;3YllgJfppfkqqB646ni#MFLNHDCHjf6onG=nEAon)B3v*|4M zTXDy^my^1w*x~+GZehPT`(kU4X&oA^Q=zMUzT1t=n7>IZHxL^<*5{8ObN?`6-~VWy zLP{0!_i)FPSEn`D(c)jR5AK~M6C<#(f4F`>Tiicb)c=Y#{)5N=>6@S5f&UT!Xbpb; z@8^H(Fm6g7)ngvR{6qh5Ex&bhUmySeySjMyp&suSg)Mq>dDFURx3+4$JE><(d@Spy zP7Sx4Uy({5F8QW2I_Qt9`|tnNU;l=-6|Ia9AF)&f z!aJ#$9!-vGGTf`~(^fsxS{e51=K8Y6JHW0{jYr${q}`E25Rj(;vF%V`ZqSV9$t$(cI%s=;*o zVhAvUmh(7`-BG_5v-`Aq5YZluiM6h3u+s~h?2(pVx3%v$#E^UjMi8}ka8w^Ze6A@W z^!?-d{)g`~goIOu1e-2P*_CEeo9?RZLIvFS{p!=HqvzA=<^g#^U+{OPm2o<>QE(yv zo&m=y3FlUSJ1i2yw8Pzzh&Ks|fh*QZfWwe_?=;#H>}*wnTn3D*#T@awyZgJkyT6UG z3Gf&FIEm?V(~KJIq`E_RTm=t9gJW00W;6wI*r80)(j?uUDP(uGLuau|17TK^{lf$q z9Je7Y0&8FeXDq?BcG_kbOnQ8NkCN|ui736Dh;(fm6nMx*W8-KQ`4Sg&56BvD(M zdc8NQiyHvUW%UMIb#OSY{R4o+Q^47yw39y-;8K#sTs}S0$HRVjtewfIuBMk^KpdSN z)mFb(_w)M%*%D#ZUBHJRN`hiP3PyoZSYh-~=xj>R2r6qaofGdD$aFiU&5$wo{x}c7 zvIDaWbF^s<#!s)?I!BCOyAWU?RWmI|m`<&ds=5hK7U&90_9oix2GOn(JaVYOav++_ z$Ti#h)?Y$LZ_^%NtuP;Y_BzJm{X8Jm?qIhL_YZ4(tDm3{Elt2_4M#gWEs>f()C1NF zprfm8tW{rKueJ`tr$l$7p&_`(0_hLZN^AkHt}esoI6XV9#|1!o(Ac;D6oXl4P)e8s zE71trP4c#Uc&L-3qX1k_8N||0;ws4VytZOT1(Mjdvq1YxK)e|cBrzV2XfI;P0Ny15 zPc@nBG<_!(by|etSB8H4*`Iw?clS39oa^;7p_Y9Bf@1BM ztO)4Ca@Za3{{bpoUN-Gd3@4gpTF%$&Roy*I zQzeh>BQCF{YlNMkjaGs{+h|pvK3>**P8@lhgkJ)OVR3SLS~OSP%OdiBCSukI*Sj83V0rJWi34%MG5+$eepTQ8*_U=z?d}Zf=#YNnuwK79&5$JT0pP8j zO&hy=s-S@Bj`iitIuA7JNF}UIt96#g+ciEIrd<~Z?C$}dG?e(3!~KJt=LIPc)%Og8 zBG^s?S}7qXlTC@aDdS4WG6@VD_py+O;;x8dv8U0C0*mY$PDbHDc&1 z1V~n`i6jt6MKkYdGq@nO-DE$3Gj8`2e=`r;N&=n#ZKlV|lya_Cl5Km=`vB4aYubeR zfZx5w*vJ!Z&M78?#GB0`aY3(FfC$8F&x0jHMBn#xlv>-WWKR)f{Y0*V1c={lSAUD} zKhR^t+VXb_Xk=gI2j|SXGTo?Hh_fQeU#B>Ry^GL_@ zvF3CyyTB>!lMTS&16&XPh&d~1=lcc!nP?8P27F?5ViZ0u!u|j>iK_tdY^r!gQAd)> z_F{zC-|m}2nPF^-=Ju5KO8^QGnh#ZQA!mbe>#Pj=JJ}y$2-)jtQy$b{2iV+_4#24- zx?|4)e6+CxkpTksbQgHn5@DYg3VTJzuN76jUp|;^+TPkO1wB(zfsv$u0AP}hBslA> zB-NN&SX|a4=i#}rOP40Nn#8V{yK2QOu_I7+dVL!PFs)HcV1qqg^s6z$6a%px)6%z@ z^eln5ep-crV?c1RzrqP{DnCnGdDCI@{`h2IC3|b_0MbFo#0d}+|4-{LTMl?=t;_7R zdzHNmwA|=AzYOcLw(ec-rF|Wi_I5xzJ~?}^-%nQyyMe)H|0|q1bU+T^AK-!ZpEGg2 z(O?I%*%NwToFh=saHn-eD7rWw-nYFXMhN)J9w|y~hM(BGFNFhZ2dK5j-6!%xLDDF% zvJ;!uUC-t6Xa$O0n@s{Tn`S)75GMH*IR*F9nP8)Vw)ACzvV0pm%#PZN02lgbKx{SL;ptNNt+R{xs_PW{$wXfH#qa+ zMsa2sZ{+1Rwso>MPOM=1D%NGBd4{cEuIR73Y&pkL#4c5=yo&9im+V3nj}*5^7xDSW zhsSj|Ij-ewS<~xj)&i@T%mwEE7jNIzt5;_=7-DQ=%F(ss^8}r29s4dOPYV8%iL>{d zN%y4ri3a9**rro9zXR~)F+ck(7xdxh4*gHRe_{Rkym`#a<6a)q{-|}8{QeJr_T=rd zbH?qH==mvv0e)8)uL?BJ0r1%YXI*Zg)j7F^AsBS0KVB7y4*Q36N+jzUC>Ii9h$5RJ z5Y5hYI!AI|w&{%zG7+2ZF5l_?i02g1#AD0NfTHA@8v{eRj)|;78(gO4pUv3bBF7}>Z2pPgk{dZIqwz4sO0S#t;nA?@ zK(p7RxLkv-BJvs@<86yg?rv`D-H+c_;w12`&OTBr4~q;|!*KrQo3E`D91$IIuR|ApMo&tLxi{CEBeaMxv%U%wD*2Ezo=KIuamc&9iPSz z@Yy$a*Xc$)zlCXR*TdtyzWedJ3_mf>b*oX74{iC-@7>+Ci0{$*W!d{^DaWvvL-W)O(6MQu`~?I!3`aXmdf ziIy72piOIkA3!v(z1>mX*sJ4LNjy88Pp4^QI4oORO>f1N#%Q+DJtAP8DO)Y!>`z7! zG&CL5%_hk1IS9RaUmR$bN2?tQx=48w00C1von;Moh$+8_I-}yQQ)Oe^C;KMs4TAhX zI;5**^}AbjyuVldL8o>PM%5j5s?&WAfRr|oElz(?T8LfC>FYQ3w}1EBnoeh-UJB~& zrn9=fnbv$o`)O5Ah6~VF>-4e~s%j<#-rY|dP!i*ys??Zy+J+dBczo|IAX~4sQm6!M zbO{6poQyb=WO58-W;o|?VDr8su+w+B3lG_kYFt~nmby#1sehuEx)hdzG`i&!|kwGRR1mwBiS8g z^6BpGC_xGhKUFKt0RtayZ|*V#M+;=CF!Y|%Dq)7^s*YYA*XiriAnk%c(4|zL#pXgi_#bb0q*b<#i*&6pVZ`F zKZ9T}YVED$irVehs{|BUT_y1X9`6^!LIS!w+R4|Z1!^S$DoRr9o73ZyBq(>c(*#hT zKAmS@0vcEJcODjXXOGSnVZljEwg*}kNF_XFdMOqP#;rs$!CHTqYEz8Q8qly^cX!MB z^x?9)M%NEU0ln>cNyN#?NgMc+Hi#Cae*AP^SC_YWeE@0NzMhEKPcoV9)5j0-F^Us^ z{_9`W;qhUOk9P8s?7w?6TQ=d_@8A7cS9j9{najs@bOqU+`#BBQe%;&|LeLnGiZRb& zgbwOqDM@~+i`!{_hOsP(GtE?TD8aNpfp_*G+p8@y_H&EIU`sUYTkC~Ui-ibujxN<` zm;^qI89;QV2=8Y9I)9Rbv;c>-Fv`AbI)KBl6}*k8ky{npL*%69;G|6ug>fEzvc36=Rsc6R?tv!UEuX>~(sb;s$$YEYVx7 zqNm5th0X7?L|cn{uT$NDq_&+=j0tVJ0&zal8DQTqJ`zi>n;tMgob5;}bJ(|%0`&|D z3?|oO_Ppy;sPqB6Sf&8d04hZ{*C>I(wDNm}C*tApUvyfdv57ghmpyX70H(JB$94z9 znq6t&#X{UQ#rRv1n?9PC5-i~(1|I&V6O&Klni0JdiyF`YM> zzyO|r%Rq^(UfTV=1`wWIilG19G>M}9*WV@wL7qg+(yhVHZu~yk3ZNS%m$i@-vQM5H z@Z~imJ)|7~_an6GkbbVqc1!ACIfF^LiY+by_-vRfqSkoHZ^s${4 zMepP^LNzV?fWH)4mgx?_1aw_|3UT~MB5Z(sKbL?9fQEFWU}{Yp>fk!<3k5GeXENGr zlg8bX2=h06Ypv)8ofxiXjRA5EL}&$MZNlO)V5#RzoM`}0SU!Ml1tI5gGqrfbMD_aC zjn8IZ#j{D`8sd<9n)B}bDWGD8k`8XG6j)p(muOLVN;^T*4ZmMZ4|#0BuMRu zFGk~?1_m1tp%}3{4ge?S13=iP1~J{;-Us~Ef(pbGOGmaKtjX4n2()q@kB$xlB3n@J zMSkPlAPjg9{EPy>SR6A_fj)70>J&hWr~F%lO{#^PeyP1KaHoM0&5p1O{GWmdUq^q|wF3YZ%;q!2wU(_#u z`K#L7ACxX(c_sf6X09A@yBiQkaZQos<-_w^SH2-+rMu==b+ z06xk1%fEIc+e`d0CiL?CPfz@ECI9^A_Ig_+)f3OK5x_dOEG+DRj?IrD0XWA1djowC zLP-VLYiz|tchCW*bd?$s4Q|)pBt5XwvEQ-h_!G?fVF|aM7LS?iE3ReB*l7h8d6Tox zj<|<3S3O4eO8`N35YRkV5Kw%P8+k0PNxqNi#HiMazZHA+a?a%Ro?Cl7G&c;~u>Y}& zvE7^OPAfhxQY>{1q>g-UTGU%1GV}mI9n8sj0AT}3kgV>ew{>@QQ-dxkqj8NC!dE2J zZgW1I&kSGPt`J*XBO4prwpl-Z$LqC^m&M(D`_reF-~aT3KYj7va0lW$Huw1V_xeBo z1pdZH8V8n0TNxNpHDA^9`E`B%-4FHt?|xVB|M9yz*qPMSFd`m!qXpU@k7~3xse_}F zIy-qCHuvk-uTyA2J~Gj|({DZgm(!~Z5Yjbh=$yjYaip>HO1q&F|;+?Kj`1B6D-qK&IXCus(hKvG&Hp zn(Xb=r%&%wL3sQ6bzR@x)TilH^>;>vel2NMd4lAt>Iw)Y)2xlaQt&p|RI1XKKV(>1 z8*hwktYibk7yu^1^)tQ<3nt>k5C{51dssiS8cqNQ+FF*?8yKe2bg&kyMVrF81fKPh zBm%tN{qP~JCfeQ%8F*M>696R{EgF04dcZ8$Xu#Pjm;le!#F`lxiOkbe0|3|f;+v`+ z9XF0o^)(cHwE7KDx1g5Z>r`jZtJ&hA?v`!Hi7`^HFG089Hr28wh>sy5b`)rvKGy&R zZ4dLXGu-RtToSOG>YRZ28Cz5(k+bg71oFG|iM1*v!`16$TIkO1q*m*#TBO}!mBdD} zBf=7NEwvyI2hj?-n`x13Lh0I%Rn4)g?&bg~)il9O3+B)u1G;I`9nyPws{O;gB*dx8 zXVO`#Zar78M&n7S-R==_Uf!Y-+Zdw zqrC*yAI?7&Z7S>|??H8x29pVIgn=c%qH>9Zd#k$W8(2{8QN?Lp)#2YCfBWg@YY19*%3Y-JH}CJExjpbyxshYuU6x zw8`{$hG7DxrFmeVNYaU4Ki9);o6bAh9wp#&tpJ0zCXMk1lxIZG&o9Cly{vQKue2&&S^nhSeSP!-z|De@h#GtkE`}WP-FT>3H{>L9m`?o@f0UTN{2cus7?z_LwWKXY2=XHCamA|#l zV95dmiL5(Mt$q9`T7S`q1FC7)vNqU0bP6TF7`&Nqj!C)+93_L94!WD6Cjze>AW^1s zHqfur-_FnmL2YZ5Lnnvc3s~lLd2zjA=JX@JeSg2KX|z}D!C^f-POCpQ-IvHWV82Nd zc&*m5D0syVp#8L4z3!;C*8Q5zp6c#Svb$5njRn+8(Q#*8XRlu6%$t1o_|PUJUtE{~ zd{LKIw>5iM)$Vw|c6Ro1wzN{Yzi96#N5}P-fAtr!PbSw3O4S@R$xRG{rKTS zT^bNYy5Lz0C*WZ#ws(4apZDi`1(`ep0D3U28-qcX%etc*X~NrFh2EyZx@qQg1YU4ks*Kf}vpnkMJuH%z~`r^x1wRbeG!_)mbdvj8w-C-Ra1G_Q2 zreWa%=>a$NJrzWp$8`sD{xG(Ruazt+{%M_ib#fZ8k3I?jQLyb?_va`Kfm+SyO9-AGX^*uD$ZVo}hy|5cVx@%%)9f)46VXl05DRVV z*l~>o8Gkz0E@v`k1GuoQv-V13|~_Nk^1 z_X56Q-Z>L|8&F6g8u)}Q)bH=cJ^}u>do2#ueSzt$;Gx}6z$_8OG?a)669EE>e2XUl zP-B(e-`&<%{1@Q}eUoiD&e*C9T&-*gg4^ynr#dw@3W?w;Fq z+po@!*T9Ags9`NrWZh!H@-ycd!xdnK^$LM<&s?81avr@8zywfYdZ%;cLkj8HCjmpW zUeomM*UqNpnw@k_K5~wGau~Uhea0TNHd{y>*nDfeZSPNY~Y>w%&KwEpna5kEJB!=2_ z?nTHR>=`MYgUO^7nzK(E$gW@t=)1kR4O@JF_aN-W+pB4O-FRoOzW(~#dh_O0*lqJA zKLTB1$f~w?2a(FK4#2-n(^l?V0&-s^TzIZ6qyR1I0r*-slCx~DwKKcIs0b410IWr1PfG%AWVm2Kt8*tB_V^;%|gpH_p z(fpB3VP7dE0s?&xL=*F4NV8KGBt;(pEg7t89SZhaItf!eVVC8(>*#1Nqa}&eZ6IYE zLgvOgGwd-Opbfu-i6~&t5?iqYm!B`Hr%1P2h3K=;-E(iM@O7{earmo~SLv?0zPL(p zKu!(kP!#x^zx|u)4Y%sm+gFJTopEu9{m-Ul`Ch*GCyU*F-*(K)*MIu_-+BkwWOmZW z%jZ9S4v%^H$DY1?ZC=I}1_ltyk-`f2T~>?bg-Z zecjFULMdcesx}JJ9pDjX5l<2?v{(XJ?@IJz* z1hHp#Hwo@I7D2j*WETZ~yIa%QeI31eRf|ki>eR*gc@q7zqtiH(=0JKmh^ytIRQv@X z4v7STu~i8q3ae7U;c`|S#qHf~f_JPTg89$OMcM~3o;=sl{(kN33IL7gZb6Nz-b=+o z;4oGhrgxP=9zZrNHp}|@>u(ZNe*E+)PME;1Kup5GkP2on#ei~$hexG_)bBa^R@qY# zSKaH@*4il7=J2w)j7taBhOq@0d#u-QU)OM_U$^(SNqn^Gscg-rcTIPRVSm;-*)1aM z!|km)+#lCu)UVsC%P^}r&hNkf$CwcTw8ZA-YMQF0G=>rLOH2r^Ng|?xqEeDT;90WN zOLY>hA83@|vU-`|Ctz$WIc=$v*dFKs`8qy{RX;XGYqz9Um2P%>SL4AbEJ;OxW-tX8 zz3K(beGU+#@(wWJc(sKI=34Tn4NwcNpkK9JWv~s}@P6h?T9T819G*jBDM12%`mAnk z4J3d~*F%7#U3nep0|^pVixzX|QzD_o1qh{$3n=6{4R1Mn^Cm0_!P42;X^|~3gyzkw z)0VvUck1zx5yDa&*U|BD9qb<_Sh6Mn6G;>BUGM~W5R6LB*eM_oJ1AL>2tD1=)k7^F zW^IZykYc^AUwr#*JPl%P;jPge^VGYZg7>+<;p^k?kC_#W2u_PPc1 z>vg?-{VD@oUO-X6$alZ{p+3C-SmY`sb_WxHylJvc-|PPVw%)&cSO4-~{)?;|8!=+@ z?(U0@4r8yla(Q)KpFVxAD*)hwsqRgON^-Y1){;>H>a;_t^s+xdE4qJ%s9>^UYZ`1uSFKZerg_EVZTrvhx~z^rp>NkdefAXD5j|yGhfCHZJ|n$JV>?Zw7@`0z1>hZKBv{T+#gt?G|^wX-*@{ey8>$h7hfj`nhYha&*^sLo!WM2}`? zZ;;8o_9KSMn>VlP#~aN!-3FnQBn%^2yRsuxnHv~kdG7A#q?zgAbfX04)&Z-| zv^MRm%eBO<6Be0sr1-)&>Hv`dI-j)*;!xYooWFp;CQK?80+QEZ&u*7=>*i%V9L0`= zJ<=8@Y>SpM;DvK;jnkSJJ-2P_-g#Qwt?MSNdHaWc@+*K92CS*k3L@Ked^Vs*Ya)%o z9!ZxYyDx3x^h~W!X$1JKI$|dgkxzylFilIafmRq=m7xyUVmH=nz?NYee@Ac;6V`s>lNCC|q+)rto5r6H@9XFIPHY9fcQ&8r z`SaOgR@XwhLt9R84`0ZG|=fK_F?w=z`ewATsP$94hYo?pZ|t>}XSem!U`S+NHHEnycQ$P0W0 z?z(5~&GN0uV3b%<-lPTEKABBt$(2lFry(tViJm8beO={1Fa?nvFrxSxJvD!XmfVRTjj zvCcc7-!L-0%e%!cF(tW*(GcEjmdV?^fLwRd zAB30yuor*J$=s*tJgjPOM9!t#3toUp&faMo258gKygI)OxTnom8?#yFI)p}k|#UrbE`R#B2CX8$thrYzW``zCq&mgn%fBo108v7$h#oA8}(vx#NmFEBX zpa0`;?(RO8$z+^rRHxA`r{%Ofe|{?C&Y(1C7>TgLq8gWnC*y@7<`QJuL6_0va_%q) zULK!Hb9X4e{_?Bx@Z+a4=?+RufAeBjzJB{<>9q!Bvn-|C8kX$}`Yi};1_b2P1UsEp ztI%8n*Z~gDN0Wdb*mnZ>hr7=SQnfjb#uw$|51&h~*$Z3o#AG2Atz9WyqM->mReP&Q zGKWJCPRs6wE*eqZPSqMREfzq?IG;~O<@VD}`uj&c)8*(N(t+5O^UKT9?6k^iyC|*J zuIxCsMzfrsotNk5WmiQC_>U`F7>$={^j*L7$-hqUsC^l5*RI zY-rmWmFa9&7ML&qns&GB8|~6)cLKnio}8AhN+mroEsH~7(6l@~KV|Zz97MuLZ>A}@ zQt>d5W3w;UlX1Yl^=exBK)+$P^d<8r`_j|iBiU5BRHc&`4@S}dQ-J_bs}J0D zN&BGR8#_n; z(*mQ(q^0Z7F6~{r99H|%-k+vA*pU#my8**r9-hk839XVoIw?R|OvTCYqAZt{(KVTz zC;5Dy5gFf=(Fpj^EJlW#K4{G)lz{p5!sO_E65z}8x8?B;d!`>2*ZtkRH1?gMd$?H) z<#R+EyaLr;r(edsVVO=>rEvo2Zzbrh34Ud-tN_(b8b_yPy?iMnLyk-z+ilCZds-%) z({eHFm*McVeE-Am%5cywqrSl@yPWf{-@iBBx4gZ$CBo=d$M3%{i>a1qV^c8@2=hy1SJ9}kN&-EB7H0WuHp{RBg`>I2fCEE4`enae zmO-0_hiR4TGT|pALc3DlU0x@#P%siqO19rzUlp33K}=1Qmb3wew5oJ_nZjKIW_!=@ zm6fnI32YwG3B99T+3c6`J?t1T30oxWnGCHku~tIY$|s-=IHO`Msn;GRA(PYqYEK%5 z_tZ8~Ow8I=Qm5H=`dX7-+2ok>Y zHkJMS>Wgop_ekgV-4|b#lg??m{_?7full7kXqJ-}JPh2J`5MWE-0wHqDc~j3?_rC+?(DB z+(_Wh9vu@HVNfLj0QXqzHb}m72gA}GjLM;*Jy+{E;28VqG>i@B9RpVJZ@=0`qc`B6 z0MOr(_0_=}z61CM`U>C0BY+KYN}Ctc-7J*$+|x*mX!BC=W9KC|?5J2m!Ev*AES;8?Z0&Qi(oo>i5|;_nSV|=m zM)#`ZJJySoNIRd+Mmx`U`utL!=cb+uGy&4*0YpCEKIC4pOy)0}^7O2w_O#4qrW==X zHn~b6CoNmY7Ai^Kdbx;%3VXd?&r2Wp)TKuVY&ZQEm?h6#mA>Djadv2wQMVu81$=cb zyQjSrgxM3|C#E)#Ry!nMiByBcQVTVZ7cc`vrS~URk~Au+02?uSmz$Te*_w<=a~f@Z zA2uf05XnchRCSbWOX>6t8XCnXzmU{8G|OpE48u3?(z?3Y8y2w+un3^>N!t?(hNc}L z4v+-A)s^6IrBXuC}zc1hlZ1cXA-CTCzY!EUU~wbg!=)?S084EIa-Li?mN z+MBZ8E2gzee|Q@EL1)gHqvfS&AgKqk0a=_K@-n^;E@*BW<#K$MTnC_W*lkM7@xh9f zL1G*26?$oxZ6e2U*aCp+8TWlmc*#HTtYZLQvz;{tZjcdT^Tg{I{+_GqK^VN7P1+~r zS&FaT%Qc*ezt|q#MvFxuk?bHUky>N&N&pPtJfiDqt1|EGL5Z$*X3v}rm5TtcH&#%kibX-pM zopRXH8#Js!ODPR+ds6qsNhF(|7t69ccm|5IhL&Jn0kLSjJ(ugZ?*h>M>Q}!iUwrwl zjK*RI`rnH(9CnJDm))Q~u5*IqcAhr}a0ChLkw6NNL7-h&gMS~^0LBGxhNJu4SN6EQ zbOg^3e1Naf$CO+iYg67wK`uZZ^Qv3^_4jv;!aR_;V9$KNtPf?k*p~g$J_!vwg!a@@mkcR!@QgC%ftO+x;DsC4JL!q9kx=47RxxB*rM~7X*yUo z%S8&{06ux{crYrXezVN(=jCEFD4%}3E&VQ;l3qGi?0Lmb&qVH=VOxqPItV)5v_k%H zb5muBRH&q(p@#!f*pqxoz zi;oB7VX_*!C-zEClha<~Z{!M^pS^ac+}_;BSBlfLzAt9W^2=|2nNBEjPR^2o%l++b z=?}W){^4`vR}Op94=1tdUwrwCQucLN7BgeOL$<>4!S3kwrYRa+RsTzjYYYBMQM>%? zKk|Rx=pXy|``a|v^ZH}9(m(j;*MIsKeXVy;x1@N_-TIIBvFClQp6G~(`(oe!Q`hQU zgK-J_|G?JE#rVDBhxhW49Q61ee%@z2MBbwQj9;_nuSFNY-;Ta8MK)v?XYFZO%7^<> zmb-HEH-A+=e)qfbcz;uF?{7ki`E+|%?(V1Q%w4SaAv)=H?GL+UFhPRbm)3S(S_S5G zUrzb7DZ<=7k__a^ba2^6Uw{2ghAJtlo}W)Lf%?tmS!w>+FTVcGa5OH%!MKcvXJz&{ zFa7o)!6c-cb6|@z;SYU!StsRi@Pf(PyW4W{<}w1m5}C`%MG_xuKZzj#hmkVzCoK&s zU*u6v+GV*=sjuR%05V2KQb(7;z>E9an`rZW@&0Xjdwmr#b2p&!qLoUbdjIfTx~KiJ zTW*4?_9XO-$dR#R%CIV5A818%yTwqe9@jx20(xWVTaA)o5=5=1Pxk=_RRzabk<(f9 zhcMDSSkz?!07G@Mr(Z#wbXDf_b(y`GD6FlM;4ne@e);aZ@5=q%U3vfheYw86j*h|N zWgbw6alqJFFRF%(K+ruhcJvbZs>fX*1GW?v7plJ&M&hHbatxn)&;5iG4uZg5#C7ocW zY-{V)_K@FQ3n&W*JFH^*X(OzfgEZ}E@u7~_{ZS_Y*UEy5?KhdKsgOpPdB^D=CqZ*~TdnO{l^fBd0eTCzIY=6Y_UN$N$y8Cm zi2cVkC!b3YEs5GMhP?%_1aTBA^3R_j}Bpct}aHg<% zoFM|-v=G@F3=v>4`)zFmXZE1;G92^+Xh_EMQs01>pFu?6g*Aw&R$ z>2y|}XR}lWvAqCghKsO-pY(nz$Q(EYTDz2+Vd3?A_YrBfRr1a_eImrZuGd;bt$*|mf_%5~_gOK(g z0E^f*)(PBU~t?2d(`WzNL!Rxg2g*uzJLRL*1AMZl^T*&@M6L zON%~ciV3V(R;OwG9bcT4(_y=u_5t9eG*mi)?tFD^bq2~Rm?=OCtrYE^fyD|^<57xC zl0^kL?X~QFe87(0Ty4Q)H^Oi+Ni)GwWxLH^0Ds!iYRezF3=EyHmBVyf1-PvVl!O$B zI4J$$C;*H7E!oEQ10b%q-qZVQV><-&iS0eMw@WhRrL1nHR zN+*f#BtGN|Fo&L>o&%E6LFAX%Th9{fiJ1H&9lqH2apHoPnLVr3mTvMo9VP6s!qtK% zBep6g4v7q%AnRpWEN8hMdyZ~4u(I2(qWhE4d43nujHJnWrL7ZNk~9luOdW`}!T!`@ zmv;F&B!~YNCk@8^yao`E6p(usqXMC{n2S@zXnvL~f?-%#6!t!Qo|byz``E}qqatFL zbE5-7VH_9^bi>pq&9gU!lSIjhjtAg}=gv+Dvs~x4N`b5nWz;vJUCVdXb+k6lj?RR% z?8f%&N{M7h;x>mH^q`+IDA&C3CqnfRcN z_0M8_cD3%o8b8RT#SZnoj|?W?bN`7$fOWx#izYA~u`p&JGry}yn6A1`Cm^9~l2g#Y zUv6|zeN_gN4wG_hUsrS#a=A+EsS2nlfXN@~ROoij({8;hFVBjkKw_-lWf`5Fmv*mH z9v-F@sKM~tvV*#R>cAH5`|Pv$B~n^VxyCAkUBu~U+QS>bz=y={iZF)rc=7>dGnlYW zWj>3| zmP7LaiqCwA1bV(&m+|@AG8kTzufMv8+{bCR>gtNsFmkgq>HNNKo;+QTQ=IPOb#op6 z`mgonpLp479qQ_2-~YdOKfkX~B1qHbK``^#&_#HATd7b+2 zKfmt0UwzT~z8-FNNBvr_26?ASp|JJVyGgbtf#M;AxH4OpvI0O&%isR>Uq(+Jds>lZ zk#)fA zTt4D$y3h`#`M>=y|M545Q1k|8rO{}W(dfMV?%QtzmT{^oD+2RIb6c9HClPUO589dh z7B<^qA7;zV&8JXiuisrKVWM->8}t&O*=vNatBCZzH0d!6=uMQgmvQ*CL@;e^Sc!dF z>(&N65Qu*%)8~hP2%J1t918dkKYS?Tv&-^}Z@x*Oq^(VTc&#F<6_17wIz4guV?fLa zYkg&e7-_+yp%31dvjHa&-q+%Ies)OMW_*n|LwQmm9xo3rnR(zC(}jRHdXQNKix-+QSzL`4F*KuwAo4WY12#}9?N33 zC=yFzR-I-uZM$hNTdm5Frb02Yo^U&n)OkdyX@{vCytdoK03B$#n9_GhmDy%b#W0hZ zD%CU(<)oE%~rx?QWTGHfdGwjm}B~n53Gb-B+-m4Os>3B}qWaRb7k(jFZu* zY!|DrdImIUw3pHc0iLM(B5j#Y+rdn!Q)Yn{%a`YPmi6$6mDp)Bz`$cz1V^Ud3BZAI zFVm;2(Z+q!m(yai-2?z+JSF-ZV6^mh+hQa=@HAkZAkP%Ky=ydOPbE;rs!rY1vIO83 z=xNKjzPgG-^~@!87^2!{)*B4Ds^cf{1cF%spqDB$>b}5}__p9N0S#@MeFY*sd!Il7 z2|N&mBaUWFv~H9-8)>&OT~3QhjPrJrAb-Ak$+^cYppQnxUqFDN%f``2^mk`xxmaY9 zA=_wuwCPG5RDOXATCW}+ACkBL@Z#LHpGd~Gn*vz3rjjfS=J`r8QkfEhVn1VFJGZW% z=82!hHWWZa9GO9NW_!fACEZv)gD@Br4067^1m3G%SkZ@YmKujJMg$SSW$&v}tqt_( z&*Hn>hxZa~11}}SiXW5lIE*#V3iBfjfL%QkG+(TPAXD<1mXK&EslwAinFIv$T<#uj zlYmN$X`lf$4On`5xX+L$lYF&1(;%C^%*w;_V}$&})S~6s(q7n0p-Dn%zrBK&Uw!>` z_KJ2P>vA}>Qk7lPLtU-Q{oOvKys06*dIWg4JifpU3JMU4Dj>i znHFgy6J&dy{c@S&2D|P4>9Ag3Uzgc*THb&0Hp~^eM?faYtRw+&1Yop}*=1+i9oHns zlkhik3bYbmQYi2Y(%P7|V##3z+*=JStGeE=Yp>N&aIC-(5Q%-$0~64pvb-c{_Lu3$ zuA|CgC~^RytZ^N9piM~v;Jvjd+c(aj_W}~JzglyFG7=mKpsk}VNMg>oW2<1PXmuYB z&muOjVD|R6rrLuYJ@Pj19 z0JaQlz^)`kQQ35S8z7MXmSBj*(z35o`>LIG92DXiOQHd`*sD8951^K2@n~F5`*omF z+SQJ&w~i$+$J%-iK&rK)ZRPcR54%~CTcx#*uM%(q|0HFSZ~)+rt|Q@Q1C+4w z{3lv*?KF(q(e{<>(vadqebST?9{)4}nMSAL=MLLcLGC2&r$AnSA7OeR4!aV~ObNGG zipcswbb@t-ChPhoHmCXAuC#_$a1eva&tks0J+?1<+;9u=-&|X(du_&svP&35+YOLH z36g$SyKE1xsWKVDXcut@5Ope;@><+;&pI)zJHP2VFg*>J(N3yJaQFC7{_gL78=K)8 zwEbh@0#2-heOK4o`SV%XrJjodx7P(4@s;_^@Q4babhUXKu!4C=KIYI2(-D{wKZflH z%-O7K!6|334zcib6cT`X)`V>WpjmTLC%{9tLIJ`aus>ou(&AqSi};yet#@Yflq1W5)@RIw#JjOSO#j*GSwjzy8#qm=Q)t+aGwfegOQl2O7ZY>Yb`;I>Z=r2G5mqEY>8(o zDdLO76Z~!krt0lrn*-Iv6bK7|a)nfyZjxsA&2ItS4PJYV2_(nulhe}JHOsI&vW4Pv zlP(%iV6QAIBhp|Eg&d6I%0{k510;lDUnfi>>n1h==nea$6uE(T;`9shrOuKs}-`{p<%ku@GZu{@Gy4e;pskc7dw$P4@=sxDACg)plWsO zhcHgrB{2qn!SPg^hq+mSHSxSp@kfddIwzX7HJ5F74Zhl^IdnAB$PDBj#fswYoY3SX z?vqawXU8ULr`9>OHUwrJ85S`FaD^QOj4B%WS?lxiV%S)1tMx3$lk-ezb+&>3?hR|J z`b&1#ur~2x9VjK{^L*B8g9f$Uz?XdD`A=^(6_n(t%iQ9qi1B2(vN%V$4e!9ss zPvOoGq{Xs4J-@_uVbqK175NcD#MJ>icZS|6>h8;5{Kvm2@4p}oQ}=2L_|fsLc88sh zqE1b1ay;YstGSEa@j5jdIHDRyUl$;BUs&fE zCg={j$vydHX9;HEe62UNaG0*j#1XXv(QC3(e6IZCdHS5Z2i~Aa;5t3F`}_NxX9do0 zfA?+9vluajLPIj2o>L@J=sBDiBDE~{pPvd1T7&i8eQ}u~eR3C@%9^>p`d>_KVvo8% z{;*G8_shS^*MH(=ecNaCfD#!Atlls$I=coY7nao`+8kE(pEFYiC)2F-g z`M2L@kKH}pCl)1Z_u%<16h24ge0-H>`SFLF+>6;4Z?7-YsWf}MFWbeu=v*~VV!hdy zPj~mxDPL?5Q&#EZVz1?RI==WClYoKY54v^#_y7D~e$!}m%J0AZP_Ev7Sw7x;E~XnM zpgI+pA3~iMT(-N-vT1CRv$6Nx=&$6QrbR`eJg zo?hu_;X>bE5F>BJa025{e;G%j-bUSPU$y3jQaBu1vLqZAmuTgc?kG@-Rt1(>`?QP) z!w8N(-9N-o3tj|c^w&(2!tRR>%obRM6;(A~I3`tllX^G=^l#Nr)sp4RlqecL?Mg!) z^`Z?EBi%4)VOZKtRUjG$v~5nx^_#b)_VPcJm*;sj(-_IawvnlBsG*o~5|h^e+g=rX z`TaUs^)!H{R+VvoP=@_(DC~>rvIlH&(pNItdXCV@f| zPl92L`6|_Z8hZA?a=VL$8^L^Sm0B&PvqchFtWge{ULoD1CA|&7DMMeQfL#A8!$-^A z2{C8RVzDT_Chf<0nJuPebT%&iaX&!{k>S;HSuQUosnV7Gro6j+lPRu%yyeSFG@=9x z%4SIhJXe(~BiUo5>FjMI+)88R>di%&&t~Pz_wU2NdbqzY@87)(SflE=@jUh_^}Et< z1BXnw6->|vqsfOMQuPY~h7MGwq;>mY_W}OW@)cdnL6Qy53K->sd3l+tn`PWF+Q(`bs&eZ-~#eKZmqIrNeu ziM!WyErL24mHj{5v+`_!v(q$Tyr{`&Tm_9^@FvA%dhcFbLXVYk| z`JUhvBTehp{N*W34vC}dle}QY_yioA>MdD!&P;~PIt>&KOe8)8_)Bv5Gg1FF6rxmC zskK&tlr;au1WXkRa579_OLr{i`9v#JFN{Vkit+d?%qV*cLs+tC=drDVaBDBQ5WG3B zp4DJPs}bw0PEy1|i0#O=8sbuc!MW??(UL6 z*>CUOy-(us)z{y|KNw`;3<69s!UVN~b{cpeKLP;fNwgxbCoXlp5q_>t-0uR5H)~U0 zRhcn2fXc0cRgOjS{4^~iEmwdNLmB`h?M~REVaW9=kj$51l^GIcJtUIOxRyD4%(DUX z@jdpX1gL6!*)zbb)cIp;`ltO|x2UAJ!RbFNSc?_m^nVL?X zfm8#8Dl!(Sa?cY)D;Qt?Lok@n1P$bmh%C4<-kCDv?T><85R-EG|9I? zB6UJACX#gvlhja!gNc%+z8)u<2h=%R7u&cIgQmgbkfSY5xAC18b$iSGcMH%1|;EerZ2gMT=Ty92NS^#RVIIqr^ zXSJeX+dC`mX0O;M%#37Q`^xRzLk0xV=Cv+bQZXBx73)VY(jXG|9;R;5anXz2CEDJ` z;C;c=s#;)3RN8kWVnC%T(NNih?(embl&|@F_4}Te_)sgb_D-yC-FWmqx3g7gir<_@ z9T}FfX6K1Vusu9g3@Qa7eni1cQ5vYnzp%OX1skHJQ`{-BpbMqA=z4&WVY$Z!8c0wjo(uiiCmcYqyT+YT9p{3CA zlWSa^zscIwn1=3WEw0xXVH7)WPl_|`6#o+v@I{_or$4AnN9~2|hO=r9>$Jf~1K`IF z*6G-XlS2yD02@qcYwy!~#^+?O8Dyf+P?_izOxb7ux`4blZB7NMW;5MgY^gou-(Wjf z-29hyjNK1tB#!oIYw<8Sm8$xof+GAN2`0WBz-qm9LMZUsU)Dr!_v>H(y37D=t4-ch zj>x_PD#b4d2EZxLXR}#`kihn^)nXZPN#c338tf?2=*8Jt84tUWDH;uXWilEhuI%y4 zt#<94afbP(`8YSfurK6q0pYmgfNz1qDtK$)hJ^<^aDR^5 z@gu+In~9hzPzVT=EBYNwKDIbH4d^oi3M&9uEf;38eQ=DkJ?BtH>FA07Dlpv4g!)Pt z0F3&m_luOF6QTAv)BaPKVCxi>Px;DTCufzN3`m(c><}BbT+~)q{+>S!I2?^u#E*m> z(ZQpG3IzQ9kH1gc2(+CeB4hxMSPwA=(MG&uodC?wVV~2lwwj90e0F?R<0SsZ9*m$2IOWbVR;A3uaBB6t4vuYVDIB-6?Tamng2 zHfxTYH#|P0>DGeuRr+;{Jnn7cYg-{ z#pXI4{|NZ!XPv5l?8ED^d#|_o_phwJo0aEJ3Pvm$F5Q97^~GI5$tq{llknbNi_P{NOY{e!44bc+ZKJ zda51bL)~j6Y7`v#gJ$e&e8Zpr`Ct470^b>o%HRC`{u69*Yg|*lVmdyi$lZkn4Bfh`r(HkLg7EVILowIRcemYexvO{$RDc!aPV5` zx_`K@?S9dp5v-|XSGJ+y4Ga}WOe7!s2-}6jPVht6{r0|$`orj^>Cp!O?pB=2CXsHa}09lw*HeCh#yr?AJ{b>KSodvUk$q1mUHatEh z83cN&oY8!#I!f&VyxldLWvL27>HpZGW(^Vy>^5a`aUOtI>#qaqK)GK&M?08SB|7u-uS ztf6ZIPzg@?2u3dA-WaN>=2yXTK)Ex;?zkRPt+fynX0TR!!xfs?c%XR0ewJnS{B#^h z1Zb)5!1>bh#Rjd`Sha>=sQMm<;9xVIYUP?0?AHpqV_~#Yq~KNPjR|7e2{#p1#iPb-GGFIziIubR%`LaEC2vnBY|wdB*;S& zfRpm+<~Hqj*b&3N33!rJRnGcpJ%PQK7w2L90c-ra;Co`A!j6ViH-Mu+rGj%cVRHT0 ztEP3^zmgUju2>X*`*(kry=a{!$=H?#K1j0PU0;<~RwmZC1m4=JzGf{Xt6DzO+OaJ} z^aWdVE;O*H#H&pEpi?VYsyPXU^rC$Jd>4AWmL_0cTJa3wv3E>sWw+AC45X{cQWy+B z0koCPAvxt!>Y9kk{dt>q|e>1 zB(2{aBnqhjEU>K|)&Y$*Lwoc<)X9Jmdrd%@gyN_H1e|#VoPc?f9e@M&kVGnaBuCqs zDmykx+Dz>m8fDvnmw*)sDd1Ga8NfU~>aPM%v}#&&Etj4X%_N#+rqJHp+yz zyXPZ2O~7BLkUrS2Dr0`RT;@5r8~2Qnz)xyDbxxfl&%w3UXIwQX{aq4tlFo;2>2$^! zB1JoqFi1KK)`}P8Ou8v%SxanjU?(QLIKd?0&$qX+L!KWg2EZ8Emd*Z<0s+PuEn&>R zur|8A^7;OA3L`)W2^avxx$y7yru(Jk1bAW}XfMLS0e=ph!Bu=CJ)hQ28x9sT0W8B} zfOr7+TCnnrfrk7)FdLu1v*OqIDSjC+DkkGIw8pU$XXh6ISQG$!*t_;r4jHydr9K5X zIcZ|p4q~&&)zAb4h_J_`SEBERG3%UTlrCP%$zfjxhDe>XQ-l#O+n1BU_$N&~NxRpT z9NC}tu={cE;v)%llIaYmvkCsd0A#!D1xZHq_qtJ(4(n<`Mkqt#uxkGh?_i2s3(qp~ zX*85-3#<3$N3lw=WfboX9kV|67I_Q)6~HLjHnEoEgIH#G%oij@3U^xM`KkV?Hdahi zfKhE-kB>LNqt`7401BveC^>%^>1(ZmT7$8roL%t@rewPpM&Wk34#P<>Z7qciz-Wn| zBB7YGzE`u*A(m@7uL1VR7O=~!Rb>Po8Nv~NXIl-t+V0BdyU+2fmsb}lDm7YkVow4D z(pLn~#MZHwN2WBN%@zTi?YZ2Sn6w|`IP4aSa#pQ6ldI-wazTxeOM}s((P7h2eG0&%BQm@KY4n5ObaAi`svecu2(_9 zP&q%7`0f?qik}8TIhc)1>!x)X#xQWVX%EpHHRz>TE+^v@KQPRPz0)%2c5{|Z_T^KT zD{M>px`r{XqLbN?qby(2TKzn$z>T62pjXEb1{a%WI8s108mq?w#2^33AC=4NHw8hP z3^9PW(^b%7<0>1k!UU3l^v!1tjaUVUC#IG21mp>Oyn=w9 zZ$OHi&H7Hx@#}m0U4NIu*Wyu?6;VtMdt96y-9RCyIj60kCyA4WAU5rGs7C?N^uAy}=-ai`(1VG7CViWqFrr(&ra%%4mF6K7G0`&$D?7tLz2se~e|CllKo# z<@$^BvY3l&YGF2efg=Gx)u&Xy)Qu7!^RN1U-sYeAc)f~$=0|?|r+*0ic?Pc^udnmd z*PpQfeXo|z-Lk*A|N6ULBcDka9hTS6*H^B^!g^-11OM<3KmF-=uIdiWcVDlpzIS*e z6-C7U6F$thWpn#bK7ae6+<*L>p-~Doi}kAf{)g{NZ#XQgHCx;X!Rr0nuTr?H16$kW zt1sS{>&vs`OlDzhPqyX9o0~8I@1LGSL>f-&T!g0?X7Zut| z;ps6(rH@UtqC+8x*hdfSwBIf5K}~M8?ma$F6L@01VQt_fU{YZ6bpM!P3PeNC zhT|{`U6;x#y#?dr1rNXY#W$h010*;uMo1v)BC8lYM(0yBsmqB36K~=`^w-4*A)O`MKBBkl9QIIXk~U-D>@}{ zPGPWWbs~bRs$W}f?3ugIw>2=2V?Buj33E=O#3AoiS;OUKkuwHlnay9y<<*;jvy6=M zSF0D=!04?3A2<1#091hFCH<~$5|Xe)1p@{KWb#|5j0c0#FjX+X(OrUifCMLmK_%!- z(z=yM((6&t(qdLyiU9-y_~ED@urw1UQ!~L{)bgd`zKLM8Hk<@DdxI^y(S0yQ z9yg^839v92_}q$otC3}*eom1P9JH#YLw~JGp_6tUjcijS^`r& z1NOLlZ*``ZNUSYBWM;>)yR z&Mv zJWXe5#ZU=;Wz(>UYpqVl$&~D*{e$(F_W0d8_7-r^ZC9;3Kf7MC=hod4S4P^ee)&zn z@iXmOEmL7l!lrLifmQD*S+G_Tr7$$Kw%E&q`awFakU?pdWBjQZ$<{lPG1_ zT$piW4qgHbVPDYHqXmi`LPrVMr&SA+%a9@y|0HRiXP70K4qB5V+Fo=O+f9iHmW4Cs zUgo9OuSFF83m|3M1Sd*Ob7!x8B=L}XXn?VS%X3Jb^ACTU0& zxTMvrhgpT;0_ac29JWHg^t!_UfqW(a(D{`hiG`ApR0~vt>_#I~-|Mrj;1D|{;bVur zLJE(0rOFWYy|h^Q9#9TzI`>D=pMR-#q7GxIOl$YAK+1pdKh*$go$^+@a(nkNQ@StD z&&qOD8Q0q1rdX$Lpe2SmUO)C8w#5+?lZ-Ni;u(rY_-T3*pHY?*ca_g`2;+$M~UYEO_=ZjMhsG`K#%?D6R_+# zvD28mxqja`ISJcWr^ydL-o&3dSNHcdUepRhtNFy#PPSNg0+vxUo7iC*nRQw{5RbsN z!8GS2XcXU`rlm#i7Ygg%kA*1qUySrR%p`#aB}>ISZO@WdJ49DawAHEx)L<|wPmiljp|dE{O?!2p$}F1rr)Wo-as@3hd9 z9}jxb4DOk}3#g=1&IUd|Ci{WrNW5up&6bPu@cdjp-6<5zYsb^jU@EQMTFwEr{B(`= z6n+vX@AsKDZ1~9k^yhz8`u$T!A=jtKXo!%mOy-hrVYd~V#gv|bb*u58cIKLnc_#de zm2#HgH*A%nRN|CqLstBPPXm1Ah$arMY}goM|0l(B0@+5VAq9xq9VWg3{-xn3wanM^ zSifq^$1q1Wu=xWPGymGnY5%Qtkr-A3lvHrFV@;G6+f<*Wt3}>rZy=ncsCZ~Z$CQK^ zkR#Wh*56uybdSk>k1;af*uD~fZs_3cR;51~mX{^n?PFlBXv42TQnT?a_;%fH*emA0SI_gu!aX@V4|~f+6|k^y(=;f$CEsBtlY$j`&zJ) zC$rH$*rnu`uZ;iL6%6)8Y>ymL4s8vw|Lk+@$bf@#4-!B$R}Y55^`lveb$WM8ny6O> zx_)M}bdiOr?0Fvc<@+CgEa&HMO1H1zaMZGk;m$6r2(7_+lBN=kWUZ`r2V-{|sn6I=*Pa&;A~wu25`2LPg;Y;=C!_Pxs~a`wwOM`Mzux%d$1xXthW&^GQLW(@o)1 z>@2T9bb&X$ee