-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
visionParams.properties is the primary config file that is used by FVTS, it contains information about all of the vision profiles that are needed to detect objects.
FVTS has an integrated graphical configuration editor that can be accessed by running the program in development mode, see Development for information on how to do this.
The configuration has a wide variety of parameters that it takes, this file is in a non standard format that is name: which defines a profile, then lines starting with 2 spaces that end with a colon are treated as subentries every line after that starts with 4 spaces will be considered part of that profile and subentry until another one is defined. Inside each profile, variables are in the format of name=data.
These parameters are sorted by subentry name
-
typeThe type of device to read the image from (usb,image,video) -
identifierThe identifier for the device to be read from (usb device number forusb, file path forimage, andvideo) -
imgDumpPathThe path to save vision images to (should be on removable media that is mounted on a pi because the sd card has limited writes) -
imgDumpTimeThe number of seconds between saving vision images (note that this can contain decimals up to double precision) -
csvLogThe path to log CSV data to (ex:logs/profile$1.csv. Also note that$1in this will be replaced with the run id and note that if the parent folder does not exist csv logging will be disabled) -
interfaceThe output interface to send data out to (networktablesis currently the only option) -
pipelineThe pipeline to use to process the images (blobdetect,facedetect,dummy) -
preprocessorsThe pre processor(s) to apply to the images (resize,crop. Note that they are applied in order) -
mathsThe math processor(s) to apply to the output targets (angleoffset,distance,group,prefferedtarget. Note that they are applied in order)
-
minSaturationThe minimum saturation for the colour threshold -
maxSaturationThe maximum saturation for the colour threshold -
minValueThe minimum value for the colour threshold -
maxValueThe maximum value for the colour threshold -
minHueThe minimum hue for the colour threshold -
maxHueThe maximum hue for the colour threshold -
erodeDilateIterationsThe number of erode dilate iterations to run on the image to reduce noise (note: very slow operation so don't increase this too much) -
minAreaThe minimum percentage of the image (in decimal) that any object needs to be in order to be recognized
-
minFaceSizeThe minimum percentage of the image that the face can take up (0-1)
-
distToCentreImportanceThe importance between 0 and 1 that the preferred target is closest to the centre instead of the largest target (adjust this to be closer to 1 if your robot cannot turn well, but if it can turn easily then closer to 0 is good)
-
slopeThe slope used to calculate the distance from vision objects (FVTS takes the height of the object and treats it like a point on a line to find the distance) -
yInterceptThe y intercept used to calculate the distance from vision objects
The angle offset module uses quadratics to calculate the distance offset to objects based on angle and area
-
aoAThe A value in the quadratic equation -
aoBThe B value in the quadratic equation -
aoCThe C value in the quadratic equation
-
widthThe width to resize the input image to -
heightThe height to resize the input image to
-
cX1The X value of the first corner of the area of the image to keep (0-1) -
cY1The Y value of the first corner of the area of the image to keep (0-1) -
cX2The X value of the other corner of the area of the image to keep (0-1) -
cY2The Y value of the other corner of the area of the image to keep (0-1)
-
group1 or 0 which represents if FVTS should try to group objects based on angles (1=yes 0=no) -
groupAngleThe angle that the objects are at (1 object at this angle and the other 1 at negative this angle)
master.cf is the master configuration file that controls global settings as well as which profiles are enabled
master.cf is in the same format as visionParams.properties, except instead of profile names it uses configuration section names
The sections in the master.cf file are as follows
configenabled
This section is for global configuration variables
The parameters in config are as follows
-
allowOverrideWhich enables/disables the NetworkTables vision profile override which is explained here -
logFileThe file to save error logs to (ex:logs/log$1.log. Note:$1will be dynamically replaced with the run id)
This section is for enabling/disabling vision profiles
In order to enable/disable profiles add an entry to the enabled section in the format profile=enabled (true/false)
Note: Any profiles not listed in master.cf are enabled by default