Extending Tekkotsu to New Platforms

Summary and Recommendations

Our efforts to turn the arm into a usable platform for Tekkotsu didn't exactly pan out as we expected. However, we uncovered a large number of bugs in the Tekkotsu simulator in the process, which will certainly help future development. We also identified lots of problem spots that others will encounter when porting to a new platform in the future. Our failure to get full inverse kinematics working was very troubling. Obviously, the libraries used in a project should be evaluated to see how possible it would be to use them with new architectures, but we had no idea whatsoever that we would encounter anything close to the number of problems that we saw with ROBOOP. As we mentioned on the inverse kinematics page, perhaps it is time for someone to extend ROBOOP to better suit Tekkotsu's needs (or simply write an entirely new kinematics package); the various assumptions made in ROBOOP made it all but impossible for us to accomplish what we wanted.

Separating tekkotsu_outputs from the kinematics descriptor file is also a good idea. This would allow for more flexible robot configuration and simpler kinematics files without reducing functionality. Adding support for pollable sensors will also be useful, since it could allow for more exotic sensors (such as higher-end Ethernet cameras).

Finally, the "simulator" isn't really a simulator anymore. It's a full-fledged Tekkotsu platform, and rewriting some of the Aibo-oriented features (like the Wireless modules) so that they don't merely emulate APERIOS would probably be wise in the long run.

Once these goals are achieved, the arm could receive more complicated motion primitives. It could determine the best way (or at least make an educated guess) to pick up an object, or pick up an objet while making sure that the arm won't collide with other objects on its way to a new position. None of that is really feasible without improved kinematics, a force sensor, and vision support, though. However, considering that this is the first time to our knowledge that Tekkotsu has been used on a platform besides the Aibo, we think that we were pretty successful in determining what developers will face when they have a new robot to support.

Results

We do have some videos demonstrating the arm's range of motion using motion sequences, as well as possible gripping strategies.

Video 1

This video shows the arm picking up a small plastic piece. The gripper rotates as it picks up the piece for two reasons. First, if the arm simply moved to that position without rotating, the piece would hit the side of the gripper and fall over. Second, rotating as the gripper closes centers the piece in the gripper, resulting in the best possible grip.

Video 2

This video shows the arm moving the piece from the new location back to the original location. The rotating gripper strategy is employed here as well. The arm's range of motion is seen here, although you can also see the servos not performing exactly as expected (it should be forming right angles while rotating).