This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Multi-query Robotic Manipulator Task Sequencing with
Gromov-Hausdorff Approximations

Fouad Sukkar1∗, Jennifer Wakulicz1, Ki Myung Brian Lee1, Weiming Zhi2, and Robert Fitch1 *This research is partially supported by the Industrial Transformation Training Centre (ITTC) for Collaborative Robotics in Advanced Manufacturing (also known as the Australian Cobotics Centre) funded by ARC (Project ID: IC200100001). (Corresponding author: Fouad Sukkar)1Authors are with the School for Mechanical and Mechatronic Engineering, University of Technology Sydney, 2007, Ultimo, NSW, Australia and *the Australian Cobotics Centre {Fouad.Sukkar,Jennifer.Wakulicz, KMBrian.Lee,Robert.Fitch}@uts.edu.au2W. Zhi is affliated with the Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, USA. [email protected]
Abstract

Robotic manipulator applications often require efficient online motion planning. When completing multiple tasks, sequence order and choice of goal configuration can have a drastic impact on planning performance. This is well known as the robot task sequencing problem (RTSP). Existing general-purpose RTSP algorithms are susceptible to producing poor-quality solutions or failing entirely when available computation time is restricted. We propose a new multi-query task sequencing method designed to operate in semi-structured environments with a combination of static and non-static obstacles. Our method intentionally trades off workspace generality for planning efficiency. Given a user-defined task space with static obstacles, we compute a subspace decomposition. The key idea is to establish approximate isometries known as ϵ\epsilon-Gromov-Hausdorff approximations that identify points that are close to one another in both task and configuration space. Importantly, we prove bounded suboptimality guarantees on the lengths of paths within these subspaces. These bounding relations further imply that paths within the same subspace can be smoothly concatenated, which we show is useful for determining efficient task sequences. We evaluate our method with several kinematic configurations in a complex simulated environment, achieving up to 3x faster motion planning and 5x lower maximum trajectory jerk compared to baselines.

Index Terms:
Task sequencing, planning, scheduling and coordination, motion and path planning, industrial robots.

I INTRODUCTION

Refer to caption
(a) Task-space subspace decomposition
Refer to caption
(b) Mapped subspaces in configuration space
Figure 1: Example ϵ\epsilon-Gromov-Hausdorff approximations for a 2-DOF robotic manipulator on a table-top environment with a box obstacle (dark grey). Green and blue regions are subspaces within which end-effector motion does not require large changes in configuration. LABEL:sub@fig:taskspace_subspaces Task-space subspace decomposition with overlap shown in dark green. LABEL:sub@fig:configspace_subspaces Mapped disjoint subspaces in configuration space.
Refer to caption
(a) Naive planner moving from first to second position
Refer to caption
(b) Naive planner moving from second to third position
Refer to caption
(c) Naive planner moving from third to fourth position
Refer to caption
(d) HAP moving from first to third position
Refer to caption
(e) HAP moving from third to second position
Refer to caption
(f) HAP moving from second to fourth position
Figure 2: A 2-DOF robotic manipulator tasked with moving its end effector to four unordered positions. Positions are shown as coloured dots. The end-effector path is drawn with direction of movement indicated by the arrowhead. LABEL:sub@fig:task1_naive-LABEL:sub@fig:task3_naive show a sequence of paths produced by a naive planner that only considers task-space distances. LABEL:sub@fig:task1_non_naive-LABEL:sub@fig:task3_non_naive show the sequence produced by our HAP method. HAP’s choice of sequencing exploits short within-subspace paths in LABEL:sub@fig:task1_non_naive and LABEL:sub@fig:task3_non_naive, whereas the naive planner’s choice of sequencing underestimates the true motion cost, resulting in longer paths.

Planning algorithms for emerging applications of robotic manipulators must support a greater degree of autonomy than has traditionally been necessary. Robotic manipulators such as cobots (collaborative robots), for example, are designed for advanced manufacturing applications where they should operate safely in dynamic work environments shared with humans and should be able to adapt quickly to perform a variety of tasks. These applications share a need for agility and rapid deployment that differs substantially from traditional applications of industrial manipulators, which are typically characterised by repetitive motions in highly structured environments with planning performed completely offline.

Real world applications often require completing a set of tasks; for example, surface inspection, drilling, spray-painting, screw fastening and spot-welding. Determining an efficient task sequence for high-dimensional robot manipulators is challenging due to their kinematic redundancy; that is, a goal pose of the end effector can be achieved via multiple joint configurations. Additionally, the cost induced by the low-level motion between tasks must be reasoned about. Determining an efficient sequence that considers the above is known as the robot task sequencing problem (RTSP) [1].

While general-purpose online RTSP algorithms exist, they either decouple the low-level motion [2, 3] or only partially reason about the low-level motion during sequencing [4]. Furthermore, these algorithms do not offer any performance guarantees. In this paper, we show that this can often lead to highly sub-optimal path sequences and poor motion planning performance. While methods that explicitly consider low-level motion do exist, they are too slow for online settings [5].

We are interested in developing a method that efficiently solves the RTSP for practical situations that require repeated, rapid, and reliable planning, where major structures in the environment are static. A common example is a manipulator that must inspect and grasp objects from shelves and cabinets in a domestic or warehouse environment [6, 7, 8]. The shelves are static and their dimensions can be measured beforehand, while the objects on the shelves might not be known and their locations can change.

Multi-query planners such as the probabilistic roadmap (PRM) [9] aim to gain efficiency through computational reuse; a computationally costly offline process generates a data structure that can then be repeatedly queried efficiently by a low-cost online process. Inspired by PRMs, in this work, we seek a data structure that facilitates fast online task sequencing whilst providing some practical path quality guarantees.

Critically, we identify a particularly desirable property of motion plans: if two coordinates are close in task space, a smooth, short path exists between them in configuration space. We propose to decompose the task space into subspaces, such that paths through a particular subspace satisfy this property. We achieve this by establishing a bounding relation between distances in task space and corresponding distances in configuration space. Such a mapping between metric spaces is known as an ϵ\epsilon-Gromov-Hausdorff approximation (ϵ\epsilon-GHA).

We present the Hausdorff approximation planner (HAP)111Open-source implementation of HAP available at: https://github.com/UTS-RI/HAP-py which, given a task space and obstacle configuration, computes a set of covering ϵ\epsilon-GHAs. These mappings provide a compact structure to efficiently plan over and additionally disambiguate kinematic redundancy by providing a unique mapping from task space to configuration space. This is key to our approach for efficiently solving RTSPs where multiple tasks can be clustered based on their associated subspaces, resulting in a set of reduced sequencing problems that can be solved independently.

A motivating example of this subspace decomposition for a 2-DOF manipulator is shown in Fig. 1. Here, the two subspaces overlap in task space. However, when mapped to configuration space via an ϵ\epsilon-GHA two disjoint subspaces are revealed. Fig. 2 illustrates a scenario where this mapping is useful for planning efficient path sequences that remain in a single subspace. As can be seen in the figure, a naive greedy approach that only considers task-space distances results in unnecessary wasted motion as opposed to our method which utilises the subspace knowledge. In higher dimensions, these subspaces may be less obvious to choose from. For example, for 6-DOF or 7-DOF robot arms, several of these subspaces exist. Examples include, wrist/elbow/shoulder-in versus wrist/elbow/shoulder-out configurations and even permutations of these resulting from multiple possible revolutions around each joint.

We evaluate our method in a complex simulated bookshelf environment where a varying number of tasks must be completed in an efficient order. To highlight HAP’s applicability to a variety of kinematic configurations we perform experiments with 6-DOF and 7-DOF manipulators and with a manipulator mounted to a mobile base. Compared to state-of-the-art RTSP methods, our method achieves up to 3x faster motion planning and 5x lower maximum trajectory jerk with consistently higher planning success, even when unknown objects are added to the scene.

In summary, the main contributions of this paper are as follows. 1) The HAP framework, a multi-query method for solving RTSPs which, in contrast to previous work, explicitly considers the low-level motion of the robot. 2) A bounded suboptimality analysis which provides theoretical guarantees on the quality of paths through the ϵ\epsilon-GHAs computed by HAP. 3) An extensive evaluation of HAP against state-of-the-art baselines.

II RELATED WORK

In this section we describe and analyse related work in the literature with respect to our approach. We begin by exploring the origins of the robot task sequencing problem and discuss its development in recent years. We conclude the section with a brief discussion on relevant work in motion planning and useful properties of our framework in such contexts.

II-A Robot Task Sequencing

The RTSP is a well-studied problem, and approaches can generally be divided into offline and online approaches. Offline approaches tend to formulate the problem as a generalised TSP (GTSP) [10] (also known as the set TSP) where task inverse kinematics (IK) solutions are formed into subsets and the shortest tour between subsets must be found [1]. Determining an optimal sequence generally takes several minutes to hours for 6-DOF and higher robot arms, even when ignoring the cost of the low-level motion of the robot and are thus unsuitable for online planning [11, 12, 13].

Online methods sacrifice sequence optimality for faster planning. For example, if the kinematic redundancy of the arm is ignored and only task-space distances are considered, then the sequencing problem can be treated as a TSP [14, 15]. While this results in much faster task sequencing, task-space costs can heavily underestimate the true cost of moving between tasks due to the non-linear nature of high-dimensional robot arms [16].

Decoupled approaches overcome this limitation by first computing a sequence in task space and then determining an optimal goal configuration assignment. For example, RoboTSP [2] initially computes a sequence using task-space distance and then assigns optimal joint configurations to each task using a graph search algorithm. The work in [3] adds an extra filtering step to RoboTSP which removes dissimilar candidate IK solutions from the graph search which results in faster task sequencing yet similar execution times. While these decoupled approaches are an improvement over task-space sequencing alone, the choice of configuration assignment is dependent on the initial task sequence and may still produce highly suboptimal trajectories.

More recently, Cluster-RTSP [4] was proposed to overcome the shortcomings of decoupled approaches by directly sequencing in configuration space. To make the problem tractable, unique configurations are first assigned to each task based on a best-fit heuristic. These configurations are then clustered into groups and a sequence is found by solving inter-cluster and intra-cluster TSPs individually. While this method achieved a large reduction in task execution and computation times compared to RoboTSP, the travel costs used for sequencing were still Euclidean distance between assigned task configurations which may not effectively capture costs incurred by the true low-level motion, for example, due to obstacle avoidance. Furthermore, outlier tasks with highly dissimilar IK solutions can heavily impact the overall quality of the task sequence.

Learning-based approaches have been proposed to solve RTSPs. For example, in [17] the problem was framed as a Markov decision process and a reinforcement learning algorithm learned a policy that outputs a time and energy efficient task sequence and corresponding goal IK solution for a robot spot welding task. While results show an overall reduction in computation time and trajectory efficiency compared to offline methods, they assume no obstacles between tasks. Given the black-box nature of learning-based approaches it is unclear how well they generalise to the more complex cluttered environments we consider in this work.

The Mobile Manipulator RTSP extends this problem to mobile manipulators. The work in [18] approaches this problem by clustering tasks based on the arm’s reachability from a finite set of base poses. A minimum set of base poses is then chosen and RoboTSP is used to sequence each cluster. We show that ϵ\epsilon-GHAs can be naturally extended to mobile bases and enhance subspace allocation, allowing for greater flexibility in subspace assignments in addition to operating in potentially larger workspaces.

