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).