2.1. Formulation of the Pick-and-Place Work
We formulated the pick-and-place work for a dual-arm robot that carries each object to the goal positions.
Figure 1a shows a right-handed system of the dual-arm robot and an example of the problem when
objects and
goal positions exist. The circles in
Figure 1a indicate the start position of each object. The squares represent each goal position. The object must be moved to each goal position from each start position by either of the arms. This problem converts into the problem of sharing multiple transport tasks, which is regarded as the task of moving an object to a goal position from a start position. This problem is also similar to the travelling salesman problem [
17], which is generated when the distance or cost between each city, total distance, or total cost that incurs when a salesman moves is minimized. Constraints, such as the operating range of the dual-arm robot, mean that we can formulate the pick-and-place work of the dual-arm robot as an MILP.
Equation (1) is the objective function, where
is a set of manipulator tasks,
is the set of manipulators,
is the left arm,
is the right arm,
is the cost from task
to task
for manipulator
, and
is the binary variable indicating whether the manipulator moved from task
to task
. The decision variable is
if manipulator
is assigned to move from task
to task
, and 0 otherwise. The minimax type of objective function to minimize the maximum path length of each manipulator is set. In other words, the time to finish the pick-and-place work is minimized because it depends on the arm, which has to move along a longer path if the manipulator moves at a constant velocity. We described linear constraints below.
Equation (2) forbids the manipulator
from moving between the same task (from task
to task
).
Equations (3) and (4) also forbid movement from Task 1 to Task 2 or from Task 2 to Task 1 because Task 1 indicates the left arm, and Task 2 indicates the right arm.
Equation (5) ensures that manipulator
moves from the start position. Equation (6) ensures that manipulator
finally moves back to the start position.
Equation (7) to Equation (10) forbid the paths that manipulator
cannot select because Tasks 1 and 2 denote the left and right arms, respectively.
where
is a set of tasks. Equations (11) and (12) mean that each task must be executed by either arm.
Equation (13) is a path continuity constraint, which means that manipulator
must execute task
and any other task after executing one task.
where
is the number of tasks executed by the manipulator, while
is the maximum number of tasks a manipulator may execute. Let
be the minimum number of tasks a manipulator may execute. Equations (14) and (15) are the subtour elimination constraints of the formulation proposed by Kara and Bektas [
18]. A subtour is a path that does not include Tasks 1 and 2. The constraints herein allow only two subtours because the dual-arm robot has two manipulators.
Equation (16) to Equation (19) are the operation range constraints of the dual-arm robot.
is a set of tasks that should be executed by the left arm because the object or its goal position is in a location that can only be reached by the left arm. Equations (16) and (17) ensure that a task belonging to
must be executed by the left arm.
is a set of tasks that should be executed by the right arm. Equations (18) and (19) ensure that a task belonging to
must be executed by the right arm.
Figure 1b shows the operation range of HIRO, a real dual-arm robot produced by KAWADA Robotics Corporation, as well as the area definition of
and
. For example, if the object or its goal position is in the location
, its task belongs to
. Equation (20) defines the binary variable and the range of integers
,
and
.
We define cost
below. First, the Euclidean distance from the current position of the manipulator to a certain start position is
and the Euclidean distance from the start point to the goal positions is
. Cost
is defined as
(
Figure 2). Specifically, this is equal to the Euclidean distance until the end of the work, which means manipulator
moves from tasks
to
. Using this method, we can calculate cost of each task. In addition, the Euclidean distance between tasks does not depend on which arm moves. Hence, we define the relationship between
and
as
.