1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
"""Raw constraint buffer or reference proxy.
``Constraints`` can be constructed independently for TOPP-only workflows,
or obtained from ``robot.constraints`` when a ``Robot`` also owns path
derivative data and torque limits. Independent constraints use the same
point-mass-backed storage path as ``Robot``.
"""
:
"""Robot/path dimension."""
:
"""Number of stored station samples."""
:
"""Allocated station-buffer capacity."""
:
"""Whether no station samples are stored."""
:
"""Active global station-id range ``(idx_s_start, idx_s_end)``."""
"""Construct an independent raw constraint buffer.
Parameters
----------
dim:
Positive robot/path dimension.
capacity:
Optional initial station-buffer capacity.
"""
...
"""Append a strictly increasing station grid segment.
``s`` may be any one-dimensional ArrayLike value convertible to
``float64``. If the buffer already contains stations, ``s[0]`` must be
greater than the current last stored station.
"""
...
"""Return stored station values over ``[idx_s_from, idx_s_to)``."""
...
"""Return first-order upper bounds over ``[idx_s_from, idx_s_to)``."""
...
"""Overwrite first-order upper bounds from ``idx_s``.
``amax`` must be convertible to a one-dimensional ``float64`` array
whose length fits the stored station interval.
"""
...
"""Clear all stored constraints and, unless requested, station data."""
...
"""Remove ``n_cols`` station samples from the front."""
...
"""Remove ``n_cols`` station samples from the back."""
...
"""Remove front samples until the kept window starts at ``idx_s_cut``."""
...
"""Remove back samples until the kept window ends before ``idx_s_cut``."""
...
"""Add or tighten raw first-order upper-bound rows."""
...
"""Add raw second-order rows ``acc_a * a + acc_b * b <= acc_max``.
``is_negative=True`` forwards the Rust sign-flip mode used when
constructing lower-bound rows from the same expression.
"""
...
"""Add raw third-order jerk rows.
Rows follow the Rust constraint model
``sqrt(a) * (jerk_a*a + jerk_b*b + jerk_c*c + jerk_d) <= jerk_max``.
``is_negative=True`` forwards the Rust sign-flip mode.
"""
...