application examples.
3.2 Phases, States, and Events
If we look at manipulation tasks with one robot arm,
typically, they consist of the following major
execution phases:
Approach – go to the starting position for the
main phase
Main phase – execute the intended action, such
as grasping, pushing, insertion, snapping,
screwing, etc.
(Optional) Release – release the work piece e.g.
by opening the gripper, if is holds the part
Depart – move away from the current work area
The details of the main phase depend on the type of
actions. Taking snap insertion as example, we can
have the following sub-phases:
Push towards the goal position with compliance
until measures of completion are met
Check for success, if necessary, by trying to pull
the part back, or move around, or by any other
means of sensing
Error handling, e.g. retry, dispatch, or report
error.
While moving towards the goal position (approach or
push), it can happen that the part misses the correct
starting position for insertion and touches the base
object. In this case, an additional phase is necessary:
Search for the correct starting position.
The above described phases and their conclusions are
actually the significant states of the snap insert
execution. Each phase change (state transition) can be
exposed to another task for synchronization. While
the phases are natural states, the phase end states
would automatically be the start states for the next
phase, if no waiting for external events is introduced.
Figure 6 shows a flow chart with these phases and
phase changes. The Search phase can be entered from
the Approach phase, when the part contacts the base
object while moving towards an incorrectly defined
start position, or from the Insert phase, when the
Insert phase starts from an incorrect position. In both
cases, the part would touch the surface of the base
object in an unintended way.
From a task-oriented point of view, Search, Check
and Error-handling are internal phases that do not
reflect the intended states of task accomplishment. A
synchronization of such phases with external actions
is not required in general, except for certain error
states, if strategies for error handling involving both
hands are introduced. But error handling is a very
a) State model with internal phases b) Simplified model
Figure 6: Phase of snap insertion.
complex and special topic, which we do not further
discuss in this article.
For simplicity, we use in the following the
simplified state model shown in Figure 6 b), in which
insertion can be replaced by other skills such as
screw-driving, etc.
3.3 Two-handed Operations with
Synchronization
When looking into the application examples, we can
group them into: 1) Sharing work space; 2) One hand
as part holder; 3) Hand-over; 4) Two-handed
symmetric assembly; 5) Two-handed synchronous
motion. In the following, we discuss how these
groups of applications can be implemented with
corresponding phase synchronizations.
3.3.1 Sharing Work Space
In case both hands must accomplish actions within
the same work space, they cannot execute these
simultaneously. Sometimes, the order of the actions
is defined by the application itself; sometimes
serialization is needed for collision avoidance.
For example, the piling-up example could be done
by two-hands with one waiting for the other to finish
its placing action (Figure 7).
But this may cause unnecessary waiting time. In
this example, the most feasible way is in fact, that one
hand waits at an intermediate approaching position
until the other hand has left the departing position.
Thus, introducing intermediate synchronization
points can reduce the overall cycle time. Here, depart
(of one hand) and approach phase (of the other hand)
each can be split into two sub phases for better
synchronization (Figure 8), but the synchronization
mode is still “end-start” sequencing of these two
phases.
ICINCO 2019 - 16th International Conference on Informatics in Control, Automation and Robotics
366