Hi and thank you for your attempt to help solve this!
I am using Blender to replicate and then animate a robot head in the real world for a major university (using python to program the real thing from Blender). The predicament I am faced with was attempted but failed to be solved by several engineers before me.
Essentially, we need one bone to be locked to a single axis - easy enough. The bone is rotating vertically (so the axis itself is horizontal). That bone is connected to another running upward, and then that bone is attached to another (this keeps going on to countless more bones as this is part of the neck)(image 1). The problem is that that second bone is driven by the first and then attached to another bone that is not quite directly vertical from there. I imagine we want this joint (the joint between the first and second bone) to be a passive (no rotation is caused at that joint) ball-in-socket joint that allows for it to move in infinitely many directions reacting to the positioning of the first bone and the bone it is attached to afterwards above it.
We currently have this half solved by three miniature perpendicular bones in-between the first and second bone so that it may rotate around all 3 axis (second image). However this isn't perfect and far from ideal.
Please respond with as much detail as possible and walkthrough how-to. None of us engineers are much if any educated in blender as you may think it isn't exactly made for these matters in mind.
Thank you so very much!