I'm attempting to make a walking quadruped in a Box2D-based game. My current approach involves a box and eight edges, like this:

This approach seems to have a few problems, though. As I change the endpoint positions on the b2EdgeShapes, the box does move up and down, but there appears to be no friction with the ground when I do this, so the body does not move forward. I tried applying a force to the body when it was walking, but this quickly accelerates it to entirely uncatlike speeds, so I settled on setting the velocity directly. This looks very unnatural, especially when the player presses and releases the movement keys very quickly.
Is there a way to get friction to work in setups like this, or am I approaching this wrong?