2010-12-06 4 views
13

약간의 배경. 나는 1 차원 궤적에 3 차 스플라인을 사용하는 시뮬레이션을 사용합니다. 이 문맥에서 3 차 스플라인은 시간의 함수로서 객체의 위치, 속도, 가속도 및 저크를 지정합니다.3 차 스플라인 궤도 생성을위한 라이브러리 (보간법이 아님)?

당신은 할 경우 위치, 속도, 가속도, 그리고 시간 최대 및 최소 속도 가속에

  • 일정 값의 제한, 그리고 바보
  • 에 대한

    • 초기 및 최종 값을

    고유 한 스플라인이 있습니다. 마지막 시간을 지정하지 않고 최소 시간 궤적을 원하면 고유 한 스플라인이 있습니다.

    실제로 이러한 스플라인을 찾는 것이 왕실의 고통 일 수 있습니다. 시간이 지정된 경우 스플라인은 최대 7 개의 다항식으로 구성되며 매듭 점 (다항식 사이의 전환점)은 미리 알 수 없습니다.

    이것은 스플라인을 데이터 세트에 맞추는 일반적인 경우가 아니며 경계 조건 및 몇 가지 추가 제약 조건에서 스플라인을 생성합니다. 나는 사람들이 유사한 배열을 사용하고 유사한 요구를 가지고있는 논문을 읽었지만 이런 종류의 스플라인을 생성하는 라이브러리 (또는 심지어 소스 코드)를 찾지 못했습니다. 대부분의 경우를 처리하는 코드를 작성했지만 매우 강력하거나 빠르지는 않습니다. 나는 그것이 빠르다고 걱정하지 않지만 더 견고 할 것입니다.

    사용할 수있는 라이브러리가 있습니까? 라이브러리로 구축되지 않은 오픈 소스 코드 C, C++, Java 또는 Python이 선호되지만 공개 소스 인 경우 다른 언어가 여전히 유용 할 수 있습니다.

    +1

    나는 당신이 어떤 제약을 최소화 알고리즘, 또는 (당신이 설명하는 두 경우에 따라) 일부 다차원 루트 발견을 사용하여, 스스로를해야 될 것 같아요. 이것은 특히 어렵지는 않지만, 당신이 튼튼한 것을 원한다면 당신은 낯선 사람의 눈에서 크게 이익을 얻을 수 있습니다.구현 한 내용을보다 정확하게 알려줄 수 있습니까? –

    +0

    귀하의 접근 방식이 일반적인 CAM과 다른 점을 말씀해 주실 수 있습니까? 예 : http://homepages.laas.fr/xbroquer/publications/ICRA10.pdf –

    +0

    아직도 관심이 있으십니까? 질문에 대답하고 답변을 수정하여 접근법을 개선 할 수 있습니까? –

    답변

    1

    오픈 소스 인 C++ 용 부스트 라이브러리가 있으며 중간에 위치 할 수도 있습니다.

    내 생각에는 (Legrendre/Laguerre/Hermite 다항식, 루트 찾기 등 ...) 기본 블록이 모두 있습니다.하지만 실제로는 스플라인 계산에 부족합니다.

    당신이 직접 확인할 수 있도록 라이브러리 문서는 여기에 있습니다 : 나는 당신이 말하는 이유는 확실하지 않다 ... http://www.boost.org/doc/libs/1_45_0/libs/math/doc/html/index.html

    0

    SciPy's interpolation functions 도움이 될 ... 게다가 당신은 쉽게 그 스플라인의 파생 상품 또는 적분을 얻을 수 있습니다 "보간법이 아님"... 그것은 당신이 성취하고자하는 것 같아요.

    +0

    아니요. 보간 할 데이터가 없습니다. –

    +0

    스플라인을 점에 맞추는 것이 보간법이 아닙니까? – Benjamin

    +0

    도표를 참조하십시오 : http://en.wikipedia.org/wiki/Jerk_%28physics%29. OP는 스플라인이 통과해야하는 점을 찾고 싶어합니다. –

    1

    스플라인 문제는 조건을 해결하기 위해 연립 선형 방정식을 풀어야한다는 것입니다. 상황에 따라 파생 상품 중 일부에 대한 추가 정보가 있으면 Piecewise Cubic Hermite 보간 (PCHIP)을 사용할 수 있습니다.

    예를 들어, 저크가 0이어야 함을 정의하는 대신 다른 제약 조건을 생각해 내고 PCHIP를 사용하고 탐욕스럽게 문제를 해결할 수 있습니다. 어쨌든, 이번에는 사용할 수 없더라도 기억해야 할 부분입니다.

    http://www.mathworks.com/moler/interp.pdf

    관련 문제