Journal of Robotics

Volume 2018, Article ID 5868915, 10 pages

https://doi.org/10.1155/2018/5868915

## Path Planning with Obstacle Avoidance Based on Normalized* R*-Functions

School of Mechanic and Electronic Engineering, Wuhan Technical College of Communications, Wuhan 430065, China

Correspondence should be addressed to Songqiao Tao; moc.361@oaiqgnosoat

Received 30 June 2018; Accepted 17 September 2018; Published 4 October 2018

Academic Editor: Gordon R. Pennock

Copyright © 2018 Songqiao Tao and Juan Tan. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Existing methods for path planning with obstacle avoidance need to check having the interference between a moving part and an obstacle at iteration and even to calculate their shortest distance in the case of given motion parameters. Besides, the tasks like collision-checking and minimum-distance calculating themselves are complicated and time-consuming. Rigorous mathematical analysis might be a practical way for dealing with the above-mentioned problems. An* R*-function is a real-valued function whose properties are fully determined by corresponding attributes of their parameters, which is usually applied to express a geometrical object. Thus, a signed distance function based on* R*-functions is created to represent whether two objects intervene and their level of intervention or separation. As the signed function is continuous and differentiable, the gradient information of the objective function guides a moving part to avoid its obstacles and to approach its target position rapidly. Therefore, a path planning approach with obstacle avoidance based on normalized* R*-functions is proposed in this paper. A discrete convex hull approach is adopted to solve the problem that* R*-function is inappropriate to represent a geometric object with some curves or surfaces, and pendent points and edges are generated in Boolean operations. Besides, a normalized approach ensures accuracy calculation of signed distance function. Experimental results have shown that the presented approach is a feasible way for path planning with obstacle avoidance.

#### 1. Introduction

In recent years, technologies of path planning with obstacle avoidance have received extensive attention in the fields of robotics, computer simulation, and game animation. In the product design process, path planning with obstacle avoidance is an essential element of the simulations of product assemblies and disassemblies. Path planning with obstacle avoidance is in essence an optimization problem, which usually introduces the evaluation criteria (such as the shortest path or the shortest planning time) to plan an optimal path with obstacle avoidance from a given initial position to the destination in high-interference environments [1].

To avoid obstacles, existing approaches for path planning are necessary to frequently detect whether two objects intervene or to estimate the shortest path between a moving part and an obstacle at the given location. Therefore, there is not a unified form for planning path with obstacle avoidance. Moreover, collision-checking and minimum-distance estimating themselves are complex and time-consuming tasks. To deal with the above-mentioned problems, rigorous mathematical analysis might be a practical way for path planning with obstacle avoidance.

The attributes of an* R*-function are fully determined by corresponding attributes of their argument. Thus, the sign of a real function is fully determined by the sign of its argument.* R*-function is usually applied to represent a geometric object [2]. If* g* is an* R*-function that expresses a geometric object, we can use a signed distance function* g*(*x*)≤0 to describe interference constraints between this geometric object and a space point . Thus,* g*(*x*) <0,* g*(*x*) =0, or* g*(*x*)>0, respectively, represents that space point is the internal, the boundary, or the external of the geometric object.

Based on the above-mentioned analysis, a path planning method with obstacle avoidance based on normalized R-functions is presented in this paper. Firstly, Boolean operations based on* R*-functions are introduced to generate an implicit function for expressing a geometric object. Secondly, a discrete convex hull method is adopted to solve problems that R-function is inappropriate to represent a geometric object with some curves or surfaces, and there are some pendent points and edges in Boolean operations. Then, a normalized method is introduced to transform the implicit function into the* m*-*th* order normalization function so that the calculation of signed distance function is accurate. Finally, planning paths with obstacle avoidance for a single-point and a polygonal region are conducted to validate the presented approach. Experimental results have shown that the proposed method is a feasible way for path planning with obstacle avoidance.

The rest of this paper is organized as follows. First, related works are introduced in Section 2. Then, the theory of R-function is presented in detail in Section 3. In Section 4, a discrete-convex hull method for generating* CSG* models of geometric objects is introduced. Section 5 adopts the normalization method to transform* g* into the* m*-*th* order normalization function. And path planning with obstacle avoidance based on the normalization function is given in Section 6. Following this section, experimental results applying the proposed method are presented in Section 7. Finally, the paper ends up with some conclusions in Section 8.

#### 2. Related Works

Path planning with obstacle avoidance has been extensively applied for the robot navigation. For a robot, path planning carries out a series of translational motions and rotational motions from an initial position to the target position while obstacles are avoided in its working environment [3]. Most of path planning methods with obstacle avoidance can be classified into three categories: potential field method (PFM), sampling-based method, and heuristic-based algorithm.

Artificial PFM appeared earlier in [4], which is simple and highly efficient. However, disadvantages like local minima, nonsmooth movement, and oscillations also appear in artificial PFM. To escape from the location of the local minima, Kim [5] presented a new artificial potential function for path planning. Lee et al. [6] proposed new potential function with random force algorithm using PFM for solving the risks of a robot-obstacle collision and local minima trap. To overcome artificial PFM with slow progress and system instability in the presence of obstacles and narrow passages, a modified Newton’s approach was applied to potential field [7]. Sfei et al. [8] proposed a new formula of repelling potential for reducing oscillations and avoiding collisions when the target approaches obstacles. To solve problems where a robot only follows the destination while obstacles are rejected in conventional artificial PFMs, Cosio et al. [9] proposed a path planning method with obstacle avoidance based on improved artificial PFM and genetic algorithm. Yin et al. [10] and Zhang et al. [11] adopted modified PFMs to solve path planning problem in dynamic environments.

