-
Notifications
You must be signed in to change notification settings - Fork 224
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
Feasibility and constraints #84
Comments
I think this is a confusing definition of Please check whether |
Sorry for the delayed response. Yes this seems to work, I don't get When I run some example code with segment_times large i.e. If I run the same code but set the The vertexes for my trajectory: (0,0,2), (2,2,2), (-2,2,2), (-2,-2,-2), (0,0,2). |
They default to soft constraints. By setting the use_soft_constraints=false nlopt uses hard constraints. Also the time alloc parameter must be set properly to minimize time. However, when I use hard constraints the optimization still converges with infeasible velocities even though I have them constrained. My setup is basically the same as the tutorial. Any ideas? |
According to the paper by Burri M. et al. 2015. "Also, it turned out in practical experiments that adding inequality constraints increases the number of necessary iterations significantly and the optimizer does not always respect the constraints." Also from the paper by Richter C. et al. 2016. "Due to the non-convexity of the feasible set in flat output space, the optimization So there is no guarantee of feasibility regardless of soft or hard constraints. Is that correct? In my particular application I need trajectories to be feasible. I have tried using the suggestion by Richter by just ignoring the feasibility constraints and adjust the segment times afterwards to become feasible but because my trajectory's first vertex depends on the previous feasible trajectory this constraint needs to be withheld and adjusting the time changes that. I have also tried various parameter settings by lowering time penalty and increasing the soft constraint weight but can't get anything to be consistently feasible. Also adjusting time allocation parameter doesn't help either (using kRichterTimeAndConstraint and kSquaredTimeAndConstraints). I have only tried a few parameter options, but can anyone comment on how easy it is to tune the optimization parameters for feasibility or comment on a methodology to do so? One thing I should mention is that my vertexes are fairly spread out. For example it is not uncommon for me to use vertexes like this: constraints: constraints: constraints: constraints: constraints: I also use the setup:
--- optimization info --- The segment[0] isInfeasibleVelocity. So as you can see even though clearly my soft constraints are not being met my optimization is converging. Lastly, my questions are:
|
I am confused about input feasibility and constraints that you can specify for a 3 dimensional trajectory.
For example I can get infeasibility if I have the following set up:
now If I check the input_feasibility for my generated trajectory via:
I get
isInfeasibleThrustHigh
when I check all my segments.I think this has something to do with how I setting my
segment_times
to all be 2 secs. So my question is: issegment_times
a constraint that overcomes the velocity and accel constraints viaaddMaximumMagnitudeConstraint
that I set.FYI, In my application I need to specify the timing so setting
segment_times
is necessary. Any insight is greatly appreciated.The text was updated successfully, but these errors were encountered: