@Madelyne-Rossmann, what you are doing should be possible.
the first thing, for calibrating the hires camera, you will need to run the calibration and provide the exact camera stream name (and make sure it is available). In your case, the "preview" stream is disabled in camera config, so you do not have a stream that is called just "hires". However, you have enabled the large encoded stream, so along with h265 stream, you will also have a YUV stream (hires_large_color) and monochrome stream (hires_large_grey). Since for calibration and tag detection you do not need color, it is best to use the monochrome stream to reduce cpu usage for processing large images.
You can double check using voxl-list-pipes to see which camera streams are available and you can view the stream using voxl-portal, but due to the high resolution of the image, voxl-portal will not be able to display the stream at full fps and.. you can use it for quick testing of the stream.
So, in your case, the command for calibrating would be:
voxl-calibrate-camera hires_large_grey -s 6x8 -l 0.0223
Since you need the highest possible resolution, IMX214 has max resolution of 4208x3120, which you already have selected for your large encoded stream, so that's fine.
However in the past, I have had issues calibrating hires cameras at full resolution because it was too slow processing such large images. I just tried running calibration on a similar resolution and the calibrator was running at only 2 FPS. I have previously worked around this issue by calibrating the camera at half resolution, however 2104x1560 is not a standard resolution ( you can check by running voxl-camera-server -l and look for resolutions listed under ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS.
If calibrating using downscaled images, you would want to have the down scaling to be exact (say factor of 2), so that you know that you can simply scale the calibration results (focal length and principal points) by a factor of 2.
One option: you can pick a scaled down supported resolution, such as 2048 x 1536 instead of your full frame 4208x3120 (set "large_video_width": 2048, "large_video_height": 1536). The downscaling and cropping will be done by the ISP on VOXL, so it will not use any CPU. Then you can just run the calibration using this resolution and also try the detection using the same resolution.
Please keep in mind if you are changing resolutions, you may have to re-calibrate because depending on exact resolution, there may be cropping / scaling happening and it is not always clear exactly what the ISP does, so the rule of thumb is.. if resolution changes, recalibrate, unless you are 100% sure that the new resolution is a scaled version of the original resolution and you can just scale the calibration params accordingly.
For calibration purposes you can reduce your camera fps to 10, so that the images are not back up in the camera calibrator. After calibration, you can restore the original 30 fps.
You will also need to update your tag config file to use hires_large_grey image stream and make sure you point it to the correct intrinsics file that you generated.
Please try and let me know if you get stuck on any steps. After you get the scaled down resolution to work (2048x1536), i can help you with enabling the full resolution (but not sure if tag detector can keep up at full fps).
Alex