Sawing broomsticks to get Upkie up and running quickly was great at the beginning of the project, but it came with a drawback that came to light while manipulating the robot: a cable can get on the wrong side of a leg and get snapped away if the human manipulating it is not paying attention. Here is a bad instance on a shin:
Pulling a cable hasn't happened yet while balancing, as the corrugated pipes that hold power and communication cables are quite stiff by themselves and tend to stay away from the legs, but it has happened for sure while sitting and raising the beast. So, today's update is about routing cables inside the legs. (This is part 1, we'll see about the lower leg in part 2.)
Our goals are:
- Ensure that cables don't collide with the limbs during motion.
- Keep the same range of motion for hip joints.
The idea is to 3D print a cable guide inside the hip, femur and knee parts. The femur thus becomes 3D printed (bye wood 😢).
Here is a short video summary of the update:
More details on the successive iterations:
- Hollow cylinder: this was a first guess. It would have worked with pressure screws like before, but then it occurred to me that squares and hexagons are much better shapes to transmit torque. (See for example this video from Scilabus on screw heads.)
- Hexagonal femur: testing torque transmission on mock parts with an outer hexagon and inner cylindrical cavity. To get a nice fit when assembling 3D printed parts, we can set either the femur outer diameter or hip inner diameter to be slightly smaller/larger.
- Hip with a hollow hexagon: going for a slightly larger hip inner diameter with a +0.2 mm margin on each edge. One mistake I did was to test the fit with small chunks of the inner shape, which may go through whereas the complete part won't (due to friction or jamming). Better print the whole (or at least a reasonable chunk of the) part to test this.
- Cylindrical femur with hex ends: the hexagonal shapes on both femur ends are exactly the right length to match the hips, and the femur is otherwise cylindrical. This facilitate assembly. Also, the inner cylinder guides the cable out the middle of the part to meet the knee servo connectors.
- Fixes to the hip: 3D printing iteration, getting all dimensions just right.
- Knee with a hollow inner hexagon: adapting the knee stator, following the same approach as the hip.
At this stage, the leg assembly looks like this:
One further nice thing to add are small rivulets inside the hollow cable guides to hold the corrugated pipe in place during motion:
There are still several questions on the table that this design does not answer. How about turning the knee servo 180° to avoid the cable outlet in the middle of the femur? Also, can we get corrugated pipe that bends more smoothly?
Note that we are keeping some length of cable above the hips to maintain the range of motion of the hip joint, in particular so that the robot can sit down and up properly. Eventually we can redesign the side chassis plates (blue in the picture above) to hold the cable better with a hole of the matching size (as opposed to a wide rectangular hole right now).
Those points are left to future work 👷