PWTO: A Heuristic Approach for Trajectory Optimization
in Complex Terrains

Yilin Cai, Zhongqiang Ren Yilin Cai is with Georgia Institute of Technology, Atlanta, GA 30332, USA. (email: [email protected]). Zhongqiang Ren is with Shanghai Jiao Tong University, Shanghai, 200240, China.(email: [email protected])
Abstract

This paper considers a trajectory planning problem for a robot navigating complex terrains, which arises in applications ranging from autonomous mining vehicles to planetary rovers. The problem seeks to find a low-cost dynamically feasible trajectory for the robot. The problem is challenging as it requires solving a non-linear optimization problem that often has many local minima due to the complex terrain. To address the challenge, we propose a method called Pareto-optimal Warm-started Trajectory Optimization (PWTO) that attempts to combine the benefits of graph search and trajectory optimization, two very different approaches to planning. PWTO first creates a state lattice using simplified dynamics of the robot and leverages a multi-objective graph search method to obtain a set of paths. Each of the paths is then used to warm-start a local trajectory optimization process, so that different local minima are explored to find a globally low-cost solution. In our tests, the solution cost computed by PWTO is often less than half of the costs computed by the baselines. In addition, we verify the trajectories generated by PWTO in Gazebo simulation in complex terrains with both wheeled and quadruped robots. The code of this paper is open sourced and can be found at https://github.com/rap-lab-org/public_pwto.

I Introduction

Optimal trajectory planning in complex terrains is of fundamental importance in robotics. This problem arises in applications ranging from planetary rovers [1], exploration [2] to autonomous mining [3]. The problem is challenging as it requires solving a non-linear optimization problem to find a low-cost trajectory in complex terrains while ensuring dynamic-feasibility along the trajectory. A common approach to solve this problem is to first generate a geometric path free of kinematic and dynamic constraints, and then use that path to warm-start a trajectory optimization process which ultimately respects the dynamics of the robot [4, 2]. This type of approach has two major limitations: first, it can lead to a highly sub-optimal solution that converges to a local minimum; second, the local trajectory optimization may require many iterations to converge due to the complicated objective function and the dynamic constraints of the robot.

Refer to caption
Figure 1: Overview of proposed Pareto-optimal Warm-started Trajectory Optimization method for robot trajectory planning to navigate complex terrains. (a-b) A continuous traversability cost field and its corresponding terrain map. (c) A set of Pareto-optimal paths obtained from multi-objective graph search in the state lattice. (d) Trajectories reported by PWTO in a round-robin fashion. (e) Visualization of the trajectories for robot to track on rough terrain.

This paper develops a new heuristic approach to handle the problem by combining graph search and trajectory optimization. By using concepts such as Pareto-optimality from multi-objective optimization, we propose a method called Pareto-optimal Warm-started Trajectory Optimization (PWTO). PWTO (Fig. 1) first creates a state lattice embedded in a low-dimensional state space by using simplified dynamics of the robot, and leverages a multi-objective graph search method to obtain a set of Pareto-optimal paths in the lattice.111A solution path is Pareto-optimal if there exists no other solution that will yield an improvement in one objective without causing a deterioration in at least one of the other objectives. Each of the paths then seeds a local trajectory optimization process, which explores different local minima and is more likely to find a globally low-cost solution. PWTO runs these optimization processes in a round-robin fashion and reports the converged solution in an anytime fashion. The converged trajectory solutions allow the robot to track them and navigate through complex terrains.

We evaluate PWTO in various terrains, against baselines where different types of initial guesses are used. Although PWTO has no solution optimality guarantees in theory, the results show that, in practice, PWTO often computes solutions with less than half of the cost of the baselines, and is able to avoid being trapped in an optimization process that requires many iterations to converge. Our Gazebo simulation verifies that the planned trajectory can be executed in several different terrains.

II Related Work

II-A Terrain Traversability

Robot navigation in complex terrains is an important research topic that involves traversability analysis, trajectory planning, etc. Terrain traversability is a broad concept with varying meaning in different applications [5]. Building a traversability map is out of the scope of this article, and we limit our focus to a trajectory planning problem for a dynamic robot within a 2D cost field that indicates the terrain traversal cost. Different from a discrete occupancy grid that is commonly used to describe obstacles for conventional mobile robot planning, the cost field in this work is continuous, and often involves many local minima, which makes the trajectory optimization a challenging problem.

II-B Dynamically Feasible Trajectory Planning

Planning dynamically feasible trajectories for a mobile robot has been widely studied. Sampling-based methods (e.g. [6]) can quickly return a dynamically feasible trajectory and keep refining the solution quality thereafter. However, the solution obtained is often far away from the optimum and the refinement may converge slowly without domain-specific fine tuning. Search-based methods such as [7] can provide high-quality solutions with global theoretic guarantees by using a set of pre-computed dynamically feasible motion primitives. However, to ensure the dynamic feasibility, a high-dimensional search space that captures the full state of the robot is often required, and search-based methods are hard to scale to high-dimensional search spaces in general. In contrast, optimization-based methods such as [8] scale well in high-dimensional state space by iteratively running local optimization but often rely on a good initial guess to warm-start the optimization in order to bypass local minima.

Hybrid approaches that combine the benefits of sampling, search and optimization have also been investigated, and this paper focuses on methods that combine search and optimization. There are mainly two strategies to combine search and optimization. First, optimization can be embedded into an A*-like search as a procedure to generate motion primitives (i.e., a short dynamically feasible trajectory that connect two adjacent states of A* search). Existing methods that follow this strategy (such as [9]) typically consider a binary representation of the workspace (i.e., either free or occupied by obstacles) and is thus different from the continuous cost field considered in this work. The second strategy is to use an A* search to find a path in a graph that is embedded in some low-dimensional space, and then use the path to seed the trajectory optimization. Methods following this strategy [4, 2] have been applied to similar problems and our approach belongs to this category.

II-C Multi-Objective Path Planning (MOPP)

This paper is also inspired by the recent advance in MOPP. Given a graph where each edge is associated with a non-negative cost vector (where each component of the vector corresponds to an objective), MOPP aims to find a set of Pareto-optimal (also called non-dominated) paths connecting the given start and destination vertex in the graph. MOPP has been studied for decades [10] and remains an active research area [11, 12, 13, 14]. Conventionally, this problem has been regarded as computationally expensive especially when there are many Pareto-optimal paths. The recent advances in Multi-Objective A* (MOA*) search [11, 12] expedite the search and make it possible to employ MOA* as a sub-routine to solve more challenging planning problems. This work is an attempt along this direction.

III Problem Description