While RTSP methods exist that explicitly consider trajectory costs, they either simplify the problem or are intractable for anything other than a small number of tasks. For example, in [19] configurations are arbitrarily chosen for each task and motion plans and generated between them. In [5] the RTSP was formulated as a combined set covering problem and TSP (SCTSP) and trajectories were exhaustively computed between all possible goal configuration assignments which took 3 hours for 400 tasks. In [20] a genetic algorithm was used to find an optimal sequence that considered obstacle avoidance in its optimisation objective. However, problems with only 15 tasks were considered and computation times were not reported. The work in [21] formulated a robotic laser welding problem as a TSP with neighborhoods (TSPN) and was given a computation budget of 600 seconds for up to 71 tasks; however, obstacles were ignored. In contrast, HAP computes a task-space decomposition that considers robot kinematics and prior obstacle knowledge in a reasonable amount of time and facilitates rapid online multi-query task sequencing with high-quality trajectories.

II-B Motion Planning

Our framework has useful properties for motion planning applications. As we will show, trajectories contained within ϵ\epsilon-GHAs are useful as seed trajectories for trajectory optimisation methods [22]. These methods are well-known to be sensitive to the initial seed trajectory and susceptible to failing due to local minima [23]. Trajectories contained within ϵ\epsilon-GHAs mitigate this issue since they consider manipulator kinematics and a priori knowledge of the environment.

Work in integrated task and motion planning [24] typically utilise some decomposition of the workspace for problem reduction. For example, in [25] authors characterise a lower-dimensional subspace of valid grasp and place configurations. A roadmap is then constructed over these subspaces to search for transit/ transfer modes. However, the construction of these subspaces is mainly concerned with feasibility rather than efficiency.

Additionally, other aspects of our approach share similarities with trajectory library methods [26, 27, 28], workspace decomposition [29, 30] and manipulator coverage planning [31, 32]. However, our approach differs in that the task-space decomposition and paths through them are constructed specifically in a way to facilitate efficient robot manipulator task sequencing. Furthermore, we provide practical guarantees on the lengths of paths through the decomposition which leads to predictable and well-defined behaviour.

III PROBLEM FORMULATION

Here we provide necessary notation and problem definitions for describing the RTSP. We then provide an overview of our approach which reduces the RTSP complexity via subspace knowledge.

Refer to caption
(a) Classic TSP
Refer to caption
(b) Generalised TSP (GTSP)
Refer to caption
(c) Reduced problem with ϵ\epsilon-GHAs
Figure 3: Overview of problem and approach. LABEL:sub@fig:classic_tsp Classic TSP ignores configuration space path costs (nodes are task poses). LABEL:sub@fig:set_tsp GTSP considers all possible path sequences (node sets represent task pose IK solutions). LABEL:sub@fig:hap_tsp Reduced problem (ours) utilises ϵ\epsilon-GHAs, only considers subset of IK solutions (green and blue nodes belong to different subspaces) and solves individual TSPs based on subspace assignment.

III-A Notation

𝒞\mathcal{C} represents the configuration space of the robot. In this work we target serial manipulators. The workspace, WW, is the 3D Euclidean workspace, W=3W=\mathbb{R}^{3}. Given a configuration q𝒞q\in\mathcal{C}, A(q)WA(q)\subset W denotes the space occupied by the robot model at configuration qq. m^\hat{m} 3\subset\mathbb{R}^{3} is an approximate model of the environmental obstacles. We assume access to a collision checking process that reports whether the arm is in collision with m^\hat{m} or with itself. The obstacle region is defined as 𝒞obs={q𝒞A(q)\mathcal{C}_{\text{obs}}=\{q\in\mathcal{C}\mid A(q)\capm^\hat{m} }\neq\emptyset\}, from which we obtain the free space region 𝒞free=𝒞𝒞obs\mathcal{C}_{\text{free}}=\mathcal{C}\setminus\mathcal{C}_{\text{obs}}. A task, modelled as a 6D pose tt, typically has a set of inverse kinematics (IK) solutions Ξ(t)\Xi(t). Then, the task space 𝒯SE(3)\mathcal{T}\subset SE(3) is the set of poses of the robot’s end effector for which valid IK solutions, Q(t)Q(t)\subset Ξ(t)\Xi(t) exist. Any IK solution qq is considered valid if q𝒞freeq\in\mathcal{C}_{\text{free}}. T^\hat{T} is a discrete approximation of the subset of 𝒯\mathcal{T} where the robot is expected to operate frequently. Summary of notation can be found in Table LABEL:table:notation.

III-B Robot Task Sequencing

To complete a given task t𝒯t\in\mathcal{T} chosen from the task space SE(3)SE(3) the manipulator must position its end effector at pose tt while avoiding collision. We are interested in finding a minimum cost path in 𝒞free\mathcal{C}_{\text{free}} that completes task tt. The manipulator’s path is modelled as a discrete sequence of configurations π={π[1],,π[N]π[i]𝒞free}\pi=\{\pi[1],\ldots,\pi[N]\mid\pi[i]\in\mathcal{C}_{\text{free}}\}. We measure the length of a path using a metric on the configuration space,

dC(π)=n=1N1dC(π[n],π[n+1]).d_{C}(\pi)=\sum_{n=1}^{N-1}d_{C}(\pi[n],\pi[n+1]). (1)

It is convenient to consider the starting pose of the end effector to be the goal pose of the previous task. A manipulator may be able to achieve the goal pose with multiple, possibly infinite, configurations. We are therefore interested in the set of paths (sequence of configurations) of varying length NN between task tjt_{j} and tlt_{l}, Π(tj,tl)={ππ[1]Q(tj),π[N]Q(tl)}\Pi(t_{j},t_{l})=\{\pi\mid\pi[1]\in Q(t_{j}),\pi[N]\in Q(t_{l})\}, leading to the following problem definition.

Problem 1 (Manipulator goal configuration assignment problem).

Find a goal configuration that achieves the shortest collision-free path π\pi^{*} in configuration space between two tasks tjt_{j} and tlt_{l} in 𝒯\mathcal{T},

π(tj,tl)=argminπΠ(tj,tl)dC(π).\pi^{*}(t_{j},t_{l})=\operatorname*{arg\,min}_{\pi\in\Pi(t_{j},t_{l})}d_{C}(\pi). (2)

The operational scenarios that motivate this work often involve more than one task. The manipulator is given an unordered set of MM tasks T={ti}i=1M𝒯T=\{t_{i}\}_{i=1}^{M}\subset\mathcal{T}. This set of tasks can be viewed as a batch-query scenario where all tasks must be completed while minimising total cost. Thus, it is necessary to choose a sequence of tasks, imposing a total ordering over TT, in addition to repeatedly solving Problem 1. The robot task sequencing problem can thus be formulated as follows.

Problem 2 (Robot task sequencing problem).

Find a permutation of the tasks σSM\sigma\in S_{M}, where SMS_{M} is the set of possible task sequences, that minimizes the total path cost:

minσSMn=1M1dC(π(tσ[n],tσ[n+1])),\min_{\sigma\in S_{M}}\sum_{n=1}^{M-1}d_{C}(\pi^{*}(t_{\sigma[n]},t_{\sigma[n+1]})), (3)

such that the configuration at the end of π(tσ[n],tσ[n+1])\pi^{*}(t_{\sigma[n]},t_{\sigma[n+1]}) and the start of π(tσ[n+1],tσ[n+2])\pi^{*}(t_{\sigma[n+1]},t_{\sigma[n+2]}) are equal for all n[1,M2]n\in[1,M-2].

Problem 2 does not admit a tractable solution. For each task pose tjTt_{j}\in T to be visited, there can be multiple valid configurations in set Q(tj)Q(t_{j})111For infinite sets, as is the case for redundant arms, we produce a finite set by discretising around one of the free joints. A direct solution requires simultaneously choosing the optimal configuration from Q(tj)Q(t_{j}) and sequencing the tasks. In other words, this case contains an instance of the generalised TSP (GTSP) [10] (Fig. 3b), which is even more complex than the standard TSP [33] (Fig. 3a), and does not allow for real-time planning. The number of possible sequences to evaluate is 𝒪(|Q(tj)|M×M!)\mathcal{O}(|Q(t_{j})|^{M}\times M!), where |Q(tj)||Q(t_{j})| is the cardinality of the largest set of IK solutions for any task tjTt_{j}\in T. Furthermore, evaluating the path cost for each configuration pair requires solving a motion planning problem, which is itself PSPACE-complete [34]. These computational complexities, which we wish to avoid, motivate our approach to solving Problem 2.

III-C Approach Overview

Reducing the set of IK solutions of each task tjt_{j} to a unique solution qtjQ(tj)q_{t_{j}}\in Q(t_{j}) transforms the GTSP in Problem 2 to a classical TSP, which is easier to solve. We therefore search for a mapping θ\theta from each task tjt_{j} in a discrete approximation T^\hat{T} of the full task space 𝒯\mathcal{T} to a suitable unique IK solution θ(tj)Q(tj)\theta(t_{j})\in Q(t_{j}).

To ensure that task sequencing using this mapping guarantees short, smooth and collision-free paths between tasks in both task and configuration space, the map θ:T^𝒞\theta:\hat{T}\to\mathcal{C} is chosen to be an approximate isometry. Intuitively, an approximate isometry enforces that two tasks close in task space remain close in configuration space after mapping. Once θ\theta is found, the GTSP in Problem 2 is successfully reduced to the classical TSP problem as desired, and task sequencing can be solved efficiently. As a result, the solution of the reduced problem is a near-optimal solution to Problem 1, producing smooth, short paths between tasks.

However, the kinematics of a robotic manipulator working in the task space may not necessarily admit a single approximate isometry θ\theta. For example, in Fig. 2a there is no single θ\theta that allows the arm to travel the short task-space distance required without taking a long path through configuration space. To handle such cases, we relax the constraint of enforcing a unique θ\theta and consider a finite set of maps. Thus, we propose finding KK mappings {θ}t=1K\{\theta\}_{t=1}^{K} from KK subspaces in task space to distinct subspaces in configuration space, i.e., θi:T^i𝒞i\theta^{i}:\hat{T}^{i}\rightarrow\mathcal{C}^{i}. Within each subspace, the corresponding approximate isometry θi\theta^{i} guarantees short, smooth and collision-free paths in both task and configuration space.

This effectively decomposes the task space into subspaces that may overlap, leading to cases where a single task is assigned multiple IK solutions rather than our single desired one. As such, the GTSP problem is no longer reduced immediately to a classical TSP one. To solve Problem 2 we must first disambiguate which IK solution to select in overlapping subspace regions. Then, we may solve a classical TSP problem within each subspace independently. The final reduced problem and approach is illustrated in Fig. 3c.

IV HAUSDORFF APPROXIMATION PLANNER FRAMEWORK

