I made the swing system with IK constraint.

Creation procedure
Creation of arm system proceeded as follows:
Step 1: Simple arm system (Armature)
Step 2: Design drawing (Mesh)
Step 3: Basic arm system (Armature)

Step 1


Step 2

Step 3

Bone (Controller): Limit Rotation
Bone.002: IK constraint
Bone.003: Copy Rotation and Transformation
The Transformation constraint was used to absorb the bone length matching error. It is very difficult to exactly match the bone length a + b = c + d.
Appendix
With offset between Bone and Bone.003 length.
