{'fraction_non_alphanumeric': 0.03701460248783126, 'fraction_numerical': 0.013131422390481342, 'mean_word_length': 4.426223735180185, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 6, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 11, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An Integrated Localisation, Motion Planning and Obstacle Avoidance Algorithm in Belief Space

As robots are being increasingly used in close proximity to humans and objects, it is imperative that robots operate safely and efficiently under real-world conditions. Yet, the environment is seldom known perfectly. Noisy sensors and actuation errors compound to the errors introduced while estimating features of the environment. We present a novel approach (1) to incorporate these uncertainties for robot state estimation and (2) to compute the probability of collision pertaining to the estimated robot configurations. The expression for collision probability is obtained as an infinite series and we prove its convergence. An upper bound for the truncation error is also derived and the number of terms required is demonstrated by analyzing the convergence for different robot and obstacle configurations. We evaluate our approach using two simulation domains which use a roadmap-based strategy to synthesize trajectories that satisfy collision probability bounds.

terms of probabilities. Planning is therefore performed in the belief space, which corresponds to the set of all probability distributions over possible robot states [22]. At a given time instant, we consider the belief or the belief state of the robot which corresponds to a probability distribution of the robot state (or other variables of interest) given the measurements and controls thus far [32]. Consequently, for efficient planning and decision making, it is required to reason about future belief distributions due to candidate actions and the corresponding expected observations. Such a problem falls under the category of Partially Observable Markov Decision Processes (POMDPs) [10].
Robots are becoming ubiquitous in our day-to-day lives and are being increasingly used in close proximity to humans and other objects in service-oriented scenarios such as factories, living spaces, or elderly care facilities. It is therefore of vital importance that robots operate efficiently and safely in real-world conditions. Localization is a key aspect for safe and efficient robot motion as it is a precursor to solving the problems "where to move to" and "how to reach there". A robot perceives the environment through its sensors and distinct objects known as landmarks aid the robot in localizing. However, most approaches assume that these landmarks are known with high certainty. For example, given the map of the environment, while planning for future actions the standard Markov localization 1 does not take into account the map uncertainty, that is, the landmark location uncertainties are ignored and the locations are assumed to be perfectly known. This means that given the map and the sensor range 2 , for any land-mark, there exists a set of viewpoints from which an observation may be obtained. Let us consider for example a robot equipped with a laser range finder and observing a landmark. Whenever the robot location is such that the landmark falls within the sensing range, a measurement is obtained. Thus, there exists a set of robot locations or viewpoints from which a measurement of the landmark may be obtained. Therefore, when the landmark locations are assumed to be perfect, this set of viewpoints can be easily determined since it depends on the environment map and the sensing capabilities of the sensor employed. Yet, this might not be true in practice. For example, consider the map of an environment obtained from a Simultaneous Localization and Mapping (SLAM) session. Due to the dynamic nature of the environment, the objects of interests could be occluded when viewed from the set of viewpoints which would have otherwise produced a full observation. Moreover, an erroneous localization, for example due to wrong data association, could lead to wrongly estimated object poses. Thus, in such cases it is more fitting to consider the uncertainty in the landmark locations. This landmark uncertainty directly translates to the fact that the viewpoints whence the object can be observed is uncertain. This is visualized in Fig. 1. As seen on the left hand side of the figure, when the object location is known perfectly, there exists a region (green) from which the object can be observed. Note that as discussed before this region is determined from the environment map and the sensor capabilities. Some of the viewpoints inside this region are shown in black. On the right hand side of the figure, we consider the uncertainty in landmark location the red shaded region denotes the uncertainty in landmark location. Since the object location is not known precisely (object can be anywhere within the uncertainty region), given a viewpoint, it cannot be said with certainty that the object will be observed. This is so because given a viewpoint, a landmark is observed if it falls within the sensing range. However, since the landmark location is not fixed and is uncertain, the landmark may or may not be within the sensing range. For example, if the landmark location is Gaussian distributed, then the landmark, in practice can be anywhere within the (say) 3-σ uncertainty region. Thus we cannot define a precise region from which the landmark can be observed. Therefore, one can only reason in terms of the probability of observing the object from the considered viewpoint. This results in a probability distribution function for the viewpoints. Consequently, not considering this work (Section 5) we use a laser range finder and beacons that give signal measurements in terms of the distance to the beacons. The green region corresponds to the set of viewpoints from which the object can be observed; some of these viewpoints are shown as black dots. On the right hand side, the red shaded region denotes the uncertainty in object location, with the red blob denoting its mean position. The corresponding viewpoint region is visualized as the intersection between different viewpoint regions that correspond to the object being at different locations (left hand side shows one instance of this). uncertainty can wrongly localize the robot, leading to inefficient plans causing catastrophes. From now on, we will use the term object uncertainty to refer to the notion of uncertainty in landmark location.
In order to ensure safe robots' motion, it is also essential to consider collision avoidance strategies. As robots are being increasingly used in service-oriented scenarios with both static and dynamic obstacles, deterministic approaches do not fare well. Moreover, in the case of dynamic obstacles, their future states have to be predicted. Yet this is an added difficulty due to the lack of perfect knowledge of their motions. As a result, providing safety guarantees is difficult.

Notations and Problem Definition
Throughout this paper vectors will be assumed to be column vectors and will be denoted by lower case letters, that is x. The transpose of x will be denoted by x T and its Euclidean norm by x = √ x T x. A multivariate Gaussian distribution of x with mean µ and covariance Σ will be denoted using the notation x ∼ N (µ, Σ). Matrices will be denoted by capital letters. The trace of a square matrix M will be denoted by tr(M ). The identity matrix will be denoted by I or I n when the dimension needs to be stressed. A diagonal matrix with diagonal elements λ 1 , . . . , λ n will be denoted by diag(λ 1 , . . . , λ n ). Sets will be denoted using calligraphic capital letters like S or R. Unless otherwise mentioned, subscripts on vectors/matrices will be used to denote time indexes and (whenever necessary) superscripts will be used to indicate the robot or the object that it refers to. For example, x i k represents the state of robot i at time instant k. The notation P (·) will be used to denote the probability of an event and the probability density function (pdf) will be denoted by p(·). While deriving the Belief Space Planning (BSP) framework to incorporate object uncertainties we will mainly follow the notations and formalisms in [31].
We now formally define the problem that we tackle in this paper. Consider a robot operating in a partiallyobservable environment. The map of the environment is either known a priori or is built using a standard SLAM algorithm. At any time k, we denote the robot pose (or configuration) by x k .
= (x k , y k , θ k ), the acquired measurement from objects is denoted by z k and the applied control action is denoted as u k . Note that by objects we refer to both the landmarks and the obstacles in the environment. We consider a standard motion model with Gaussian noise where w k is the random unobservable noise, modeled as a zero mean Gaussian. We note that modeling the random unobservable noise variables as Gaussians with zero mean is a common practice in robotics [31]. The objects are detected through the robot's sensors and, assuming data association is known, the observation model can be written as where O i k is the detected i-th object and v k is the zero mean Gaussian noise. The function h(x k , O i k ) denotes the fact that at time k, the measurement z k is obtained by observing the i−th object O i k from viewpoint (robot location) x k . In the case of a laser-range finder the function h could be defined as the distance between x k and the location of the object (or any particular point on the object) O i k . If we consider the case of a camera, h may be defined as a pinhole projection operator, projecting the object O i k onto the image plane. Given the models in (1) and (2), in this paper we focus on two aspects. First, we consider the object uncertainties while localizing the robot. Second, we compute the exact probability of collision under obstacle uncertainty, which is modeled as a Gaussian distribution. Finally, we evaluate our approach in two simulation domains: a 2D mobile robot domain and a 2D manipulator domain. It is to be noted that for the manipulator domain we will be concerned with the collision avoidance of the manipulator's endeffector.

Related Work
BSP has been researched extensively in the past with applications spanning a variety of areas including autonomous navigation, multi-modal planning, and active SLAM [1,11,16,20,23,29,30,32]. [11] consider object uncertainty since they are planning in an unknown environment and require several measurements to obtain confidence estimates of object locations. Thus they perform active perception, that is, to look for robot actions that enhances information to reduce the object uncertainty. This context is different from ours since we consider a known environment with object uncertainty and focus on active localization incorporating these uncertainties. In [20], the concept of object uncertainty is commented upon (they call it scene uncertainty); however they do not show how it affects the state estimation. Dynamic environments are considered in [1,16] however the landmark/beacon locations are assumed to be known perfectly; [29,30] also consider perfect landmark locations in the context of task and motion planning. Thus most active and passive localization-based approaches focus on robot state uncertainty and assume perfect knowledge about the location of the objects in the environment. However, in practice, the environment is seldom known with high certainty and hence providing formal guarantees for safe navigation is imperative.
Patil et al. [21] estimate the probability of collision under robot state uncertainty by truncating the state distributions. In [3], future state distributions are predicted and the uncertainties are used to compute bounded collision probabilities. Lee et al. [18] use sigma hulls 3 to formulate collision avoidance constraints in terms of the signed distance to the obstacles. Du Toit and Burdick [5], Park et al. [19] compute the collision probability by marginalizing the joint distribution between the robot and obstacle location. The distributions are assumed to be Gaussian and the marginalization is computed with an indicator function that is true under the collision condition. However, since there is no closed-form solution to this formulation, an approximation is assumed. Furthermore, Park et al. compute an upper bound for the collision probability. An approximation is computed using Monte Carlo Integration in [17], albeit computationally intensive. Another impressive work that uses Monte Carlo approach is Monte Carlo Motion Planning (MCMP) [8]. This approach first solves a deterministic motion planning problem with inflated obstacles and then adjusts the inflation to compute a path that is exactly as safe as desired.
Linear chance constraints are used to compute bounded collision-free trajectories with dynamic obstacles in [33]. Axelrod et al. [2] focus exclusively on obstacle uncertainty. They formalize a notion of "shadows", which are the geometric equivalent of confidence intervals for uncertain obstacles. The shadows fundamentally give rise to loose bounds but the computational complexity of bounding the collision probability is greatly reduced. Uncertain obstacles are modelled as polytopes with Gaussian-distributed faces in [28]. Planning a collision-free path in the presence of "risk zones" is considered in [27] by penalizing the time spent in these risk zones. Risk contour maps which give the risk information (uncertainties in location, size and geometry of obstacles) in uncertain environments are used in [9] to obtain safe paths with bounded risks. A related approach for randomly moving obstacles is presented in [7]. Formal verification methods have also been used to construct safe plans [4,26].
Most approaches discussed above compute the collision probability along a path by summing or multiplying the probabilities along different waypoints in the path. Boole's inequality is used to decouple the total probability in terms of individual waypoint probabilities. Such approaches tend to be overly conservative and rather than computing bounded collision probabilities along a path, the bound should be checked for each configuration along a path. Moreover, in most approaches, the collision probability computed along each waypoint is an approximation of the true value. On the one hand, such approximations can overly penalize paths and could gauge all plans to be infeasible. On the other hand some approximations can be lower 4 than the true collision probability values and can lead to synthesizing unsafe plans.

Contributions
In this paper two main theoretical contributions are presented. First, we incorporate object uncertainties in the BSP planning framework and derive the resulting Bayes filter in terms of the prediction and measurement updates of the Extended Kalman Filter (EKF). The second is the computation of the probability of collision under environment uncertainty. We formulate the collision avoidance constraint as a quadratic form in random variables. This provides an exact expression for the collision probability in terms of a converging infinite series. A notion of safety is also formalized to compute configurations that satisfy the required collision probability bounds.
We make the following assumptions: (1) the uncertainties are modelled using Gaussian distributions; (2) while formulating the collision constraint, we assume that the robot and obstacles have circular geometries. However, this is by no means a limitation and the approach can be extended to objects with different geometries by considering the configuration spaces.

Object Uncertainty
In this Section, we focus on a BSP formulation that incorporates object uncertainties, that is, the viewpoints whence the objects can be observed are not precisely known. We define the object space O = {O i |O i is an object, and 1 ≤ i ≤ |O|} to be the set of all objects in the environment. The motion (1) and observation (2) models can be written in a probabilistic framework as p(x k+1 |x k , u k ) and p(z k |x k , O i k ), respectively. Let us consider that at time k the robot received a measurement z k which was originated by observing object O i k . Given an initial distribution p(x 0 ), and the motion and observation models p(x k+1 |x k , u k ) and p(z k |x k , O i k ), the posterior probability distribution at time k is the belief b[x k ] and can be written as Using Bayes rule and theorem of total probability, b[x k ] can be expanded as denotes the probability of observing the object O i k from the pose x k and models the object uncertainty. Similarly, given an action u k , the propagated belief can be written as Given the current belief b[x k ] and the control u k , the propagated belief parameters, that is, mean and covariance, can be computed using the standard EKF prediction as where F k is the Jacobian of f (·) with respect to x k . To compute the posterior belief using EKF update equations, we first need to model the term p(O i k |x k ). In this work we model the object distribution as a Gaussian distribution given by where µ O i k is the mean viewpoint/pose that corresponds to the maximum probability of observing O i k and Σ O i k is the associated covariance. For convenience we state the probability density function (pdf) of multivariate Gaussian distributions. For x ∼ N (µ, Σ) the pdf is of the form where det(·) denotes the determinant. Expanding the right hand side of (3) where η k contains the non-exponential terms and J k+1 is given by where H k+1 is the Jacobian of h(·) with respect to x k+1 . We note that when object uncertainty is not considered, the second term in (8) disappears and the results that we derive below reduce to that of the standard EKF update case. The parameters of this Gaussian can be obtained by taking the first and second derivatives of J k+1 with respect to x k+1 , The term (10) is the inverse of the covariance of b[x k+1 ] [31], that is, Since the mean of b[x k+1 ] is the value that minimizes J k+1 , it is obtained by equating (9) to zero where K k+1 = Σ k+1 H T k+1 Q −1 k+1 is the Kalman gain. As in the case of standard EKF, the gain K k+1 can be transformed to an expression that does not depend on Σ k+1 , by post-multiplying with an identity matrix This gives In order to simplify the above expression for K k+1 , we first compute the inverse of the term The inverse is computed as Using (16) and (11), the expression in (14) simplifies to By treating the sum Σ −1 (11) as a single term and applying the matrix inversion lemma on the right hand side of (11) and further simplifying using the expression for the inverse computed in (16), it can be shown that We note that when no object uncertainty is considered the update step of the standard EKF gives The additional term in (12) rightly adjusts the mean µ k+1 accounting for the fact that the object location is uncertain. Similarly, the extra terms in (18) account for the object uncertainty and scale the posterior covariance accordingly.

Collision Probability
Let R represent the set of all points occupied by a rigid-body robot at any given time. Thus, R represents the collection of points that form the rigid-body robot. Similarly, let S represent the set of all points occupied by a rigid-body obstacle. A collision occurs if R ∩ S = {φ} and we denote the probability of collision as P R ∩ S = {φ} . In this work we assume circular geometries for R and S with radii r 1 and s 1 , receptively and we denote the center of mass of the robot and the obstacle by x k and s, receptively. By abuse of notation we will use x k and s equivalently to R and S. The collision condition will be written in terms of the center of mass as C x k ,s : R ∩ S = {φ}. It is noteworthy that both x k and s are not known precisely but can only be estimated probabilistically, as seen in the previous section. At this point we would like to stress the fact that the concepts and the derivations herein are valid for any 2D rigid-body robot. A mobile robot may be represented by a minimum area enclosing circle. In the case of a 2D manipulator robot each link can be approximated by bounding circles that tightly enclose the link. For such robots, the collision with an obstacle has to be checked for each bounding circle. For example, consider a manipulator robot with l bounding circles. Then the collision condition for the i−th circle Let us now consider an obstacle at any given time instant, distributed according to the Gaussian s ∼ N (s, Σ s ), wheres represents the mean and Σ s the uncertainty in the estimation of the object. Given the belief at time k, that is, b[x k ], the probability of collision is given by where C x k ,s as defined above represents the fact that robot configuration x k and its collision with obstacle at location s is considered, and I c is an indicator function defined as Du Toit and Burdick [5], Park et al. [19] approximate the integral in (19) as V p(x k , s), where V is the 2D footprint (area) occupied by the robot. For this approximation, in [5] it is assumed that the robot radius ε is negligible and a point obstacle is considered for this derivation.
To do away with this approximation, we formulate the above problem by considering an alternative approach. Since the robot and obstacle are assumed to be spherical objects, the collision constraint can be written as where x k and s are the random vectors that denote the robot and obstacle pose respectively. Here, x k and s corresponds to the body-fixed frames in the global frame. As noted before, the two random vectors in (19) are distributed according to s ∼ N (s, Σ s ) and x k ∼ N (µ k , Σ k ). Let us denote by w = x k − s, the difference between the two random variables. Then we know that w is also a Gaussian, distributed as w ∼ N (µ k −s, Σ k + Σ s ). The collision constraint can now be written as where v is a random vector distributed according to the squared L 2 -norm of w. Now, given the probability density function (pdf) of v, the collision constraint in (21)reduces to solving the integral where It is noteworthy that the above expression is the cumulative distribution function (cdf) of v, which is defined as

Quadratic Form in Random Variables
A quadratic form in random variables is defined as [24], vector with mean µ = (µ 1 , . . . , µ n ) T and covariance matrix Σ. Then the quadratic form in the random variables x 1 , . . . , x n associated with an n × n symmetric matrix A = (a ij ) is Let us define y = Σ − 1 2 x and define a random vector z = y − Σ − 1 2 µ . The resulting distribution of z is thus zero mean with covariance being the identity matrix. Thus the quadratic form becomes Suppose there exists an orthogonal matrix P , that is, P P T = I which diagonalizes Σ where u = P T z = (u 1 , . . . , u n ) T and b = P T Σ − 1 2 µ = (b 1 , . . . , b n ) T . The expression in (26) can be written concisely, and its pdf is given by where Γ denotes the gamma function and The proof of the above theorem is beyond the scope of this paper and we refer the interested readers to [24]. It is easily seen that the left hand side of (22), is in the quadratic form Q(y) with A = I, the identity matrix. Thus the collision probability can be computed from (28) as

Convergence and Truncation Error
In this section we will prove the convergence the infinite series in (28) and (29). Note that the series expansion of the pdf in Theorem 1 is of the form From [14] we have the following lemma.
where α, β are real constants. Then L h k (y) and L(p y (y)) exist for Re(s) > β, and where L(·) denotes the Laplace transform. Let us now define the term M (θ) such that where the infinite series is a uniformly convergent series for θ in some region with M (θ) > 0. Let the Laplace transform of h k (y) be the form L(h k (y)) = ξ(s)η k (s), where, for Re(s) > β with β being a real constant, ξ(s) is a non-vanishing analytic function and η(s) is an analytic function with an inverse function η(ζ(θ)) = θ.
For h k (y) in (29), we have, ξ(s) = (2s) −n/2 , η(s) = −(2s) −1 and ζ(θ) = −(2θ) −1 . Now let us define, where • denotes function composition. Using Cauchy's inequality, we get Since h k (y) is bounded and, using (36), the condition (32) in Lemma 1 is satisfied and the series p y (y) converges uniformly in every bounded interval of y > 0. As a result, integrating p y (y) term-by-term, the obtained series F y (y) is uniformly convergent in every bounded interval of y > 0. If the series in (29) is truncated after N terms, the truncation error is Using (36), an upper bound for the truncation error can hence be obtained as where the summation term can be further simplified using the gamma function identity, ∀ς > 0, Γ (ς + 1) = ςΓ (ς), giving The truncation error for (28) is obtained in a similar manner, The expression for m(ρ) is obtained from [15], The expression in (41) is valid only if ρ < λ j [14] and hence ρ < min λ j . Thus we have m(ρ) → 0 with n j=1 b 2 j → ∞. The larger the distance from the obstacles and the higher the certainty in the robot and obstacle positions, the greater is the b j (see 26) value. In such scenarios, convergence is often attained within the first few terms of the series. For a given robot configuration and obstacle parameters, we see that the only varying term in (40) is (y/2ρ) N +1 /(N + 1)! which depends on λ j 's, that is the eigenvalues of Σ k + Σ s . Clearly, at time instant k, the parameter that influences the convergence is the degree of uncertainty in both the robot and obstacle location, that is, Σ k + Σ s .
The convergence is visualized for different configurations in Fig. 2. The blue and green circles represent a robot and an obstacle, respectively. The red ellipses corresponds to the 3σ uncertainties for different covariances diag(0.04, 0.04), diag(0.08, 0.08), . . . , diag(0.74, 0.74). In Fig. 2(a) the robot and the obstacle are touching each other. For each of these covariances, the number of terms for convergence is shown in Fig. 2(b). The worst case corresponds to the covariance of diag(0.04, 0.04), requiring 16 terms for convergence (dashed blue line with spikes in Fig. 2(b)). In Fig. 2(c) the distance between the robot and the obstacle is increased by 0.2m and the covariance diag(0.04, 0.04) needed 12 terms for convergence. The distances are further increased by 0.4m and 0.8m in Fig. 2(e), (g) and their worst case convergences are 9 and 5 respectively as seen in Fig.2(f), (h). The number of terms for worst case convergence that corresponds to covariance diag(0.04, 0.04) and the respective time for collision probability computation are shown in Table 1.

Safe Configuration
In the presence of perception and motion uncertainty, providing safety guarantees for robot motion is imperative. Let us assume that the obstacle position is known with high certainty as a result of perfect sensing. However, since the true state of the robot is not known and only a distribution of these states can be estimated, collision checking has to be performed for this distribution of states. Moreover, in practice, the observations are noisy and this renders the estimated obstacle location (and shape) uncertain. Hence, this uncertainty should be taken into account while considering collision avoidance.
Given a robot configuration x k , we define the following notion of −safe configuration.
Definition 2 A robot configuration x k is an −safe configuration with respect to an obstacle location s, if the probability of collision is such that P C x k ,s ≤ 1− .
For example, a 0.99−safe configuration implies that the probability of this configuration colliding with the obstacle is at most 0.01. We use the sampling based Probabilistic Roadmap (PRM) [13] to compute motion plans. As a result we can only guarantee probabilistic completeness for returning −safe configurations since the PRM motion planner is probabilistically complete [12], that is the probability of failure decays to zero exponentially with the number of samples used in the construction of the roadmap. The failure to find an −safe configuration might be because such a configuration indeed does not exist or simply because there were not enough samples.

Complexity Analysis
It is known that for m nodes, the computational complexity of PRM is O(m log m) [12]. First let us consider the case of belief space planning over the PRM graph, without computing the collision probabilities. Finding a trajectory to the goal requires performing Bayesian (EKF) update operations. This basically involves performing matrix operations-matrix multiplication and inversion of matrices. For a state of dimension n, the covariance matrix is of dimension O(n 2 ). Therefore, each step of the Bayesian update has a complexity of O(n 3 ). If T denotes the number of time steps in the trajectory, then the overall computational complexity is O(n 3 T ). Let us now analyze the complexity of collision probability computation. From (40) we see that for each iteration, the truncation error varies with (y/2ρ). Therefore, to achieve E(N ) ≤ δ, for an −safe configura- iterations are required. We note that for each obstacle, the runtime is increased by this factor.

Cost Function
At each time instant the robot is required to minimize its control usage and proceed towards the goal x g , while minimizing its state uncertainty. We quantify the state uncertainty by computing the trace of the marginal covariance of the robot position. As a result, we have the following cost function x T Sx is the Mahalanobis norm, M u , M g , M C are weight matrices and ξ(u k ) is a function that quantifies control usage. The choice of weight matrices and the control function vary with application. The term tr M Σ 2 Σ k = tr M T Σ Σ k M Σ , returns the marginal covariance of the robot location. Therefore, M Σ = τM Σ , where τ is a positive scalar andM Σ is a matrix filled with zero or identity entries. P (C) represents the probability of collision and M C penalizes the belief states with higher collision probabilities.
The failure to find an −safe configuration might be because such a configuration indeed does not exist or simply because there was not enough samples in the roadmap. In such scenario the roadmap has to be extended. Different strategies could be implemented to efficiently extend the roadmap but is not the main focus of the current paper. Therefore we follow a straightforward approach to add more samples when an −safe configuration cannot be found. Given a node from which no −safe configuration can be found, a circle of certain radius (half the maximum distance allowed between two edges) is drawn. Samples are then added to the roadmap and the PRM graph is updated until an −safe configuration is found or until time-out.

Simulation Results
In this section we first provide a comparison of our approach with [19] and [5]. We then explore the capabilities of our approach in two simulation domains. Performance are evaluated on an Intel® Core i7-6500U CPU@2.50GHz×4 with 8GB RAM under Ubuntu 16.04 LTS.

Comparison to Other Approaches
Park et al. [19] approximate the integral in (19) as V p(x k , s), where V is the 2D footprint or area occupied by the robot. For computing p(x k , s), they first assume a distribution centered around the obstacle with the covariance being the sum of the robot and obstacle location uncertainties. The collision probability is then computed by finding the x k that maximizes p(x k , s) and formulate the problem as an optimization problem with a Lagrange multiplier. In [5] the density of the center of the robot is used. For comparing with these approaches, we formulate the problem as given in each of these works 5 . In order to validate the values computed  [5,19] are much lower than expected.
using our approach, we perform numerical integration of the expression in (19), which gives the exact collision probability value. Three different cases are considered as shown in Fig. 3. The solid green circle denotes an obstacle of radius 0.5m and its corresponding uncertainty contours are shown as green circles. The solid blue circle denotes a robot of radius 0.3m with the blue circles showing the Gaussian contours. We define a collision probability threshold of 0.1, that is, a 0.9−safe configuration. The collision probability values and the computation times are provided in Table 2. In Fig. 3(a), the robot position known with high certainty and our approach computes collision probability as 4.61% and hence the given configuration is a 0.9−safe configuration. The numerical integral provides the actual value and as seen in Table 2, it is computed to be 4.62%, thus proving the exactness of our method. However, the collision probability computed as given in [19] is 33.26% (almost seven times our value), predicting the configuration to be unsafe. The approach in [5] gave the value of 5.84%, a much tighter upper bound. In Fig. 3(b), there is robot uncertainty along the horizontal axis and the collision probability computed using our approach is 8.22%. The actual value is computed to be 8.25%. As compared to the previous case, the probability has almost doubled. This is quite intuitive as seen from the robot uncertainty spread and hence there is greater chance for intersection between the robot and the obstacle. The value computed using the approach in [19] is 36.31% (4.5 times our value). The approach in [5] also gave a higher value of 14.20%. Unlike the approaches in [5,19] our approach rightly predicts the configuration to be a 0.9−safe configuration. The higher values obtained uscodes (including numerical integration and our approach) can be found herehttps://bitbucket.org/1729antony/ comparison_cp_methods/src/master/  ing [5,19] are due to the overly conservative nature of the estimates. The approach of Park et al. [19] and [5] assumes that the robot radius is very small. We also compute the collision probabilities for a robot and an obstacle with radius 0.05m each, where the robot and the obstacle are touching each other (Fig. 3(c)). The obstacle location is also much more certain, with the uncertainty reduced by 97% as compared to cases in Fig. 3(a),(b). Actual value obtained using numerical integral is 14.82%. The probability of collision computed using our approach is 14.83%, whereas, using the approach in [19] the computed value is 0.61% and the approach in [5] computes it to be 0.46%. Thus our approach predicts the configuration to be unsafe. To get a sense of the actual value, we compute the area of the covariance matrix, which is 6.28 × 10 −4 m 2 . This clearly indicates that 0.61% is too small a value and the configuration is not 0.9−safe configuration. Using the approaches in [5,19] would lead to collision as it predicts the configuration to be safe. Our approach computes the exact probability of collision and outperforms the approaches in [5,19].

2D Environment Domain
We consider the case of a environment where a mobile robot moving in an environment of 30m × 20m. A scaled-down top view is seen in Fig. 4(a). The underlying PRM graph, the start (S in the figure) and goal (G in the figure) locations can also be seen. The gray circles denote the obstacles in the environment. Fig. 4(b) shows a Pioneer P3DX robot at the start location. For the robot motion model, we consider the following nonlinear dynamics [31] x k+1 = x k + δ trans cos(θ k + δ rot1 ) y k+1 = y k + δ trans sin(θ k + δ rot1 ) = (x, y, θ) is the robot pose at time k and u k . = (δ rot1 , δ trans , δ rot2 ) is the applied control. The model assumes that the robot ideally implements the following commands in order: rotation by an angle of δ rot1 , translation of δ trans and a final rotation of δ rot2 orienting the robot in the required direction. The robot accrue translational and rotational errors while executing u k and localizes itself by estimating its position using signal measurements from beaconsb 1 , . . . ,b 7 , which are located at (xb 1 , yb 1 ), . . . , (xb 7 , yb 7 ). The signal strength decays quadratically with the distance to the beacon, giving the following observation model with sensor noise v k , We validate our approach in the above discussed environment by varying different parameters, a summary of which is provided in Table 3. Below we detail each of cases considered in Table 3. We first consider the motion planning approach for a point-like robot. The cost function is of the form in (42) with M u = 0.3, M g = diag(0.8, 0.8), M Σ = diag(1, 1) and M C = 10. The underlying PRM graph with 65 nodes is shown in Fig. 5, with the green dots denoting the sampled nodes. The robot, starting from its initial belief state (mean pose denoted by S in the figure) has to reach the node x g (G in the figure), while reducing its uncertainty. The blue triangles denote the beacons that aid in localization. The solid black circles with radius 0.5m, represent obstacles in the environment and the red ellipses denote the 3σ covariances (only the (x,y) portion is shown). Unless otherwise mentioned, in all the experiments, 0.99−safe configurations are solicited and the total planning time is the average time for 25 different runs.
We first consider a case with a point robot and no uncertainty in obstacle location. The planned trajec-  tory in this case is seen in cyan in Fig. 5(a) with total planning time of 0.0051s(±0.0008s). Please note that the total planning time also includes the collision probability computation time. Next, we consider uncertainty in one of the obstacle location, whose covariance ellipse is shown in gray. The planned trajectory is seen in cyan in Fig. 5(b) and the planning was completed under 0.0279s(±0.0043s). Due to the uncertainty in the obstacle location, the robot takes a longer route to avoid collision. A robot of radius 0.3m and certain (negligible uncertainty) obstacles gave the same trajectory as in Fig. 5(a) with a planning time of 0.0055s(±0.0009s). However, when the obstacle location is uncertain the resulting trajectory is as shown in Fig. 5(c). A change in the trajectory is observed, as compared to the case of a point robot in Fig. 5(b). The planning time in this case is 0.0294s(±0.0047s). It is also worth mentioning that in Fig. 5(b) and (c), the roadmap was updated by adding a node since a 0.99−safe configuration could not be found. The added node is seen in brown, with its coordinates being approximately (9,11). We also run the case with no obstacle uncertainty and a robot of radius 0.3m using the approach of Park et al. [19]. In this case the planned trajectory is as given in Fig. 5(d).
Note that using our approach, the same scenario gives a shorter trajectory (Fig. 5(a)). The longer trajectory computed using the approach in [19] is due to the fact that a loose upper bound is computed for the collision probability. As a result a longer trajectory is obtained. Contrary to this, we compute the exact collision probability and hence a shorter trajectory is synthesized. The same scenario is also run with the approach in [5] and produced a trajectory similar to ours. However, since the uncertainties are significantly lower, the approximate collision probability values computed using [5] are much smaller than the actual values.
Next, we consider the case with uncertainty in the location of the beacons. The considered robot radius is 0.3m with the bottom obstacle being uncertain with covariance diag(0.49, 0.49). Taking object uncertainty into account, the planned trajectory with covariance evolution is as shown in Fig .5(e). Fig. 5(f), shows the trajectory planned with true beacon locations. The beacons are shown in yellow to denote the true location. Considering only the mean position of the beacons and neglecting the position uncertainty, the planned trajectory is as shown in Fig. 5(a). Actual execution of this would lead to collision with the bottom obstacle. However, executing the planned trajectory obtained by considering the uncertainty in beacon locations does not violate the −safety criterion and all the configurations are 0.99−safe. It is noteworthy that though we have discussed a 2D environment, the approach directly extends to a mobile robot navigating in a 3D environment. In such domains, the mobile robot may be represented by a minimum volume enclosing sphere. Similarly, the obstacles can also be approximated by their corresponding minimum volume enclosing spheres. Hence the collision condition is the same as given in (21) and therefore the approach discussed in this paper remains valid.

Laser-grasp Domain
We consider two modified versions of the laser-grasp domain as suggested in [22]. In this domain, a planar robot manipulator must locate and proceed towards a round puck. The state space is the position of the manipulator's end-effector relative to a grasping point defined directly in front of the puck. Though the end-effector position is assumed to be known completely, the state is not directly observed since the puck position is unknown. Its position can be determined using the laser range finder that points out as a horizontal line from the end-effector. The underlying system dynamics is where x ∈ R 2 denotes the state space and u ∈ R 2 is the end-effector velocity. The cost function is of the form in (42) with M u = diag(10, 10), M g = diag(100, 100), M Σ = diag(10000, 10000) and M C = 10. First, we consider a scenario wherein an additional object is placed that aids in localization. In this scenario, the state is the end-effector position which is not known precisely due to actuation errors. The goal is to place the end-effector directly in front of the puck so as to be able to grasp it. Both the object and the puck can be detected by the horizontal laser. However, the object location is not known exactly and the 3σ uncertainty ellipse is shown in light blue in Fig. 6(a) and (b). The mean position is visualized by the blue blob and the yellow blob denotes the actual object location. The red ellipses represent the state covariance at different points along the trajectory. Fig. 6(a) shows the case in which object uncertainty is not considered and the object is assumed to be its mean position. The manipulator moves towards the object first, localizing the end-effector position and then proceeds further to place the end-effector at the grasping point. However, as seen in Fig. 6(a), while executing this plan produced offline, not considering the object uncertainty leads to the collision of the end-effector with the true object (in yellow). When the object uncertainty is considered, the execution of the plan do not lead to collision, as it can be seen in Fig. 6(b). This illustrates the fact that not considering object uncertainty can wrongly localize the robot, leading to catastrophes.
Next, we consider a scenario wherein the state space is the position of the manipulator's end-effector relative to a grasping point defined directly in front of the puck. The state is not directly observed since the puck position is unknown. However, as soon as the manipulator starts to move, a ball starts to roll in between the manipulator and the puck. The ball follows a Gaussian velocity distribution, and therefore at each time instant, the mean position of the ball and the corresponding uncertainty can be estimated. The mean position of the ball at each time instant is shown in blue in Fig. 7(a) and (b). The green dots denote the mean of the state trajectory. As seen in Fig. 7(a), the manipulator initially moves downwards. However, as the ball comes closer, the manipulator retraces its path and move upwards towards its starting position to avoid collision. This is so because the safety constraint for = 0.99 is violated. As the ball keeps moving upwards, after a while, it is seen that the manipulator takes a downward action just before reaching its starting position since the configuration is a 0.99−safe configuration.
The scenario in Fig. 7(b) is similar to that of Fig. 7(a). However, it is seen that once the manipulator retraces its path backward towards the starting position, it takes a downward action much earlier. This is because more information is acquired during online planning and the uncertainty bound on the obstacle changes with time.
The 2D manipulator domain studied here directly extends to 3D manipulator scenarios for both static and mobile manipulators. In the case of static manipulators, the end-effector is approximated as a sphere. Each link is approximated as a set of spheres kept side by side. However, in heavily cluttered environments such an approximation can be computationally intensive since each sphere has to be checked for collision with obstacles. An alternative and effective approach is to consider the minimum-volume enclosing ellipsoid for each link [25]. It is known that for every convex polyhedron, there exits a unique ellipsoid of minimal volume that contains the polyhedron and is called the Löwner-John ellipsoid of the polyhedron [6]. Thus each link can be represented by their corresponding Löwner-John ellipsoids. The distance between two ellipsoids is used to modify the collision condition in (21). For mobile manipulators, the collision condition should also checked for the base as discussed in the 2D robot section.

Conclusion
In this paper, we have addressed a novel approach to compute the probability of collision under robot and obstacle pose uncertainties. The collision probability is computed as an infinite series whose convergence is proved. An upper bound for the truncation error is also derived. As shown in Fig. 2, convergence analysis is performed for different configurations and it is seen that our approach is of the order of milliseconds and therefore can be used in online planning. We also provide a comparison with the approaches in [5,19]. In addition, we incorporate landmark uncertainties in belief space planning and derive the resulting Bayes filter in terms of the prediction and measurement updates of the EKF. Finally, experimental evaluation for a mobile robot scenario and a 2D manipulator is performed to illustrate our approach. We have considered static obstacles in this paper and the immediate future work is to realize the approach in simulated and real-world environments with dynamic obstacles.