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

new edges for carlike robots #105

Open
wants to merge 1 commit into
base: kinetic-devel
Choose a base branch
from

Conversation

loewt
Copy link

@loewt loewt commented Nov 8, 2018

EdgeAcceleration: limitation of steering rate
EdgeKinematics: limitation steering angle
EdgeInflatedObstacle: squared decay for inflation radius, high cost for min obstacle distance
EdgeVelocity: penalty for omega, if leading to a smaller turning radius than possible

@croesmann
Copy link
Member

Hi @loewt,

thanks a lot for this pull request. Unfortunately, I can't merge this because it contains a lot of formatting stuff that can cause conflicts with other changes. There are also some other issues in the code that need to be resolved. But before I review the code, could you tell me if you are are still working with the planner and if you have time recreate the pull request with only the relevant changes? Otherwise, I could only examine the edge changes and see what we might able to add.

@loewt
Copy link
Author

loewt commented May 9, 2019

Hi @croesmann,

yes the planner is still being used, though I am currently not actively working on it.
But I could have a look at those edges again to make the pull request conform with the formatting style.

In general the only fundamental changes are in the edges. The rest is just following those changes, since for some edges the dimension has changed.

@LotfiZ
Copy link

LotfiZ commented Nov 24, 2021

Hi all, i know that is quite old but i have a question concerning the acceleration edge for limiting the steering rate, from the snippet code we have :

        const double omega1 = _measurement->angular.z;
        const double omega2 = angle_diff / dt->dt();
        const double acc_rot = (omega2 - omega1) / dt->dt();

        _error[1] = penaltyBoundToInterval(acc_rot, cfg_->robot.acc_lim_theta, cfg_->optim.penalty_epsilon);

        const double steering_angle1 = _measurement->angular.z;
        const double steering_angle2 = std::atan(cfg_->robot.wheelbase / (vel2 / omega2));
        const double steering_rate = (steering_angle2 - steering_angle1) / dt->dt();`

we notice here that const double omega1 = _measurement->angular.z; and const double steering_angle1 = _measurement->angular.z;takes the same measurement that is the angular velocity but in the case of a steering angle1 we need obviously a steering angle and not an angular velocity.

@loewt can you explain me that please ? thank you

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