Let 𝒲SE(2)𝒲𝑆𝐸2\mathcal{W}\subset SE(2)caligraphic_W ⊂ italic_S italic_E ( 2 ) denote a bounded workspace. In this paper, we use three real numbers px,py,θsubscript𝑝𝑥subscript𝑝𝑦𝜃p_{x},p_{y},\thetaitalic_p start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT , italic_θ to represent SE(2)𝑆𝐸2SE(2)italic_S italic_E ( 2 ). Let C:𝒲:𝐶𝒲C:\mathcal{W}\rightarrow\mathbb{R}italic_C : caligraphic_W → blackboard_R denote a twice differentiable potential field defined over the workspace. Let 𝐱˙(t)=f(𝐱(t),𝐮(t)),t0formulae-sequence˙𝐱𝑡𝑓𝐱𝑡𝐮𝑡𝑡0\dot{\mathbf{x}}(t)=f(\mathbf{x}(t),\mathbf{u}(t)),t\geq 0over˙ start_ARG bold_x end_ARG ( italic_t ) = italic_f ( bold_x ( italic_t ) , bold_u ( italic_t ) ) , italic_t ≥ 0 denote the dynamics of the robot, where x𝑥xitalic_x is a n𝑛nitalic_n-dimensional state (n2𝑛2n\geq 2italic_n ≥ 2) of the robot and u𝑢uitalic_u is a m𝑚mitalic_m-dimensional control of the robot. For any state 𝐱𝐱\mathbf{x}bold_x, let 𝐱p𝒲subscript𝐱𝑝𝒲\mathbf{x}_{p}\in\mathcal{W}bold_x start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ∈ caligraphic_W denote the pose of the robot contained in state 𝐱𝐱\mathbf{x}bold_x.

For 𝐱(t),𝐮(t)𝐱𝑡𝐮𝑡\mathbf{x}(t),\mathbf{u}(t)bold_x ( italic_t ) , bold_u ( italic_t ), let