Refer to caption
Figure 4: Overall process of the HAP framework. On the left is the task decomposition which generates the ϵ\epsilon-GHAs offline. On the right describes the task-sequencing process given an online scenario which utilises the ϵ\epsilon-GHAs.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 5: Example HAP task space decomposition and online scenario. LABEL:sub@fig:offline_grid anticipated discretised task space T^\hat{T} (blue poses) and environment m^\hat{m}. LABEL:sub@fig:offline_edges an undirected graph GG constructed over T^\hat{T}. LABEL:sub@fig:offline_edges_subspace a single ϵ\epsilon-GHA mapped in task-space represented as a subgraph of GG, subspaces are searched for by traversing the graph and assigning an unique IK solution to each node such that all connected neighbours are close in configuration space. LABEL:sub@fig:online_scenario an example online scenario with the arm in its home configuration. Online, HAP is robust against objects in LABEL:sub@fig:online_scenario that are unmodelled in m^\hat{m} and tasks can differ to those in T^\hat{T}.

In this section we detail the HAP framework which consists of an offline pre-computation stage, and an online planning stage, see Fig. 4. In the pre-computation stage the map(s) {θi}i=1K\{\theta^{i}\}_{i=1}^{K} and corresponding task space decompositions are generated as detailed in Sections IV-A and IV-B. Then, during online planning the online tasks are matched to the mapped subspaces, intra-subspace TSPs are solved independently, and the final motion is generated for execution. These online stages are described in Section IV-C.

IV-A Task-space Decomposition

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 6: ϵ\epsilon-GHA propagation process (lines 4-22 in Alg. 2)). Expanded nodes are highlighted with blue, column vectors beside nodes show their IK solutions and corresponding configuration distances to the expanded node, green undirected edges indicate a mapping was found that satisfied the ϵ\epsilon-GHA condition (ϵ=0.5\epsilon=0.5 used in this example) and red undirected edges vice versa. LABEL:sub@fig:egha_vis1 Starts with root node t0t_{0} and arbitrarily assigns mapping θ(t0)\theta(t_{0}) to its first IK solution q0q_{0}. LABEL:sub@fig:egha_vis2 Only one IK solution q1q_{1} for t2t_{2} was below ϵ\epsilon and thus added to θ\theta and E¯\bar{E}. LABEL:sub@fig:egha_vis3 Shows a case where it’s possible for t1t_{1} to belong to the same subspace as t0t_{0} via an indirect path through t2t_{2} and t3t_{3}. LABEL:sub@fig:egha_vis4 When t3t_{3} is expanded both neighbours have existing mappings and thus are the only configurations checked, this is important in ensuring existing edges maintain ϵ\epsilon-GHA condition satisfaction.
Algorithm 1 Decompose task space into ϵ\epsilon-GHA maps

Input: robot model AA, environment m^\hat{m} and poses T^\hat{T}
Output: maps {θi}i=1K\{\theta^{i}\}_{i=1}^{K} and corresponding edges {Ei}i=1K\{E^{i}\}_{i=1}^{K}

1:function DecomposeTaskSpace(m^\hat{m}, T^\hat{T})
2:     Egen_edges(T^)E\leftarrow\texttt{gen\_edges}(\hat{T})
3:     T^openT^\hat{T}_{\text{open}}\leftarrow\hat{T}
4:     i0i\leftarrow 0
5:     while T^open\hat{T}_{\text{open}}\neq\emptyset do
6:         T^rootsample(T^open)\hat{T}_{\text{root}}\leftarrow\texttt{sample}(\hat{T}_{\text{open}})
7:         JJ^{*}\leftarrow\infty
8:         for each t0t_{0} in T^root\hat{T}_{\text{root}} do
9:              J(θ,t0),θ,EJ(\theta^{\prime},t_{0}),\theta^{\prime},E^{\prime}\leftarrow GenerateMap(GG, t0t_{0})
10:              if J(θ,t0)<JJ(\theta^{\prime},t_{0})<J^{*} then
11:                  JJ(θ,t0)J^{*}\leftarrow J(\theta^{\prime},t_{0})
12:                  θi,Eiθ,E\theta^{i},E^{i}\leftarrow\theta^{\prime},E^{\prime}
13:              end if
14:         end for
15:         for each tt in GG || θi(t)\theta^{i}(t) not UNDEFINED do
16:              T^openT^open{t}\hat{T}_{\text{open}}\leftarrow\hat{T}_{\text{open}}\setminus\{t\}
17:         end for
18:         ii+1i\leftarrow i+1
19:     end while
20:     return {θi,Ei}i=1K\{\theta^{i},E^{i}\}_{i=1}^{K}
21:end function
Algorithm 2 Search for candidate ϵ\epsilon-GHA map

Input: graph GG, root node t0t_{0}
      Output: minimum sum of path costs J(θ,t0)J(\theta^{\prime},t_{0}) and
          corresponding mappings θ\theta^{\prime}

1:function GenerateMap(GG, t0t_{0})
2:     J(θ,t0)J(\theta^{\prime},t_{0})\leftarrow\infty
3:     for each qq in Q(t0)Q(t_{0}) do
4:         E¯\bar{E}\leftarrow\emptyset
5:         t0\mathbb{Q}\leftarrow t_{0}
6:         for each tt in GG do
7:              θ(t)q\theta(t)\leftarrow q if t=t0t=t_{0}, else UNDEFINED
8:              g(π(t0,t0);θ)g(\pi(t_{0},t_{0});\theta) 0\leftarrow 0 if t=t0t=t_{0}, else cmaxc_{\text{max}}
9:         end for
10:         while \mathbb{Q}\neq\emptyset do
11:              targmintg(π(t0,t);θ)t\leftarrow\text{argmin}_{t^{\prime}\in\mathbb{Q}}g(\pi(t_{0},t^{\prime});\theta)
12:              qtθ(t)q_{t}\leftarrow\theta(t)
13:              for each uu in 𝒩t\mathcal{N}_{t} do
14:                  if θ(u)\theta(u) UNDEFINED then
15:                       qu,l(u,t)GetMapping(u,qt)q_{u},l(u,t)\leftarrow\textsc{GetMapping}(u,q_{t})
16:                  else
17:                       quθ(u)q_{u}\leftarrow\theta(u)
18:                       l(u,t)l(u,t) dC(qt,θ(u))\leftarrow d_{C}(q_{t},\theta(u))
19:                  end if
20:                  g(π(t0,u);θ),θUpdate(,qu,u,t)g(\pi(t_{0},u);\theta),\theta\leftarrow\textsc{Update}(\mathbb{Q},q_{u},u,t)
21:              end for
22:         end while
23:         J(θ,t0)=tGt0J(\theta,t_{0})=\sum_{t\in G\setminus t_{0}} g(π(t0,t);θ)g(\pi(t_{0},t);\theta)
24:         if J(θ,t0)<J(θ,t0)J(\theta,t_{0})<J(\theta^{\prime},t_{0})  then
25:              J(θ,t0)J(θ,t0)J(\theta^{\prime},t_{0})\leftarrow J(\theta,t_{0})
26:              θ,Eθ,E¯\theta^{\prime},E^{\prime}\leftarrow\theta,\bar{E}
27:         end if
28:     end for
29:     return J(θ,t0)J(\theta^{\prime},t_{0}), θ,E\theta^{\prime},E^{\prime}
30:end function
Algorithm 3 Get candidate mapping for neighbour node uu

Input: Neighbouring node uu and expanded node mapping qtq_{t}
      Output: candidate mapping quq_{u} and resulting edge cost l(u,t)l(u,t)

1:function GetMapping(uu, qtq_{t})
2:     l(u,t)l(u,t) \leftarrow\infty
3:     for each pp in Q(u)Q(u) || dC(qt,p)<ϵ+dT(u,t)d_{C}(q_{t},p)<\epsilon+d_{T}(u,t) do
4:         if dC(qt,p)<d_{C}(q_{t},p)< l(u,t)l(u,t) then
5:              qupq_{u}\leftarrow p
6:              l(u,t)l(u,t) dC(qt,qu)\leftarrow d_{C}(q_{t},q_{u})
7:         end if
8:     end for
9:     return quq_{u}, l(u,t)l(u,t)
10:end function
Algorithm 4 Update neighbour path cost and node mapping

Input: Queue \mathbb{Q}, candidate mapping quq_{u}, neighbour node uu and expanded node tt
      Output: updated path cost g(π(t0,u);θ)g(\pi(t_{0},u);\theta) and updated IK assignment θ(u)\theta(u)

1:function Update(\mathbb{Q}, quq_{u}, l(u,t)l(u,t))
2:     if l(u,t)l(u,t) ++ g(π(t0,t);θ)g(\pi(t_{0},t);\theta) << g(π(t0,u);θ)g(\pi(t_{0},u);\theta) then
3:         θ(u)qu\theta(u)\leftarrow q_{u}
4:         E¯.add(u,t)\bar{E}.add(u,t)
5:         g(π(t0,u);θ)l(u,t)+g(π(t0,t);θ)g(\pi(t_{0},u);\theta)\leftarrow l(u,t)+g(\pi(t_{0},t);\theta)
6:         {u}\mathbb{Q}\leftarrow\mathbb{Q}\cup\{u\}
7:     end if
8:     return g(π(t0,u);θ)g(\pi(t_{0},u);\theta), θ(u)\theta(u)
9:end function

The offline pre-computation stage begins with computation of the ϵ\epsilon-GHA(s). We are given an anticipated environment m^\hat{m} and a set of tasks T^\hat{T} representative of online scenarios. We assume the environment is not entirely known in advance, but a general model m^\hat{m} is available that approximates what is expected. For example, m^\hat{m} might represent a general bookshelf structure including the shelves and case. However, m^\hat{m} need not include all objects within the bookshelf, as these details may be unknown a priori and discovered later.

An undirected graph GG is created with nodes corresponding to poses tT^t\in\hat{T} and edges E^\hat{E} formed by connecting nodes within a specified radius of each other. An example T^\hat{T} and GG is shown in Figs. 5a-LABEL:sub@fig:offline_edges. An ϵ\epsilon-GHA is then generated from GG according to Alg. 1 and is represented as a subgraph of GG; that is, (θ,E)(\theta,E) where EE^E\subseteq\hat{E}. An example subgraph representation is shown in Fig. 5c.

Algorithm 1 is initialised by assigning all nodes to T^open\hat{T}_{\text{open}}. A node stays in T^open\hat{T}_{\text{open}} until a unique IK solution is assigned. While T^open\hat{T}_{\text{open}} is not empty, θ\theta is found via a generate map algorithm procedure (Alg. 2). Algorithm 2 searches for a θ\theta that minimizes the objective cost, the sum of all minimum cost paths π(t0,)\pi^{*}(t_{0},-) from a root node t0Gt_{0}\in G to all other nodes. That is,

J(θ,t0)=tGt0g(π(t0,t);θ),J(\theta,t_{0})=\sum_{t\in G\setminus t_{0}}g(\pi^{*}(t_{0},t);\theta), (4)

where the cost of any path π(t0,tN1)={θ(t0),,θ(tN1)}\pi(t_{0},t_{N-1})=\{\theta(t_{0}),\ldots,\theta(t_{N-1})\} of NN nodes is defined as

g(π(t0,tN1);θ)=n=0N2dC(θ(tn),θ(tn+1)).g(\pi(t_{0},t_{N-1});\theta)=\sum_{n=0}^{N-2}d_{C}(\theta(t_{n}),\theta(t_{n+1})). (5)

To ensure that paths have bounded lengths and do not involve large, unnecessary arm movements, θ\theta is additionally constrained such that it is an approximate isometry, or an ϵ\epsilon-Gromov-Hausdorff approximation (ϵ\epsilon-GHA) [35], defined below.

