Skip to content

feat: add min_vel_theta_spin for pure spin turn#116

Closed
Nisarg236 wants to merge 1 commit into
develfrom
nisarg/add_min_vel_theta_spin
Closed

feat: add min_vel_theta_spin for pure spin turn#116
Nisarg236 wants to merge 1 commit into
develfrom
nisarg/add_min_vel_theta_spin

Conversation

@Nisarg236

@Nisarg236 Nisarg236 commented Jun 16, 2026

Copy link
Copy Markdown
Member

AB#115379
currently we have max_vel_theta_spin param for in place turn behaviour. Adding a separate min_vel_theta_spin param for this will make the robot spin faster and reach max_vel_theta_spin often.

@ChristofDubs ChristofDubs left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hmm so the question is why doesn't it reach max_vel_theta without this change? Because this PR just adds more constraints on sampled trajectories; it doesn't add any new ones?

@Nisarg236

Nisarg236 commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

Hmm so the question is why doesn't it reach max_vel_theta without this change? Because this PR just adds more constraints on sampled trajectories; it doesn't add any new ones?

because it starts from 0 and slowly reaches max_vel_theta_spin and by the time it reaches, it has to slow down again, Or if the amount or rotation is small then it cannot reach. with this param I want to make it start from higher value to save some time.

@deeparaj24

deeparaj24 commented Jun 16, 2026

Copy link
Copy Markdown

@Nisarg236 Does'nt this cause overshoot when approaching the goal?

@Nisarg236

Nisarg236 commented Jun 16, 2026

Copy link
Copy Markdown
Member Author

@Nisarg236 Does'nt this cause overshoot when approaching the goal?

This only affects implace rotation after reaching x,y and small value like 0.3 should be fine as we have big enough yaw tolerances for the sootballs robot. I will do some more testing to find suitable value but it is good to have a separate param for this case.

@Nisarg236 Nisarg236 requested a review from ChristofDubs June 16, 2026 02:22

@ChristofDubs ChristofDubs left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

as discussed, it looks like just increasing existing limits_->min_vel_theta should yield the same result; so the question remains why the planner doesn't select faster spin without increasing this limit

// make sure that the robot would at least be moving with one of
// the required minimum velocities for translation and rotation (if set)
bool is_spin = vmag < 2.0 * limits_->min_vel_trans;
double eff_min_vel_theta = is_spin ? limits_->min_vel_theta_spin : limits_->min_vel_theta;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

as discussed, this is not required because vmag + eps < limits_->min_vel_trans already implies vmag < 2.0 * limits_->min_vel_trans so can simply just use limits_->min_vel_theta_spin directly

@Nisarg236 Nisarg236 marked this pull request as draft June 17, 2026 10:06
@Nisarg236 Nisarg236 closed this Jun 23, 2026
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.

4 participants