J(𝐱(t),𝐮(t),T)=t=0TC(𝐱p(t))+𝐮(t)T𝐑𝐮(t)dt𝐽𝐱𝑡𝐮𝑡𝑇superscriptsubscript𝑡0𝑇𝐶subscript𝐱𝑝𝑡𝐮superscript𝑡𝑇𝐑𝐮𝑡d𝑡\displaystyle J(\mathbf{x}(t),\mathbf{u}(t),T)=\int_{t=0}^{T}C\left(\mathbf{x}% _{p}(t)\right)+\mathbf{u}(t)^{T}\mathbf{R}\mathbf{u}(t)\text{d}titalic_J ( bold_x ( italic_t ) , bold_u ( italic_t ) , italic_T ) = ∫ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_C ( bold_x start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_t ) ) + bold_u ( italic_t ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_Ru ( italic_t ) d italic_t (1)

denote the cost of the trajectory, where 𝐑𝐑\mathbf{R}bold_R is a positive semi-definite matrix. Intuitively, J𝐽Jitalic_J is the sum of both the cost incurred by the potential field and the control effort within the horizon of the trajectory. This paper considers the following trajectory optimization problem:

min𝐱(t),𝐮(t),TJ(𝐱(t),𝐮(t),T)subscript𝐱𝑡𝐮𝑡𝑇𝐽𝐱𝑡𝐮𝑡𝑇\displaystyle\min_{\mathbf{x}(t),\mathbf{u}(t),T}J(\mathbf{x}(t),\mathbf{u}(t)% ,T)roman_min start_POSTSUBSCRIPT bold_x ( italic_t ) , bold_u ( italic_t ) , italic_T end_POSTSUBSCRIPT italic_J ( bold_x ( italic_t ) , bold_u ( italic_t ) , italic_T ) (2)
s.t.𝐱˙(t)=f(𝐱(t),𝐮(t),T),t0formulae-sequences.t.˙𝐱𝑡𝑓𝐱𝑡𝐮𝑡𝑇𝑡0\displaystyle\text{s.t.}\;\;\;\dot{\mathbf{x}}(t)=f(\mathbf{x}(t),\mathbf{u}(t% ),T),\;t\geq 0s.t. over˙ start_ARG bold_x end_ARG ( italic_t ) = italic_f ( bold_x ( italic_t ) , bold_u ( italic_t ) , italic_T ) , italic_t ≥ 0 (3)
𝐱(0)=𝐱init,𝐱(T)=𝐱goal,𝐱(t)𝒳,𝐮(t)𝒰formulae-sequence𝐱0subscript𝐱𝑖𝑛𝑖𝑡formulae-sequence𝐱𝑇subscript𝐱𝑔𝑜𝑎𝑙formulae-sequence𝐱𝑡𝒳𝐮𝑡𝒰\displaystyle\mathbf{x}(0)=\mathbf{x}_{init},\;\mathbf{x}(T)=\mathbf{x}_{goal}% ,\;\mathbf{x}(t)\in\mathcal{X},\;\mathbf{u}(t)\in\mathcal{U}bold_x ( 0 ) = bold_x start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT , bold_x ( italic_T ) = bold_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT , bold_x ( italic_t ) ∈ caligraphic_X , bold_u ( italic_t ) ∈ caligraphic_U (4)

where 𝒳𝒳\mathcal{X}caligraphic_X and 𝒰𝒰\mathcal{U}caligraphic_U denote the eligible set of states and controls of the robot respectively at any time during the robot motion, 𝐱initsubscript𝐱𝑖𝑛𝑖𝑡\mathbf{x}_{init}bold_x start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT and 𝐱goalsubscript𝐱𝑔𝑜𝑎𝑙\mathbf{x}_{goal}bold_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT denote the initial and goal states of the robot respectively. In other words, the problem seeks to find a dynamically feasible trajectory from 𝐱initsubscript𝐱𝑖𝑛𝑖𝑡\mathbf{x}_{init}bold_x start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT to 𝐱goalsubscript𝐱𝑔𝑜𝑎𝑙\mathbf{x}_{goal}bold_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT, while the trajectory cost J𝐽Jitalic_J is minimized.

IV Method

IV-A Overview

Our method PWTO is shown in Alg. 1, which consists of two parts. Part I (Lines 1-3) relaxes the original trajectory optimization problem into a multi-objective path planning (MOPP) problem over a graph by simplifying the dynamics of the robot. The multi-objective is formulated based on the following observations: (i) the original optimization problem (1) inherently involves optimizing multiple criteria, such as the trajectory horizon T𝑇Titalic_T, the cost incurred by the potential field, etc, where each criterion affects the objective J𝐽Jitalic_J; (ii) by discretizing the state and control spaces using simplified dynamics, a corresponding MOPP problem can be formulated and efficiently solved by leveraging the recent MOPP algorithms to obtain a set of Pareto-optimal paths.

Part II (Lines 4-14) uses each of the Pareto-optimal paths computed in the first part to seed a corresponding trajectory optimization process, which is hereafter referred to as a process to simplify the presentation. Due to the complicated cost field C𝐶Citalic_C, it is often hard to predict how many iterations each process takes before convergence. If these processes were optimized till convergence one after another (i.e., in a sequential manner), the method could return the first solution trajectory after many optimization iterations, since the first process may take a huge number of iterations to converge. To bypass this issue, PWTO chooses to optimize these processes in a round-robin (i.e. episodic) manner, where each process is optimized for K𝐾Kitalic_K (i.e., a user-defined constant) iterations within an episode. PWTO terminates after a maximum number of episodes (denoted as Nepisodesubscript𝑁𝑒𝑝𝑖𝑠𝑜𝑑𝑒N_{episode}italic_N start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT) defined by the user. This yields an anytime algorithm that can potentially output the first solution quickly during the computation, and as the runtime increases, more processes may converge and the min-cost solution is reported during the computation.

Algorithm 1 PWTO
1:(G,c,vinit,vgoal)𝐺𝑐subscript𝑣𝑖𝑛𝑖𝑡subscript𝑣𝑔𝑜𝑎𝑙(G,\vec{c},v_{init},v_{goal})( italic_G , over→ start_ARG italic_c end_ARG , italic_v start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT ) \leftarrow GenerateMOPP()
2:ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT \leftarrow SolveMOPP(G,c,vinit,vgoal𝐺𝑐subscript𝑣𝑖𝑛𝑖𝑡subscript𝑣𝑔𝑜𝑎𝑙G,\vec{c},v_{init},v_{goal}italic_G , over→ start_ARG italic_c end_ARG , italic_v start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT)
3:ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT \leftarrow Filter(ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT)
4:𝒫𝒫\mathcal{P}caligraphic_P \leftarrow InitOptProcesses(ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT) \triangleright A set of optimization processes
5:nepisodesubscript𝑛𝑒𝑝𝑖𝑠𝑜𝑑𝑒n_{episode}italic_n start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT \leftarrow 0, Cminsubscript𝐶𝑚𝑖𝑛C_{min}italic_C start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT absent\leftarrow\infty← ∞
6:while nepisode<Nepisodesubscript𝑛𝑒𝑝𝑖𝑠𝑜𝑑𝑒subscript𝑁𝑒𝑝𝑖𝑠𝑜𝑑𝑒n_{episode}<N_{episode}italic_n start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT < italic_N start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT do
7:    for all p𝒫𝑝𝒫p\in\mathcal{P}italic_p ∈ caligraphic_P do
8:         run p𝑝pitalic_p for K𝐾Kitalic_K iterations
9:         if p𝑝pitalic_p converges then
10:             remove p𝑝pitalic_p from 𝒫𝒫\mathcal{P}caligraphic_P
11:             if p.cost<Cminformulae-sequence𝑝𝑐𝑜𝑠𝑡subscript𝐶𝑚𝑖𝑛p.cost<C_{min}italic_p . italic_c italic_o italic_s italic_t < italic_C start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT then
12:                 Cminp.costformulae-sequencesubscript𝐶𝑚𝑖𝑛𝑝𝑐𝑜𝑠𝑡C_{min}\leftarrow p.costitalic_C start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT ← italic_p . italic_c italic_o italic_s italic_t
13:                 report p𝑝pitalic_p                           
14:    nepisodenepisode+1subscript𝑛𝑒𝑝𝑖𝑠𝑜𝑑𝑒subscript𝑛𝑒𝑝𝑖𝑠𝑜𝑑𝑒1n_{episode}\leftarrow n_{episode}+1italic_n start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT ← italic_n start_POSTSUBSCRIPT italic_e italic_p italic_i italic_s italic_o italic_d italic_e end_POSTSUBSCRIPT + 1
15:return

IV-B Part I: Multi-Objective Path Planning

IV-B1 State and Action Spaces

The state space 𝒳𝒳\mathcal{X}caligraphic_X of the robot is 5-dimensional. Instead of directly running graph search in 𝒳𝒳\mathcal{X}caligraphic_X, PWTO first considers only the pose of the robot in the workspace and ignores the linear and angular velocities by searching in a low-dimensional state space. Specifically, PWTO discretizes the workspace 𝒲𝒲\mathcal{W}caligraphic_W into a state lattice G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ), where each vertex vV𝑣𝑉v\in Vitalic_v ∈ italic_V represents a possible pose of the robot in SE(2)𝑆𝐸2SE(2)italic_S italic_E ( 2 ), and each edge eE𝑒𝐸e\in Eitalic_e ∈ italic_E in the lattice corresponds to a pre-computed motion primitive that moves the robot from one vertex to another. To compute the motion primitives, a simplified dynamics (i.e., first-order dynamics) of the robot (px˙,py˙,θ˙)=(vcos(θ),vsin(θ),ω),𝐮=[v,ω]Tformulae-sequence˙subscript𝑝𝑥˙subscript𝑝𝑦˙𝜃𝑣𝑐𝑜𝑠𝜃𝑣𝑠𝑖𝑛𝜃𝜔𝐮superscript𝑣𝜔𝑇(\dot{p_{x}},\dot{p_{y}},\dot{\theta})=(v\,cos(\theta),v\,sin(\theta),\omega),% \mathbf{u}=[v,\omega]^{T}( over˙ start_ARG italic_p start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_ARG , over˙ start_ARG italic_p start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT end_ARG , over˙ start_ARG italic_θ end_ARG ) = ( italic_v italic_c italic_o italic_s ( italic_θ ) , italic_v italic_s italic_i italic_n ( italic_θ ) , italic_ω ) , bold_u = [ italic_v , italic_ω ] start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT is used. For each state 𝐱𝒳𝐱𝒳\mathbf{x}\in\mathcal{X}bold_x ∈ caligraphic_X, let v(x)𝑣𝑥v(x)italic_v ( italic_x ) denote a unique nearest vertex to 𝐱psubscript𝐱𝑝\mathbf{x}_{p}bold_x start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT in the lattice using an arbitrary measure in SE(2)𝑆𝐸2SE(2)italic_S italic_E ( 2 ). Ties can be broken by choosing the vertex with the smallest coordinates. Additionally, let vinit:=v(xinit,p)assignsubscript𝑣𝑖𝑛𝑖𝑡𝑣subscript𝑥𝑖𝑛𝑖𝑡𝑝v_{init}:=v(x_{init,p})italic_v start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT := italic_v ( italic_x start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t , italic_p end_POSTSUBSCRIPT ) and vgoal:=v(xgoal,p)assignsubscript𝑣𝑔𝑜𝑎𝑙𝑣subscript𝑥𝑔𝑜𝑎𝑙𝑝v_{goal}:=v(x_{goal,p})italic_v start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT := italic_v ( italic_x start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l , italic_p end_POSTSUBSCRIPT ).

IV-B2 Vector-cost Edges