Definition 1.

The map θ:(T^,dT)(𝒞,dC)\theta:(\hat{T},d_{T})\to(\mathcal{C},d_{C}) is an ϵ\epsilon-Gromov-Hausdorff approximation if tj,tlT^\forall t_{j},t_{l}\in\hat{T}

|dT(tj,tl)dC(θ(tj),θ(tl))|<ϵ|d_{T}(t_{j},t_{l})-d_{C}(\theta(t_{j}),\theta(t_{l}))|<\epsilon (6)

for some ϵ>0\epsilon>0 and metric on the task-space dTd_{T}.

It should be noted that dTd_{T} and dCd_{C} operate on different metric spaces. However, this can be accounted for through appropriate choice of epsilon.

Depending on the value of ϵ\epsilon, topology of m^\hat{m} and robot kinematic structure, some nodes may still have undefined mappings after a single iteration of the algorithm. It may then be necessary to search for multiple ϵ\epsilon-GHAs, {θi}i=1K\{\theta^{i}\}_{i=1}^{K}, and corresponding edges, {Ei}i=1K\{E^{i}\}_{i=1}^{K}, that map a covering set of subspaces {T^i}i=1KT^\{\hat{T}^{i}\}_{i=1}^{K}\subset\hat{T} to a set of disjoint configuration subspaces {𝒞i}i=1K𝒞\{\mathcal{C}^{i}\}_{i=1}^{K}\subset\mathcal{C}.

Note that poses in the example in Fig. 5a have the same orientation. For task spaces with differing orientations the algorithm runs identically. As long as a valid task-space distance metric is used, (6) holds.

IV-B ϵ\epsilon-GHA Computation

The generate map algorithm as outlined in Alg. 2 is based on Dijkstra’s algorithm and attempts to find a unique IK solution for each task in T^\hat{T} such that the objective cost in (4) is minimised. The process is visualised in Fig. 6. It begins by assigning an undefined mapping to all nodes except for the root node which is mapped arbitrarily to one of its IK solutions. The rest of the procedure is carried out as in the original Dijkstra’s algorithm with a priority queue \mathbb{Q} [36], with modifications to the node expansion step where we compute the unique IK solution mapping. Here, the set of neighbouring nodes of tt, 𝒩t\mathcal{N}_{t}, is run through the functions shown in Algs. 3 and 4.

In get mapping (Alg. 3), if a node u𝒩tu\in\mathcal{N}_{t} has already been assigned an IK solution quq_{u}, this solution and the edge cost,

l(u,t)=dC(θ(u),θ(t)),l(u,t)=d_{C}(\theta(u),\theta(t)), (7)

are returned and the ϵ\epsilon-GHA θ\theta is not updated. Otherwise, the IK solution that gives the minimum l(u,t)l(u,t) while satisfying the ϵ\epsilon-GHA constraint in (6) is returned. The returned quq_{u} and l(u,t)l(u,t) are passed as a candidate to update (Alg. 4). In update, if the candidate path cost from root node to u𝒩tu\in\mathcal{N}_{t} is less than the current cost then uu is mapped to quq_{u}, the path cost is updated, and an edge is created between uu and tt. Additionally, if uu is not in \mathbb{Q}, it is added.

The above process is repeated for all IK solutions of the root node. If required, the algorithm is run KK times to find multiple ϵ\epsilon-GHAs. The resulting one or more ϵ\epsilon-GHA(s) θi\theta^{i} that minimise J(θi,t0)J(\theta^{i},t_{0}) are returned. All nodes are assigned an IK solution before being placed in the queue. It is also important to note that these assignments do not change during an iteration of the routine, as this could result in unstable behaviour and violation of the ϵ\epsilon-GHA condition due to changing edge costs. However, path costs may change after finding shorter paths through GG.

In contrast to the original Dijkstra’s algorithm, all nodes are initialised with a non-infinite path cost cmaxc_{\text{max}}. Thus, finding a small number of ϵ\epsilon-GHAs with greater coverage will be favoured, particularly in earlier iterations.

IV-C Task Sequencing with ϵ\epsilon-GHAs

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Refer to caption
(d)
Figure 7: Online task sequencing process (Alg. 5)). Obstacles are grey ellipses, tasks belonging to one subspace are coloured green and the other, blue. LABEL:sub@fig:online_plan1 Two subspaces from offline phase and static obstacle. LABEL:sub@fig:online_plan2 Online, an obstacle appears and online tasks (highlighted with red border) are matched with closest subspaces and connected to corresponding ϵ\epsilon-GHA graph. LABEL:sub@fig:online_plan3 Tasks grouped by subspace, paths between intra-subspace tasks are computed (only final path sequence shown), home configuration (orange node) appended to each group, sequence computed per group and sequences concatenated. LABEL:sub@fig:online_plan4 Paths are adapted and smoothed to account for new obstacles.
Algorithm 5 HAP Task Sequencing Overview
1:Given an online environment and set of tasks, first compute IK solutions.
2:Match each task with subspace based on IK solution similarity.
3:Group tasks by subspace and retrieve paths between intra-subspace tasks.
4:Append home configuration to each group to act as intermediate point connecting subspaces.
5:Construct weighted adjacency matrix for each group, using retrieved path costs as weights.
6:Compute efficient sequence for each group using TSP solver with associated weight matrix and start/end constrained to home configuration.
7:Concatenate sequences.
8:Time-parameterise paths and adapt trajectories to online environment.

With each offline task mapped to a unique or reduced set of IK solutions via θ\theta or θi\theta^{i} found offline, the online planner can solve a classical TSP as a proxy for solving the task sequencing problem in Problem 2. However, the set of online tasks TT provided may not necessarily align with the offline set T^\hat{T} used to generate the subspace mappings θi\theta^{i} in the offline stage, as illustrated in Fig. 5d. As such, each task tTt\in T must first be assigned to one of the subspace mappings θi\theta^{i}. This matching process and subsequent task sequencing is outlined in Alg. 5 and visualised in Fig. 7.

IV-C1 Matching online tasks to offline subspaces

Beginning with the single map case, to match an online task tt with a suitable task-space subspace we query the kk-closest offline tasks {t^n}n=1kT^\{\hat{t}_{n}\}_{n=1}^{k}\subset\hat{T} to tt according to task-space distance. For the set of kk-closest candidates, we retrieve their IK solutions assigned by θ\theta, {θ(t^n)}n=1k\{\theta(\hat{t}_{n})\}_{n=1}^{k}, and compare them pairwise to all possible IK solutions qtQ(t)q_{t}\in Q(t) for task tt using a suitable similarity metric in configuration space. We use the L2L_{2}-norm in this work. The pair of online/mapped task configurations (qt,θ(t^))(q_{t}*,\theta(\hat{t}*)) that minimises this metric is selected as a match.

If multiple ϵ\epsilon-GHAs were required in the offline stage to decompose the subspace, there may be an overlap, giving a set of suitable matches {(qti,θi(t^i))}i=1K\{(q_{t}^{i}*,\theta^{i}(\hat{t}^{i}*))\}_{i=1}^{K} (one candidate per map) when following the procedure outlined for the single map case above. To disambiguate this, we choose the first match qtiq_{t}^{i}* whose similarity value to θi(t^i)\theta^{i}(\hat{t}^{i}*) falls below a given threshold. This reduces the number of checks needed, lowering computation time, and biases matches to subspaces found in earlier iterations, reducing the amount of subspace switching.

Once online tasks are matched, they are connected to the graph of their corresponding ϵ\epsilon-GHA by adding the edge (qt,θ(t^))(q_{t}*,\theta(\hat{t}*)), see Fig. 7b. Then online tasks are grouped by equivalent subspace assignment and paths π(tj,tl)\pi^{*}(t_{j},t_{l}) are computed pairwise between intra-subspace tasks using a graph search algorithm which can be computed cheaply using the fixed, unique IK solutions in (θi,Ei)(\theta^{i},E^{i}).

IV-C2 Task sequencing via classical TSP

With online tasks grouped by subspace and intra-subspace paths generated, a classical TSP can be solved within each subspace. To facilitate moving between subspaces a home configuration for the robot is defined. The home configuration is chosen such that all subspaces may be reached via a straight-line path in configuration space. Thus, the home configuration acts as an intermediate point connecting all pairs of subspaces and can be used to connect start and goal poses in separate subspaces by simply joining the straight-line paths to and from it.

To solve the set of classical TSPs in each subspace, weighted adjacency matrices using the path costs g(π(tj,tl);θi)g(\pi^{*}(t_{j},t_{l});\theta^{i}) are constructed to define TSP edge costs. Thus, each task group has an associated matrix where the weights correspond to the path cost for each pair of tasks within the group, including the home configuration. These matrices are used as input to a TSP solver, which returns a task sequence for each group independently. The TSP solver is constrained such that each sequence begins and ends at the home configuration. The sequences are concatenated in arbitrary order. This concatenation is always possible by construction of the sequences, which all start and end at the home configuration.

IV-C3 Path Post-Processing

The final online algorithmic step before a path sequence can be executed by the robot is to time-parameterise the paths and perform post-processing to ensure that they are smooth and time-continuous safe; that is, they are contained entirely within 𝒞free\mathcal{C}_{\text{free}}. We refer to this post-processing as trajectory adaptation.

There are a number of existing trajectory optimisation algorithms that are designed for similar purposes. In general, these algorithms require an initial seed trajectory as input, which they attempt to adapt to satisfy given constraints and maximise/minimise a given objective. In this work we can conveniently use the time-parameterised modified subspace path, π(tj,tl)\pi^{*}(t_{j},t_{l}), as the seed trajectory.

Unfortunately, trajectory optimisation approaches are not guaranteed to succeed in finding a solution and depend heavily on the choice of seed trajectory. The seed trajectory already accounts for obstacles known at the time of construction and is preferable to less informed choices, such as a straight-line trajectory in configuration space. However, a fallback method remains necessary in case of failure due to obstacles discovered or a task not lying within any subspace at execution time. In such an event, a probabilistically complete planner is used with the closest IK solution assignment, qtq^{*}_{t} used as its goal configuration input. Probabilistically complete methods may still fail to find a solution in a reasonable amount of time. Thus, HAP enforces a user-defined threshold and terminates execution if exceeded. This is the only condition in which HAP fails to produce an executable trajectory.

IV-D Practical Considerations

IV-D1 Encouraging exploration

While searching for ϵ\epsilon-GHA(s), it is beneficial to bias the search toward the unexplored region of the task space. To encourage subspace exploration in subsequent iterations of the routine, a penalty ρω(t)\rho\cdot\omega(t) may be added to all edge costs passing through a node, where ω(t)\omega(t) is a count of how many times a node is assigned an IK solution, and ρ\rho is a tunable parameter. As the penalties ρω(t)\rho\cdot\omega(t) accumulate, previously mapped portions of the graph are not considered in later iterations of the algorithm as their path costs may exceed cmaxc_{\text{max}}. The algorithm then focuses on previously unmapped nodes to increase coverage of T^\hat{T}.

IV-D2 Ensuring smooth transitions between subspaces

