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

LuGre friction model implementation #97

Merged
merged 20 commits into from
Dec 5, 2024

Conversation

ale-git
Copy link
Contributor

@ale-git ale-git commented Oct 22, 2024

The LuGre friction model has been implemented in SImulink, ready for automatic code generation.
The output code is included in icub-firmware to add sensorless torque estimation capabilities to the control boards.

@pattacini
Copy link
Member

Thanks @ale-git for the contribution 👍🏻
I'll be reviewing the PR in the next few days.

@pattacini

This comment was marked as off-topic.

Copy link
Member

@pattacini pattacini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ale-git

Before merging this PR, we need to address several points.

Documentation

  • The state equations is not correct.
  • Missing details on $g\left(v\right)$.
  • It'd be appropriate to cite a paper on LuGre, e.g. DOI: 10.1109/mcs.2008.929425.
  • Nothing is said about how to tune the LuGre params. This is fundamental to make it usable.

Implementation

  • Especially when a dynamic is at stake, it's much better to resort to Simulink rather than MATLAB code. We already have an internal LuGre implementation in Simulink that I can refer you to1.
  • Most of the time $\sigma_1$ is related to $\sigma_0$, as illustrated in the paper I cited above.
  • The model interface can be improved.

MATLAB Project

The project has to be fine-tuned, although this is the very last thing.


I propose to set up a meeting for this 🗓️

Footnotes

  1. It looks like this in Physical signals but can be ported back to original Simulink signals very easily:

    image

@ale-git
Copy link
Contributor Author

ale-git commented Oct 29, 2024

I committed the wrong README.md file, whose right version was deleted instead (fixed).
I also added a couple figures.

@pattacini
Copy link
Member

Any update on this?

@ale-git
Copy link
Contributor Author

ale-git commented Nov 6, 2024

I've added the Simulink-block made torque estimator to the model.
image

@pattacini
Copy link
Member

Great!
There were other things to address we discussed last week.
I'll give the PR the last touch when the work is complete.

@pattacini
Copy link
Member

Hi @ale-git

We still need to address the following important point:

Nothing is said about how to tune the LuGre params. This is fundamental to make it usable.

Added ErgoCub medium joint calibration data example.
Time sequence corrected in the experimental data.
@pattacini pattacini marked this pull request as draft December 3, 2024 08:21
Copy link
Member

@pattacini pattacini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @ale-git

Thanks for the notes on how to tune the params.
I've dropped some inline suggestions you may incorporate straight away.

A couple of important points though:

  • Nothing is said about the math underlying the brute force estimation. I think that we ought to outline the principle beneath at least, in a brief paragraph.
  • I would report the measurement units along with the values.

sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/README.md Outdated Show resolved Hide resolved
sensorless_torque/assets/Output.png Outdated Show resolved Hide resolved
@ale-git
Copy link
Contributor Author

ale-git commented Dec 5, 2024

I've made the requested changes

@ale-git ale-git marked this pull request as ready for review December 5, 2024 10:11
Copy link
Member

@pattacini pattacini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@pattacini pattacini merged commit 450401d into robotology:devel Dec 5, 2024
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

Successfully merging this pull request may close these issues.

2 participants