Apparatuses and methods for classifying and/or controlling motion of an actuator
Provided herein are methods for classifying and/or controlling motion of an actuator. The concept is based on classifying potential motion states located within motion limits of the actuator as safe or unsafe based on one or more potential motion trajectories and motion state constraints. Then, a current motion state of the actuator may be determined, and the actuator may be controlled based on the actuator's current motion state and a grid of motion states classified as safe or unsafe.
1 . A method for controlling an actuator, comprising:
determining a grid of initial motion states, wherein each gridpoint of the grid represents an initial potential motion state, and each initial motion state is defined as a position-velocity-acceleration triplet located within motion limits of the actuator;
classifying each initial potential motion states of the grid as safe or unsafe by determining whether there exists a feasible jerk trajectory, starting from the initial motion state, that satisfies motion constraints on position, velocity, and acceleration, and jerk over a defined time horizon, wherein a safe state is one for which such a feasible trajectory exists, and an unsafe state is one for which no such trajectory exists;
determining a current motion state of the actuator; and
controlling the actuator based on the classification of the actuator's current motion state desired motion states as safe or unsafe, wherein unsafe states trigger execution of a predefined safety procedure.
2 . The method of claim 1 , wherein position∈[p min , p max ], velocity∈[v min , v max ], and acceleration∈[a min , a max ].
3 . The method of claim 2 , wherein, for each initial motion state of the grid, acceleration, velocity and jerk trajectories are computed by integrating their respective higher order derivatives.
4 . The method of claim 1 , wherein a jerk trajectory at time k is j[k] and p[0], v[0], a[0] defines an initial motion state within the grid, and wherein an acceleration of the actuator at time k+1 is computed according to:
a
[
k
+
1
]
=
a
[
k
]
+
j
[
k
]
·
Δ
t
a velocity of the actuator at time k+1 is computed according to:
v
[
k
+
1
]
=
v
[
k
]
+
a
[
k
]
·
Δ
t
+
1
2
·
j
[
k
]
·
Δ
t
2
a position of the actuator at time k+1 is computed according to:
p
[
k
+
1
]
=
p
[
k
]
+
v
[
k
]
·
Δ
t
+
1
2
·
a
[
k
]
·
Δ
t
2
+
1
6
·
j
[
k
]
·
Δ
t
3
.
5 . The method of claim 4 , wherein determining whether there exists a feasible jerk trajectory comprises determining whether the jerk trajectory at time k is within jerk limits, the acceleration trajectory at time k is within acceleration limits, the velocity trajectory at time k is within velocity limits, and the position trajectory at time k is within position limits.
6 . The method of claim 1 , wherein determining whether there exists a feasible jerk trajectory comprises determining whether there exists a jerk trajectory from an initial state of the initial grid to a final state, the jerk trajectory satisfying state constraints up to a terminal time.
7 . The method of claim 6 , wherein determining whether there exists a feasible jerk trajectory comprises determining a jerk trajectory that results in a time-optimum motion from the initial state of the initial grid to the final state.
8 . The method of claim 7 , wherein the final state at terminal time T satisfies
v
(
T
)
=
a
(
T
)
=
0
.
9 . The method of claim 1 , wherein the jerk trajectory at time k is determined according to j[k]∈{j min , j max , 0}.
10 . The method of claim 1 , wherein the jerk trajectory from k=0 to k=K−1 is represented as:
j
=
[
j
[
0
]
⋮
j
[
K
-
1
]
]
∈
ℝ
K
,
the acceleration trajectory from k=0 to k=K−1 is represented as:
a
=
a
[
0
]
·
︸
r
a
c
c
+
Δ
t
·
S
︸
A
a
c
c
·
j
,
the velocity trajectory from k=0 to k=K−1 is represented as:
v
=
v
[
0
]
·
+
a
[
0
]
·
Δ
t
·
S
·
︸
r
vel
+
Δ
t
2
·
S
·
(
1
2
S
+
1
)
︸
A
vel
·
j
,
the position trajectory from k=0 to k=K−1 is represented as;
p
=
p
[
0
]
·
+
v
[
0
]
·
Δ
t
·
S
·
+
1
2
a
[
0
]
·
Δ
t
2
·
S
+
a
[
0
]
·
Δ
t
2
·
S
·
S
·
︸
r
pos
+
Δ
t
3
·
(
S
·
S
+
S
+
1
6
I
)
·
S
︸
A
pos
·
j
,
wherein
S
∈
ℝ
K
×
K
is based on:
a
[
k
+
1
]
=
a
[
k
]
+
j
[
k
]
·
Δ
t
,
v
[
k
+
1
]
=
v
[
k
]
+
a
[
k
]
·
Δ
t
+
1
2
·
j
[
k
]
·
Δ
t
2
,
and
p
[
k
+
1
]
=
p
[
k
]
+
v
[
k
]
·
Δ
t
+
1
2
·
a
[
k
]
·
Δ
t
2
+
1
6
·
j
[
k
]
·
Δ
t
3
and
=
[
1
,
…
,
1
]
∈
ℝ
K
.
11 . The method of claim 10 , wherein determining whether there exists a feasible jerk trajectory comprises minimizing ∥r vel +A vel j∥ 2 +∥r acc +A acc j∥ 2 .
12 . The method of claim 11 , wherein determining whether there exists a feasible jerk trajectory is based on;
minimize
j
∈
ℝ
K
r
vel
+
A
vel
j
2
+
r
a
c
c
+
A
a
c
c
j
2
s
.
t
.
{
j
min
≤
j
≤
j
max
a
min
≤
r
acc
+
A
acc
j
≤
a
max
v
min
≤
r
vel
+
A
vel
j
≤
v
max
p
min
≤
r
pos
+
A
pos
j
≤
p
max
.
13 . The method of claim 1 , wherein determining whether there exists a feasible jerk trajectory comprises using a quadratically-constrained quadratic programming or conic quadratic programming algorithm.
14 . The method of claim 1 , wherein determining the actuator's current motion state comprises estimating, using one or more motion sensors, the actuator's current motion state.
15 . The method of claim 1 , wherein determining the actuator's current motion state comprises predicting the current motion state based on one or more previous motions states.
16 . The method of claim 1 , wherein controlling the actuator comprises comparing the actuator's current motion state and a desired subsequent motion state against the grid of motion states classified as safe or unsafe to determine whether the current and/or the desired subsequent motion state are safe or not.
17 . The method of claim 16 , wherein controlling the actuator comprises:
moving the actuator to the desired subsequent motion state if the actuator's current motion state and the desired subsequent motion state are classified as safe; or
executing a predefined safety procedure if the actuator's current motion state and/or the desired subsequent motion state are classified as unsafe.
18 . An apparatus for controlling an actuator, comprising circuitry configured to:
determine a grid of initial motion states, wherein each gridpoint of the grid represents an initial potential motion state, and each initial motion state is defined as a position-velocity-acceleration triplet located within motion limits of the actuator;
classify each initial potential motion states of the grid as safe or unsafe by determining whether there exists a feasible jerk trajectory, starting from the initial motion state, that satisfies motion constraints on position, velocity, and acceleration, and jerk over a defined time horizon, wherein a safe state is one for which such a feasible trajectory exists, and an unsafe state is one for which no such trajectory exists;
determine a current motion state of the actuator; and
control the actuator based on the classification of the actuator's current motion state and desired motion state as safe or unsafe, wherein unsafe states trigger execution of a predefined safety procedure.
19 . The apparatus of claim 18 , wherein determining whether there exists a feasible jerk trajectory comprises determining whether there exists a jerk trajectory from an initial state of the initial grid to a final state, the jerk trajectory satisfying state constraints up to a terminal time.
20 . The apparatus of claim 19 , wherein determining whether there exists a feasible jerk trajectory comprises determining a jerk trajectory that results in a time-optimum motion from the initial state of the initial grid to the final state.