Add non-fixed plane parameters in gurobi optimization #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds the separation plane parameters as optimization variables in Gurobi optimization, thanks to the new Gurobi 9.1 capable of solving non-convex quadratic constraints. It is tested in Ubuntu 18.04 ROS Melodic, with Gurobi 9.1.2.
I have also added a parameter
use_linear_collision_constraint
to disable/enable using the plane variables in the optimization. When set to true (which is by default), the algorithm works exactly as before.Performance: using nonconvex quadratic constraints in Gurobi shows significant increase in computation time (~80ms as compared to ~15ms in the single agent random forest test) and a drop in success rate (<80% in the single agent random forest test).
I have also added some printout (commented by default) which can help to evaluate the performance of the optimization.
Hope this is useful.