feat: add min_vel_theta_spin for pure spin turn#116
Conversation
ChristofDubs
left a comment
There was a problem hiding this comment.
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. |
|
@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. |
ChristofDubs
left a comment
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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
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.