Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

~moveUntilTouch - Tare when orientation of end effector changes #9

Open
aditya-vk opened this issue Oct 11, 2016 · 1 comment
Open

Comments

@aditya-vk
Copy link
Contributor

Tare is only performed at the beginning of when the controller is called. If the orientation of the end effector during the trajectory is along the line of gravity, the weight of the effector is perceived equivalent to "touching against an object" and the controller terminates.

Possible Solution : The force perceived at the the sensors can be computed as a function of joint angles and subtracted accordingly to make a temporary calibration (tare).

@mkoval
Copy link
Member

mkoval commented Oct 17, 2016

It is difficult to make that type of compensation work to any reasonable degree of accuracy in practice. There are two effects that corrupt the measurement of external forces on the end-effector: the force (1) accelerating the mass of the end-effector and (2) of gravity on the end-effector.

Assuming the end-effector is moving at a roughly constant velocity, then (1) is insignificant. If the end effector maintains a fixed orientation with respect to gravity, then (2) is an additive offset that remains constant over the whole trajectory. Under these assumptions, you just need to re-tare the sensor before executing a move-until-touch action. This is historically what we've done on HERB.

Note that "taring the sensor" could be as simple as measuring the measured wrench for a short period of time before starting the trajectory. You only need to use the hardware tare command, which is quite slow, if an axis was saturated after the last tare.

In any case, I'd be interested to hear if you get a better version of the model-based gravity compensation working - feel free to ping me if you plan to do this. We have better tools (an accurate inertial model, DART to do forward dynamics, and the ability to integrate into the real-time control loop) now than last time I tried, so perhaps it's a good time to revisit the idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants