Creating a client side program


#1

Hey guys,

I & our team have ran into issues with GRIP lacking in capability, so we decided that it would probably be best to create a desktop program using OpenCV and the GRIP generated pipeline. Unfortunately, I find the documentation kind of lacking (https://wpilib.screenstepslive.com/s/currentCS/m/75361/l/851714-creating-a-client-side-program) would anyone please be able to tell me how you can set up such a program? Do you have a create a completely fresh java project and implement the given libraries or do you work out of a WPILib robot template?

Thanks a lot for any help!


#2

If you’re developing solely a desktop application, it’s probably best to just create a Gradle project rather than trying to adapt a robot template. Take a look at the SmartDashboard GitHub for an example. Note: SmartDashboard doesn’t use OpenCV, so if you want OpenCV you’ll need to add some more dependencies… this is Kotlin, but has the right artifacts


#3

Thanks for the reply! I have tried doing that but I for some reason get an error.

Exception in thread “main” java.lang.Error: Unresolved compilation problem: at Vision.main(Vision.java:24)

These are my dependencies:

dependencies {
// This dependency is exported to consumers, that is to say found on their compile classpath.
api ‘org.apache.commons:commons-math3:3.6.1’

// This dependency is used internally, and not exposed to consumers on their own compile classpath.
implementation 'com.google.guava:guava:23.0'

// Use JUnit test framework
testImplementation 'junit:junit:4.12'
compile group: "edu.wpi.first.cscore", name: "cscore-java", version "2019.+"
compile group: "edu.wpi.frist.thirdparty.opencv", name: "opencv-java", version: "3.4.4-4"
compile group: "edu.wpi.first.ntcore", name: "ntcore-java", version: "4.+"
runtime group: "edu.wpi.first.ntcore", name: "ntcore-jni", version: "4.+", classifier: "all"
runtime group: "edu.wpi.first.wpiutil", name: "wpiutil-java", version: "3.+"

}

and this is the code in question:

public class Vision {
public static void main(String[] args) {
Vision vision = new Vision(); //Line 24
vision.run();
}

any idea what can be causing that.? Thanks a lot for any help!:slight_smile: