Uploaded September 2013 | Updated September 2026, 3 hours ago
Learning to use google ceres solver (code.google.com/p/ceres-solver/). An initial bezier curve may pass through some randomly placed obstacles and then the solver tries to both minimize the error resulting from intersecting an obstacle and minimize the overall path length by moving the bezier control points around.
The white line is the initial curve, the green line is the solution Ceres found, and the grey squares are the obstacles. The control points also have lines drawn between them.
It doesn't always work that well, and some refinements could probably improve it, and also using bezier control points probably isn't as good as just moving the path itself around directly (though the curve smoother).
The source code to this is GPL and located here: github.com/lucasw/bezier_solve
The music is Kevin MacLeod 'Blipotron' and is Royalty-free/Creative Commons Attribution. See incompetech.com
Learning to use google ceres solver (code.google.com/p/ceres-solver/). An initial bezier curve may pass through some randomly placed obstacles and then the solver tries to both minimize the error resulting from intersecting an obstacle and minimize the overall path length by moving the bezier control points around.
The white line is the initial curve, the green line is the solution Ceres found, and the grey squares are the obstacles. The control points also have lines drawn between them.
It doesn't always work that well, and some refinements could probably improve it, and also using bezier control points probably isn't as good as just moving the path itself around directly (though the curve smoother).
The source code to this is GPL and located here: github.com/lucasw/bezier_solve
The music is Kevin MacLeod 'Blipotron' and is Royalty-free/Creative Commons Attribution. See incompetech.com