For each edge eE𝑒𝐸e\in Eitalic_e ∈ italic_E, a non-negative cost vector c(e)𝑐𝑒\vec{c}(e)over→ start_ARG italic_c end_ARG ( italic_e ) is assigned to represent the cost with respect to different criteria. We consider the following two types of cost for each edge. The first cost (i.e., c1(e)subscript𝑐1𝑒{c}_{1}(e)italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_e )) is the traversal time of the motion primitives. The second cost is incurred by the cost field C𝐶Citalic_C, and for each edge e=(u,v)𝑒𝑢𝑣e=(u,v)italic_e = ( italic_u , italic_v ), the second cost is the integral of the corresponding motion primitive trajectory in the cost field. Each edge eE𝑒𝐸e\in Eitalic_e ∈ italic_E is now associated with a two-dimensional non-negative cost vector c(e)=(c1(e),c2(e))𝑐𝑒subscript𝑐1𝑒subscript𝑐2𝑒\vec{c}(e)=(c_{1}(e),c_{2}(e))over→ start_ARG italic_c end_ARG ( italic_e ) = ( italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_e ) , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_e ) ). Note that, other choices of edge costs are also possible to be used within PWTO.

IV-B3 Non-nominated Paths

Let π(v1,v)=(v1,v2,,v)𝜋subscript𝑣1subscript𝑣subscript𝑣1subscript𝑣2subscript𝑣\pi(v_{1},v_{\ell})=(v_{1},v_{2},\dots,v_{\ell})italic_π ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ) = ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ) denote a path of length \ellroman_ℓ, which is a sequence of vertices in V𝑉Vitalic_V where any pair of adjacent vertices (vk,vk+1),k=1,2,1formulae-sequencesubscript𝑣𝑘subscript𝑣𝑘1𝑘121(v_{k},v_{k+1}),k=1,2,\dots\ell-1( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT ) , italic_k = 1 , 2 , … roman_ℓ - 1 are connected by an edge in E𝐸Eitalic_E. The cost of π(v1,v)𝜋subscript𝑣1subscript𝑣\pi(v_{1},v_{\ell})italic_π ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ) is the sum of edge costs that are present in the path (i.e., c(π(v1,v)):=k=11c(vk,vk+1)assign𝑐𝜋subscript𝑣1subscript𝑣superscriptsubscript𝑘11𝑐subscript𝑣𝑘subscript𝑣𝑘1\vec{c}(\pi(v_{1},v_{\ell})):=\sum_{k=1}^{\ell-1}\vec{c}(v_{k},v_{k+1})over→ start_ARG italic_c end_ARG ( italic_π ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT roman_ℓ end_POSTSUBSCRIPT ) ) := ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_ℓ - 1 end_POSTSUPERSCRIPT over→ start_ARG italic_c end_ARG ( italic_v start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_k + 1 end_POSTSUBSCRIPT )). To compare two paths, their corresponding cost vectors are compared using the dominance relation [15].

Definition 1 (Dominance)

Given two vectors a𝑎\vec{a}over→ start_ARG italic_a end_ARG and b𝑏\vec{b}over→ start_ARG italic_b end_ARG of length M𝑀Mitalic_M, a𝑎\vec{a}over→ start_ARG italic_a end_ARG dominates b𝑏\vec{b}over→ start_ARG italic_b end_ARG (denoted as absucceeds-or-equals𝑎𝑏\vec{a}\succeq\vec{b}over→ start_ARG italic_a end_ARG ⪰ over→ start_ARG italic_b end_ARG) if and only if a(m)b(m)𝑎𝑚𝑏𝑚\vec{a}(m)\leq\vec{b}(m)over→ start_ARG italic_a end_ARG ( italic_m ) ≤ over→ start_ARG italic_b end_ARG ( italic_m ), m{1,2,,M}for-all𝑚12𝑀\forall m\in\{1,2,\dots,M\}∀ italic_m ∈ { 1 , 2 , … , italic_M }, and a(m)<b(m)𝑎𝑚𝑏𝑚\vec{a}(m)<\vec{b}(m)over→ start_ARG italic_a end_ARG ( italic_m ) < over→ start_ARG italic_b end_ARG ( italic_m ), m{1,2,,M}𝑚12𝑀\exists m\in\{1,2,\dots,M\}∃ italic_m ∈ { 1 , 2 , … , italic_M }.

Any two paths π1(u,v),π2(u,v)subscript𝜋1𝑢𝑣subscript𝜋2𝑢𝑣\pi_{1}(u,v),\pi_{2}(u,v)italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_u , italic_v ) , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_u , italic_v ) that connect two vertices u,vV𝑢𝑣𝑉u,v\in Vitalic_u , italic_v ∈ italic_V are non-dominated by each other, if the corresponding cost vectors do not dominate each other. Among all possible paths from vinitsubscript𝑣𝑖𝑛𝑖𝑡v_{init}italic_v start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT to vgoalsubscript𝑣𝑔𝑜𝑎𝑙v_{goal}italic_v start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT, the set of non-dominated paths is called the Pareto-optimal set, whose corresponding cost vectors are called the Pareto-optimal front.

IV-B4 MOA* Search

Given the aforementioned state lattice G𝐺Gitalic_G, the edge cost vectors c𝑐\vec{c}over→ start_ARG italic_c end_ARG, and the initial and goal vertices vinit,vgoalsubscript𝑣𝑖𝑛𝑖𝑡subscript𝑣𝑔𝑜𝑎𝑙v_{init},v_{goal}italic_v start_POSTSUBSCRIPT italic_i italic_n italic_i italic_t end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_g italic_o italic_a italic_l end_POSTSUBSCRIPT, the set of Pareto-optimal paths can be found by using MOA* algorithms.222The MOA* algorithm used in this work finds a set of “cost-unique” Pareto-optimal paths. In other words, if two paths have the same cost vector, only one of them is found. MOA* algorithms that can find all Pareto-optimal paths can also be used within the PWTO approach (Line 2 in Alg. 1). This paper uses our prior Enhanced Multi-Objective A* (EMOA*) [11] algorithm to find the entire Pareto-optimal front as well as a corresponding set of cost-unique Pareto-optimal paths ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT.

IV-B5 Filtering Paths Using Hausdorff Distance

The solution path set ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT may contain many Pareto-optimal paths, and using all of them to seed the trajectory optimization can lead to a large number of processes. Many paths in ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT have similar shapes to each other, although they have different cost vectors. We thus introduce another comparison method to post-process (i.e., filter) ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT in order to obtain a subset of paths that have different shapes from each other.

We treat each path πΠ𝜋subscriptΠ\pi\in\Pi_{*}italic_π ∈ roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT as a set of points in 2superscript2\mathbb{R}^{2}blackboard_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT and compare two paths using the Hausdorff distance [16]. Here, Hausdorff distance is just one way to compare the similarity of two paths, and other approaches (such as homotopy classes) can also be used.

Definition 2 (Hausdorff Distance)

Given any two paths π1subscript𝜋1\pi_{1}italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and π2subscript𝜋2\pi_{2}italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT in G𝐺Gitalic_G, the Hausdorff distance is

