Hm, that's interesting.
Why 3 sideways omnis in the front but only 1 in the back?
I would assume that programming something like this would be somewhat similar to a swerve drive. You can check out my
presentation on swerve if you want some ideas on calculations. Maybe you could program it like a mecanum, but I don't know; I have no idea how mecanum works.
I have an idea for the code if you rearranged the layout to something like this:

You could do regular 4 wheel swerve calculations, and then end up with an (x, y) vector for back left, back right, front left, and front right. For each of those corners, take the x value and send it to the horizontal wheel, and take the y value and send it to the vertical wheel.
Might be better ways of doing it, but that's my idea.
Edit: I'm starting to realize that all 8 wheels might not be independent. In that case, my idea probably won't work.