GithubHelp home page GithubHelp logo

Comments (6)

ZbyLGsc avatar ZbyLGsc commented on July 26, 2024

These are basic mathematics of B-spline.
For a 3-degree B-spline with N segments, there are N+3 control points, which answers your second questions.

As for the the first question, for a 3-degree B-spline the start and end state (0,1,2 order derivatives) are uniquely determined by the first and last 3 control points. The matrix state2pts is the relation between the state and control points.
You may check the paper "General matrix representations for b-splines" for the derivation.

from fast-planner.

ZbyLGsc avatar ZbyLGsc commented on July 26, 2024

@WangChanglong17

from fast-planner.

WangChanglong17 avatar WangChanglong17 commented on July 26, 2024

I know that the start and end state are uniquely determined by the first and last 3 control points. So that yaw.block(seg_num, 0, 3, 1) = states2pts * start_yaw is an initialization? But after being optimized,
this initialization seems meaningless, because 1/6(yaw(0) + 4yaw(1) + yaw(2)) should be constrained to waypoints_(0) which is not equal to start_yaw. this is confusing.

from fast-planner.

ZbyLGsc avatar ZbyLGsc commented on July 26, 2024

No, the first and last 3 points remain fixed throughout the optimization, so the boundary state will not be changed.

from fast-planner.

ZbyLGsc avatar ZbyLGsc commented on July 26, 2024

Actually the first and last waypoint constraints take no effect.
In the code I do add them into the cost function, just for convenience of implementation.
But since the first and last 3 control points are already fixed, the optimization will not change them.
The associated cost of waypoints_(0) remains a constant term.

from fast-planner.

WangChanglong17 avatar WangChanglong17 commented on July 26, 2024

thanks very much for your reply. Now I understand. Great work!

from fast-planner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.