dH(π1,π2):=max{supv1π1dπ(v1,π2),supv2π2dπ(v2,π1)},assignsubscript𝑑𝐻subscript𝜋1subscript𝜋2subscriptsupremumsubscript𝑣1subscript𝜋1subscript𝑑𝜋subscript𝑣1subscript𝜋2subscriptsupremumsubscript𝑣2subscript𝜋2subscript𝑑𝜋subscript𝑣2subscript𝜋1d_{H}(\pi_{1},\pi_{2}):=\max\{\sup_{v_{1}\in\pi_{1}}d_{\pi}(v_{1},\pi_{2}),% \sup_{v_{2}\in\pi_{2}}d_{\pi}(v_{2},\pi_{1})\},italic_d start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) := roman_max { roman_sup start_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∈ italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_π end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) , roman_sup start_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_π end_POSTSUBSCRIPT ( italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) } ,

where dπ(v,π):=infvπd(v,v)assignsubscript𝑑𝜋𝑣𝜋subscriptinfimumsuperscript𝑣𝜋𝑑𝑣superscript𝑣d_{\pi}(v,\pi):=\inf_{v^{\prime}\in\pi}d(v,v^{\prime})italic_d start_POSTSUBSCRIPT italic_π end_POSTSUBSCRIPT ( italic_v , italic_π ) := roman_inf start_POSTSUBSCRIPT italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ italic_π end_POSTSUBSCRIPT italic_d ( italic_v , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) and d(v,v)𝑑𝑣superscript𝑣d(v,v^{\prime})italic_d ( italic_v , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) is the Euclidean distance between points v,v𝑣superscript𝑣v,v^{\prime}italic_v , italic_v start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Intuitively, a large dH(π1,π2)subscript𝑑𝐻subscript𝜋1subscript𝜋2d_{H}(\pi_{1},\pi_{2})italic_d start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) indicates that π1,π2subscript𝜋1subscript𝜋2\pi_{1},\pi_{2}italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are distinct from each other.

To filter paths in ΠsubscriptΠ\Pi_{*}roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT, we introduce a hyper-parameter dH,thres>0subscript𝑑𝐻𝑡𝑟𝑒𝑠0d_{H,thres}>0italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT > 0, and iterate all pairs of distinct paths π1,π2Πsubscript𝜋1subscript𝜋2subscriptΠ\pi_{1},\pi_{2}\in\Pi_{*}italic_π start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ roman_Π start_POSTSUBSCRIPT ∗ end_POSTSUBSCRIPT to compute a subset of paths ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT such that the Hausdorff distance between any pair of paths in ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is greater than dH,thressubscript𝑑𝐻𝑡𝑟𝑒𝑠d_{H,thres}italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT (i.e., dH(πi,πj)>dH,thresπi,πjΠ,ijformulae-sequencesubscript𝑑𝐻subscript𝜋𝑖subscript𝜋𝑗subscript𝑑𝐻𝑡𝑟𝑒𝑠for-allsubscript𝜋𝑖formulae-sequencesubscript𝜋𝑗superscriptΠ𝑖𝑗d_{H}(\pi_{i},\pi_{j})>d_{H,thres}\forall\pi_{i},\pi_{j}\in\Pi^{\prime},i\neq jitalic_d start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ( italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) > italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT ∀ italic_π start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_π start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_i ≠ italic_j). Note that ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is not unique, and here we find an arbitrary ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT. Then, the filtered path set ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT will be used to warm-start the trajectory optimization. Here, parameter dH,thressubscript𝑑𝐻𝑡𝑟𝑒𝑠d_{H,thres}italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT is specified by the user before the computation starts, and a larger dH,thressubscript𝑑𝐻𝑡𝑟𝑒𝑠d_{H,thres}italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT leads to a smaller set ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT.

TABLE I: Comparison between the solution costs of 10 instances computed by PWTO and the baselines in various maps. Comparison is evaluated as the solution cost computed by the baseline divided by the solution cost computed by PWTO.
Index Cost Field Parameters Line/PWTO Random/PWTO t-RRT/PWTO A*/PWTO Total
σmsubscript𝜎𝑚\sigma_{m}italic_σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT M >>>1 >>>2 Fail >>>1 >>>2 Fail >>>1 >>>2 Fail >>>1 >>>2 Fail >>>1 >>>2
1 [Uncaptioned image] 0.002 15 1.00 0.22 0 0.78 0.33 0 1.00 0.44 0.33 1.00 0.78 0.33 0.94 0.44
2 [Uncaptioned image] 0.012 20 0.67 0.33 0 0.67 0.22 0 1.00 0.89 0.56 1.00 0.67 0.44 0.83 0.53
3 [Uncaptioned image] 0.001 30 0.60 0.40 0 0.70 0.50 0 0.90 0.70 0.50 1.00 0.90 0.40 0.80 0.63
4 [Uncaptioned image] 0.0005 50 1.00 0.44 0 1.00 0.44 0 1.00 0.44 0.67 1.00 0.56 0.33 1.00 0.58

IV-C Part II: Trajectory Optimization

The goal of the trajectory optimization is to find a low-cost dynamically feasible trajectory near the initial guess. Since the dynamics of the robot is simplified in the previous graph search step, the returned paths in ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT are dynamically infeasible in general with respect to the original problem. Therefore, the trajectory optimization method is required to be able to start the optimization from some dynamically infeasible initial guess, and we use the direct collocation (DirCol) algorithm [17, 18], a trajectory optimization method that accepts dynamically infeasible initial guesses. Note that other methods that accept dynamically infeasible initial guesses can also be used in PWTO (line 8 in Alg. 1).

IV-C1 Direct Collocation

We use each path in the filtered path set ΠsuperscriptΠ\Pi^{\prime}roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT to seed a trajectory optimization process and there are total |Π|superscriptΠ|\Pi^{\prime}|| roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | number of processes (line 4 in Alg. 1). Specifically, we first convert a path πΠ𝜋superscriptΠ\pi\in\Pi^{\prime}italic_π ∈ roman_Π start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT into a state-control trajectory 𝐱0(t),𝐮0(t)subscript𝐱0𝑡subscript𝐮0𝑡\mathbf{x}_{0}(t),\mathbf{u}_{0}(t)bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) , bold_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) by (i) interpolating between each pair of adjacent vertices in π𝜋\piitalic_π and (ii) taking finite differences to compute the additional terms in the states and controls (i.e., velocities and accelerations). Then, 𝐱0(t),𝐮0(t)subscript𝐱0𝑡subscript𝐮0𝑡\mathbf{x}_{0}(t),\mathbf{u}_{0}(t)bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) , bold_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) are used as the initial guess to warm-start a DirCol process. In short, DirCol parameterizes the state trajectory and control trajectory as polynomials for each pair of adjacent time steps and transcribes the original continuous problem into a non-linear programming problem (NLP). Moreover, the robot dynamics is enforced as equality constraints at the middle point (i.e., collocation points) between each pair of adjacent time steps. The resulting NLP is then solved by the existing NLP solver. At convergence (when the change in Jsuperscript𝐽J^{\prime}italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is smaller than a certain threshold), the resulting trajectory is dynamically feasible and the objective function is (locally) minimized.333DirCol computes the gradient and the Hessian matrix of the objective function with respect to the x𝑥xitalic_x and u𝑢uitalic_u. This paper thus requires that the cost field C𝐶Citalic_C is twice differentiable in Sec. III, so that the Hessian matrix can be computed for DirCol optimization. This twice differentiable requirement can be discarded if the trajectory optimizer does not require Hessian.

