Particle dynamics

I model a particle in three-dimensional space.

Particle Interpolation

{0} The particle begins at time t0 from a known position P0 with velocity V0. The speed is calculated using the previously known position P-1 at t-1.

{1} The particle is aimed at the transition to P1 at t1 with a known speed V1.

{..} The particle moves as fast as it can, without jerks (C1 continuous), connected by a set of constraints that clamp the acceleration along x, y and z independently. The maximum acceleration / deceleration along x, y and z are known and are Xa, Ya and Za. The maximum rate of change of acceleration along x, y, and z is defined as Xr, Yr, and Zr.

{n} After an unknown number of time steps, it reaches Pn at some point in time (for example, tn) with speed Vn.

{n + 1} It goes to Pn + 1 at tn + 1.

, P0 Pn . - , , .

:

  • {x, y z}, P0 Pn. . , - .

  • P0 Pn , Pn , . , .

/, , . , .

. P0 Pn .

+6
3

, , , , , . , , , . , : . , , , .

p[n] n- , v[n] , a[n] , j[n] - ( ). n- . , .

, p[0] p[n], v[0], t21. , n-1 n, , X, Y Z ( p[n]) , aMaxX, aMaxY aMaxZ jMaxX, jMaxY jMaxZ jerk.

, , p[i] i ∈ [1; n-1]. p[i] = p[i-1] + v[i], , v[i]. , v[i] = v[i-1] + a[i] a[i] = a[i-1] + j[i], , a[i] j[i].

a[0] a[n+1] .

, , , , . , aMax jMax, .

* [WIP] * , , , .

, - , P = p[n] - p[0]. R = [1; n] R* = [1; n+1].

- . , ∑{i∈R}(x[i]) x[i] i∈R.

Ⓐ ∑{i∈R}(v[i]) = P
Ⓑ ∑{i∈R}(a[i]) = v[n] - v[0]
Ⓧ ∑{i∈R*}(j[i]) = 0

Ⓧ , a[0] = a[n+1] = 0.
v[i] = v[i-1] + a[i], i∈R :

Ⓒ ∑{i∈R}((n+1-i)*a[i]) = P - n*v[0]

Ⓑ, Ⓒ a[i] = a[i-1] + j[i], i∈R :

Ⓨ ∑{i∈R}((n+1-i)*j[i]) = v[n] - v[0]
Ⓩ ∑{i∈R}(T[n+1-i]*j[i]) = P - n*v[0]

T[n] - n- , T[n] = n*(n+1)/2.

Ⓧ, Ⓨ Ⓩ .

n, n (1, 2?) . , max{i∈R}(abs(a[i])) > aMax max{i∈R}(abs(j[i])) > jMax, n .

* [WIP] * n, n. n .

j[i] i∈R*. j[i], j*[i], r[i] s[i] , j[i] = j*[i] + r[i]v[0] + s[i]v[n]
.

* [WIP] * j[i]

, n-1 (j[i], i∈R, , j[n+1] = -∑{i∈R}(j[i])) 3(n-1) . , Ⓧ, Ⓨ Ⓩ.

∑{i∈R*}(r[i]) = 0
∑{i∈R*}(s[i]) = 0
∑{i∈R}((n+1-i)*r[i]) = -1
∑{i∈R}((n+1-i)*s[i]) = 1
∑{i∈R}(T(n+1-i)*r[i]) = -n
∑{i∈R}(T(n+1-i)*s[i]) = 0

, Ⓧ, Ⓨ Ⓩ.

Ⓧ ∑{i∈R*}(j[i]) + j[n+1] = 0
Ⓨ ∑{i∈R}((n+1-i)*j[i]) = v[n] - v[0]
Ⓩ ∑{i∈R}(T[n+1-i]*j[i]) = P - n*v[0]

, , .

v[0] = v[n] = 0

, , j[i], i∈R* , . , .

, , , , 5 5. , 4- . , v[0] v[n] , a[0] = a[n+1] = 0 [0; n] P, 4. , dicrete , , , , .

, , , .

Curve example for position, speed, acceleration and jerk

, n, p[0], p[n], v[0] v[n] ( ).

a = (-3(v[n]+v[0]) + 6(p[n]-p[0])) / n^5
b = (n(7v[n]+8v[0]) - 15(p[n]-p[0])) / n^4
c = (-n(4v[n]+6v[0]) + 10(p[n]-p[0])) / n^3
p[x] = ax^5 + bx^4 + cx^3 + v[0]x + p[0]

v[0] = v[n] = 0, j[i] = j*[i], i∈R*. , j*[i] . α, β γ , Ⓟ .

Ⓟ j*[i] = αi^2 + βi + γ, i∈R*

Ⓧ, Ⓨ Ⓩ .

α*∑{i∈R*}(i^2) + β*∑{i∈R*}(i) + c*∑{i∈R*}(1) = 0
α*∑{i∈R}((n+1-i)*i^2) + β*∑{i∈R}((n+1-i)*i) + c*∑{i∈R}(n+1-i) = 0
α*∑{i∈R}(T(n+1-i)*i^2) + β*∑{i∈R}(T(n+1-i)*i) + c*∑{i∈R}(T(n+1-i)) = P

α, β γ, Ⓟ j*[i], i∈R*. , j*[i] = j*[n+2-i], .

