Loads calibration file if it exists#1326
Loads calibration file if it exists#1326jccalvojackson wants to merge 2 commits intohuggingface:mainfrom
Conversation
|
Hi @jccalvojackson, I agree :) Although this may be a PR that the team would like to integrate as-is, a few of us have also been talking about possibly greater changes. Would you like to be a part of those discussions? Ref #1145 |
aefbd91 to
a7bbdc0
Compare
Happy to participate in that discussion, I would love to see a different way of handling configurations. However, I do think this issue is slightly unrelated because as of now this logic would hold irrespective of how this calibration attribute was passed into the robot/teleoperator. |
a7bbdc0 to
4c802b0
Compare
4c802b0 to
8a61a1d
Compare
|
Hi @jccalvojackson, Thanks for the PR and for signaling this issue ! I believe the problem you encountered was resolved in #1528. Could you confirm it indeed solves the calibration issue on your side ? ;) Best, Caroline. |
Can't check now, but yeah, is the same idea |
|
addressed by #1528 |
What this does
In this hackathon a problem arised when lending each other's arms. Say I have my calibrated arm and lend it to a friend. Since he doesn't have my calibration files (or doesn't put them in the right place 🙃) he will do a new calibration. When I get back my arm, even though I have calibration files which I would like to use by default, lerobot triggers recalibration. This is because the definition of calibrated is whether the values in the bus match those in the file. Hence, from this definition, calibrate should also be to just write to the bus the current values in the file if available.
So, I propose the following change
to
Alternative
I see there is a fair amount of repetition among the robots and teleoperators that use a bus. I'm all in favor of being explicit rather than to have less code but also less clarity. Another option would have been to have some BusMixin or something.
How it was tested
Added above change and my arm used the loaded file instead of triggering interactive calibration
How to checkout & try? (for the reviewer)
Change some value on the calibration file and then connect to the robot. Instead of prompting to recalibrate, if should just write to the bus the new value.