Handling Robot Constraints Within A Set-Based Multi-Task Priority Inverse Kinematics Framework
Handling Robot Constraints Within A Set-Based Multi-Task Priority Inverse Kinematics Framework
Abstract— Set-Based Multi-Task Priority is a recent frame- one the most popular approaches to handle this kind of tasks
work to handle inverse kinematics for redundant structures. is to express the inverse kinematics problem as a sequence
Both equality tasks, i.e., control objectives to be driven to a of QP (Quadratic Programming) problems [7], [8]. Task-
desired value, and set-bases tasks, i.e., control objectives to
be satisfied with a set/range of values can be addressed in priority frameworks have been extended to handle also set-
a rigorous manner within a priority framework. In addition, based tasks in [9], [10].
optimization tasks, driven by the gradient of a proper function, The choice of the prioritized order of the tasks within
may be considered as well, usually as lower priority tasks. the hierarchy has a major importance and strongly affects
In this paper the proper design of the tasks, their priority the behavior of the system, thus it is useful to divide them
and the use of a Set-Based Multi-Task Priority framework is
proposed in order to handle several constraints simultaneously in three categories and assign them a decreasing priority
in real-time. It is shown that safety related tasks such as, e.g., level [11]: safety-related, operational and optimization tasks.
joint limits or kinematic singularity, may be properly handled Safety tasks such as obstacle avoidance or mechanical joint
by consider them both at an higher priority as set-based limits [12] have to be necessarily set at an higher priority
task and at a lower within a proper optimization functional. level with respect to the operational tasks, as they assure the
Experimental results on a 7DOF Jaco2 arm with and without
the proposed approach show the effectiveness of the proposed integrity of the system and of the environment in which it op-
method. erates. At the lowest priority level there are the optimization
tasks that help in increasing the efficiency of the operation,
I. I NTRODUCTION but they are are not strictly necessary for its accomplishment.
Robotic systems are requested to perform more and more In this paper we propose a method for increasing the
complex operations in all kind of environments, leading performances of a robotic system by setting proper optimiza-
to flexible control architectures that allow them to adapt tion tasks together with the necessary safety and operational
to the particular situation in a reactive manner. The most ones. The idea is to set a low-priority optimization task for
widely used approach is to split the entire operation in each one of the safety-related, high-priority task, aiming to
several elementary control objectives, implemented as sub- minimize the number of transitions between their activa-
tasks, possibly to be performed simultaneously. The potential tion and deactivation states. Given the null-space projection
conflict among tasks is resolved by setting a priority and method, the activation of a high-priority task affects the
computing the resulting motion commands that assure the operational task potentially deviating it from the desired
achievement of the higher-priority tasks, if feasible, and value. In this perspective, minimizing the activation of all
tries to accomplish the lower-priority ones as much as the safety-related tasks allows the system to better execute
possible given the constraints imposed by the more important the operational task.
tasks. This approach has been widely applied exploiting the Inspired by the work [13], where the set-based multi-
system redundancy and the null-space projection in both task priority framework [10] is used to handle, in simulation
dynamic [1], [2] and kinematic [3] control architectures. only, the kinematic singularity of a snake-like robot setting a
A first classification among tasks can be made with respect proper task at two priority level simultaneously, in this work
to the control objective that they express: equality-based we extend that idea in order to handle several set-based tasks.
tasks aim to bring the task to a specific desired value, In addition, we prove its practical efficiency implementing it
for instance to move the end-effector of a manipulator to experimentally on a 7 DOF Jaco2 anthropomorphic arm.
a certain position and orientation. Most of the the main This paper is organized as follows: Section II introduces
redundancy resolution algorithms in literature have been the task priority framework used in the experiments; Section
developed to handle this kind of tasks [4], [5], [6]. Set- III describes the proposed approach for the optimization tasks
based tasks, or inequality constraints are tasks in which the handling; Section IV shows the experimental results; Section
control objective is to keep the task value in an interval, i.e., V presents the conclusions.
above a lower threshold and below an upper threshold. In
II. S ET-BASED TASK -P RIORITY I NVERSE K INEMATICS
this category lie tasks such as the obstacle avoidance, the
joint limit avoidance and the arm manipulability. Currently For a general robotic system with n DOF (Degrees of
Freedom), the state is described by the joint values q =
Authors are with the Department of Electrical and Information Engi- T
[q1 , q2 , . . . , qn ] ∈ Rn . Defining a task as a generic m-
neering of the University of Cassino and Southern Lazio, Via G. Di Bia-
sio 43, 03043 Cassino (FR), Italy {pa.dilillo, chiaverini, dimensional control objective as a function of the system
antonelli}@unicas.it state σ(q) ∈ Rm , the inverse kinematics problem consists
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
in finding the q vector that brings σ(q) to a desired value one. Given two tasks σ 1 and σ 2 it is possible to compute the
σ d . The linear mapping between the task-space velocity and system velocities q̇ 1 and q̇ 2 that accomplish them separately
the system velocity is [14]: using Eq. 4. The composition of the two tasks solutions
q̇ 1 and q̇ 2 can be performed by resorting to the SRMTP
σ̇(q) = J (q)q̇, (1)
(Singularity-Robust Multi-Task Priority) framework [6]:
∂ σ (q )
where J (q) = ∂q ∈ Rm×n is the task Jacobian matrix,
q̇ = q̇ 1 + N 1 q̇ 2 (7)
and q̇ is the system velocity vector. Thus, starting from an
initial configuration, in case that m = n meaning that the In [15], [16] the SRMTP Inverse Kinematics framework
number of DOF of the system is equal to the task dimension, has been extended to handle an arbitrary number of tasks, by
the joint increment needed to bring the task value closer to resorting to the NSB (Null Space-based Behavioral) control.
the desired one can be computed by resorting to the CLIK Given a hierarchy composed by h tasks sorted by priority
(Closed-Loop Inverse Kinematics) algorithm: level, the solution is computed as:
q̇ = J −1 (q)(σ̇ d + K σ̃) (2) q̇ = q̇ 1 + N A A
1 q̇2 + · · · + N h−1 q̇ h (8)
where K is a positive-definite matrix of gains, σ̇ d is the where NiA is the null space projector of the augmented
desired task velocity and σ̃ = σ d − σ is the task error. Jacobian matrix JiA defined as:
A robotic system is defined redundant if n > m, thus if it T
JA
T
has more DOF that the required ones for the accomplishment i = J1 J T2 . . . J Ti (9)
of a certain task. In this case the Jacobian matrix is not
The NSB algorithm has been developed to handle equality-
invertible anymore and multiple possible solutions for Eq.
based tasks, thus control objectives in which the goal is to
1 exist. The system can be solved imposing a constrained
bring the task value to a specific one, e.g. moving the arm
minimization problem, in which the cost function is:
end-effector to a target position and orientation. However,
1 T several control objectives may require their value to lie
g(q̇) =
q̇ q̇ (3)
2 in an interval, i.e. above a lower threshold and below an
that selects among all the possible solutions the one that min- upper threshold. These are usually called set-based tasks or
imizes the joint velocity norm. In this way Eq. 2 becomes: inequality constraints. A set-based task can be seen as an
equality-based one which gets active or inactive depending
q̇ = J † (q)(σ̇ d + K σ̃) (4) on the operational conditions. In particular, it is necessary
† to set different reference values for each set-based task:
where J is the Moore-Penrose pseudoinverse of the Jaco-
bian matrix, defined as: physical thresholds σM (σm ), safety thresholds σs,u < σM
(σs,l > σm ), and activation thresholds σa,u = σs,u − ε
J † = J T (J J T )−1 (5) (σa,l = σs,l + ε). When the task value reaches an activation
In general the solution of Eq. 4 lies is the subspace threshold, it is added to the task hierarchy as a new equality-
R(J ), and in the redundant case its orthogonal complement based task with desired value equal to the corresponding
N (J ) 6= ∅ can be exploited to add other components that safety threshold:
would not affect the accomplishment of the task. For this
σs,u if σ ≥ σa,u
reason the general solution can be written as: σd = (10)
σs,l if σ ≤ σa,l
q̇ = J † σ̇ + N q̇ 0 (6) Then it can be deactivated when the solution of the
hierarchy that contains only the other tasks would push its
where:
value toward the valid set. Defining J A as the Jacobian
N = I − J †J
matrix of σA , if J A q̇ > 0 the solution would increase the set-
is the null space projector and q̇ 0 is an arbitrary vector that based task value, otherwise if J A q̇ < 0 the solution would
can be used to minimize or maximize a scalar value by decrease it. In this way, σA can be deactivated if
setting
∂w(q) T σA ≥ σa,u ∧ J A q̇ < 0 (11)
q̇ 0 = k0 ( )
∂q
or
where k0 is a gain and w(q) is a secondary objective σA ≤ σa,l ∧ J A q̇ > 0 (12)
function.
Another useful exploitation is to define a second task Figure 1 shows a generic set-based task value over time
with a specific desired value and compute the solution that and the corresponding σa,l , σa,u (green dashed lines) and
accomplishes both the tasks. Unfortunately this solution σs,l , σs,u (red-dashed lines). The background color high-
may not exist due to the infeasibility of their simultaneous lights the activation (magenta) and deactivation (yellow)
resolution. In this case it is necessary to define a priority state. At the beginning, the task is inactive, as its value
between the tasks and compute the solution that achieves lies within the valid interval, thus the hierarchy contains
the primary one while minimizes the error on the secondary only the other tasks. As soon as its value reaches σa,l ,
7478
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
σs,u obtaining the hierarchy shown in Fig. 2. This kind of
σa,u approach leads to the minimization of the high-priority
tasks activation and improves the system performances in
tracking the operational task, always assuring that the safety
task value
safety task σ 1
σa,l
σs,l safety task σ 2
0 5 10 15 20
priority order
time [s]
Fig. 1. A generic set-based task value over time, the corresponding σa,l ,
σa,u (green dashed lines) and σs,l , σs,u (red-dashed lines), activation
safety task σ n
(magenta background) and deactivation (yellow background) state.
operational task σ A
it gets activated and added to the current hierarchy. The
corresponding solution brings the task value to σs,l with a
optimization task σ o1
time constant proportional to the task gain. It remains at
that threshold until condition (11) or (12) are satisfied. From
that point the task is deactivated and it is removed from the optimization task σ o2
hierarchy. The same happens with the upper thresholds σa,u
and σs,u . For more details about the activation/deactivation
algorithm see [17]. optimization task σ on
III. O PTIMIZATION TASKS HANDLING
Fig. 2. Proposed task hierarchy: for each one of the high-priority safety
The priority order among the tasks in the hierarchy tasks there is the corresponding low-priority optimization task aimed to
strongly affects the behavior of the system during the execu- minimize its activations
tion of a certain operation. All the set-based tasks related to In this work we take into account two kind of tasks:
the safety of the system, such as the mechanical joint limits the arm manipulability and the joint limits. The measure of
and the obstacle avoidance, have to be necessarily placed at manipulability [18]:
the top priority level. The execution of the operational task is q
constrained to the fulfillment of an active higher-priority task σ(q) = det(J J T )
and, in case of conflict between them, it leads to a deviation goes to zero when the manipulator reaches a singular con-
of the operational task from the desired trajectory. Optimiza- figuration, as J loses rank. For this reason it can be seen as
tion tasks such as the maximization of the arm manipulability a distance from a singular configuration.It is possible to add
can be placed at a lower priority level with respect to the it to a hierarchy as a high-priority set-based task, defining
operational one, due to the fact that they are not strictly a minimum threshold that the manipulator cannot exceed
necessary for the accomplishment of the operation. The idea during the movement. For this work the task Jacobian is
that we propose in this work is to define proper optimization computed numerically following the Algorithm 1. Setting
tasks aiming to minimize the activation/deactivation of high- it at a lower priority with respect to the operational task
priority safety tasks. In particular, it would be desirable implies that it is accomplished only when it is not in conflict
that the control algorithm tries to push a high-priority task with the primary task, and it can be used as a maximization
further away from the imposed minimum/maximum limits control objective: choosing the desired value higher than the
even when it is not active, exploiting the system redundancy. maximum measure of manipulability that the arm can exhibit
In order to implement this method in the Set-Based Multi- the resulting behavior is the same as applying Eq. 6, thus
Task Priority framework an equality-based optimization task the arm follows the desired trajectory trying to maximize
should be added in the hierarchy for each one of the set- the manipulability measure.
based high-priority tasks, at a low-priority level with desired Merging the aforementioned behaviors by including in
value: the hierarchy two manipulability tasks, one at lower priority
• greater than the maximum task value if the correspond- and one at a higher priority with respect to the operational
ing set-based task has a lower threshold one, the resulting behavior is that the arm never reaches a
• lower that the minimum task value if the corresponding singular configuration (for the effect of the high-priority task)
set based task has an upper threshold while tries to maximize the manipulability measure during
• equal to the mid-point between the minimum and maxi- all the trajectory even when the corresponding set-based task
mum thresholds if the corresponding set-based task has in inactive (for the effect of the low-priority task), without
both of them interfering with the operational one.
7479
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
Data: current joint positions vector q ∈ Rn
Result: numeric Jacobian of the manipulability task
J ∈ R1×n
initialize ∆q, q inc
for i=1:n do
for j=1:n do
if j=i then
qinc (j) = q(j) + ∆q
else
qinc (i) = q(j)
end
end
w = ManipulabilityValue(q)
winc = ManipulabilityValue(q inc )
J(1, i) = (winc − w)/∆q Fig. 3. Desired path for the first case study represented in Rviz
end
Algorithm 1: Computing the manipulability Jacobian
reported because it is not included in the hierarchy as it does
not give any contribution to the position of the end-effector.
It is clear that the joints 1,3,4,5 and 6 reach one of the
The joint limit task is usually used for avoiding self-
limits during the movement, activating the corresponding
collisions, and it can be seen as a high-priority set-based
task that stops their motion.
task with a lower threshold σs,l and an upper threshold σs,u
For the second experiment the implemented hierarchy is:
that constraints its movement in a feasible set of values. The
task value is simply the i-th joint position while the Jacobian 1) High-priority joint limits (set based)
is a row vector with a 1 at the i-th column and zeros at 2) End-effector position (equality)
the other ones. The corresponding optimization task is an 3) Low-priority joint optimization (optimization)
equality-based task in which the desired value is: The starting configuration, the desired sequence of waypoints
σs,u + σs,l and the the imposed joint limits are the same of the previous
σd = experiment and Fig. 5 shows the joint positions.
2
It is possible to notice that this time only two joints reach
In this way the joints are pushed toward the middle of
the limits, while joints 3, 5 and 6 benefit from the lower-
the chosen limits while the end-effector follows the desired
priority optimization tasks, being further from the limits with
trajectory, minimizing the activation of the high-priority set-
respect to the previous experiment. Figure 6 shows a 3D
based task.
representation of the executed path for the two experiments.
IV. E XPERIMENTAL RESULTS The activation of the joint limit tasks in the first experiment
In this section experimental results on a 7DOF Kinova makes the end-effector deviate from the desired path, while
Jaco2 manipulator that prove the effectiveness of the pro- in the second one it follows the desired path clearly better
posed approach are shown. In the first case study we focus given that less higher priority tasks get active during the
the attention on the joint limit tasks, while the second one movement. The end-effector does not track perfectly the
takes into account the manipulability tasks. In both case desired path because two joint limits get active anyway.
studies we first perform the experiment with the hierarchy B. Second case study: manipulability task
that contains only the high-priority set-based tasks, followed
by the corresponding experiment in which we add also the The second case study takes into account the behavior
low-priority optimization tasks. of the system when two manipulability tasks are added to
the hierarchy with different priority order. The desired path
A. First case study: joint limits task for the end-effector is shown in Fig. 7. It is a simple straight
The desired path for the end-effector is shown in Fig. 3. It line (blue-dashed) that starts from the yellow circle and ends
is composed by four waypoints with a square shape keeping on the green circle, to be followed forwards and backwards
constant the x coordinate of the arm base frame. Upper with a constant orientation. The red circle corresponds to
and lower limits, intentionally chosen in order to get active the configuration depicted in Fig. 8, in which the measure of
during the motion, on six joints have been set and added at manipulability reaches a very low value (10−5 ). In the first
a high priority with respect to the end-effector position task, experiment the task hierarchy is:
obtaining the following hierarchy: 1) High-priority arm manipulability (set based)
1) Joint limits (set based) 2) End-effector position and orientation (equality)
2) End-effector position (equality) Figure 9 shows the measure of manipulability over time.
Figure 4 shows the joint positions over time together with the The task gets active two times, when the desired trajectory
imposed limits. Notice that the seventh joint position is not reaches the red circle, and the control algorithm effectively
7480
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
Joint 1 position
-4
[rad]
-6 Joint 1 position
-4
-8
[rad]
0 2 4 6 8 10 12 14 16 -6
time [s]
Joint 2 position -8
2 0 2 4 6 8 10 12 14 16 18
time [s]
[rad]
0 Joint 2 position
2
-2
[rad]
0 2 4 6 8 10 12 14 16 0
time [s]
Joint 3 position -2
7 0 2 4 6 8 10 12 14 16 18
time [s]
[rad]
6 Joint 3 position
7
5
[rad]
0 2 4 6 8 10 12 14 16 6
time [s]
5
0 2 4 6 8 10 12 14 16 18
time [s]
Joint 4 position
6
[rad]
5 Joint 4 position
6
4
[rad]
0 2 4 6 8 10 12 14 16 5
time [s]
Joint 5 position 4
3 0 2 4 6 8 10 12 14 16 18
time [s]
[rad]
[rad]
0 2 4 6 8 10 12 14 16 2.5
time [s]
Joint 6 position 2
2 0 2 4 6 8 10 12 14 16 18
time [s]
[rad]
0 Joint 6 position
2
-2
[rad]
0 2 4 6 8 10 12 14 16 0
time [s]
-2
0 2 4 6 8 10 12 14 16 18
time [s]
Fig. 4. First case study, only high-priority joint limit tasks: joint positions
over time and safety thresholds (red-dashed lines). Five joints reach the
limits during the execution of the trajectory. Fig. 5. First case study, high-priority and optimization joint limit tasks:
joint positions over time and safety thresholds (red-dashed lines). The
optimization tasks make the joints stay further from the limits with respect
to the previous experiment.
avoids the singular configuration keeping the measure of
manipulability above the chosen threshold.
Let us now add a second manipulability task at a lower
priority while following the same path, resulting in the
following hierarchy: End-effector executed path
1) High-priority arm manipulability (set based) without optimization
0.5 with optimization
2) End-effector position and orientation (equality) desired path
z [m]
7481
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
Measure of manipulability
0.07
0.06
0.05
0.04
0.03
0.02
0.01
0
Fig. 7. Desired path for the second case study. It is composed by two 0 5 10 15 20 25 30 35
time [s]
waypoints (yellow and green circles). The red circle is associated with a
configuration in which the measure of manipulability is very low (10e−5 )
Fig. 9. Second case study, only high-priority manipulability task. Measure
of manipulability over time and the imposed safety threshold (red-dashed).
The task gets active two times and its value never exceeds the chosen safety
threshold.
Measure of manipulability
0.07
0.06
0.05
0.04
Fig. 8. Configuration close to singularity. Front view (left) and lateral view
(right)
0.03
from the green circle to the yellow circle. In the experiment 0.02
performed with the hierarchy containing only the high-
priority manipulability task the executed path deviates from 0.01
V. C ONCLUSIONS Fig. 10. Second case study, high-priority and optimization manipulability
tasks: measure of manipulability over time and imposed safety threshold
In this paper we have shown a method for improving the (red-dashed) of the primary manipulability task. The high-priority one gets
active only once during the experiment, given the maximization of the
tracking capabilities of the operational tasks in presence of measure of manipulability during all the movement, even when the it is
higher-priority safety tasks in the hierarchy. We have first not active.
described the inverse kinematics framework that allows to
define different kind of tasks and to sort them in priority. 0.7 without optimization
with optimization
Then we have discussed how the choice of proper optimiza- 0.65
desired path
0.6
tion tasks at a lower priority level for each one of the safety
z [m]
0.55
tasks can minimize the activation of the safety-tasks, leading
0.5
to a better execution of the operational ones. Experimental
results on a 7DOF Kinova Jaco2 arm proved the effectiveness 0.4
0.3
of the proposed method on two different kind of set-based
0.2
safety tasks. 0.1
0
ACKNOWLEDGMENTS -0.1
-0.2
This work was supported by the European Community
y [m] -0.3
through the project AEROARMS(H2020-635491). -0.4 0.55
0.6
0.65
x [m]
R EFERENCES
[1] A. Dietrich, C. Ott, and A. Albu-Schffer, “An overview of null space Fig. 11. Second case study: second part of the executed path obtained
projections for redundant, torque-controlled robots,” The International with and without the optimization tasks (blue and green lines respectively)
Journal of Robotics Research, vol. 34, no. 11, pp. 1385–1400, 2015. and desired path (red-dashed line). The executed path obtained adding the
[Online]. Available: https://doi.org/10.1177/0278364914566516 optimization tasks tracks better the reference, because the high-priority task
does not get active during this part of the movement.
7482
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.
[2] A. Dietrich, C. Ott, and A. Albu-Schaffer, “Multi-objective compliance
control of redundant manipulators: Hierarchy, control, and stability,” in
IEEE/RSJ International Conference on Intelligent Robots and Systems
(IROS), 2013, pp. 3043–3050.
[3] B. Siciliano, “Kinematic control of redundant robot manipulators: A
tutorial,” Journal of intelligent and robotic systems, vol. 3, no. 3, pp.
201–212, 1990.
[4] B. S. J. Slotine, “A general framework for managing multiple tasks in
highly redundant robotic systems,” in proceeding of 5th International
Conference on Advanced Robotics, vol. 2, 1991, pp. 1211–1216.
[5] Y. Nakamura, H. Hanafusa, and T. Yoshikawa, “Task-priority based
redundancy control of robot manipulators,” The International Journal
of Robotics Research, vol. 6, no. 2, pp. 3–15, 1987.
[6] S. Chiaverini, “Singularity-robust task-priority redundancy resolution
for real-time kinematic control of robot manipulators,” IEEE Transac-
tions on Robotics and Automation, vol. 13, no. 3, pp. 398–410, 1997.
[7] O. Kanoun, F. Lamiraux, and P. Wieber, “Kinematic control of
redundant manipulators: Generalizing the task-priority framework to
inequality task,” IEEE Transactions on Robotics, vol. 27, no. 4, pp.
785–792, 2011.
[8] A. Escande, N. Mansard, and P.-B. Wieber, “Hierarchical quadratic
programming: Fast online humanoid-robot motion generation,” Inter-
national Journal of Robotics Research, vol. 33, no. 7, pp. 1006–1028,
2014.
[9] E. Simetti and G. Casalino, “A novel practical technique to integrate
inequality control objectives and task transitions in priority based
control,” Journal of Intelligent & Robotic Systems, vol. 84, no. 1,
pp. 877–902, apr 2016.
[10] S. Moe, G. Antonelli, A. Teel, K. Pettersen, and J. Schrimpf, “Set-
based tasks within the singularity-robust multiple task-priority inverse
kinematics framework: General formulation, stability analysis and
experimental results,” Frontiers in Robotics and AI, vol. 3, p. 16, 2016.
[11] P. D. Lillo, F. Arrichiello, G. Antonelli, and S. Chiaverini, “Safety-
related tasks within the set-based task-priority inverse kinematics
framework,” IEEE/RSJ International Conference on Intelligent Robots
and Systems (IROS), 2018.
[12] A. M. Zanchettin, N. M. Ceriani, P. Rocco, H. Ding, and B. Matthias,
“Safety in human-robot collaborative manufacturing environments:
Metrics and control,” IEEE Transactions on Automation Science and
Engineering, vol. 13, no. 2, pp. 882–893, 2016.
[13] J. Sverdrup-Thygeson, S. Moe, K. Y. Pettersen, and J. T. Gravdahl,
“Kinematic singularity avoidance for robot manipulators using set-
based manipulability tasks,” in IEEE Conference on Control Technol-
ogy and Applications (CCTA). IEEE, 2017, pp. 142–149.
[14] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: mod-
elling, planning and control. Springer Science & Business Media,
2010.
[15] G. Antonelli, F. Arrichiello, and S. Chiaverini, “The NSB control: a
behavior-based approach for multi-robot systems,” Paladyn Journal of
Behavioral Robotics, vol. 1, no. 1, pp. 48–56, 2010.
[16] ——, “The Null-Space-based Behavioral control for autonomous
robotic systems,” Journal of Intelligent Service Robotics,
vol. 1, no. 1, pp. 27–39, Jan. 2008. [Online]. Available:
http://dx.doi.org/10.1007/s11370-007-0002-3
[17] F. Arrichiello, P. Di Lillo, D. Di Vito, G. Antonelli, and S. Chiaverini,
“Assistive robot operated via P300-based brain computer interface,” in
IEEE International Conference on Robotics and Automation (ICRA).
IEEE, 2017, pp. 6032–6037.
[18] T. Yoshikawa, “Manipulability and redundancy control of robotic
mechanisms,” in IEEE International Conference on Robotics and
Automation, vol. 2. IEEE, 1985, pp. 1004–1009.
7483
Authorized licensed use limited to: Technische Informationsbibliothek (TIB). Downloaded on June 08,2021 at 07:38:17 UTC from IEEE Xplore. Restrictions apply.