v[0] = v[n] = 1/n

v[0] = v[n] = 1/n, j[i] = 0, i∈R*. , Ⓠ .

Ⓠ r[i] + s[i] = -n*j[i], i∈R*

v[0] = 0, j[i∈L] = J, j[h] = 0, j[i∈U] = -J

L U R*, h - , n+1 . :

if n is odd:
L = [1; (n+1)/2]
U = [(n+3)/2; n+1]
if n is even:
L = [1; n/2]
h = n/2+1
U = [n/2+2; n]

p[0] p[n] abs(j[i]), i∈R*. Ⓩ .

∑{i∈R}(T[n+1-i]*j[i]) = P
∑{i∈L}(T[n+1-i])*j[1] + ∑{i∈U}(T[n+1-i])*j[n+1] = P
j[1] = P / [ ∑{i∈L}(T[n+1-i]) - ∑{i∈U}(T[n+1-i]) ]

j[1], j[i], i∈R*. v[n] Ⓨ.

v[0], v[n] P αj*[i] + βr[i] + γs[i] = δ.
( , , ), , j*[i], r[i] s[i] i∈R*.

n j[i] v[0], v[n] P. , , n . , , , , n.

+3

, (P0, V0), V0 = P0 - P-1 (Pn, Vn), Vn = Pn - Pn-1, , .

ti: Ai = Vi - Vi-1, abs(Ai) <= mA. , , abs ( ), mA - , . , Pn > P0 ().

Vi = Vi-1 + Ai Pi = Pi-1 + Vi-1 + Ai.

- , , , , . , Vn, , , .

, . , , ( 3D, " " ).

. (P0, V0) = (0, -2) (Pn, Vn) = (35, -1), mA = 1.
Ai = mA :

(0, -2) -> (-1, -1) -> (-1, 0) -> (0, 1) -> (2, 2) ->
(5, 3) -> (9, 4) -> (14, 5) -> (20, 6) -> (27, 7) -> ...

Ai = -mA, , :

(35, -1) <- (36, 0) <- (36, 1) <- (35, 2) <- (33, 3) <-
(30, 4) <- (26, 5) <- (21, 6) <- (15, 7) <- ...

, - 20 21. , , . , ; Pq Pr. Pq = (20, 6) Pr = (21, 6). , Pq (Pq-1 (14, 5) ) Pr .

Pq >= Pr >= Pq - 2mA, , Pq-1 Pr Vr = Pr - Pq-1.

, Pq-2 Pr-1 ( Vr-1 = Vr - mA, ) , . mA, Vs, Vq-2 <= Vs <= Vr-1.

, Pq-3 Pr-2 .

, , Pq < Pr, Pq-2 = (9, 4) Pr-1 = (26, 5). , (9, 4) -> (13, 4) -> (17, 4) -> (21, 4) -> (26, 5).

, P0 Pn.

, , , .

+5

:

X (n) = X start + Vx start n + (-6x start + 3Vx start + 6x end -3Vx end + c/2) n ^ 2 + (8x start + 3Vx start -8x end + 5Vx end -c) n ^ 3 + (-3X start -Vx start + 3x end -2Vx end + c/2) n ^ 4

( X, Y, Z)

, , c = 3 :

xstart = 1, vstart = 1, xend = 3, vstart = -2, :

X (n) = 1 + n + 16 n ^ 2 -25 n ^ 3 + 10 n ^ 4

enter image description here

xstart = -4, vstart = -4, xend = 4, vend = 0, :

(- 4 -4n + 61n ^ 2 -78n ^ 3 + 29yn ^ 4)

enter image description here

c - 0,1 5, , c , (, , , c > 4). (. ).

: a = x0, b = v0, c = xe, d = v2, e =

enter image description here

Nelfeal , , .

, P [last] -P [0], 1.

(, ) , .

, 1, 1,

𝒇, :

  • 𝒇 (0) = 0 𝒇 (1) = 1
  • 𝒇 '(0) = 0 𝒇' (1) = 0
  • x∈ℝ | 𝒇 '' (x) | < c, c -

P (X) = Σ {i∈ℕ} A i X i

P '(X) = Σ {i∈ℕ} (i + 1) A + 1 X i

P '' (X) = Σ {i∈ℕ} (i + 2) (i + 1) A + 2 X i

:

  • P (0) = 0
  • P (1) = 1
  • P '(0) = 0
  • P '(1) = 0
  • -c <= P '' (x) <= c

, :

a 0= 0 ( 1.) a 1= 0 ( 3.)

P (1) = Σ {i∈ℕ} A i= 1

P '(1) = Σ {i∈ℕ} (i + 1) A i= 0

P '' (x) = Σ {i∈ℕ} (i + 2) (i + 1) A i X i [-c, c ]

, , P (1) = c.

, , .

3x3 :

P (x) = (c/2 + 6) x ^ 2 - (c + 8) x ^ 3 + (c/2 + 3) x ^ 4

c = 0,15 :

enter image description here

c = 1 :

enter image description here

c = 4 :

enter image description here

c 0,1 6, :

enter image description here

Please note that we have solved this for degree 4 polynomials, but you can do the same with higher degrees (up to 10 if you want) to get more features in your functions.

+1
source

All Articles