As previously mentioned, when moving between subspaces the arm first moves back to a fixed home configuration. Based on a given home pose, the corresponding IK solution that minimises the distance to the average configuration qavg0q_{\text{avg}}^{0} of the first found subspace 𝒞0\mathcal{C}^{0} are chosen. Note that the home configuration can be computed online allowing for flexible home pose choice.

To avoid large changes in configuration while returning to home, the subspaces are biased to be close to one other. For i1i\geq 1 in Alg. 1 an additional penalty ρs|θi(u)qavg0|\rho_{s}\cdot|\theta^{i}(u)-q_{\text{avg}}^{0}| with user-defined weighting ρs\rho_{s} is added to the edge cost in (7). This way, chosen IK solutions are biased to be close in configuration space to qavg0q_{\text{avg}}^{0}. In addition, one can optionally enforce that the IK solution assignment for the root node t0t_{0} is within some distance threshold, i.e., |θi(t0)qavg0|<ζ|\theta^{i}(t_{0})-q_{\text{avg}}^{0}|<\zeta.

IV-D3 Balancing the number of subspaces

If many undefined node mappings remain after an iteration of Alg. 2, θ\theta may not cover large regions of the task space. This may occur due to poor flexibility admitted by the robotic manipulator’s natural kinematic configurations (demonstrated in Fig. 14). This can have adverse impact on online planning if IK solutions of online tasks are far from mapped subspace configurations, leading to failures or jerky trajectories. As such, Alg. 1 terminates only when T^open=\hat{T}_{\text{open}}=\emptyset and a complete set of subspaces that fully cover the task space are found. Note that this condition may never be met. For example, a region requiring large configuration changes to switch to may have undefined mapping if a conservative ζ\zeta is chosen.

In practice a large number of subspaces is undesirable as it can slow subspace matching during online planning. Furthermore, frequent subspace switching can add cumbersome overhead to online execution. Thus, to balance a trade-off between coverage and planning/execution time the main loop in Alg. 1 can be terminated once a user-defined maximum number of subspaces have been found or until the ζ\zeta threshold cannot be satisfied. Alternatively, the loop can be terminated once a certain task-space coverage percentage has been achieved or when the size of the subspace found in an iteration falls below a set threshold.

IV-D4 Modifications for mobile bases

Greater flexibility in subspace assignment and larger workspaces can potentially be achieved by allowing the arm to be mobile. Having multiple ϵ\epsilon-GHAs synergises well with a mobile manipulator. Instead of allocating an arbitrary number of ϵ\epsilon-GHAs, one can choose a discrete number of base poses and assign ϵ\epsilon-GHAs to each base pose.

When computing the task-space decomposition for a mobile base, the generate map algorithm in Alg. 2 is run for all base poses in each iteration in Alg. 1. The pose that yields the lowest objective cost is allocated a ϵ\epsilon-GHA. This base pose is then removed as a candidate in the subsequent iterations. This is repeated until all base poses have been assigned a subspace or until T^open=\hat{T}_{\text{open}}=\emptyset.

For mobile base online execution, the subspace switching action consists of moving back to the home configuration before moving the base. Furthermore, when sequencing for the mobile base case we ignore the base movement cost when switching between subspaces. However, if this were important then sequencing the group execution order could be solved using another TSP with the base movement costs.

IV-D5 Task-space graph construction

An example of an undirected graph on T^\hat{T} is visualised in Fig. 5b, where nodes are tasks in T^\hat{T} and edges are connections between tasks. The construction strategy of such a graph is flexible, however there are a few important considerations to highlight. Firstly, greater edge connection density allows for more diverse paths and greater node density increases the probability of time continuous safety being met by the retrieved subspace paths, π(tj,tl)\pi^{*}(t_{j},t_{l}). Additionally, edges connect nodes in task space and hence a local connection strategy needs to be devised to ensure they are feasible in the configuration space. The connection strategy used in this paper is to connect nodes within a ball of specified radius in the workspace. To ensure feasibility, it is required that an IK solution in 𝒞free\mathcal{C}_{\text{free}} exists for a discrete set of points along the edge connecting two nodes.

The T^\hat{T} upon which the graph is built is a discretisation of the user-defined task space. In the context of this work, it represents approximate poses that the arm is expected to plan to. An example discretisation strategy is visualised in Fig. 5a. Poses here could represent abstract tasks such as pre-grasp points or camera viewpoints for active perception. The orientation of the poses in T^\hat{T} should align roughly with the expected tasks. For example, in Fig. 5a all poses point forward into the bookshelf, a suitable construction for tasks such as grasping and scene reconstruction. Notice in the online scenario in Fig. 5d the task poses need not lie exactly on T^\hat{T}. However, performance may decrease the greater this discrepancy is. While this is a suitable choice for the given environment our framework is perfectly capable of searching over task spaces with varying orientations as long as a valid task space distance metric is used, see sec V.

The poses in this work are generated procedurally by defining a uniform graph of nodes across a volume bounding the bookshelf; however, there exists many possible methods for generating these poses. For example, the manipulator could be teleoperated to various poses or the manipulator could be moved kinesthetically. That is, the human operator could move the end effector directly and store the poses. However, care should be taken such that no islands are formed in the graph. For example, in the bookshelf scenario there is a plane of poses in front of the bookshelf to ensure that there is connectivity between poses within the shelves. However, this could potentially be resolved in a post-processing step automatically, relieving the burden on the operator.

V ANALYSIS

In this section, we show that the paths found by Alg. 1 have bounded lengths dCd_{C} and are hence efficient and free of jerky motion. This is because, as we show, ϵ\epsilon-GHAs approximately preserve shortest paths between metric spaces, in our case the task and configuration spaces. We first verify that the map θ\theta found by Alg. 1 is indeed an ϵ\epsilon-GHA (definition. 1).

Theorem 1 (θ\theta is an ϵ\epsilon-GHA).

θ\theta found by Alg. 2 is an ϵ\epsilon-GHA.

Proof.

Pick any tT^t\in\hat{T}. Then u1𝒩t\forall u_{1}\in\mathcal{N}_{t}, by construction, we have

|dC(θ(t),θ(u1))dT(t,u1)|<ϵ,|d_{C}(\theta(t),\theta(u_{1}))-d_{T}(t,u_{1})|<\epsilon,

for some ϵ>0\epsilon>0. Then, u2𝒩u1\forall u_{2}\in\mathcal{N}_{u_{1}}, i.e. the next-nearest neighbours of tt, we again have by construction

|dC(θ(u1),θ(u2))dT(u1,u2)|<ϵ.|d_{C}(\theta(u_{1}),\theta(u_{2}))-d_{T}(u_{1},u_{2})|<\epsilon.

Similarly for all (N1)(N-1)th and NNth nearest neighbours of tt,

|dC(θ(uN1),θ(uN))dT(uN1,uN)|<ϵ.|d_{C}(\theta(u_{N-1}),\theta(u_{N}))-d_{T}(u_{N-1},u_{N})|<\epsilon.

Then, using the triangle inequality we get

|dC(θ(t),θ(uN))dT(t,uN)||dC(θ(t),θ(u1))dT(t,u1)|+n=1N1|dC(θ(un),θ(un+1))dT(un,un+1)|<ϵ+(N1)ϵ=Nϵ.\begin{array}[]{l}|d_{C}(\theta(t),\theta(u_{N}))-d_{T}(t,u_{N})|\\ \leq|d_{C}(\theta(t),\theta(u_{1}))-d_{T}(t,u_{1})|+\\ \sum_{n=1}^{N-1}|d_{C}(\theta(u_{n}),\theta(u_{n+1}))-d_{T}(u_{n},u_{n+1})|\\ <\epsilon+(N-1)\epsilon\\ =N\epsilon.\end{array}

As ϵ\epsilon is arbitrary, taking ϵ\epsilon to be NϵN\epsilon gives the required result. ∎

Furthermore, θ\theta maps shortest paths in the workspace to paths in configuration space that are of bounded length. That is, minimising geodesics are approximately preserved under the mapping. Intuitively, minimising geodesics (referred to henceforth as geodesics for brevity) are a generalisation of “straight lines”, or shortest paths, in Euclidean space to more general spaces, defined below.

A metric space (X,dX)(X,d_{X}) is a set XX equipped with a metric, or “distance function”, dX:X×Xd_{X}:X\times X\rightarrow\mathbb{R} that satisfies the axioms of positiveness, symmetry, and triangular inequality [37]. Drawing upon concepts from metric geometry, we characterise geodesics on metric spaces as paths whose segment lengths sum to that of the whole path length. Formally,

Definition 2 (Geodesics).

Given a metric space (X,dX)(X,d_{X}) with intrinsic metric dXd_{X}, a path γ:[0,1]X\gamma:[0,1]\rightarrow X is a geodesic iff:

dX(γ(0),γ(1))=nd(γ(sn),γ(sn+1)),d_{X}(\gamma(0),\gamma(1))=\sum_{n}d(\gamma(s_{n}),\gamma(s_{n+1})), (8)

for any ordered {sn}[0,1]\{s_{n}\}\subset[0,1] with first and last entries equal to 0 and 11, respectively.

We now show that an ϵ\epsilon-GHA, and thus θ\theta found by HAP, preserves geodesics approximately.

Theorem 2 (ϵ\epsilon-GHAs preserve geodesics).

Let (X,dX)(X,d_{X}) and (Y,dY)(Y,d_{Y}) be two metric spaces, and θ:XY\theta:X\rightarrow Y an ϵ\epsilon-GHA. Then, for any geodesic γ\gamma on XX, we have

|dY(θ(γ(0)),θ(γ(1)))ndY(θ(γ(sn)),θ(γ(sn+1)))|(N+1)ϵ.\begin{split}&|d_{Y}(\theta(\gamma(0)),\theta(\gamma(1)))-\sum_{n}d_{Y}(\theta(\gamma(s_{n})),\theta(\gamma(s_{n+1})))|\\ &\leq(N+1)\epsilon.\end{split} (9)

In other words, the path θ(γ(s)):[0,1]Y\theta(\gamma(s)):[0,1]\to Y is (N+1)ϵ(N+1)\epsilon away from being a geodesic in the configuration space.

Proof.

Applying the ϵ\epsilon-GHA condition to the end-points of γ\gamma, we have

|dY(g(γ(0)),g(γ(1)))dX(γ(0),γ(1))|ϵ.|d_{Y}(g(\gamma(0)),g(\gamma(1)))-d_{X}(\gamma(0),\gamma(1))|\leq\epsilon.

Because γ\gamma is a geodesic, we can replace the dX(γ(0),γ(1))d_{X}(\gamma(0),\gamma(1)) term above with the sum of lengths along any test points {s1,,sN}\{s_{1},...,s_{N}\},

|dY(g(γ(0)),g(γ(1)))ndX(γ(sn),γ(sn+1))|ϵ.|d_{Y}(g(\gamma(0)),g(\gamma(1)))-\sum_{n}d_{X}(\gamma(s_{n}),\gamma(s_{n+1}))|\leq\epsilon.

Using the ϵ\epsilon-GHA condition on summands individually, we have

