Hi kneave ,
Looks like we didn't update requirements.txt. I just updated it on that branch (to 2.20.2), so it should work as expected - could you try again, please?
Thanks, Erik

Hi Eric,

To confirm, I'm now on the following branches for:
depthai: modular-calibration (Your commit 30 minutes ago)
depthai-python: main (for cam-test.py in utilities, latest commit)

I ran `install-requirements.py' from the root of depthai and the utilities folder of depthai-python.

When I run cam_test.py I only see the IMX378, it comes up in the preview window quite happily and the console reports this:

Enabled cameras:
    rgb : color
   left : color
  right : color
DepthAI version: 2.20.2.0
DepthAI path: C:\Users\keegan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\depthai.cp39-win_amd64.pyd
[184430105182410E00] [1.5] [0.865] [ColorCamera(6)] [error] Camera not detected on socket: 2
[184430105182410E00] [1.5] [0.866] [ColorCamera(4)] [error] Camera not detected on socket: 1
Connected cameras:
 -socket RGB   : IMX378 4056 x 3040 focus:auto  - COLOR
USB speed: SUPER
IR drivers: []
Cam:      rgb           left          right    [host | capture timestamp]
FPS:  30.00| 30.00   0.00|  0.00   0.00|  0.00

If I switch to the ar0234x3 branch the cam_test.py script doesn't run as it looks as though there was a bit refactor that deprecated or changed a lot of the methods in depthai between then and 2.20.

It looks as though if I try and run with any version of depthai other than depthai==2.17.2.0.dev+211dc1c0a135d5615dba75ebf2098ba8cdc05cd0 it isn't able to see the AR0234 cameras. If I look at the depthai-python branch it looks as though ar0234x3 was never merged in to any other branch either.

I may be misreading the commit graph, I've been digging between branches for a while now and I've lost track, but is the AR0234 supported on either main or develop of depthai-python? To me it looks like it isn't and that it's only that old 2.17 branch that it's available in.

I'm once again trying to calibrate against the AR0234x3 branch as it seems to be the only one that supports all my cameras, this time all new errors. Before I start digging even further and spending more time on this can I get a yes/no answer to the following please?

Has the combination of 2x AR0234 and single IMX378 been tested by yourselves or anyone else that you know of?

Right now I've no idea if this newest issue will be the last one and I can get passed it and do the actual work I want to with these cameras, or if this is the tip of an iceberg and there will be yet more work to do afterwards.

I understand that what I'm doing isn't simple and that the majority of your customers just use the standard integrated and tested cameras. I also understand that these things can take time, but right now I have an awful lot of unknowns and other projects I need to work on. If I know that this has worked for others I can continue, if I'm on my own with a new and untested combination I may have to shelve this project until the 3P has better support for multi-cameras.

If you could let me know if the light at the end of the tunnel is sunlight or an oncoming train, I would greatly appreciate it. 🀣

It's looking like the issue was with the image preview. The AR0234 output at 1200p and the IMX378 wants to output at 1080p/4k.

I'm thinking if ignoring the centre camera for now and just trying to get the depth camera working. I think that the difference between HFOV of the centre and side cameras is too great for calibrating together. At least with the side cameras being rgb I should still be able to get a coloured point cloud. Hopefully I'll be able to use the centre camera independently, I'll have to have a play around with it at some point.

  • erik replied to this.

    Hi kneave

    Has the combination of 2x AR0234 and single IMX378 been tested by yourselves or anyone else that you know of?

    No, we have only tried our "standard" configuration, which is 2x OV9x82 for stereo and IMX214/IMX378 for color camera. Any other configuration (like yours) has likely not been tested, but should likely work, perhaps with some modifications, like to calibration script. If streaming 3 camera sources (cam_test) doesn't work with latest develop branch, please open an issue on depthai-core.
    Thanks, Erik

    Done: Issue 763

    I included the preview.py script I've been using to list and preview the cameras, if nothing else it's really handy for manually checking the focus of the cameras.

    Apparently this combo of cameras should work but the config file on the 3P may now be in a bad state prevent calibration from working. I've tried running the factory_reset script and it just says the factory calibration isn't present, I've no idea where to find an empty one either. If you could point me towards one I'd greatly appreciate it, I'm worried that if it's this difficult to get the camera calibrated that it'll be impossible to do anything else with it.

    Getting closer, now stuck on RuntimeError: No PROTECTED permissions to override protected EEPROM fields so something else on the EEPROM isn't quite right, or is locked in some way?

    • erik replied to this.

      Hi kneave ,
      If you set environmental variable to DEPTHAI_ALLOW_FACTORY_FLASHING=235539980 (so on linux you can do DEPTHAI_ALLOW_FACTORY_FLASHING=235539980 python3 flash_eeprom.py) it will allow you to do so. Note that usually you wouldn't want to override factory calibration.
      Thanks, Erik

      Thanks Erik, I was able to use that to update the calibration but getting other errors permissions errors now πŸ˜…
      Also, it doesn't have a factory calibration apparently. Is this supposed to be the case with the 3P? It doesn't have cameras included so I can see why it wouldn't, but also it seems like not having a calibration at all may be the cause of a bunch of other issues.

      Thanks for all your help so far Erik, and colleagues, I think I'm going to have to spend some time properly getting my head around calibration and how to get it to work with my setup. I was previously using a StereoPi with two fisheye lenses and using the ROS calibration method without issue so I think I got complacent. With the extra power of the 3P it seems it needs more attention to get working. That said, it's tempting just to publish the images from each cameras to ROS and see if I can use the same method to generate the calibration. A bit hacky but I'm willing to try anything at this point! 🀣

      For Windows users seeing the previous post regarding the environmental variable, the equivalent is:
      in command prompt:
      set DEPTHAI_ALLOW_FACTORY_FLASHING="235539980"

      in powershell:
      $env:DEPTHAI_ALLOW_FACTORY_FLASHING="235539980"

      Then run the python script. This will persist until the cmd/powershell session is closed.

        kneave Good point, not sure why depthai complains about eeprom, even if there's no calibration present.. Will bring it up internally with the team. What kind of other permission erros are you getting?

        One I got the calibration done and uploaded to the 3P using the calibration_flash script (it failed to upload via calbration) I then tried to run the depthai_demo.py script and got these when I tried to switch to depth preview:

        I'm on Windows so no udev rules to set which confused me

        2 months later

        Hey folks, other projects have been wrapped up and I'll be able to look at this again next week. It looks like a lot of work has happened in the interim, could I ask which branch I should be using please?

        There are also a few PRs pending that involve calibration, are they worth waiting for them being merged?

        • erik replied to this.

          Hi kneave ,
          You should used latest main branch when calibrating, we have updated the script 2 times since thenπŸ™‚

          3 months later

          It's been a very long fight getting this far but it looks like the work done to improve the calibration process has paid off so thank you Luxonis and friends for that! My IMX378 isn't being detected any more, hopefully just a dodgy ribbon cable, but I'm at least able to generate a depth map from the two AR0234 cameras.

          Now the hard work of tuning everything to reduce noise and get some usable data out of it πŸ™‚

          erik Hi Erik, sadly it seems the fix didn't work and I can no longer detect the camera. I managed to get some images once but it hasn't worked again since. I've tried replacing the ribbon cable too, and tried another camera on that port to confirm it works (it does) so the sensor is likely broken. I'll email support as per the errata to get a replacement. πŸ™

          • erik replied to this.

            kneave What kind of errata? If it worked once, I don't understand how it could be errata.
            What doesn't work - could you share terminal output of eg. cam_test.py?

            Hi Erik, this one. I may not have cut the trace correctly I guess but trying the fix was worth a try, sadly it didn't work out for some reason. Regarding terminal output, it's simply not detected.

            • erik replied to this.