IV-C2 Reference Tracking Cost

Due to the non-linearity of the NLP and the dynamically infeasible initial guess, using DirCol to directly optimize the J𝐽Jitalic_J in (1) may lead to trajectories that are trapped in local minima while going through high cost regions. In other words, although the initial guess 𝐱0(t),𝐮0(t)subscript𝐱0𝑡subscript𝐮0𝑡\mathbf{x}_{0}(t),\mathbf{u}_{0}(t)bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) , bold_u start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) avoids the high cost region in C𝐶Citalic_C, during the optimization of the NLP, to ensure the dynamic constraints, the trajectory may deviate a lot from the initial guess, go through high cost regions, and get trapped in a highly sub-optimal local minimum.

To avoid this, we introduce an additional reference tracking cost (which is commonly used in optimal control to track a given reference) into the objective function of the NLP. The intuition is to make the optimized trajectory stay close to the given initial guess, since the initial guess bypasses high cost regions in the cost field C𝐶Citalic_C. Formally, let Jsuperscript𝐽J^{\prime}italic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT denote the objective of the NLP problem, which differs from the original objective function defined in the problem statement by adding an additional term:

J:=J+t=0T(𝐱(t)𝐱0(t))T𝐐(𝐱(t)𝐱0(t))dtassignsuperscript𝐽𝐽superscriptsubscript𝑡0𝑇superscript𝐱𝑡subscript𝐱0𝑡𝑇𝐐𝐱𝑡subscript𝐱0𝑡d𝑡\displaystyle J^{\prime}:=J+\int_{t=0}^{T}(\mathbf{x}(t)-\mathbf{x}_{0}(t))^{T% }\mathbf{Q}(\mathbf{x}(t)-\mathbf{x}_{0}(t))\text{d}titalic_J start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT := italic_J + ∫ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( bold_x ( italic_t ) - bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_Q ( bold_x ( italic_t ) - bold_x start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_t ) ) d italic_t (5)

where J𝐽Jitalic_J is defined in (1), 𝐐𝐐\mathbf{Q}bold_Q is a positive semi-definite matrix, and the added term helps the trajectory to stay close to the initial guess when the dynamic constraints are enforced during the optimization.

IV-C3 Round-Robin Optimization

PWTO runs the optimization processes in a round-robin (i.e., episodic) fashion (lines 6-14 in Alg. 1). In each episode, the un-converged processes, which are stored in a set 𝒫𝒫\mathcal{P}caligraphic_P, are iterated and each process is optimized for K𝐾Kitalic_K iterations. In each episode, the converged process is removed from 𝒫𝒫\mathcal{P}caligraphic_P, while the un-converged processes stays in 𝒫𝒫\mathcal{P}caligraphic_P and will be optimized in the next episode. The converged solutions are reported during the PWTO. This episodic optimization allows PWTO to run in an anytime fashion in a sense that: the first feasible solution can be obtained quickly while better solutions can be obtained as the runtime increases.

V Numerical Results

V-A Implementation and Test Settings

V-A1 Implementation and Baselines

We implement our PWTO (Alg. 1) in Python, while leveraging a C++ implementation of EMOA* [11] (Line 2 in Alg. 1), and a Python implementation of the DirCol [19] (Line 8 in Alg. 1). This DirCol implementation uses IPOPT [20] as the NLP solver.444The C++ implementation of EMOA* is at https://github.com/wonderren/public_emoa. The Python implementation of DirCol is at https://opty.readthedocs.io/en/latest/. The IPOPT solver is at https://coin-or.github.io/Ipopt/index.html. All baselines warm-starts DirCol using different initial guesses. The first baseline uses an initial guess that is a straight line connecting the start and goal position, and then linearly interpolates the intermediate states (denoted as “LINE”). The second baseline uses a randomly generated initial guess (denoted as “RAND”). The third baseline first leverages A* to find a path in a graph, and then uses the path to warm-start a DirCol process (denoted as “A*”). Here, the A* search is conducted in a graph G=(V,E)𝐺𝑉𝐸G=(V,E)italic_G = ( italic_V , italic_E ) with edge costs defined as c(e):=0.5c1(e)+0.5c2(e),eEformulae-sequenceassign𝑐𝑒0.5subscript𝑐1𝑒0.5subscript𝑐2𝑒for-all𝑒𝐸c(e):=0.5c_{1}(e)+0.5c_{2}(e),\forall e\in Eitalic_c ( italic_e ) := 0.5 italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_e ) + 0.5 italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_e ) , ∀ italic_e ∈ italic_E, where c1,c2subscript𝑐1subscript𝑐2c_{1},c_{2}italic_c start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_c start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT are defined in the Method section. The fourth baseline seeds DirCol using the path found by T-RRT [21], a sampling based algorithm that solves a similar problem to this paper.

V-A2 Dynamics of the Robot

As aforementioned, in all tests, we use a second-order uni-cycle model. We consider the following constraints: (x,y)[0,1]×[0,1]𝑥𝑦0101(x,y)\in[0,1]\times[0,1]( italic_x , italic_y ) ∈ [ 0 , 1 ] × [ 0 , 1 ] (stay in the workspace), v[0,0.05]𝑣00.05v\in[0,0.05]italic_v ∈ [ 0 , 0.05 ], ω[1.57,1.57]𝜔1.571.57\omega\in[-1.57,1.57]italic_ω ∈ [ - 1.57 , 1.57 ] (limits on linear and angular velocities) and av[0.1,0.1]subscript𝑎𝑣0.10.1a_{v}\in[-0.1,0.1]italic_a start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∈ [ - 0.1 , 0.1 ], aw[1,1]subscript𝑎𝑤11a_{w}\in[-1,1]italic_a start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ∈ [ - 1 , 1 ] (limits on linear and angular acceleration). For numerical computation, the dynamics is integrated using the forward Euler integration with a time interval of 0.10.10.10.1 seconds.

V-A3 Cost Field Generation