ndY(g(γ(sn)),g(γ(sn+1)))(N+1)ϵdY(g(γ(0)),g(γ(1)))ndY(g(γ(sn)),g(γ(sn+1)))+(N+1)ϵ.\begin{split}&\sum_{n}d_{Y}(g(\gamma(s_{n})),g(\gamma(s_{n+1})))-(N+1)\epsilon\\ &\leq d_{Y}(g(\gamma(0)),g(\gamma(1)))\\ &\leq\sum_{n}d_{Y}(g(\gamma(s_{n})),g(\gamma(s_{n+1})))+(N+1)\epsilon.\end{split}

N+1N+1 arises because there are NN epsilons inside the sum and one outside. ∎

VI EXPERIMENTS

Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 8: Time benchmarks for Sawyer bookshelf experiments with varying number of tasks. LABEL:sub@fig:sawyer_motion_plan Total motion planning times for HAP variants remain low while RoboTSP and Cluster-RTSP steadily increases. LABEL:sub@fig:sawyer_exec_time Average trajectory execution times for all methods decrease with increasing number of tasks. LABEL:sub@fig:sawyer_sequence_time Task sequencing times increase relatively linearly across all benchmarks with RoboTSP being slightly worse.
Refer to caption
(a)
Refer to caption
(b)
Refer to caption
(c)
Figure 9: Time benchmarks for UR5 bookshelf experiments with varying number of tasks. LABEL:sub@fig:ur5_motion_plan Total motion planning times show HAP benefiting more from subspace trajectory priors and RoboTSP’s performance deteriorating. LABEL:sub@fig:ur5_exec_time Average trajectory execution times for HAP and Cluster-RTSP decrease while RoboTSP remains approximately constant. LABEL:sub@fig:ur5_sequence_time Task sequencing times follow a similar trend to Fig. 8c with the exception of Cluster-RTSP.
Refer to caption
(a) Sawyer bookshelf experiments
Refer to caption
(b) UR5 bookshelf experiments
Figure 10: Planning success rates for LABEL:sub@fig:sawyer_plan_success Sawyer and LABEL:sub@fig:ur5_plan_success UR5 across all bookshelf experiments. Red lines indicate medians and green triangles means.

This section presents several sets of experimental results that demonstrate and evaluate HAP’s performance in a complex simulated bookshelf environment using robot manipulators with varying kinematic models. For comparison, we also present results obtained using state-of-the-art task sequencing methods.

VI-A Experimental Setup

Experiments consist of sets of randomised trials where tasks are sampled uniformly at random from the environment’s task space. The number of tasks range from 5 to 30 and for each setting we run 50 trials to gauge the robustness of each method.

We compare HAP with competitive contemporary RTSP solver baselines. Both methods compute a sequence of goal IK solutions and then use the same trajectory adaption process as HAP, except with a straight-line trajectory prior for the trajectory optimisation planner:

  • RoboTSP [2]: Initially solves a TSP in task space. Given this sequence, an optimal joint configuration is assigned to each task using a graph search algorithm such that the total path length (Euclidean distance in configuration space) through each configuration is minimised.

  • Cluster-RTSP [4]: Begins by assigning a unique configuration to each task based on a best-fit heuristic. This essentially tries to choose a set of configurations that are all close to each other. The configurations are then clustered into similar groups, based on proximity in configuration space. A configuration sequence is then found by solving inter-cluster and intra-cluster TSPs individually.

The following metrics are evaluated:

  • Planning success rate refers to the percentage of tasks for which the trajectory adaption process succeeded in motion planning a trajectory in 𝒞free\mathcal{C}_{\text{free}}.

  • Motion planning time refers to the total computation time taken for the trajectory adaption process to compute motion plans for all tasks.

  • Average execution time refers to the average time taken per task for a successful trajectory execution, assuming the arms are operating at their maximum joint velocities. Note that for HAP we count inter-subspace trajectories, that is the transition to and from the home configuration, as one task.

  • Maximum trajectory jerk refers to the maximum joint jerk norm of an executed trajectory. This is computed numerically using the finite difference method.

  • Sequencing time for HAP refers to the time taken to match tasks, retrieve subspace paths and then compute a sequence (Alg. 5 lines 2-7). Additionally, online task IK solution computation time is included for all methods.

The robot models used are a 7-DOF Rethink Robotics Sawyer and a 6-DOF Universal Robots UR5. The UR5 also has the option to be mobile, which we refer to as HAP-Mobile. We additionally include a variant of HAP which, similar to RoboTSP and Cluster-RTSP, utilises a straight-line trajectory prior for trajectory optimisation, referred to as HAP-no-prior.

All benchmarks are run on the bookshelf environment shown in Fig. 5. The task-space decomposition is carried out with the empty bookshelf and in the online scenarios objects are added. The computed subspaces are shown in Figs. 14-16.

VI-B Implementation Details

HAP 501.00±203.56\bm{501.00\pm 203.56}
HAP-no-prior 1415.43±820.881415.43\pm 820.88
Cluster-RTSP [4] 2607.88±2130.332607.88\pm 2130.33
RoboTSP [2] 2390.36±1269.952390.36\pm 1269.95
TABLE I: Maximum trajectory jerk values (rad \cdot s-3) for Sawyer bookshelf experiments. Mean and standard deviation are computed over all successful trajectories.
HAP-mobile 1968.07±772.991968.07\pm 772.99
HAP 1743.73±649.29\bm{1743.73\pm 649.29}
HAP-no-prior 4048.48±2378.244048.48\pm 2378.24
CluserRTSP [4] 5651.06±4776.345651.06\pm 4776.34
RoboTSP [2] 3615.76±2664.093615.76\pm 2664.09
TABLE II: Maximum trajectory jerk values (rad \cdot s-3) for UR5 bookshelf experiments.

In implementing Alg. 1, the number of root nodes, T^root=10\|\hat{T}_{\text{root}}\|=10. The maximum number of ϵ\epsilon-GHAs was set to 55 for the UR5 experiments. Sawyer experiments only utilised a single ϵ\epsilon-GHA due the flexibility in IK solutions afforded by its kinematic redundancy. In implementing Algs. 2-4, all nodes are initialised with path cost cmax=5.0c_{\text{max}}=5.0. The subspace exploration penalty ρ=2.0\rho=2.0. The subspace distance biasing penalty ρs=0.02\rho_{s}=0.02. Experiments with UR5 model use ϵ=0.35\epsilon=0.35, and those with Sawyer model use ϵ=0.85\epsilon=0.85. Distance dCd_{C} is defined as LL_{\infty}, and dTd_{T} as L2L_{2}. Both metrics use uniformly weighted distances.

For the online planner (Alg. 5), the number of closest neighbours used when retrieving π(tj,tl)\pi^{*}(t_{j},t_{l}) is k=10k=10. The threshold used for terminating the search over mappings when matching a task configuration is L2L_{2} distance 0.70.7. Google’s or-tools [38] package is used as the TSP-solver in (3).

The discretised task space, T^\hat{T}, used is shown in Fig. 5a. The home pose used is shown in Fig. 5d. For the mobile base experiments, a discrete set of possible base positions is defined uniformly along the yy-axis, parallel to the bookshelf, see Fig. 16.

The trajectory optimisation algorithm we use for online adaption is TrajOpt with default implementation from [39]. The fallback probabilistic method used is BIT* with a timeout limit of 2 seconds and otherwise default implementation from [40].

The simulation environment used is OpenRAVE with IKFast kinematics solver [41]. To generate a finite set of IK solutions for the 7-DOF Sawyer, IKFast sets the second DOF as a free joint with discretisation increments of 0.010.01 radians.

For the benchmark methods RobotTSP and Cluster-RTSP, the default parameters are used in the provided code implementations [42, 43]. The only difference being that the maximum number of clusters for Cluster-RTSP was modified to be the number of tasks.

VI-C Results

Time benchmarks for the Sawyer and UR5 bookshelf experiments are shown in Figs. 8 and 9. Average maximum trajectory jerk values are shown in Tables II and II.

The box-and-whisker plots in Fig. 10 show that HAP variants achieved favourable success rate relative to baseline methods. Notably, the UR5 benefits from subspace trajectory priors more so than the Sawyer which is able to utilise its kinematic redundancy to better navigate around obstacles.

Motion planning times for HAP variants in the UR5 experiments greatly outperform benchmarks with approximately up to 3x speedup compared to robotsp and 2x compared to cluster-RTSP with consistently higher planning success rates and whilst retaining similar task sequencing time scaling. For a plan to fail, both TrajOpt and BIT* must timeout. Thus, low planning success rates explain the higher motion planning times exhibited by the baseline methods.

HAP variants and Cluster-RTSP saw a downward trend in execution times as the number of tasks increased for both experiments, whereas RoboTSP’s fluctuated for the UR5 case. Whilst HAP’s execution times were similar to Cluster-RTSP, and RoboTSP in the case of Sawyer experiments, the average maximum trajectory jerk values in Tables II and II were up to approximately 5x lower with low variance. It should be noted that trajectory execution times describe successful trials only and should be interpreted in conjunction with corresponding planning success rates.

Furthermore, the HAP-mobile variant achieved comparable results to the static case, confirming HAP’s ability to generalise to mobile bases. Interestingly, the mobile and static variants utilised on average 2.45 and 1.9 subspaces per trial, respectively. This can be explained by the greater subspace coverage and diversity provided by the mobile base (see Fig. 15), hence the slightly better planning and success rates.

Total offline-computation time was 108s, 318s and 569s for the UR5, Sawyer and UR5 with mobile base, respectively. It should be noted, however, that this could be substantially sped up through various optimisations such as parallelisation of the candidate ϵ\epsilon-GHA map search (Alg. 1 lines 8-14) and IK solution computation.

VI-D Discussion

Refer to caption
(a) σRoboTSP[2:3]\sigma_{RoboTSP}[2:3]
Refer to caption
(b) σRoboTSP[5:6]\sigma_{RoboTSP}[5:6]
Refer to caption
(c) σRoboTSP[7:9]\sigma_{RoboTSP}[7:9]
Refer to caption
(d) σRoboTSP[9:10]\sigma_{RoboTSP}[9:10]
Figure 11: Example subset of a RoboTSP trajectory sequence for UR5 bookshelf experiment. The trajectories for the tasks shown highlight the issue of decoupling task and configuration space during sequencing; short paths in tasks space are not necessarily so in configuration space. Red poses indicated failed plans.
Refer to caption
(a) σClusterRTSP[6:7]\sigma_{ClusterRTSP}[6:7]
Refer to caption
(b) σClusterRTSP[8:9]\sigma_{ClusterRTSP}[8:9]
Figure 12: Example subset of a Cluster-RTSP trajectory sequence for UR5 bookshelf experiment. A large change in joint configuration occurs mid sequence and motion planning fails to two subsequent tasks (red poses).
Refer to caption
(a) σHAP[0:1],θ0\sigma_{HAP}[0:1],\theta^{0}
Refer to caption
(b) σHAP[1:2],θ0\sigma_{HAP}[1:2],\theta^{0}
Refer to caption
(c) σHAP[2:3],θ0\sigma_{HAP}[2:3],\theta^{0}
Refer to caption
(d) σHAP[3:4],θ0\sigma_{HAP}[3:4],\theta^{0}
Refer to caption
(e) σHAP[4:5],θ0\sigma_{HAP}[4:5],\theta^{0}
Refer to caption
(f) σHAP[5:0],θ1\sigma_{HAP}[5:0],\theta^{1}
Refer to caption
(g) σHAP[0:6],θ1\sigma_{HAP}[0:6],\theta^{1}
Refer to caption
(h) σHAP[6:7],θ1\sigma_{HAP}[6:7],\theta^{1}
Refer to caption
(i) σHAP[7:8],θ1\sigma_{HAP}[7:8],\theta^{1}
Refer to caption
(j) σHAP[8:0],θ1\sigma_{HAP}[8:0],\theta^{1}
Refer to caption
(k) σHAP[0:9],θ2\sigma_{HAP}[0:9],\theta^{2}
Refer to caption
(l) σHAP[9:10],θ2\sigma_{HAP}[9:10],\theta^{2}
Refer to caption
(m) σHAP[10:0],θ2\sigma_{HAP}[10:0],\theta^{2}
Figure 13: Example HAP trajectory sequence for UR5 bookshelf experiment. The assigned ϵ\epsilon-GHA indexes for each task pair are shown to highlight when subspace switching occurs. Tasks are all successfully planned to and trajectories between intra-subspace tasks appear to be consistently short and smooth. Tasks requiring a large change around the shoulder joint are grouped into θ2\theta^{2} and executed together in LABEL:sub@fig:ur5_hap_seq11-LABEL:sub@fig:ur5_hap_seq13.

