{"id":22421910,"url":"https://github.com/auralius/lugre","last_synced_at":"2025-08-01T06:30:50.816Z","repository":{"id":48949869,"uuid":"83699205","full_name":"auralius/LuGre","owner":"auralius","description":"A full reconstruction of the paper: A new model for control systems with friction (Canudas de Wit et al., 1995, IEEE Transactions on Automatic Control)","archived":false,"fork":false,"pushed_at":"2023-02-13T18:10:42.000Z","size":3007,"stargazers_count":33,"open_issues_count":0,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-08T06:39:10.392Z","etag":null,"topics":["friction","lugre","matlab","modeling","ode","paper-reproduction","pid-control"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/auralius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-03-02T16:24:20.000Z","updated_at":"2024-10-29T05:30:09.000Z","dependencies_parsed_at":"2022-09-08T18:00:33.941Z","dependency_job_id":null,"html_url":"https://github.com/auralius/LuGre","commit_stats":{"total_commits":40,"total_committers":4,"mean_commits":10.0,"dds":0.65,"last_synced_commit":"1b72c621d0facd2106a27d75734fe8026a40ab89"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auralius%2FLuGre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auralius%2FLuGre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auralius%2FLuGre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/auralius%2FLuGre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/auralius","download_url":"https://codeload.github.com/auralius/LuGre/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228339326,"owners_count":17904513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["friction","lugre","matlab","modeling","ode","paper-reproduction","pid-control"],"created_at":"2024-12-05T17:10:00.952Z","updated_at":"2024-12-05T17:10:01.638Z","avatar_url":"https://github.com/auralius.png","language":"MATLAB","readme":"[![View LuGre friction model in MATLAB on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/84792-lugre-friction-model-in-matlab)\n\n\nGNU Octave version: https://github.com/auralius/LuGre/tree/octave\n\n\n\nThis is a *full reconstruction* of the paper: **A new model for control systems with friction** by Canudas de Wit et al. The paper was published in 1995 (IEEE Transactions on Automatic Control). It can be found in the following link: https://ieeexplore.ieee.org/document/376053  \n\nIn this repository, there are 3 main m-files:\n\n2. demo2.m\n\nHere, we use the built-in MATLAB solver: ode23s. This solver is designed for a stiff system. In order to use MATLAB built-in solver, the problem must be first formalized. Plese see the PDF file [here](./problem_formalization.pdf).\n\n3. demo3.m\n\nThis is an additional simulation to demonstrate the friction observer. This is not shown in the paper. Basically, this is the numerical simulation of section V.B, for position control with a unit-step input.\n\n4. demo4.m \n\nThis shows optimally tuned PI and velocity gain without the friction observer. The performance is superior to the friction observer with poorly tuned PI and velocity gains.\n\n-------------------------------\n\nNot shown in the paper. Run demo2.\n\n![fig1](fig1.png)\n\n-------------------------------\n\nNot shown in the paper. Run demo2.\n\n![fig2](fig2.png)\n\n-------------------------------\n\nFig. 3 of the paper. Run demo2.\n\n![fig3](fig3.png)\n\n-------------------------------\n\nFig. 2 of the paper. Run demo2.\n\n![fig4](fig4.png)\n\n-------------------------------\n\nFig. 6 of the paper. Run demo2.\n\n![fig5](fig5.png)\n\n-------------------------------\n\nFig. 4 of the paper. Run demo2.\n\n![fig6](fig6.png)\n\n-------------------------------\n\nFig. 8 of the paper. Run demo2.\n\n![fig6](fig7.png)\n\n-------------------------------\n\nNot shown in the paper. Run demo3.\n\n![fig6](fig8.png)\n\n-------------------------------\n\nNote that if the PI and velocity gains are optimally tuned, then the performance is better than the friction observer. Rise time is smaller and overshoot is smaller. This model is generally easier to tune. Run demo4.\n\n![fig6](fig9.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauralius%2Flugre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauralius%2Flugre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauralius%2Flugre/lists"}