The (px,py)subscript𝑝𝑥subscript𝑝𝑦(p_{x},p_{y})( italic_p start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , italic_p start_POSTSUBSCRIPT italic_y end_POSTSUBSCRIPT ) coordinates of the cost fields are limited to [0,1]×[0,1]0101[0,1]\times[0,1][ 0 , 1 ] × [ 0 , 1 ]. We randomly sample M𝑀Mitalic_M Gaussian distributions 𝒩(μm,Σm),m=1,2,,Mformulae-sequence𝒩subscript𝜇𝑚subscriptΣ𝑚𝑚12𝑀\mathcal{N}(\mu_{m},\Sigma_{m}),m=1,2,\dots,Mcaligraphic_N ( italic_μ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , roman_Σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ) , italic_m = 1 , 2 , … , italic_M, where μmsubscript𝜇𝑚\mu_{m}italic_μ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is randomly sampled from [0,1]×[0,1]0101[0,1]\times[0,1][ 0 , 1 ] × [ 0 , 1 ], and Σm:=[σm,0;0,σm]assignsubscriptΣ𝑚subscript𝜎𝑚00subscript𝜎𝑚\Sigma_{m}:=[\sigma_{m},0;0,\sigma_{m}]roman_Σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT := [ italic_σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT , 0 ; 0 , italic_σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ] with σmsubscript𝜎𝑚\sigma_{m}italic_σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT being a positive number randomly sampled from a certain range that is elaborated later. The cost field is defined as the sum of these M𝑀Mitalic_M Gaussian distributions. We generate three different cost fields as shown in Table I, where the second row shows the parameters. For MOPP, we discretize the cost field uniformly into a lattice of size 200×200×42002004200\times 200\times 4200 × 200 × 4 which correspond to the number of discretized x,y,θ𝑥𝑦𝜃x,y,\thetaitalic_x , italic_y , italic_θ coordinates respectively.

V-A4 Other Parameters

For each cost field, we generate 10 instances (i.e., start-goal pairs). Each baseline is allowed to run at most 1000 optimization iterations per instance. PWTO is allowed to run for 10 episodes per instance, where each episode has 100 optimization iterations. To filter Pareto-optimal paths, we set dH,thres=8subscript𝑑𝐻𝑡𝑟𝑒𝑠8d_{H,thres}=8italic_d start_POSTSUBSCRIPT italic_H , italic_t italic_h italic_r italic_e italic_s end_POSTSUBSCRIPT = 8 for all the tests.

Refer to caption
Figure 2: Test results of 10 instances in a more complicated cost field with σ=0.0002,M=133formulae-sequence𝜎0.0002𝑀133\sigma=0.0002,M=133italic_σ = 0.0002 , italic_M = 133. The starting position is indicated as red circle and the goal is indicated as red star. (a) shows the CR of each baselines with failed instances excluded. (b-f) show detailed information about an instance where all approaches successfully solve. In (b), the horizontal axis shows the number of episodes required by PWTO to find each converged solution trajectory, and the vertical axis shows the cost ratio of each solution over the cheapest trajectory cost found by PWTO. (c-f) show the solution trajectories returned by each approach.

V-B Trajectory Cost Comparison

We compare the cost of the solutions computed by our PWTO and the baselines in various maps. Let cost ratio (CR) denote the solution cost computed by a baseline divided by the solution cost computed by PWTO. In other words, a CR that is greater than one indicates PWTO computes a cheaper solution than the baseline, and PWTO is more advantageous over the baselines when CR is larger. We conduct numerical tests with 10 instances (sets of initial and goal state) for the maps and compute CR only for those instances where PWTO converges. For each map, there is at most one instance where PWTO fails to converge within the limits of optimization iterations. As shown in Table I, PWTO often computes cheaper trajectories than the baselines for most of the instances. Additionally, the solution cost of PWTO is less than half of the solution cost computed by the baselines (i.e., CR>2absent2>2> 2) for some instances.

We then create a more complicated cost field (Fig. 2 (c-f)) with 10 start-goal pairs and plot the CR of each baseline against PWTO in Fig. 2 (a). PWTO often computes cheaper trajectories than the other approaches. We then pick an instance where all approaches successfully find a solution. As shown in Fig. 2 (b), due to the round-robin optimization, PWTO can report the computed trajectories in an anytime fashion, and avoid spending too many iterations in any one specific optimization process.

V-C Simulation for Mobile Robots

To verify the dynamic feasibility of the computed trajectory, we use Gazebo and ROS to simulate the trajectory execution process of the robot in complex terrains. We first generate the Gazebo terrain using the gazebo world construction tool provided in [22], which takes in put of a gray-scale image of the cost field. For visualization purposes, we use the absolute value of the height of the terrain to indicate the traversal cost. For example, in Fig. 3, flat land indicates small traversal cost while dents or hills indicate high traversal cost.555We acknowledge that roughness of the terrain is not directly related to the height of the terrain. Here, we use height for easy visualization. Then we use the ROSbot (HUSARION) platform to test all the trajectories.

To address the motion disturbance in the Gazebo simulation (e.g. caused by the friction between the wheel and the ground), we implement a feedback control law as described in [23]. Specifically, during the execution, the controller iteratively obtains the actual position of the robot from Gazebo and computes an error state as well as the feedback control term ufbsubscript𝑢𝑓𝑏u_{fb}italic_u start_POSTSUBSCRIPT italic_f italic_b end_POSTSUBSCRIPT. Note that the planned (reference) trajectory by PWTO is a state-control trajectory which includes the feedforward terms uffsubscript𝑢𝑓𝑓u_{ff}italic_u start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT (i.e. the acceleration of the robot at each time step) for execution. The resulting control command is u=uff+ufb𝑢subscript𝑢𝑓𝑓subscript𝑢𝑓𝑏u=u_{ff}+u_{fb}italic_u = italic_u start_POSTSUBSCRIPT italic_f italic_f end_POSTSUBSCRIPT + italic_u start_POSTSUBSCRIPT italic_f italic_b end_POSTSUBSCRIPT, which is then bounded by the control limit of the robot and then send to the robot for execution. Fig. 3 visualizes the resulting trajectory using the closed-loop control. We tested the dynamic feasibility of the planned trajectory for the mobile under two different terrains with different complexity. More video demonstration of trajectory following tests can be found in our multi-media attachment. In short, the robot can follow the planned trajectory in complex terrains and reach the goal position successfully.

Refer to caption
Figure 3: Simulation and validation of the PWTO for the trajectory planning of mobile robots. (a) shows all the trajectories (yellow) reported during the PWTO computation, the cheapest trajectory (green) that is used as the reference, and the actual trajectory executed by the robot (red). (b) visualizes the Gazebo simulation. With the closed-loop control, the robot is able to follow the reference trajectory in complex terrains.

V-D Simulation for Quadruped Robots

Refer to caption
Figure 4: Simulation and validation of the PWTO for a quadruped robot. (a) shows all the paths (blue) and converged trajectories (red) reported during the PWTO computation. (b) visualizes the Gazebo simulation of a quadruped robot following the reference trajectory in complex terrains.