In this section we discuss the experimental results and provide an analysis on HAP’s performance compared to the baselines. A key benefit of HAP is its ability to effectively reason about low-level motion during task sequencing. A notable supporting observation of this is that HAP’s task sequences tended to minimise movement between bookshelf rows. This is in contrast to the baselines which ignore the cost of avoiding collision with the shelves and objects, leading to frequent switching between rows and resulting in inefficient trajectory sequences and higher planning failure rates. See Appendix -C for supplementary videos with example experiments.

More specifically to RoboTSP, its decoupled sequencing approach fails to reason about the non-linear relationship between task space and configuration space; that is, short paths in task space are not necessarily so in configuration space. This is evidenced in the execution time plot for the UR5 experiments (Fig. 9b) where it is expected that average execution times should decrease as the number of tasks increase due to the increasing spatial density of the tasks; however, the opposite is observed for RoboTSP. An example consequential behaviour is depicted in Fig. 11 where unnecessarily long trajectories are executed.

Cluster-RTSP performs overall better than RoboTSP in the UR5 experiments. Compared to HAP, however, trajectory jerks and planning time and success rates were overall worse. A contributor of this, as earlier claimed, is that outlier tasks with highly dissimilar IK solutions can have an overall negative impact on the trajectory sequence, as depicted in Fig. 12. This can be explained by the initial unique configuration assignment step which attempts to find configurations that are all close to each other.

In contrast, the ϵ\epsilon-GHAs computed by HAP account for nonlinearities by considering prior knowledge such as the manipulator’s kinematic structure and environment obstacles. This is exemplified in Fig. 13 where trajectories between intra-subspace tasks appear to be consistently short and smooth. Furthermore, tasks requiring a large change in configuration are grouped into the same subspace and executed together without negatively affecting other tasks in the sequence.

Enabling the base of the UR5 robot to be mobile further enhanced performance due to the greater flexibility afforded by the diverse subspace assignments (see Figs. 15-16). Emergent behaviour such as translating the base away from poses in the lower shelf in order to avoid self-collision were observed. See Appendix -C for a supplementary video demonstrating this.

While the above effects are less pronounced in the Sawyer experiments due to its kinematic redundancy (see Fig. 14), Cluster-RTSP’s performance was notably worse than RoboTSP and HAP. This can be explained by the algorithm’s inability to effectively reason over the larger number of redundant IK solutions afforded by the arm’s extra DOF. Similar findings were reported in the original paper [4].

Finally, one may suspect that HAP produces similar goal configurations to the baselines and the seed trajectories retrieved from the ϵ\epsilon-GHA mappings led to higher success rates. However, we elucidate this claim by showing that HAP-no-prior still performs markedly better even without informed trajectory priors.

VII CONCLUSIONS AND FUTURE WORK

We have presented a new multi-query task sequencing framework for robotic manipulators that is designed to perform efficiently in practice given a user-defined task space. The framework computes a task-space decomposition that quickly produces efficient task sequences and motion plans online. The decomposition is constructed by finding a set of subspaces with associated ϵ\epsilon-Gromov-Hausdorff approximations that guarantee short paths of bounded length which also can be concatenated smoothly.

We present theoretical analyses and extensive empirical evaluations. We evaluate our framework with several kinematic configurations over long task sequences in a complex bookshelf environment. Results showed notable performance improvement over state-of-the-art baseline methods in planning time, planning success rate, and smoothness measured by jerk. This highlights the importance of reasoning about the low-level motion of the manipulator during sequencing which HAP facilitates in a computationally efficient manner.

VII-A Limitations

Here we discuss limitations of our framework and the current implementation. By reducing the search space of the planner, we intentionally trade off flexibility in the range of solutions for computation speed. However, this may lead to pruning of potentially optimal solutions. One has some control over this by, for example, utilising an increasing number of redundant ϵ\epsilon-GHAs to cover more of the configuration space. In the limit the full solution space can be recovered.

Furthermore, the ϵ\epsilon-GHA objective in (4) is a combination of task-space coverage and degree-of-path preservation which is not directly related to the task sequencing objective; the total sequence cost. Thus, it is difficult to draw any guarantees on the overall path sequence optimality. One potential work around is to store a larger number of subspaces with varying coverage of the configuration space and select a subset of these based on the online scenario.

The online planning process additionally introduces suboptimality to the overall sequence cost. For example, tasks are assigned greedily to a subspace, subspace groups are executed in arbitrary order, intra-subspace sequences are subject to the suboptimality bounds of the TSP solver and the utilisation of a fixed home configuration for transitioning between subspaces. We chose these as they were straight-forward implementations and in practice performed well in our problem setting. In general, we envision many potential approaches to utilising the ϵ\epsilon-GHA mappings and our online planning method is just one such approach rather than a fundamental component of the framework.

VII-B Future Work

Our results and limitations discussed above motivate several important avenues of future work. For example, formulating the ϵ\epsilon-GHA objective in a way that directly considers the task sequence objective would be an interesting extension. Regarding the current implementation, HAP consists of several hyperparameters that may be cumbersome to tune. Automatic tuning of these could help improve usability. For example, one could train a learning model to predict ϵ\epsilon based on the robot model, task space and environment.

It would be interesting to explore methods that would adapt the subspaces online in response to changes in the environment, potentially using online domain adaptation techniques [44] and conditional density estimation techniques [45]. While we focus on task sequencing in this work, ϵ\epsilon-GHAs are potentially useful for other applications. For example, local reactive controllers such as RMPflow [46] would benefit from knowledge of which regions of the task space are approximate isomorphisms to configuration space.

Another interesting avenue of future work is to compute the maps using a continuous representation, for example a Gaussian process, while maintaining the bounded suboptimality guarantees. Additionally, applying HAP to other embodiments such as high-DOF humanoids presents interesting challenges.

