Dual IMX412 connected to VOXL 2
-
As @Hector-Nevarez mentioned, we are looking for your feedback as to what you are trying to connect?
It sounds like 2 IMX412 to an M0084-1, which camera group connector on VOXL 2? Will there be other image sensors plugged in anywhere else (tracking or stereo)? If so, which camera group connectors?
We are adding this feature to the next system image build, but it would be good to get your feedback on exactly your configuration
-
@Chad-Sweet yes you are right, we are integrating 2 IMX412 via the M0084-1 on the camera group 1 connector (J7) as the video states that the camera group 0 (J6) and 2 (8) are mainly for front and rear stereo camera pairs.
As of now, no we don't intend to connect any other sensor to be plugged on the board immediately, but may be later once both the IMX412 cameras are up and running we will try out the front stereo camera along with 2 IMX412 cameras.
I hope the above information clarifies our required configuration, may we know by when we shall get this next system image build.
-
Hello @vipul-kadam ,
We've now released a Beta System Image which should support the 2 IMX412 camers on the M0084-1 on camera group 1 (J7). Once you download the system image, you'll have to reinstall the voxl-sdk again as the download will only install the system image.Your camera server configuration file (
/etc/modalai/voxl-camera-server.conf
) for only two imx412 sensors connected would look as such:{ "version": 0.1, "cameras": [{ "name": "hires1", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 0, "preview_width": 640, "preview_height": 480, "snapshot_width": 640, "snapshot_height": 480 }, { "name": "hires2", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 1, "preview_width": 640, "preview_height": 480, "snapshot_width": 640, "snapshot_height": 480 }] }
Note that even though you are using IMX412, the camera type will still be IMX214 in the configuration file. Please let me know if this works for you.
-
Adding more context for my last message:
The voxl-sdk that you should install should be the latest from our 0.9 platform release. You'll have to download our latest platform release (VOXL2 Platform 0.9) from our downloads page. From there you can find the platform release under:
Protected Downloads -> VOXL 2 Platform Releases -> VOXL2 Platform 0.9From there download the pacakge, untar the package, and navigate to the voxl-suite directory within the package (
voxl2_platform_0.9/voxl-suite/
). From there run theoffline-install.sh
script and this will install the voxl-sdk ontop of the beta system image that you previously flashed on target. -
Hello @Hector-Nevarez @Chad-Sweet
As per the above two threads pls find the following status of the voxl version and the information in the voxl-camera-server.conf file, pls check as the information in the camera server configuration file that you shared and the one in the current updated system is not matching. Since the files are not matching, we haven’t connected the two IMX412 camera on the camera group 1 connector (J7) yet. Pls note the systems image is updated and even installed the voxl-sdk on top of the new system image.
Pls let me know if its ok to go ahead and connect the 2 nos of IMX 412 to cameras of anything else needs to be done.
voxl2:/$ voxl-version -------------------------------------------------------------------------------- system-image: 1.5.2-M0054-14.1a-perf-nightly-20221219 kernel: #1 SMP PREEMPT Mon Dec 19 02:17:54 UTC 2022 4.19.125 -------------------------------------------------------------------------------- hw version: M0054 -------------------------------------------------------------------------------- voxl-suite: 0.9.4 -------------------------------------------------------------------------------- Packages: Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-0.9/binary-arm64/ Last Updated: 2022-09-06 03:20:58
voxl2:/$ cat etc/modalai/voxl-camera-server.conf { "version": 0.1, "cameras": [{ "name": "tracking", "enabled": true, "frame_rate": 30, "type": "ov7251", "camera_id": 2, "ae_desired_msv": 60, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }, { "name": "hires", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 3, "preview_width": 640, "preview_height": 480, "snapshot_width": 3840, "snapshot_height": 2160 }, { "name": "stereo", "enabled": true, "frame_rate": 30, "type": "ov7251", "camera_id": 0, "camera_id_second": 1, "independent_exposure": false, "ae_desired_msv": 60, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }]
-
Yes, please connect per Hector's instructions
-
HI @Hector-Nevarez @Chad-Sweet sorry for the late response as we were tied up in some other priority work.
As instructed in the earlier post we did update the system image and also installed the voxl-sdk, also right now on our setup we are connecting only two Hires camera (IMX412) via the M0084-1 on the camera group 1 connector (J7), and no other camera sensors are there right now on the board.
Once connections are done we executed the voxl-configure-cameras where in we are able to see the following list:
We tired with the camera config ID 3, 4, 6, 8 & 13 followed by voxl-camera-server, only with camera config ID 8 we are able to get video but only of one hires camera, and for rest config ID's the pipeline fails with different errors each time.
Can you please guide us how to get two simultaneous stream from the both the hires cameras via the voxl-portal and what camera config ID should be selected.
-
Hi,
Mentioned here:
Your camera server configuration file
/etc/modalai/voxl-camera-server.conf
for only two imx412 sensors connected would look as such:You'll need to customize your camera server config file manually because this is not a standard supported arrangement.
If these are the only 2 cameras plugged in then they will be ID 0 and 1
-
@Alex-Gardner Thank you for the clarification, pls refer following screenshot of the updated voxl-camera-serve.conf file from the VOXL2 module.
{ "version": 0.1, "cameras": [{ "name": "hires1", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 0, "preview_width": 640, "preview_height": 480, "snapshot_width": 640, "snapshot_height": 480 }, { "name": "hires2", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 1, "preview_width": 640, "preview_height": 480, "snapshot_width": 640, "snapshot_height": 480 }] }
Once the above file as updated we carried out the suggested steps by providing the command
voxl-configure-cameras, as stated in my earlier post there are variety of options which pop-up once the command is executed, can you please let us know which is the appropriate configuration id to be selected from the following drop down:available camera configurations are as follows: 0 None 1 Tracking + Stereo(OV7251) 2 Tracking Only 3 Hires + Stereo(OV7251) + Tracking 4 Hires + Tracking 5 TOF + Tracking 6 Hires + TOF + Tracking 7 TOF + Stereo(OV7251) + Tracking 8 Hires Only 9 TOF Only 10 Stereo(OV7251) only 11 Tracking + Hires + Dual Stereo(OV7251) Pairs 12 Stereo(OV9782) only 13 Hires + Stereo(OV7251)
We have already tried out the following all camera configurations option so far and only in camera configuration id 8 we are able to get video but the video is only from 1 IMX412 sensor.
-
To add to the above point the voxl-camera-server.conf file goes back to the default setting once the module is power cycled, refer following snapshot of the same file post power cycling.
voxl2:/etc/modalai$ cat voxl-camera-server.conf { "version": 0.1, "cameras": [{ "name": "tracking", "enabled": true, "frame_rate": 30, "type": "ov7251", "camera_id": 2, "ae_desired_msv": 60, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }, { "name": "hires", "enabled": true, "frame_rate": 30, "type": "imx214", "camera_id": 3, "preview_width": 640, "preview_height": 480, "snapshot_width": 3840, "snapshot_height": 2160 }, { "name": "stereo_front", "enabled": true, "frame_rate": 30, "type": "ov7251", "camera_id": 0, "camera_id_second": 1, "independent_exposure": false, "ae_desired_msv": 60, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }, { "name": "stereo_rear", "enabled": true, "frame_rate": 30, "type": "ov7251", "camera_id": 5, "camera_id_second": 4, "independent_exposure": false, "ae_desired_msv": 60, "ae_filter_alpha": 0.600000023841858, "ae_ignore_fraction": 0.20000000298023224, "ae_slope": 0.05000000074505806, "ae_exposure_period": 1, "ae_gain_period": 1 }]
-
Hi @Alex-Gardner I guess the voxl-configure-camera was overwriting the voxl-camera-server file, bypassing that allowed us to get streams from both the IMX412 camera via the voxl-portal command.
Refer Following image:
![alt text](image url)
The required part of getting two parallel streams from 2 IMX412 camera onthe VOXL2 board seem to be achieved. I case of any further doubts on this activity will open a new thread. Thanks for your support.
-
@Hector-Nevarez @Chad-Sweet @Alex-Gardner by editing the voxl-camera-server.conf file we were able to get a video stream from 640X480 @ 30fps up to (1920X1080) FHD @ 30 fps resolution for both the IMX412 camera, as seen from the datasheet the IMX412 sensor is a 12.3 Megapixel sensor and we would like to acquire highest possible resolution video stream from the sensor at 30fps as well as 60fps. Can you please let us know how this can be achieved.
P.S. In the above mentioned conf file if we provide any resolution over and above 1920X1080 the video pile line crashes.
-
OK starting off with FPS, I perhaps stumbled into a fix that was preventing higher FPS from being used in the camera pipeline... I've tested this on a single imx412 only (what I have with me at the moment to try) but I'm able to get 1920x1080 at 60FPS after this mod:
Can you add a new line with this:
defaultMaxFPS=120
at the end of this file?
/vendor/etc/camera/camxoverridesettings.txt
I believe this will allow higher FPS.
-
Hi @modaltb by doing so the voxl-camera-serve and the voxl-portal pumps data over ethernet but on the web portal we are not able to see any vide0 from the IMX412 camera, pls note we are using the same voxl-camera-server.conf file which @Alex-Gardner have suggested to use.
-
OK thanks for the info, we've not tested portal much with this new tweak above so it will take a little time to propagate the updates to support these, we'll update as it becomes available.
-
@modaltb meanwhile the update becomes available, is there any other method to get a video streamed at FHD@60fps from the voxl2 module over the ethernet interface?
-
Have you tried voxl-streamer instead of trying to visualize using voxl-portal? I've not tried this myself but I would next try voxl-streamer.