Finally, we evaluate PWTO with a more complex quadruped robot. Here, we take a hierarchical approach, where the center of mass of the quadruped robot is first planned by PWTO, which finds a trajectory for the robot to follow in the complex terrain. Then, to track the planned trajectory, we used an open source controller CHAMP666https://github.com/chvmp/champ , which achieves highly dynamic locomotion utilizing pattern modulation and impedance control [24]. By leveraging the CHAMP controller, we can directly sent the robot linear and angular velocity (𝐩˙˙𝐩\dot{\mathbf{p}}over˙ start_ARG bold_p end_ARG , 𝝎bsubscript𝝎𝑏\boldsymbol{\omega}_{b}bold_italic_ω start_POSTSUBSCRIPT italic_b end_POSTSUBSCRIPT) as the command to the quadruped robot. The foot placement and swing command will be output by the CHAMP controller for low-level joint control. The cost field here is similar to the aforementioned sum of Gaussian distributions with M=10𝑀10M=10italic_M = 10 and σm=0.003subscript𝜎𝑚0.003\sigma_{m}=0.003italic_σ start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT = 0.003. The results shows that the proposed PTWO can be applied to various robot platforms and generate dynamical feasible trajectories for them to travel through the complex terrains. Further video demonstrations can be found in the multi-media attachment.

VI Conclusions and Future Work

This paper considers a trajectory planning problem for a dynamic mobile robot in complex terrains. We propose a heuristic method PWTO to solve the problem. PWTO leverages multi-objective search techniques to seed multiple optimization processes, so that different local minima are explored to help find a globally low-cost trajectory. In the meanwhile, PWTO runs these optimization processes in a round-robin fashion and is able to report the converged solution in an anytime fashion. Future work includes theoretic proof on solution quality that guarantees PWTO to be able to find trajectories with cheaper costs than the baselines.

References

  • [1] J. Strader, K. Otsu, and A.-a. Agha-mohammadi, “Perception-aware autonomous mast motion planning for planetary exploration rovers,” Journal of Field Robotics, vol. 37, no. 5, pp. 812–829, 2020.
  • [2] D. D. Fan, K. Otsu, Y. Kubo, A. Dixit, J. Burdick, and A. akbar Agha-mohammadi, “STEP: Stochastic Traversability Evaluation and Planning for Risk-Aware Off-road Navigation,” in Proceedings of Robotics: Science and Systems, Virtual, July 2021.
  • [3] T. Berglund, A. Brodnik, H. Jonsson, M. Staffanson, and I. Soderkvist, “Planning smooth and obstacle-avoiding b-spline paths for autonomous mining vehicles,” IEEE transactions on automation science and engineering, vol. 7, no. 1, pp. 167–172, 2009.
  • [4] H. Andreasson, J. Saarinen, M. Cirillo, T. Stoyanov, and A. J. Lilienthal, “Fast, continuous state path smoothing to improve navigation accuracy,” in 2015 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2015, pp. 662–669.
  • [5] P. Papadakis, “Terrain traversability analysis methods for unmanned ground vehicles: A survey,” Engineering Applications of Artificial Intelligence, vol. 26, no. 4, pp. 1373–1385, 2013.
  • [6] S. Karaman and E. Frazzoli, “Sampling-based algorithms for optimal motion planning,” The international journal of robotics research, vol. 30, no. 7, pp. 846–894, 2011.
  • [7] M. Pivtoraiko and A. Kelly, “Kinodynamic motion planning with state lattice motion primitives,” in 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2011, pp. 2172–2179.
  • [8] 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,” The International Journal of Robotics Research, vol. 32, no. 9-10, pp. 1164–1193, 2013.
  • [9] R. Natarajan, H. Choset, and M. Likhachev, “Interleaving graph search and trajectory optimization for aggressive quadrotor flight,” IEEE Robotics and Automation Letters, vol. 6, no. 3, pp. 5357–5364, 2021.
  • [10] R. P. Loui, “Optimal paths in graphs with stochastic or multidimensional weights,” Communications of the ACM, vol. 26, no. 9, pp. 670–676, 1983.
  • [11] Z. Ren, R. Zhan, S. Rathinam, M. Likhachev, and H. Choset, “Enhanced multi-objective a* using balanced binary search trees,” in Proceedings of the International Symposium on Combinatorial Search, vol. 15, no. 1, 2022, pp. 162–170.
  • [12] C. Hernández, W. Yeoh, J. A. Baier, H. Zhang, L. Suazo, S. Koenig, and O. Salzman, “Simple and efficient bi-objective search algorithms via fast dominance checks,” Artif. Intell., vol. 314, p. 103807, 2023.
  • [13] Z. Ren, S. Rathinam, M. Likhachev, and H. Choset, “Multi-objective path-based D* lite,” IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 3318–3325, 2022.
  • [14] ——, “Multi-objective safe-interval path planning with dynamic obstacles,” IEEE Robotics and Automation Letters, vol. 7, no. 3, pp. 8154–8161, 2022.
  • [15] M. Ehrgott, Multicriteria optimization.   Springer Science & Business Media, 2005, vol. 491.
  • [16] O. Schutze, X. Esquivel, A. Lara, and C. A. C. Coello, “Using the averaged hausdorff distance as a performance measure in evolutionary multiobjective optimization,” IEEE Transactions on Evolutionary Computation, vol. 16, no. 4, pp. 504–522, 2012.
  • [17] C. R. Hargraves and S. W. Paris, “Direct trajectory optimization using nonlinear programming and collocation,” Journal of guidance, control, and dynamics, vol. 10, no. 4, pp. 338–342, 1987.
  • [18] R. Tedrake, Underactuated Robotics, 2022. [Online]. Available: http://underactuated.mit.edu
  • [19] J. K. Moore and A. J. van den Bogert, “opty: Software for trajectory optimization and parameter identification using direct collocation,” Journal of Open Source Software, 2018.
  • [20] A. Wächter and L. T. Biegler, “On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming,” Mathematical programming, vol. 106, no. 1, pp. 25–57, 2006.
  • [21] L. Jaillet, J. Cortés, and T. Siméon, “Transition-based rrt for path planning in continuous cost spaces,” in 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems.   IEEE, 2008, pp. 2145–2150.
  • [22] B. Abbyasov, R. Lavrenov, A. Zakiev, K. Yakovlev, M. Svinin, and E. Magid, “Automatic tool for gazebo world construction: from a grayscale image to a 3d solid model,” in 2020 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2020, pp. 7226–7232.
  • [23] Y. Kanayama, Y. Kimura, F. Miyazaki, and T. Noguchi, “A stable tracking control method for an autonomous mobile robot,” in Proceedings., IEEE International Conference on Robotics and Automation.   IEEE, 1990, pp. 384–389.
  • [24] J. Lee et al., “Hierarchical controller for highly dynamic locomotion utilizing pattern modulation and impedance control: Implementation on the mit cheetah robot,” Ph.D. dissertation, Massachusetts Institute of Technology, 2013.