References

  • [1] S. Alatartsev, S. Stellmacher, and F. Ortmeier, “Robotic task sequencing problem: A survey,” Journal of intelligent & robotic systems, vol. 80, no. 2, pp. 279–298, 2015.
  • [2] F. Suárez-Ruiz, T. S. Lembono, and Q.-C. Pham, “Robotsp–a fast solution to the robotic task sequencing problem,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), 2018, pp. 1611–1616.
  • [3] D. Li, Q. Wang, W. Zou, H. Su, X. Wang, and X. Xu, “An efficient approach for solving robotic task sequencing problems considering spatial constraint,” in Proc. of IEEE International Conference on Automation Science and Engineering (CASE), 2022, pp. 60–66.
  • [4] C. Wong, C. Mineo, E. Yang, X.-T. Yan, and D. Gu, “A novel clustering-based algorithm for solving spatially constrained robotic task sequencing problems,” IEEE/ASME Transactions on Mechatronics, vol. 26, no. 5, pp. 2294–2305, 2020.
  • [5] W. Jing, J. Polden, P. Y. Tao, C. F. Goh, W. Lin, and K. Shimada, “Model-based coverage motion planning for industrial 3d shape inspection applications,” in Proc. of IEEE Conference on Automation Science and Engineering (CASE), 2017, pp. 1293–1300.
  • [6] S. S. Srinivasa, D. Berenson, M. Cakmak, A. Collet, M. R. Dogar, A. D. Dragan, R. A. Knepper, T. Niemueller, K. Strabala, M. V. Weghe et al., “Herb 2.0: Lessons learned from developing a mobile manipulator for the home,” Proc. of IEEE, vol. 100, no. 8, pp. 2410–2428, 2012.
  • [7] M. R. Dogar, K. Hsiao†, M. Ciocarlie†, and S. S. Srinivasa, “Physics-based grasp planning through clutter,” in Proc. of Robotics: Science and Systems (RSS), 2013.
  • [8] D. Morrison, A. W. Tow, M. Mctaggart, R. Smith, N. Kelly-Boxall, S. Wade-Mccue, J. Erskine, R. Grinover, A. Gurman, T. Hunn et al., “Cartman: The low-cost cartesian manipulator that won the amazon robotics challenge,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), 2018, pp. 7757–7764.
  • [9] L. E. Kavraki, P. Svestka, J.-C. Latombe, and M. H. Overmars, “Probabilistic roadmaps for path planning in high-dimensional configuration spaces,” IEEE Transactions on Robotics and Automation, vol. 12, no. 4, pp. 566–580, 1996.
  • [10] C. E. Noon and J. C. Bean, “An efficient transformation of the generalized traveling salesman problem,” INFOR: Information Systems and Operational Research, vol. 31, no. 1, pp. 39–44, 1993.
  • [11] P. T. Zacharia and N. Aspragathos, “Optimal robot task scheduling based on genetic algorithms,” Robotics and Computer-Integrated Manufacturing, vol. 21, no. 1, pp. 67–79, 2005.
  • [12] E. Kolakowska, S. F. Smith, and M. Kristiansen, “Constraint optimization model of a scheduling problem for a robotic arm in automatic systems,” Robotics and Autonomous Systems, vol. 62, no. 2, pp. 267–280, 2014.
  • [13] S. L. Villumsen and M. Kristiansen, “A framework for task sequencing for redundant robotic remote laser processing equipment based on redundancy space sampling,” Procedia Manufacturing, vol. 11, pp. 1826–1836, 2017.
  • [14] A. Silwal, J. R. Davidson, M. Karkee, C. Mo, Q. Zhang, and K. Lewis, “Design, integration, and field evaluation of a robotic apple harvester,” Journal of Field Robotics, 2017.
  • [15] C. W. Bac, J. Hemming, B. Tuijl, R. Barth, E. Wais, and E. J. Henten, “Performance evaluation of a harvesting robot for sweet pepper,” Journal of Field Robotics, vol. 34, no. 6, pp. 1123–1139, 2017.
  • [16] A. You, F. Sukkar, R. Fitch, M. Karkee, and J. R. Davidson, “An efficient planning and control framework for pruning fruit trees,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), 2020, pp. 3930–3936.
  • [17] X. Dong, G. Wan, P. Zeng, C. Song, and S. Cui, “Optimizing robotic task sequencing and trajectory planning on the basis of deep reinforcement learning,” Biomimetics, vol. 9, no. 1, p. 10, 2023.
  • [18] Q.-N. Nguyen, N. Adrian, and Q.-C. Pham, “Task-space clustering for mobile manipulator task sequencing,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), 2023, pp. 3693–3699.
  • [19] S. N. Spitz and A. A. Requicha, “Multiple-goals path planning for coordinate measuring machines,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), vol. 3, 2000, pp. 2322–2327.
  • [20] P. T. Zacharia, E. K. Xidias, and N. A. Aspragathos, “Task scheduling and motion planning for an industrial manipulator,” Robotics and computer-integrated manufacturing, vol. 29, no. 6, pp. 449–462, 2013.
  • [21] A. Kovács, “Integrated task sequencing and path planning for robotic remote laser welding,” International Journal of Production Research, vol. 54, no. 4, pp. 1210–1224, 2016.
  • [22] M. Zucker, N. Ratliff, A. D. Dragan, M. Pivtoraiko, M. Klingensmith, C. M. Dellin, J. A. Bagnell, and S. S. Srinivasa, “CHOMP: Covariant hamiltonian optimization for motion planning,” International Journal of Robotics Research, vol. 32, no. 9-10, pp. 1164–1193, 2013.
  • [23] J. Schulman, Y. Duan, J. Ho, A. Lee, I. Awwal, H. Bradlow, J. Pan, S. Patil, K. Goldberg, and P. Abbeel, “Motion planning with sequential convex optimization and convex collision checking,” International Journal of Robotics Research, vol. 33, no. 9, pp. 1251–1270, 2014.
  • [24] C. R. Garrett, R. Chitnis, R. Holladay, B. Kim, T. Silver, L. P. Kaelbling, and T. Lozano-Pérez, “Integrated task and motion planning,” Annual review of control, robotics, and autonomous systems, vol. 4, no. 1, pp. 265–293, 2021.
  • [25] T. Siméon, J.-P. Laumond, J. Cortés, and A. Sahbani, “Manipulation planning with probabilistic roadmaps,” The International Journal of Robotics Research, vol. 23, no. 7-8, pp. 729–746, 2004.
  • [26] L.-P. Ellekilde and H. G. Petersen, “Motion planning efficient trajectories for industrial bin-picking,” International Journal of Robotics Research, vol. 32, no. 9-10, pp. 991–1004, 2013.
  • [27] J. J. H. Lee, K. Frey, R. Fitch, and S. Sukkarieh, “Fast path planning for precision weeding,” in Proc. of Australasian Conference of Robotics and Automation (ACRA), 2014.
  • [28] Y.-C. Lin and D. Berenson, “Using previous experience for humanoid navigation planning,” in Proc. of IEEE International Conference on Humanoid Robots (Humanoids)), 2016, pp. 794–801.
  • [29] W. Reid, R. Fitch, A. H. Göktoğan, and S. Sukkarieh, “Sampling-based hierarchical motion planning for a reconfigurable wheel-on-leg planetary analogue exploration rover,” Journal of Field Robotics, vol. 37, no. 5, pp. 786–811, 2020.
  • [30] C. Chamzas, Z. Kingston, C. Quintero-Peña, A. Shrivastava, and L. E. Kavraki, “Learning sampling distributions using local 3d workspace decompositions for motion planning in high dimensions,” in Proc. of IEEE International Conference on Robotics and Automation (ICRA), 2021, pp. 1283–1289.
  • [31] M. Hassan and D. Liu, “Simultaneous area partitioning and allocation for complete coverage by multiple autonomous industrial robots,” Autonomous Robots, vol. 41, no. 8, pp. 1609–1628, 2017.
  • [32] F. Paus, P. Kaiser, N. Vahrenkamp, and T. Asfour, “A combined approach for robot placement and coverage path planning for mobile manipulation,” in Proc. of IEEE/RSJ International conference on intelligent robots and systems (IROS), 2017, pp. 6285–6292.
  • [33] R. Matai, S. P. Singh, and M. L. Mittal, “Traveling salesman problem: an overview of applications, formulations, and solution approaches,” Traveling salesman problem, theory and applications, vol. 1, no. 1, pp. 1–25, 2010.
  • [34] J. Canny, The complexity of robot motion planning.   MIT press, 1988.
  • [35] M. T. A. Jaramillo, The Structure of Fundamental Groups of Smooth Metric Measure Spaces.   University of California, Santa Barbara, 2014.
  • [36] M. Barbehenn, “A note on the complexity of Dijkstra’s algorithm for graphs with weighted vertices,” IEEE Transactions on Computers, vol. 47, no. 2, p. 263, 1998.
  • [37] D. Burago, I. D. Burago, Y. Burago, S. Ivanov, S. V. Ivanov, and S. A. Ivanov, A course in metric geometry.   American Mathematical Society, 2001, vol. 33.
  • [38] Google, “Solving TSPs with OR-Tools,” 2017. [Online]. Available: https://developers.google.com/optimization/routing/tsp/tsp
  • [39] P. Velagapudi, M. Koval, and J. King, “or_trajopt,” September 2016. [Online]. Available: https://github.com/personalrobotics/or_trajopt
  • [40] M. Koval, C. Dellin, and M. Klingensmith, “or_ompl,” September 2016. [Online]. Available: https://github.com/personalrobotics/or_ompl
  • [41] R. Diankov and J. Kuffner, “Openrave: A planning architecture for autonomous robotics,” Robotics Institute, Pittsburgh, PA, vol. 79, 2008.
  • [42] F. S. Ruiz, “Robotsp: Robotic task sequencing problem,” 2018. [Online]. Available: https://github.com/crigroup/robotsp
  • [43] C. Wong, “Cluster-rtsp,” 2021. [Online]. Available: https://github.com/Cuebong/Cluster-RTSP
  • [44] A. Tompkins, R. Senanayake, and F. Ramos, “Online domain adaptation for occupancy mapping,” in Proc. of Robotics: Science and Systems (RSS), 2020.
  • [45] W. Zhi, T. Lai, L. Ott, and F. Ramos, “Trajectory generation in new environments from past experiences,” in Proc. of IEEE/RSJ International conference on intelligent robots and systems (IROS), 2021.
  • [46] C.-A. Cheng, M. Mukadam, J. Issac, S. Birchfield, D. Fox, B. Boots, and N. Ratliff, “Rmpflow: A geometric framework for generation of multitask motion policies,” IEEE Transactions on Automation Science and Engineering, 2021.

-C Multimedia

This article includes videos showcasing example task sequences generated by our method, HAP, and baselines, RoboTSP and Cluster-RTSP. UR5 bookshelf experiments are shown in the video titled “Supplementary Video 1”. Sawyer bookshelf experiments are shown in the video titled “Supplementary Video 2”.

-D Notation

TABLE III: Table of Notation
𝒞\mathcal{C} Configuration space of the robot.
𝒯\mathcal{T} Task space of the robot (set of valid end-effector poses in SE(3)SE(3)).
T^\hat{T} Discretised task space used to compute ϵ\epsilon-GHAs.
tt A task (6D pose in SE(3)SE(3)).
TT Set of online tasks.
AA Robot model.
qq A robot configuration.
Q(t)Q(t) Set of valid IK solution for task tt.
m^\hat{m} Approximate model of environment obstacles (offline).
π\pi Path of robot (sequence of configurations).
Π\Pi Set of all possible paths between two tasks (due to multiple IK solutions per task).
dCd_{C} Configuration space distance metric.
dTd_{T} Task space distance metric.
θ\theta Denotes a unique mapping from task to configuration space.
GG Undirected graph used for computing ϵ\epsilon-GHAs (constructed from T^\hat{T} and E^\hat{E}
E^\hat{E} Edges formed between nodes TT based on neighbouring distance condition, e.g. within specific radius.
EE ϵ\epsilon-GHAs are subgraphs of GG and consist of θ\theta and corresponding edges EE.
TopenT_{open} Subset of tasks in T^\hat{T} without an assigned mapping in any θi\theta^{i}.
gg Minimum cost path between two tasks given θ\theta.
JJ Optimisation objective for computing θ\theta

-E HAP Task-space Decomposition for Bookshelf Experiments

Here, illustrations of HAP’s subspace allocation process are shown. In Fig. 14, a visualisation of the 7-DOF Sawyer arm’s naturally extended task-space coverage compared to the 6-DOF UR5 model is shown. This increased task-space coverage is due to the redundant kinematic configuration of the 7-DOF arm.

In Figs. 15LABEL:sub@fig:ur5_subspace1-LABEL:sub@fig:ur5_subspace5 each visualisation shows a new subspace found in an iteration of Alg. 2 for the UR5 with base mobility disabled. With each iteration, the overall coverage of T^\hat{T} is increased. Overlap between subspaces in task space is beneficial as it provides additional IK solutions to choose from during online planning. Subspaces found for the UR5 with base mobility now enabled are visualised in Figs. 16LABEL:sub@fig:ur5_mobile_subspace1-LABEL:sub@fig:ur5_mobile_subspace5 in the order they are generated by HAP. Subspace boundaries are not always obvious and would be difficult to generate manually.

Refer to caption
(a) T^0\hat{T}^{0} for 7-DOF Sawyer
Refer to caption
(b) T^0\hat{T}^{0} for 6-DOF UR5
Figure 14: Comparison of first subspaces generated for LABEL:sub@fig:sawyer_reachable the 7-DOF Sawyer and LABEL:sub@fig:ur5_reachable the 6-DOF UR5. Green poses and edges indicate regions of task space that lie within the defined subspace; blue poses indicate the remaining unmapped regions. Arms are shown in their corresponding mapped configuration. The 7-DOF Sawyer arm is capable of almost full task-space coverage with a single subspace, in contrast to the UR5, due to its kinematic redundancy.
Refer to caption
(a) T^0\hat{T}^{0}
Refer to caption
(b) T^1\hat{T}^{1}
Refer to caption
(c) T^2\hat{T}^{2}
Refer to caption
(d) T^3\hat{T}^{3}
Refer to caption
(e) T^4\hat{T}^{4}
Figure 15: Visualisation of task-space subspaces for UR5 with static base. Green and blue poses are defined as in the previous figure. Arms are shown in their corresponding mapped configuration. Subspaces are sorted by order in which they were found by Alg. 1. Subspaces in LABEL:sub@fig:ur5_subspace1 and LABEL:sub@fig:ur5_subspace2 achieve large and diverse coverage, while the subspace in LABEL:sub@fig:ur5_subspace3 achieves slightly better coverage of the right side of the bookshelf with the shown shoulder orientation LABEL:sub@fig:ur5_subspace2. Subspaces in LABEL:sub@fig:ur5_subspace4 and LABEL:sub@fig:ur5_subspace5 cover only small isolated regions of the task space in the left bottom and middle shelf rows, respectively (note that these are removed for the experiments).
Refer to caption
(a) T^0\hat{T}^{0}
Refer to caption
(b) T^1\hat{T}^{1}
Refer to caption
(c) T^2\hat{T}^{2}
Refer to caption
(d) T^3\hat{T}^{3}
Refer to caption
(e) T^4\hat{T}^{4}
Figure 16: Visualisation of task-space subspaces for HAP-Mobile. Note the base pose changes for each subspace. Subspaces are sorted by order in which they were found by Alg. 1. Subspaces exhibit large and diverse coverage for all base positions.