Skip to content

feat: add convex tricycle speed scaling#2149

Open
thedevmystic wants to merge 4 commits intoros-controls:masterfrom
thedevmystic:tricycle-convex-scaling
Open

feat: add convex tricycle speed scaling#2149
thedevmystic wants to merge 4 commits intoros-controls:masterfrom
thedevmystic:tricycle-convex-scaling

Conversation

@thedevmystic
Copy link
Contributor

Hello, respected maintainers and reviewers!
This is Surya!

This PR addresses:

  • add convex speed scaling in tricycle controller.

now, the scale factor is smooth out instead of being janky!

@codecov
Copy link

codecov bot commented Feb 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.83%. Comparing base (f72f813) to head (83bb308).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2149      +/-   ##
==========================================
+ Coverage   84.79%   84.83%   +0.03%     
==========================================
  Files         151      151              
  Lines       14833    14864      +31     
  Branches     1286     1286              
==========================================
+ Hits        12578    12610      +32     
+ Misses       1784     1783       -1     
  Partials      471      471              
Flag Coverage Δ
unittests 84.83% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
tricycle_controller/src/tricycle_controller.cpp 64.87% <100.00%> (+0.56%) ⬆️
...cycle_controller/test/test_tricycle_controller.cpp 91.72% <100.00%> (+2.15%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Member

@saikishor saikishor left a comment

Choose a reason for hiding this comment

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

Can you add a test verifying the same? I'll need to check math once again.

And if possible add some plots on how it is smoothed out.

Copy link
Member

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

As we mentioned, this controller is going to be deprecated. Better work on an enhancement in the steering_controller_library, where I already have ported this feature

@thedevmystic
Copy link
Contributor Author

Well, I didn't knew it was going to be deprecated. But I've already finished the work on this. Well we can complete the TODO and deprecate it, can't we? Because tricycle_controller is still not deprecated if I'm right.

Anyways, this is the data.

new_vs_old

old vs New

exponents_comparison

different exponential powers

Again, @christophfroehlich, I didn't knew about the depreciation, but take a look at it :)

@christophfroehlich
Copy link
Member

Again, @christophfroehlich, I didn't knew about the depreciation, but take a look at it :)

I haven't deprecated it until #1695 is merged. You can help to leave a review there.

As this is kind of a behavior change, I'm unsure if we should merge this into tricycle_controller; or at least don't backport it to the stable branches.

@thedevmystic
Copy link
Contributor Author

Well I can advise one thing, if tricycle_controller is going to deprecated very soon, then we shouldn't merge it. But if tricycle_controller is going to be around for some more time, then there is no bad thing to merge this, as it completes the TODO.

That's just my thoughts :)

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.

3 participants