The advantage of sampling-based path planning methods (SPPMs) has abilities to deal with planning problems in complex and/or time critical real world. At present, most influential SPPMs are probabilistic road-maps (PRMs) and rapidly exploring random trees (RRTs) [12]. Although PRMs and RRTs both randomly sample connecting points from their state space, their graphs connecting points are generated in different ways [13]. More work related to SPPMs can be found in [14]. PRMs have better performance for path planning in high-dimensional state space. As curves or straight lines are used for constructing PRMs, a robot may go anywhere in its free space. Visibility graph [15–17] and Voronoi diagram [18–20] are two typical road-map approaches, which have achieved better results with dramatically various types of roads. RRT algorithms randomly build a space-filling tree to efficiently handle problems with obstacles and differential constraints by searching nonconvex and high-dimensional spaces [21]. Kothari et al. [22] proposed a RRT method to handle path planning problem of unmanned aerial vehicles with uncertainty. The probability of constraint violation and uncertain dynamic obstacles are, respectively, limited by a chance constraint and its extended framework. To further improve search efficiency, Bi-RRT algorithms with bidirectional search have appeared [23, 24]. Two RRTs, respectively, root at the initial and the target state, and algorithms seek states that are “common” for two trees. In [24], a Bi-RRT approach with the intelligence is adopted to handle path planning problem with complex cluttered environments.

A complete overview to heuristic-based algorithms for path planning, which can be found in [3].

#### 3. Theory of* R*-Functions

##### 3.1. Terminology Definition

The sign of an* R*-function is completely determined by the sign of its variable and has nothing to do with the value of its variable. For example, a function* g*_{1}=*x*_{1}*x*_{2}*x*_{3} is negative, if the number of its negative variables is odd or positive otherwise. In general, the domain of variable not just has positive or negative but has the form ≥*a* or <*a *(*a* is a real number). In a practical application, the real domain is usually divided into (-∞, -0] and [+0, +∞). Then, the definition of an* R*-function can be expressed as follows.

*Definition 1 ( R- function y). *Give a function

*S*(

*x*) with real parameter

*x*, which has the formsA real function is an

*R*-function, if there is a logic function which makes the equation true. Here, the function is called

*g’s*adjoint function. Some

*R*-functions have the same adjoint function, such as functionsA group of

*R*-functions with the same adjoint function is called an

*R*-function branch. Key characteristics of an

*R*-function are given in the following section (more characteristics can be found in [2]). (1)The set of

*R*-functions has closure properties under a composition operator. Thus, a function can be obtained by compositing some

*R*-functions, and it is also an

*R*-function.(2)If and are

*R*-functions from the same branch, then the function + is an

*R*-function belonging to the same branch.

##### 3.2. Sufficiency Completeness

The characteristics of an* R*-function show that a complex* R*-function may be generated from simple* R*-functions. If there is a group of* R*-functions, which can generate* R*-functions belonging to any branch by using composition operators, we define this group of* R*-functions as a function system with sufficiency completeness.

Rvachev [25] presented some useful* R*-functions with sufficiency completeness. Here, we give a -function system for basic logic operation, such as “negation” (¬), “conjunction” (∧), or “disjunction” (*∨*).Here,* a**∈*-1, 1]. If* a*=0 or* a*=1, we call a system an system or an system. For function systems and , their logical operations can be defined as follows:And their “¬” operations have the same handling rule with -function system.

Although the above-mentioned -function system and -function system have the same logic function, their differential characteristics are various. For instance, -function system is nondifferentiable at the origin of coordinate while other points are differentiable; but -function system is nondifferentiable at the point = or =-; and -function system has* m-*order differential operators at the origin of coordinate while other points have infinite differential operators. Differential characteristics of -function system have great influence in practical applications. -function system has better differential characteristics while the calculation of -function system is simple.

##### 3.3. *R*-Function Representation for a Geometric Object

Boolean operations (such as “intersection” and “union”) between basic primitives can be used to express a* CSG* model [26]. Then, a geometric object has the following form: Here, (*i*=1, 2, …,* m*) is a basic primitive; and is a regular Boolean function whose operations have forms , , and . If we use logical operators ∧, *∨*, and ¬ to displace Boolean operations,* G *will become a logical function. Combined with the definition of* R*-function, a geometric object can be expressed as follows:

If we define the signed distance function (*x*) for a basic primitive as (6) can be rewritten as follows:Given a continuous function* g*(*x*) and its adjoint function* G*, a geometric object in (6) can be expressed as the following form [16]:In the above formula, (*i*=1, 2, …,* m*) is a real continuous function while is an implicit function of a geometric object. In the following, we give an example to illustrate the definition of implicit function . In Figure 1(a), basic regions and , respectively, have the following equations:It can be seen from Figure 1(a), rectangular region has logic function* B*=∧. Then, using -function system to represent region has the following implicit function g:If in (10) and in (11) are plugged into (12), (2) has