linking rotation + location/trying to rotate a robotic "C-arm" along its "mount"
Ok, to start, I've created a quick (and not terribly accurate) recreation of an area of your model;



And we'll say I want to move the object on the left in a way that it follows the shared curve in the middle. The quickest way I know to do this is to set the origin of the object to an appropriate pivot point, then simply rotate the object.

Setting the origin

Go to object mode and left click in an area you want to pivot from (this is a bit of a guess at this point);



Set your pivot point to "3D Cursor";



Now hit r and move the mouse, see if the object moves as desired;



No no, that won't do. How about;



Yes, much better. Check the full range of desired motion;



Ok, this will do. right click to stop rotating (or ctrl+z to bring it back to where it was if you confirmed the rotation).

Now, hit space (or F3, depending on your hotkey settings), and search for (and select) "Set Origin";



Then select "Origin to 3D cursor";



Now set your pivot point to "Active Element";



At this point, you can hit r and rotate the object on that point, regardless of where the 3D cursor is;



Technically, you don't need to set the origin

You could pivot on the 3D cursor without setting the origin, but setting the origin allows you to move the cursor around and not have to find the optimal pivot point every time.