16-741: Mechanics of Manipulation Project

Ethan Tira-Thompson

All of the demos shown below are open-loop manipulation, being directed remotely.  The work shown below is using a modified copy of the CMPack'02 walk engine, running within the Tekkotsu development framework.  Inspirational credit goes to the Mobipulator project. (more here)

The parameter files listed are binary format -- only useful if you are using the Tekkotsu framework, version 2.2 or later.

Long Range Transport:

Length-wise: (.prm)

Keeping the front paws stiff, the rear legs do all the pushing.

Width-wise: (.prm)

The hope is that if we can widen the spacing of the front legs, this would increase the support triangle, and the back legs could be brought more directly under the body.  This would put more weight on the back legs, allowing them to grip better, hopefully providing more accurate movement.

Undersize: (stiff: .prm)

A three legged limp allows undersized papers to be used.  Notice that the plastic part of forearm is in contact with the paper, producing a point contact with friction from Salisbury's classifications -- when the AIBO rotates, the paper rotates very little.

Undersize: (limp: .prm)

Using the fourth leg to take steps as well, but not lifting the paw on the return stroke seems to allow better control and steering.  However, the posture has also been modified so now the rubber knob is in contact with the paper.  This produces a "soft finger" type of contact from Salisbury's classifications -- when the AIBO rotates, the paper rotates with it.


Short Range Manipulations:

The short range manipulations had three challenges.  One was rotation of the paper -- since the AIBO cannot rotate its paw (no wrist) it is unable to rotate a paper with just one paw in most configurations. Instead, I will concentrate on using two paws.  However, using two paws requires a "diff-drive" style of motion.  Since the walk engine we are using typically handles rotations by twisting the legs out to the sides, a new parameter had to be added to provide this capability.

The second problem is more significant: when using two paws, whenever a paw was lifted and set down again, it would often hit the table earlier than it should, while still moving in the "wrong" direction.  You can see some of this wiggling in the "Scanning paper sideways" demo below.  I determined this issue is due to the supporting leg sagging under the weight of the AIBO, and thus causing the AIBO to be lower than it intends.  I fixed this problem by adding a "sag" parameter to allow each joint to target a slightly higher position on its recovery path so it would not hit the ground until the end of the recovery stroke.

The third problem is that the joints are generally somewhat weak compared to the weight of the AIBO.  If much weight is placed on the forward joints, it causes those joints to "stick" more, and not move the paper until the other leg is already down, taking some pressure off the joint.  This causes each leg to rotate the paper around the other leg's point of contact, wiggling the paper.  The solution is to use a posture which takes weight off the manipulator arms and places it on non-manipulator arms.  However, putting all the weight on the motors of the back legs causes a "BATTERY_OVER_CURRENT" violation to be thrown, and the AIBO will automatically shut down.  This was relatively common problem with the first (leftmost) examples shows below, but was solved in the second iteration.

Scanning paper sideways: (.prm)

Although this posture allows weight to be placed on the rump, it still has some trouble with drawing too much power from the battery.  This is because the rotator of the back legs is supplying most of the force to keep the entire weight of the AIBO in the air.

However, this does take a lot of the weight off the front legs, allowing them to move more reliably.

 

Version 2 (.prm)

This version uses a more efficient squatting posture, which actually releaves strain from the back legs, even though the AIBO's body is suspended in the air.

This takes advantage of a singularity in the kinematics so that most of the weight is actually being pressed sideways against the rotator motor, so it doesn't have to do any work to hold it there.

However, this also means more weight is on the front paws, so I had to add a "sag" parameter to account for this.



Pushing paper away ("AIBO OCR" :)

Take 1: Low Resolution:
 

Version 2

Using the new squatting posture... notice we now get a better (i.e. close up, almost perpendicular) view of the paper as well!

Another advantage to the squat is that the legs are far enough apart for a standard sheet of paper to pass between them.  In the previous version, I had to remove some margin from both edges of the paper.




Take 2: Higher resolution:
 

General Manipulations:

This demo shows a combination of using diff-drive style steering to rotate the paper, as well as pulling the paper sideways.


Final Demo:

I'll walk up to a piece of paper, manipulate it into a good orientation, and then walk around with it.

The caveat is that I didn't spend any time making transitions between the postures used for each of the walks, so that part is pretty rough, and unfortunately disturbs the grip on the paper.  But this is a trivial matter of scripting a sequence of motions to move from one to the other, so I'll leave that as an exercise to the viewer. ;)

In summary, manipulating papers on desktop with an AIBO is quite feasible, and I'm sure with a some more work I could add some feedback and automation, as well as making transitions between different walk parameters happen more smoothly.

However, the downside is that I also had hoped to be able to used these manipulations on carpeted/padded surfaces, but I have found that the paper/ground interface has roughly the same friction as the foot/ground, so it is very difficult to move the paper, even though the foot/paper interface has higher friction than the paper/ground below it.


Bloopers:

The last thing an AIBO sees before an emergency "BATTERY_OVER_CURRENT" shutdown...
(an outtake from the "Scanning Paper Sideways" demo)

Aibo Cam View:


Bird's eye view:


The diff-drive style steering makes for an interesting "moon-walk" effect when rotating in place: