This is an Armature-less rig involving some more customary steps.
The Spine and Limbs are Meshes (with Array Modifier and the Curve Deform Modifiers) on Bezier curves which are controlled by Hooks (Hook Modifier).
The upper body is Clamed Tracked to Spine Bezier Curve and limit distanced (constraint) to head and lowerbody.
The walking mechanism is archived by parenting both the feet Hooks (empty objects) to the central 'WalkControl' circle mesh and a similar setup for the hands on the upper body - 'WalkControl.hands' circle mesh (Hand meshes are parented to it using ChildOf Constraint) which copies the rotation of the WalkControl circle mesh on Invert Z axis.
Further the feet hooks are clamed tracked on to the semi-circled Path objects to create a foot lifting swing motion and a simple driver whicn drives the influences of the clamp tracks (feet) and ChildOf constraints (hands).
The Driver switch must not be parented to any of the meshes or empties, and should stay off when moving the entire rig (main parent mesh: COG - center of gravity).
EDIT: This is because the Transform channel type was set to X Location in Driver properties and when the COG is moved in X space it activates the Switch.
Screenshot with notes: flic.kr/p/b3xZkt
I found an error later when translating the central COG, the hands didn't follow the 'Walk.Control.hands' when driver is turned on so i simply removed the Child.Of constraint on the Hands and Parented using the Ctrl+P method.
~ ~ ~
Loading more stuff…
Hmm…it looks like things are taking a while to load. Try again?