Avoidance of Concave Obstacles through Rotation of Nonlinear Dynamics

Controlling complex tasks in robotic systems, such as circular motion for cleaning or following curvy lines, can be dealt with using nonlinear vector fields. In this paper, we introduce a novel approach called rotational obstacle avoidance method (ROAM) for adapting the initial dynamics when the workspace is partially occluded by obstacles. ROAM presents a closed-form solution that effectively avoids star-shaped obstacles in spaces of arbitrary dimensions by rotating the initial dynamics towards the tangent space. The algorithm enables navigation within obstacle hulls and can be customized to actively move away from surfaces, while guaranteeing the presence of only a single saddle point on the boundary of each obstacle. We introduce a sequence of mappings to extend the approach for general nonlinear dynamics. Moreover, ROAM extends its capabilities to handle multi-obstacle environments and provides the ability to constrain dynamics within a safe tube. By utilizing weighted vector-tree summation, we successfully navigate around general concave obstacles represented as a tree-of-stars. Through experimental evaluation, ROAM demonstrates superior performance in terms of minimizing occurrences of local minima and maintaining similarity to the initial dynamics, outperforming existing approaches in multi-obstacle simulations. The proposed method is highly reactive, owing to its simplicity, and can be applied effectively in dynamic environments. This was demonstrated during the collision-free navigation of a 7 degree-of-freedom robot arm around dynamic obstacles


I. INTRODUCTION
Reactive motion plays a crucial role in numerous real-world robotics applications.When operating outside the controlled environments of factory floors, robots are exposed to unpredictable and dynamic surroundings, making precise estimation challenging.As a result, real-time adaptive controllers are essential to enable robots to adapt and reevaluate their actions in response to changing conditions.
A primary constraint when navigating in dynamic and cluttered environments is to ensure the safety of individuals moving around the robot.This requires the robot to constantly and rapidly replan its path to avoid collisions while making every effort to maintain its intended task and adhere to the originally intended movement dynamics.Furthermore, to protect physical hardware from potential damage caused by high accelerations, it is crucial to design a smooth system.Additionally, collision avoidance needs to seamlessly integrate with reactive control techniques (Figure 1).
Control methods based on vector fields [1] and dynamical systems [2] have proven to be well-suited for addressing the challenges posed by such scenarios.Rather than precomputing a trajectory for the robot, these methods generate a (nonlinear) control field that is evaluated in real-time at the robot's position.This allows the robot to react instantaneously to disturbances and perceive changes in its environment.In this work, we leverage the framework of dynamical systems and vector fields to develop an adaptive obstacle avoidance approach capable of modifying nonlinear motion in dynamic and complex environments (Fig. 1).
Dynamical systems represent the evolution of a system's state without considering its history, effectively capturing the system's dynamics as a vector field.In robotics, dynamical systems have been employed for learning complex dynamics [3] and enforcing stability guarantees through techniques such as Lyapunov Stability [4] or Contraction Theory [2].Force control in robotics often utilizes second-order dynamical sys-tems [5], while obstacle avoidance typically relies on firstorder systems that output desired velocities based on the current position [6].Consequently, additional controllers are employed to ensure force-and torque-controlled robots follow the desired motion of the dynamical system [7].
Analogously, desired dynamics based on position can be represented as a vector field [1].These nonlinear vector fields can be designed to ensure convergence and stability properties.Nonlinear vector fields designed for path following, known as "vector-field-guided path following," enable smooth convergence towards a desired path, reducing path-following errors [8].
In this paper, we develop an adaptive obstacle avoidance framework capable of modifying nonlinear motion in response to dynamic and complex environments.The proposed approach aims to navigate the control system safely while maintaining the integrity of the intended motion dynamics.The effectiveness of our approach is demonstrated through experiments.

A. Related Work
Obstacle avoidance methods are often categorized into local and global strategies [9].Global methods focus on convergence to the goal, while local methods prioritize reactive collision avoidance in dynamic scenarios.
Global sampling-based methods, such as Rapidly-Exploring Random Trees (RRT), have been widely utilized to populate the search space by branching out a space-filling tree in order to find a feasible path [10].Building upon RRT, the RRT* algorithm was introduced to automatically scale the sampling length during the search, resulting in improved performance and convergence rate [11].Similarly, Probabilistic Roadmaps (PRM) employ space sampling to determine the collision-free status of points.By connecting the collision-free samples, local connectivity graphs are formed, enabling graph-search algorithms to find an optimal path from the initial position to the goal [12].Although PRM and RRT are probabilisticcomplete, meaning they can find a feasible path if one exists [13], the sampling-based approach incurs a significant computational cost.This renders it unsuitable for real-time recomputation, which is essential for dynamic environments.Sampling algorithms like RRT and PRM exhibit a complexity that is linear to the number of nodes n in the sampled tree, represented as O(n) = O(exp(N)) [14].Even in twodimensional environments, the trees need to cover the entire workspace, leading to a large number of nodes.To address the computational challenges and facilitate fast computation in dynamic environments, initial paths are often reshaped.One approach involves interpreting trajectories as elastic strips, enabling efficient adaptation and obstacle avoidance [15].However, this comes at the loss of convergence guarantees.
Motion Optimization (MO) has been employed to dynamically adapt the originally sampled trajectories, analogous to stretching an elastic band around an object [16].However, MO tends to perform poorly in highly non-convex problems and often converges to suboptimal local minima.To alleviate this issue, Markov chains have been utilized for joint-space control [17], while other approaches incorporate Riemann geometry and geometric constraints to improve convergence heuristics [18], [19].Nonetheless, MO remains local in nature and often fails to converge when dealing with non-convex motions.
Model Predictive Control (MPC) reduces the optimization problem to a finite time horizon, thereby reducing the convergence time [20].The increased computational power in recent years has facilitated the utilization of MPC for realtime collision avoidance [21].Sampling-based MPC has been employed for dynamic configuration-space collision avoidance in scenarios where an analytic cost function is absent [22], [23].However, the limited time horizon of MPC often limits the problem to local optimality, and global convergence cannot always be guaranteed.
In recent years, the application of Machine Learning (ML) in collision avoidance for robotics has gained significant traction.End-to-end learning approaches have enabled collisionfree multi-robot navigation [24], while fuzzy artificial potential fields augmented with neural networks have been utilized for motion planning of mobile robots [25].Conversely, RRT has served as a foundation for training reinforcement learning algorithms [26].While learning-based methods demonstrate impressive performance, they often lack collision avoidance guarantees and cannot ensure convergence to a reliable solution.Deep learning methods, such as multi-layer neural networks, incur a computational cost that scales with the number of parameters p, denoted as O(p) [27].Given that modern neural networks frequently comprise millions of parameters, the inference process becomes the most timeconsuming component of the control loop.In numerous robotic implementations, the vision-based neural network constitutes the most time-intensive aspect of the control loop [28].However, employing neural networks to output control commands introduces substantial computation time to the control loop [23], [26].
While most global methods lack the ability to adapt to dynamic environments, this limitation can be overcome by employing local methods.Many local methods can be interpreted as nonlinear feedback controllers.
One of the early collision avoidance methods in robotics is Artificial Potential Fields (APF).APF represents each obstacle as a repulsive field through which the agent navigates [29].The reactive nature of APF makes it suitable for dynamic environments, such as tracking moving targets [30].APF has also been integrated with closed-feedback loops for real-time collision avoidance of robotic manipulators [31].While APF is efficient and easy to implement, it is prone to local minima in multi-obstacle environments [32].
Navigation functions (NFs) were developed to address the issue of multiple local minima by constructing a potential field with a single minimum [33].While initially designed for sphere worlds, NFs utilize diffeomorphic mappings between star-worlds and sphere-worlds to extend their applicability to more general scenarios [34].These functions can also be employed to navigate around inverted obstacles that represent space boundaries, and their scope has been further expanded to include navigation around trees-of-stars [35].However, achieving optimal performance with NFs requires compre-hensive knowledge of the obstacle distribution, making the tuning of critical parameters a challenging task.Efforts have been made to enhance NFs by eliminating critical parameters in sphere worlds [36], and alternative approaches have been proposed to automate the tuning process [37].NFs offer the advantage of quick re-evaluation, making them robust against disturbances.Nonetheless, due to the inherent difficulty in tuning them for general obstacle configurations, NFs pose challenges when applied in dynamic environments.Furthermore, as NFs rely on the gradient of the potential function to guide the system dynamics, they are unable to effectively track arbitrary nonlinear dynamics.
Vector fields (VF) employ highly nonlinear vector fields to navigate paths while ensuring collision avoidance.They have been successfully applied to evade multiple circular obstacles in two-dimensional space using local repulsive fields [38].VF techniques have also been utilized for controlling fixed-wing aircraft [39] and extended to accommodate initially nonlinear dynamics, such as following a limit cycle [40].Nonetheless, it involves switching between different dynamics, which can result in high accelerations.However, VF methods typically handle one obstacle at a time, imposing a conservative constraint where the influence regions of obstacles cannot overlap.
Harmonic potential functions (HPF) are intriguing because they guarantee the absence of topologically critical points in free space.While analytical HPFs are often elusive, numerical approximations have been employed [41].Linear panel representations for obstacles enable the generation of closedform HPFs [42].Although this linear approximation can be extended to concave obstacles, its application is limited to two-dimensional environments [43].
Dynamical system modulation (DSM) has emerged as an effective approach for collision avoidance in reactive environments by redirecting initial dynamics away from obstacles [6].To overcome challenges posed by intersecting, convex obstacles in three dimensions, DSM was extended to incorporate switching to surface following [44].In our previous research, we successfully imitated the behavior of harmonic potential functions to ensure the convergence of DSM around concave (star-shaped) obstacles [2].Furthermore, we expanded the scope of DSM to encompass indoor environments, facilitating reactive avoidance based on sensor data [28], [45].While DSM traditionally assumes a zero-dimensional point, we achieved collision-free rigid-body dynamics by representing mobile agents through multiple control points [46].However, it is important to note that DSM utilizes straight dynamics towards an attractor as an input, and the convergence guarantees are presently limited to star-shaped obstacles.

B. Contributions
This work significantly expands upon the reviewed DSM approach, enabling obstacle avoidance with nonlinear dynamical systems and for general concave obstacles.The paper's tehcnical contributions are outlined as follows: • We introduce the Rotational Obstacle Avoidance Method (ROAM), which ensures local minima-free obstacle avoidance for nonlinear dynamics (Section III).
• We present a diffeomorphic mapping that guarantees convergence while maintaining proximity to the general nonlinear dynamics, while trying to preserve the initial flow (Section IV).• We extend the ROAM formulation to handle obstacle avoidance of multiple dynamic obstacles and enclosed spaces, utilizing the concept of inverted obstacles as introduced in [33], [45] (Section V). • Finally, we demonstrate the application of ROAM for avoiding general obstacles represented by trees-of-stars in the presence of nonlinear dynamics (Section VI).• Additionally, we develop a method for vector rotation in general dimensions and the weighted summing of trees of vector rotations (Appendix A).To validate the properties of ROAM, we conducted following evaluations: • We performed a quantitative comparison of ROAM against two recent analytical obstacle avoidance methods through simulations, assessing convergence rate, similarity to unperturbed motion, and acceleration along the trajectories (Section VII).• Furthermore, we conducted a qualitative evaluation of ROAM's application in controlling a 7DoF robot arm to avoid trees-of-stars in three dimensions (Section VII-D2).The proposed rotation obstacle avoidance method (ROAM) ensures collision avoidance in a local minima-free vector field in the presence of initial nonlinear dynamics.Moreover, the influence regions of the obstacle can overlap, and the method has been extended to inverted obstacles, too, as well as multiple obstacles with overlapping regions of influence, as can be seen in the comparison with similar algorithms in Table I.

II. PRELIMINAIRIES A. Notations
In this section, we establish the notations used throughout this paper.We consider a space of general dimension N as the underlying framework for our developments.Vectors are denoted using bold symbols, and the state variable is represented by ξ ξ ξ ∈ R N .The time derivative of a vector ξ ξ ξ is denoted as ξ ξ ξ , assuming ξ ξ ξ is a function that is differentiable with respect to time.Unless explicitly stated otherwise, the paper employs the Euclidean norm, denoted as |•|.The circular constant is denoted by π.The matrix I I I represents the identity matrix of appropriate dimensions.The symbol • signifies the iterative evaluation of a function.For example, when considering two functions a(•) and b(•), the expression a•b(ξ ξ ξ ) denotes the composition a(b(ξ ξ ξ )).In the context of this paper, the term vector field (VF) refers to the velocity field ξ ξ ξ , while dynamical system (DS) specifically denotes the continuoustime feedback system described in Section II-B.

B. Dynamical Systems
Consider a vector field that governs the evolution of the position ξ ξ ξ ∈ R N of a continuous-time system, described by the state derivative ξ Let us define straight dynamics, that do maintain the direction along a trajectory: Definition II.1 (Straight Dynamics).A dynamical system of the form (1) is referred to as straight dynamics if, for all initial conditions ξ ξ ξ 0 and ξ ξ ξ 0 , the flow remains collinear with the initial velocity, satisfying ξ ξ ξ T 0 ξ ξ ξ t = ξ ξ ξ 0 ξ ξ ξ t , for all t ≥ 0. The flow is said to be locally straight if it is straight within a subdomain X s .In the special case where the attractor is positioned infinitely far away, hence , hence the dynamics are called (locally) collinear.
Multiple straight dynamics are visualized in Figure 2. In the subsequent sections, we adopt the following parameterization for globally straight dynamics: where q : R N → R \ 0 represents a continuous state-dependent scaling function that modulates the speed of the linear system (ξ ξ ξ a − ξ ξ ξ ) towards a fixed point ξ ξ ξ a .This scaling allows for the adjustment of the speed of the linear dynamics as the system approaches or moves away from the attractor ξ ξ ξ a ∈ R N , which serves as the unique stable fixed point or attractor of the system (Fig. 2a).Importantly, the condition q(ξ ξ ξ ) = 0, combined with the continuity of q, preserves the directionality of the flow.Consequently, the vector field consistently points towards or away from the attractor across the state space.
(a) Globally straight (b) Globally collinear (c) Locally straight Fig. 2: Dynamical systems can exhibit different straightness characteristics.Such as globally straight with a single, stable attractor ξ ξ ξ a visualized as a star (a).They can be globally collinear when the attractor is infinitely far away (b).Conversely, dynamics might be globally defined but only locally straight in a subdomain, visualized as the dark gray region (c).

C. Obstacle Description
In accordance with [2], each obstacle is characterized by a continuous distance function Γ(ξ ξ ξ ) : R N → R ≥0 .This function enables the differentiation of regions outside, on the boundary, or inside the obstacle based on the isolines of Γ.
Free space: Interior set:: Star-Shaped Obstacles: For representing star-shaped obstacles, we adopt the notation introduced in [47], [48].An obstacle is considered star-shaped if there exists a point ξ ξ ξ r with Γ(ξ ξ ξ r ) < 1 such that every point on the boundary or in the interior set of the obstacle, i.e., ξ ξ ξ ∈ X i and The set of all such points ξ ξ ξ r is referred to as the kernel of X i and denoted as: Throughout this paper, a specific choice of ξ ξ ξ r is referred to as the reference point, as commonly used in [2], [45], and represented by a cross symbol +. 12) Distance Function: The distance function Γ(ξ ξ ξ ) increases monotonically in the radial direction, i.e., along the vector ξ ξ ξ − ξ ξ ξ r , and has a continuous first-order partial derivative (C 1 smoothness).In this paper, we compute a distance function relative to one boundary point ξ ξ ξ b ∈ X b : where d 0 ∈ R >0 is a scaling factor, which modulates the obstacle influence.The boundary point ξ ξ ξ b lies at the intersection between a ball of radius R(ξ ξ ξ ) around the reference point ξ ξ ξ r : and the reference direction vector r r r : R N \ ξ ξ ξ r → {r r r ∈ R N : The boundary point is hence a function of the state, ξ ξ ξ b (ξ ξ ξ ).
Further, the normal direction can be defined as the derivative of the distance across space:

D. Rotated Vector Field
We present a construct that is fundamental to the obstacle avoidance approach proposed here, inspired by the concept of stereographic projection [45]. 2 The basis vector b b b is utilized as the first column to construct the orthonormal transformation matrix B B B, enabling the transformation into a new basis: ξ ξ ξ = B B B T ξ ξ ξ .In the direction space, the magnitude corresponds to the angle between the original vector and the reference vector.The transformation of the initial vector ξ ξ ξ in the direction space is given by: Note that a vector ξ ξ ξ , which is anti-collinear to b b b, does not have a unique transformation and is hence excluded; see [45] for further discussion.Correspondingly, we use k I to describe the inverse mapping, such that: The mapping to the original space is evaluated as follows: It is important to note that the reverse mapping k k k(•) is defined for angles larger than π, but the function is not bijective for these values.
• Local minima free: As demonstrated in [40], each C 1smooth vector field obstacle introduces at least one stationary point on the surface.However, it must be ensured that (1) this point is a saddle point and not a minimum and (2) there are no additional stationary points in space.• Limited and smooth dynamics; The magnitude of the vector field is upper bounded, i..e., ∃v v v max = const.: ξ ξ ξ < v v v max .Additionally, the vector field is smooth, meaning that small displacements result in proportionally small velocities: lim ξ ξ ξ 1 →ξ ξ ξ 2 ξ ξ ξ 2 − ξ ξ ξ 1 = 0 • General dimensions: The obstacle avoidance algorithm is applicable in a space of dimensions N ≥ 2. Furthermore, we assume that the environment and initial dynamics f f f (ξ ξ ξ ), as described in (1), possess the following properties: • Star-shaped: All obstacles are star-shaped as defined in Sec.II-C1, or are composed of obstacles (trees-ofstars) with a nonzero intersection regions among the components of a tree, as discussed in Section II-C1.
• Limited and smooth dynamics: Analogously to the output, the magnitude of the initial dynamics f f f (ξ ξ ξ ) is required to be C 1 -smooth and limited, i.e., f f f (ξ ξ ξ ) < v max , ∀ξ ξ ξ ∈ R N , v max ∈ R >0 .• Dynamics as a vector rotation: The initial dynamics f f f (ξ ξ ξ ) can be evaluated as a local rotation (Section II-D) or a sequence of rotations (Appendix A) of globally straight dynamics with respect to a fixed point ξ ξ ξ a (Definition II.1).

III. OBSTACLE AVOIDANCE THROUGH ROTATION
A smooth vector field that effectively avoids an obstacle should have the velocity ξ ξ ξ directed away from or perpendicular to the normal n n n(ξ ξ ξ ) ∈ R N as defined in (8).This principle is commonly expressed as follows [6], [43]:

A. Vector Rotation for Collision Avoidance
We propose a method called Rotational Obstacle Avoidance Method (ROAM) to achieve collision-free motion.ROAM smoothly adjusts the initial velocity f f f (ξ ξ ξ ) as given in Eq. ( 1), rotating it towards a feasible half-space as the position approaches the obstacle (Fig. 3).The steps involved in ROAM for avoiding a single obstacle are as follows: 1) Evaluation of pseudo-tangent direction e e e(ξ ξ ξ ) using the convergence direction c c c(ξ ξ ξ ) (Sec.III-A1) 2) Rotation of the initial dynamics f f f (ξ ξ ξ ) towards the pseudo-tangent e e e(ξ ξ ξ ) to obtain the collision-free direction ξ ξ ξ (Sec.III-A2).3) Evaluation of the velocity magnitude h(ξ ξ ξ ) to ensure a smooth vector field (Sec.III-A3) ) ∆ξ ξ ξ with ∆ξ ξ ξ = ξ ξ ξ a − ξ ξ ξ (a) is rotated using ROAM to ensure convergence towards the attractor ξ ξ ξ a with a single saddle point on the surface (b).
1) Evaluation of Preferred Tangent Direction: At each position on the surface of an obstacle, there can exist multiple tangent directions.In the case of d = 2, there are exactly two tangent directions, while for d ≥ 3, there are infinitely many.To construct a smoothly defined pseudo-tangent e e e(ξ ), we introduce the concept of convergence dynamics, which are used to obtain the pseudo-tangent: The convergence dynamics are locally straight according to Definition II.1, on the surface of the obstacle X b as defined in (3) Furthermore, the convergence dynamics c c c(ξ ξ ξ ) is set to never be anti-collinear to the initial dynamics, i.e., In this section, we utilize convergence dynamics of the form c c c(ξ ξ ξ ) = ξ ξ ξ − ξ ξ ξ a .For more general convergence dynamics, please refer to Section IV.The desired pseudo-tangent e e e(ξ ξ ξ ) is obtained by rotating the convergence dynamics c c c(ξ ξ ξ ) away from the reference direction r r r(ξ ξ ξ ) until it lies in the tangent plane (Fig. 3).Since, in the angular space k k k(n n n, •), given in (9), any tangent vector lies at a distance R e = π/2 to the normal direction, the tangent hyper-plane T forms a hyper-sphere in the direction space, as visualized in Figure 4. Hence, the rotation of the convergence dynamics c c c(ξ ξ ξ ) away from reference direction r r r(ξ ξ ξ ) can be evaluated by intersecting the line connecting r r r(ξ ξ ξ ) and c c c(ξ ξ ξ ) with a circle of radius R e ∈ [π/2, π], see Fig. 4. Thus, e e e(ξ ξ ξ ) can be obtained through the following constraints 3 : The solution to the above equality constraints is obtained analytically by solving a quadratic equation with respect to the scalar b.
As a result, the pseudo-tangent e e e(ξ ) can either lie in the tangent plane T or point away from the obstacle, with a distance to the normal direction contained within the green region depicted in Figure 4.In the special case where c c c(ξ ξ ξ ) = r r r(ξ ξ ξ ), the intersection of the hyper-circle in Equation 14 does yield a solution.However, it is ensured that the final vector field ξ ξ ξ is continuously defined, as discussed in Section III-A2.
Lemma III.1.Let us assume the convergence dynamics c c c(ξ ξ ξ ), as given in Definition III.1.The pseudo tangent e e e(ξ ξ ξ ) ∈ R N obtained through (14) is smooth and satisfies the boundary inequality n n n(ξ ξ ξ ), e e e(ξ ξ ξ ) ≥ 0, stated in (13), at any position on the surface of the obstacle but the saddle point, i.e., ξ ξ ξ ∈ X b : Proof.For a starshaped obstacle, we have by definition of the starshaped kernel space in (4), that n n n(ξ ξ ξ ), r r r(ξ ξ ξ ) < 0. Hence, k k k(−n n n, r r r) < π/2, i.e., k k k(−n n n, r r r) is strictly inside the hypersphere T .Furthermore, as long as c c c(ξ ξ ξ ) = r r r(ξ ξ ξ ), the equality of finding the intersection of a line and a hyper-sphere from (14) has exactly one solution with b > 0.
Concerning the boundary condition; looking at the case of k k k (−n n n, c c c) > R e .From the definition of the direction-space in (9), it follows that: e e e(ξ ξ ξ ), n n n(ξ ξ ξ ) > 0 (15) 3 For conciseness dependency on ξ ξ ξ is omitted.
Fig. 4: When approaching the surface of the obstacle, the collisionfree vectors are located on one side of the tangent plane T formed by the linearly independent tangent vectors e e e (•) (a).These unit vectors can be projected onto a circular hypersphere of dimension N − 1, where the collision-free pseudo tangent e e e is calculated (b).Any vector ξ ξ ξ pointing towards the obstacle, i.e., n n n, ξ ξ ξ < 0 (a), is projected to lie inside the circle of radius π/2 (b), while a vector pointing away from the obstacle is projected to the outer ring.
2) Rotation Towards Tangent Direction: In a second step, the initial dynamics f f f (ξ ξ ξ ) is rotated towards the pseudo tangent e e e(ξ ξ ξ ).This rotation operation is performed in the direction space, as described in Section II-D, but this time with respect to the convergence dynamics c c c(ξ ξ ξ ): The rotation weight λ (ξ ξ ξ ) ∈ [0, 1] is determined based on the inverse of the distance Γ to ensure that the rotation has a decreasing influence as the distance increases.This allows for a smooth transition in the avoidance behavior.Additionally, the smoothing factor q is introduced, which gradually decreases to zero when the convergence dynamics point towards the robot.This effectively cancels the rotation avoidance effect in regions where the tangent e e e(ξ ξ ξ ) is not defined, resulting in a smooth avoidance behavior across those positions.The impact of the smoothness constant s ∈ R >0 can be observed in Figure 5, and unless otherwise specified, we use s = 0.3.
Lemma III.2.The vector field ξ ξ ξ obtained through rotation as given in (17) satisfies the boundary condition as defined in (13) if the pseudo tangent e e e(ξ ξ ξ ) is tangent or pointing away from the obstacle, i.e., e e e, n n n ≥ 0, ∀ξ ξ ξ : ∆k k k(c c c) = 0.
Proof.When approaching the obstacle, the rotated velocity ξ ξ ξ is evaluated as: lim n n n, ξ ξ ξ = n n n, e e e ≥ 0 (18) using Lemma III.1 and that ∆k k k(c c c) = 0 ⇒ q > 0 with the smoothness factor q given in (17).Following the same logic, we can also analyze the behavior far away from obstacles: lim 3) Evaluation of Speed: The directional space mapping k k k(•) and its inverse mapping k k k(•) operate on unit vectors in the original space.As a result, the algorithm in (17) modifies the direction of the initial dynamics, rather than its magnitude.To incorporate magnitude control in a decoupled manner, we introduce an additional component using h(ξ ξ ξ ) : R N → [0, 1]: The stretching factor h(ξ ξ ξ ) is designed to slow down when pointing towards an obstacle, and the effect decreases with increasing distance from the obstacle: where the reference radius R r and the rotation space distance ∆k k k(c c c) are given in (17).In Figure 6, the velocity scaling can be observed to decrease the magnitude of the vectors pointing toward the obstacle.
Theorem III.3.Consider a vector field ξ ξ ξ ∈ R N obtained after a local rotation as defined in (17) of an initial dynamics f f f (ξ ξ ξ ) and fixed point at ξ ξ ξ a , with pseudo tangent e e e(ξ ξ ξ ) defined in (14) with respect to initial dynamics f f f (ξ ξ ξ ), is locally straight on the surface of the obstacle X b according to Definition II.1, and motion scaling h(ξ ξ ξ ) according to (21).Any motion starting in free space {ξ ξ ξ } 0 ∈ X e which evolves according to ξ ξ ξ will stay in free space for finite time {ξ ξ ξ } t ∈ X e with t ∈ N >0 and maintains the stationary point, i.e., ξ ξ ξ = 0 0 0 if f f f (ξ ξ ξ ) = 0 0 0 Proof.From Lemma III.1, we know n n n(ξ ξ ξ ), e e e(ξ ξ ξ ) ≥ 0 and Lemma III.2 states that e e e, n n n ≥ 0 ∀ξ ξ ξ : ∆k k k(c c c) = 0. Additionally, in the latter case, the magnitude scaling from (21) evaluates as lim Hence, the speed reaches smoothly zero as we approach the saddle point, and its direction does not matter to fulfill smoothness and the boundary condition given in (13).Furthermore, far away from the obstacle, we have: lim Hence, the magnitude is equal to the original magnitude and only vanishes around existing stationary points, i.e., f f f (ξ ξ ξ ) = 0.
The spurious stationary point on the surface is given by {ξ ξ ξ : ξ ξ ξ ∈ X b , k k k(c c c) = 0}.Furthermore, by construction, the pseudo tangent e e e(ξ ξ ξ ) defined in (14) points away from the reference direction and hence points away from the stationary point on the surface of the obstacle.Hence, it is a saddle point with a single trajectory converging to it X s .

B. Surface Repulsion
n the vicinity of critical obstacles, it may be desirable to incorporate active repulsion from them without significantly altering their shape.This can be achieved by introducing a behavior similar to artificial potential fields [35], but without introducing spurious attractors in free space.Building upon the developments presented in this section, we can further refine the tangential radius.By increasing the tangential radius such that R e ∈]π/2, π], values larger than π/2, leads to a repulsive behavior while maintaining the avoidance properties (Fig. 6).

C. Inverted Obstacles
Initial dynamics might be contained within a boundary, such as an agent moving in a room or a robot staying within its joint limits.These constraints can be incorporated by inverting an obstacle and ensuring that the dynamics remain inside a boundary hull (Fig. 7).Analogously to [45], this is achieved by inverting the distance function Γ(ξ ξ ξ ), the reference direction r r r(ξ ξ ξ ) and normal vector n n n(ξ ξ ξ ), defined in Sec.II.The distance function divides the space into free, boundary, and interior points, as described in (3).Consequently, the distance for the boundary obstacle can be defined as follows: with power weight p ∈ R >0 , we choose p = 1.
As the normal direction points away from the surface, it naturally points towards the interior of an inverted obstacle, in contrast to the normal direction of a regular obstacle.Consequently, in order to utilize the star-shaped constraint from (17) of −r r r(ξ ξ ξ ), n n n(ξ ξ ξ ) > 0 for rotational obstacle avoidance, we need to flip the reference direction: Using the inverted values, the ROAM can be applied on as described throughout this section (Fig. 7).
is a two dimensional rotation matrix and ξ ξ ξ a the attractor.Further, it can be used to create active repulsion from walls, as in (b) for globall straight dynamics with attractor ξ ξ ξ a .
Lemma III.4.The rotated dynamics ξ ξ ξ evaluated according to (17) are C 1 -smooth and collision-free as shown in Theorem III.3 when navigating within a boundary described as an inverted obstacle with distance function Γ(ξ ξ ξ ) as defined in (24), and reference vector r r r(ξ ξ ξ ) as given in (25).
Proof.Since the distance function Γ(ξ ξ ξ ), average vector n n n(ξ ξ ξ ), and reference direction r r r(ξ ξ ξ ) possess all the necessary properties outlined in Theorem III.3, the collision avoidance properties directly carry over.
The distance function Γ(ξ ξ ξ ) from ( 24) and normal direction (25) are not defined at the reference point ξ ξ ξ r .However, at this point the rotation weight λ (ξ ξ ξ ) reaches zeros: ) Thus, the rotation has no effect, and the system is smoothly defined.
A more detailed analysis of inverted obstacles can be found in [45].Further development applies to both standard and inverted obstacles if not stated otherwise.

IV. GENERAL NONLINEAR MOTION
For systems characterized by small nonlinearities and a single attractor, the convergence dynamics c c c(ξ ξ ξ ) exhibit global straightness, as defined in Definition II.1, resulting in desirable behavior.However, in systems with high nonlinearities, this can lead to avoidance patterns that do not accurately reflect the global dynamics, as illustrated by the example shown in Figure 8a.To address this issue, this section introduces modified convergence dynamics that aim to maintain similarity with the original dynamics while being locally straight, as depicted in Figure 8b.

A. Nonlinear Motion without Stationary Point
Let us first focus on initial dynamics f f f (ξ ξ ξ ) which do not have any directional singularity point, i.e., ξ ξ ξ : The convergence weight is chosen such that the convergence dynamics c c c(ξ ξ ξ ) is straight on the surface of the obstacle: where + describes the rotational summing described in Appendix A. Note that the rotation summing from (71) is not defined for two anti-collinear vectors.Hence, we cannot apply this summing at a directional singularity point, as will be further discussed in the next subsection.
Lemma IV.1.The convergence dynamics c c c(ξ ξ ξ ) : R N → R N as proposed in (27) for initial dynamics without directional singularity points, i.e., {ξ ξ ξ : Proof.Inside and on the surface of the obstacle, we have: Hence the dynamics in this region are given as: Thus, we have locally collinear dynamics.
As the convergence dynamics c c c(ξ ξ ξ ) are straight on the surface of the obstacle, they can be used in the rotational obstacle avoidance method defined in Section III, see Figure 9.

B. Nonlinear Motion in the Presence of a Stationary Point
Many initial dynamics can be characterized by a motion with a single directional singularity point, i.e., {ξ ξ ξ : This singularity point may correspond to a desired attractor point or arise from a limit cycle where an unstable stationary point resides at its center.In the presence of such a singularity point, the directional summing approach employed in (27) cannot be directly applied.This is because we cannot smoothly define local rotations around ξ ξ ξ a .However, we can overcome this limitation by unfolding the space using a sequence of mappings (Fig. 10).

1) Shrinking and Inverse Mapping:
The first step is to shrink the obstacles to a single point, i.e., all boundary points of the obstacle X b are mapped to the reference point ξ ξ ξ r .
Analogously, we define the inverse of this mapping: Definition IV.2 (Inflating Mapping).The inflating mapping m m m i (ξ ξ ξ ) : R N \ ξ ξ ξ r → X e defined as: is a bijection and the inverse function of the shrinking mapping defined in (31 The effect of shrinking and inflation mapping can be observed in Figure 10. 2) Folding Mapping: Let us introduce a folding mapping m m m f (ξ ξ ξ ), which moves the stationary point infinitely far away.Hence, the dynamics in the mapped space are without directional singularity point, which can be treated with the method introduced in Section IV-A.Conversely, the surface of the obstacle should not be affected by the mapping.The desired properties of this folding mapping are given as follows: 1) the stationary point gets mapped infinitely far away 2) at the reference point (which represents the surface of the obstacle after the shrinking mapping), the effect of the mapping vanishes Let us first define the unit directions in the coordinate system, which has its center at the stationary point and the first axis points towards the reference direction of the obstacle: where B B B is the orthonormal matrix of which the first row aligns with ξ ξ ξ r − ξ ξ ξ a The desired constraints of the mapping from ( 33) and ( 34) can be achieved by uniformly stretching along dimensions i ∈ [2..N] of ξ ξ ξ as: where g ∈ R >0 is the power factor, we choose g = 2.The above equation pushes points opposite the attractor relative to the obstacle infinitely far away, i.e., lim ξ ξ ξ 1 →−1 s s s i → ∞, see the green line in Figure 10.
Finally, the stretching of the folding mapping along dimension i = 1 is constructed as follows: Using this, the folding mapping m m m f (ξ ξ ξ Lemma IV.2.The mapping m m m f (ξ ξ ξ ) is a bijection, and smoothly defined, i.e., lim ξ ξ ξ →ξ ξ ξ j m m m f (ξ ξ ξ i ) = m m m f (ξ ξ ξ j ).Furthermore, the mapping has no effect at the reference point, i.e., m m m f (ξ ξ ξ r ) = ξ ξ ξ r , and the attractor is mapped infinitely far away, i.e., lim Proof.The system is made up of the two transformations, one along the ξ ξ ξ r ξ ξ ξ a as given in (37), and one perpendicular to, given in in (36).Since all the underlying functions involved are smooth and bijective, the resulting transformation is also smooth and bijective.However, it is important to note that there are discontinuities at ξ ξ ξ = ξ ξ ξ a and ξ ξ ξ 1 = −1.This points are excluded from the input set (in Eq. 42 we will additionally ensure that the corresponding weight goes to zero, for a smooth effect).
3) Evaluation of the Relative Rotation: The total mapping can be written as follows: Since this mapping transforms the attractor infinitely far away, it produces a vector field without directional singularity, as Section IV-A requires.Thereof, we can evaluate the convergence dynamics in the mapped space: the symbol + implies the directional summing as defined in Appendix A.
The mapping weight is defined as: This weight function is designed to ensure a decreasing influence as the distance from the obstacle increases, as well as a decreasing influence when the position is opposite to the singularity point relative to the obstacle (green line in Figure 10).Additionally, it ensures that the weight approaches one when the position lies on the surface of the obstacle.Finally, the mapping into the original space can be made through a vector rotation where the vector rotation v v v r and angle beta are obtained according to Eq. (71), using input vector v v v i = m m m(ξ ξ ξ ) − ξ ξ ξ a and output vector v v v o = ξ ξ ξ − ξ ξ ξ a .
Theorem IV.3.The smoothly defined convergence dynamics c c c(ξ ξ ξ ) as given in (43) for obstacles in a vector field with a directional singularity point ξ ξ ξ a , i.e., Proof.Lemma IV.2 states that the unfolding has no effect at ξ ξ ξ r in the shrunk space, which is the surface of the obstacle in the original space as stated in Definition IV.1.Further, the inflating mapping is the inverse of the shrinking as stated in Definition IV.2.Thus, when approaching the surface, i.e., Γ(ξ ξ ξ ) → 1, Lemma IV.1 transfers to Theorem IV.3.

4) Dynamical Systems with Multiple Attractors:
A dynamical system can exhibit multiple attractors [49].However, if the system is continuous across space, there must exist a region known as the saddle boundary.Points starting on the saddle boundary do not converge to any specific attractor, and this boundary divides the space into regions that contain only a single attractor each.By interpreting the saddle boundary as an inverted obstacle, as described in Section III-C, the method presented in this section can be applied to the local regions.This allows for effective obstacle avoidance in the presence of multiple attractors, ensuring that the system remains within specific regions corresponding to individual attractors.
To account for this, the initial dynamics are updated as follows: The weight is designed to reach one when the obstacle reaches the attractor, e.g., w Γ = 1/Γ(ξ ξ ξ a ).

V. MULTI-OBSTACLE ENVIRONMENTS
In the presence of multiple obstacles, the rotational obstacle avoidance method for a single obstacle can be extended using a weighted rotational summing.First, the weighted convergence dynamics c c c(ξ ξ ξ ) as introduced in ( 27) is averaged as follows: where + denotes the rotational summing as defined in Appendix A. The obstacle weights have been proposed in [45] as: The weights associated with each obstacle ensure that their sum is at most one and converge to zero as the distance from the respective obstacle increases.Furthermore, on the surface of an obstacle o, the corresponding weight equals 1.Moreover, the weighting allows for overlapping of the influence regions of the obstacles.These convergence dynamics are used to evaluate the preferred pseudo tangent for each obstacle e e e o (ξ ) as defined in (14).Finally, the rotation of the initial dynamics from ( 17) can be restated for multi-obstacle scenarios as: The method is summarized in Algorithm 1 and handles starshaped obstacles and boundaries, as shown in Figure 11.Algorithm 1 Rotational Obstacle Avoidance Method (ROAM) The method's application to dynamics obstacles is experimentally evaluated in Section VII-D2.

B. Motion within Multiple Enclosing Hulls
The outer boundary might not be star-shaped, for example, when a robot moves through a curvy corridor.However, there such a general space can be divided into multiple stars-shapes [50], which can be used by ROAM to guide a motion to stay within the boundary.This requires convergence dynamics, which transition between the obstacles as: where N bnd ∈ N >0 is the number of boundaries.Furthermore, the weights of the multi-boundary environment are set to: Where the local dynamics c c c b (ξ ξ ξ ) are locally straight according to Definition II.1 in the subdomain of the surface of each boundary.The attractor of each hull ξ ξ ξ a b is placed such that it lies outside of the corresponding boundary b for all boundaries that do not contain the global attractor ξ ξ ξ a , i.e., ξ ξ ξ The boundary encapsulation can be seen in Figure 12.(a) The data (position and velocity) are fit using Gaussian Mixture Model (GMM) with four components [51], which is used to predict the velocity.Fig. 12: Approaches for learning nonlinear motion from demonstration can guarantee stability by ensuring that the system asymptotically converges towards the attractor ξ ξ ξ a [52].However, they do not prohibit the dynamics of taking an undesired shortcut or moving away from the data, which is the known region (a).Convex hulls can be obtained through trajectory learning methods, by interpreting the Gaussian Mixture Model applied to the data as ellipse-shaped obstacles [3].ROAM can enforce the final dynamics to stay close to the data (b).
Proof.If ξ ξ ξ is within multiple boundaries, and it approaches boundary b, the weight given in in (50) evaluates to: Hence, boundary b has no effect, and the motion can traverse any boundary b = 1..N bnd .Until, ξ ξ ξ is within only one boundary b.In this case, the corresponding boundary weights simplify to: given that Γ b (ξ ξ ξ ) > 1.Thus, the algorithm evolves according to the single-boundary case, i.e., collision avoidance with the boundary b is ensured.

VI. GENERAL CONCAVE OBSTACLES
A general obstacle can be described as a union of multiple star-shaped obstacles [34], also referred to as trees of stars.Extending the algorithm to such shapes enables navigating in many more environments.Let us for this introduce a general obstacle using nomenclature from graph theory [53]: Definition VI.1 (Tree of Obstacles).A tree of star-shaped obstacles represents a shape without holes.Each obstacle (node) in the tree can have multiple children (successors), but have exactly one single parent (predecessor), except for the root obstacle which does not have a parent.All obstacles have a non-zero intersection with their parent and children.
Obstacles are assigned a level l in the tree, starting from l = 0 at the root.

A. Velocity Propagation through Obstacle Tree
The avoidance velocity ξ ξ ξ in the presence of trees-ofobstacles is obtained through the summed average of a rotation-tree as described in Appendix A. The tree is constructed as described in Algorithm 2, and the individual steps are detailed below.
1) Surface Point Propagation: The rotational avoidance of each obstacle o = 1..N com of the tree is obtained at the corresponding surface point s s s o .The surface points are obtained by propagating the position ξ ξ ξ through the obstacle tree, starting from the an obstacle o down to the root r: where p is the parent of the component c.The factor b ∈ R >0 is evaluated such that s s s p lies on the parent's surface.Note, that the obstacles are intersecting, hence we have Γ(s s s p ) < 1.
See the surface points of a three-component tree in Figure 13.
2) Velocity Propagation: We can now propagate the velocity f f f (ξ ξ ξ r ) iteratively from parent p(c) to the component c until we reach the respective obstacle o.The iteration starts at the root r and is done for each obstacle, except the root.The propagated velocity f f f c is obtained as follows: where v v v r (•) is the vector rotation as described in (72).The vector rotation is obtained with respect to the vectors v v v i = (s s s c − ξ ξ ξ r c ) and v v v o = (s s s p(c) − ξ ξ ξ r p(c) ) as described in (71).When constructing the obstacle tree, the parent of an obstacle needs to be chosen such that v v v i and v v v o are not anti-collinear.This is ensured if the direction from the component to the parent for c = 1 to l(n) do {From root to node} 13: is never opposing the direction from the parent to the grandparent (parent of the parent):  3) Tangent Evaluation: Finally, after propagating the velocity to the obstacle o, the pseudo tangent is evaluated.For trees-of-stars, we want to enforce the pseudo tangent to be parallel to the surface at all times, hence we adopt (17) as 4) Hiding Weights: An obstacle o which is occluded by its parent p(o) should not influence the avoidance velocity.For this reason, we introduce the hiding weight which reaches zero at full occlusion: Lemma VI.1.Let us assume a tree with obstacle components o = 1..N com and the corresponding reference points ξ ξ ξ r o , which all lie within obstacle o and the corresponding parent p, i.e., ξ ξ ξ Conversely, the reference of each parent lies outside of the obstacle, i.e., ξ ξ ξ Moreover, the direction from obstacle to parent is never opposing the direction from the parent to the grandparent as described in (56).Let us assume the dynamics f f f (ξ ξ ξ ) are locally straight in the surrounding of the obstacle according to Definition II.1.The vector field ξ ξ ξ obtained through the propagation of the velocity f f f (ξ ξ ξ ) as described in (55), with the rotation of the final velocity given by (57), and vector tree summing using the weights w h o given in (58) ensures collision avoidance according to the boundary condition (13) with the absence of local minima in free-space.
Proof.As shown in Lemma III.1, the tangent is defined everywhere as long as the reference direction r r r o (ξ ξ ξ ) is not parallel to the propagated velocity f f f o (ξ ξ ξ ).Moreover, smoothness is ensured due to the adaptable rotation weight λ (ξ ξ ξ ) as shown in Theorem III.3.
Furthermore, the rotation defined in ( 55) is smoothly defined for obstacle-parent-pair, due to the fact that the reference point of the parent is required to lay outside of the child obstacles, and the parent-opposing inequality from (56).This is also ensured for the last surface point s o , i.e., the projection of the position on the obstacle's surface since the hiding weight w h o goes to zero if the two vectors are opposing: Hence, the corresponding tangent and the vector can be omitted.Since all weights and corresponding vectors are smoothly defined, according to Lemma A.1 the vector tree evaluation leads to continuous and minima-free dynamics.
Furthermore, from Lemma V.1 we know that the impenetrability of the obstacles is preserved as a single component dominates when approaching the corresponding surface.

B. Convergence Sequence
The obstacle avoidance algorithm is dependent on locally straight dynamics on the surface of the tree-of-obstacles.Since the general shapes described can be encapsulating directional singularity points, such as attractors, the design of convergence direction requires special care.The computation has to ensure smoothness when getting closer to the directional singularity point ξ ξ ξ a .It is detailed in Algorithm 3.

C. Mapping Weight Normalization
A mapping weight w m o as introduced in (60) approaching one indicates that the ξ ξ ξ is on the surface of the corresponding obstacle o.To ensure that this weight remains high while taking into account other obstacles, the normalized weights are defined as follows: ) for all obstacle o = 1...N obs .

D. Practical Considerations
As for each obstacle, the algorithm needs to propagate the whole obstacle tree.The presence of multiple obstacles and long trees can lead to many computations.Therefore, it is advised to adapt the distance function Γ o to approach infinity after a certain distance for outer leaves, as proposed in (70).However, the distance function of the root Γ r should decrease slower, i.e., This has the effect that the algorithm only considers the obstacle core far away, while when approaching the obstacle, the more detailed leaf structure is considered.This leads to a sparse evaluation tree and enables real-time applicability.

A. Computational Cost
The most computationally intensive part of the ROAM algorithm is the matrix-vector multiplication in N dimensions for the stereographic projections and unfolding mappings.Therefore, the algorithm's complexity, given O obstacles, K components, and an obstacle tree of level L, can be expressed as O(N 2 OKL).

B. Obstacle Avoidance While Following a Stable Limit Cycle
1) Setup: We compare the three algorithms MuMo [45], VF-CAPF [40], and ROAM (proposed approach).The chosen scenario uses initial dynamics and the obstacle distribution as proposed in [40].The initial dynamics represent a circular limit cycle of the form: where the circle radius is R 0 = 2, and I I I is the two-dimensional identity matrix.The environment contains six convex obstacles, and the agent is aware of their location at all times (see Fig. 15).A grid of 10x10 evenly distributed starting points was constructed, of which 93 were in free space.The trajectory is evaluated for these starting points through Euler integration with a time step dt = 0.01s and a maximum of 500 iterations., VF-CAPF [40] and ROAM are used to guide a nonlinear, limit-cycle-following vector field around six concave obstacles.The resulting limit cycles are visualized as a solid line in the respective color.Additionally, the trajectories from specific starting points (black circles) are visualized with a dashed line.
2) Metrics: The trajectories are compared by observing the local minima, the distance to the desired limit cycle, and the similarity between the velocity after obstacle avoidance and the initial velocity.Furthermore, we look at the evolution of the velocity over time, i.e., the discrete acceleration.
The root mean square error (RMSE), i.e., RMSE = ∑ M m=1 v v v i − u u u i is used, as well as the normalized inverted cosine similarity (NICS) with NICS ∈ [0, 1].Note that the smaller NICS, the higher the similarity of the two vectors.
3) Results: In Table II, it can be observed that MuMo is the only method among the three that results in trajectories ending up in local minima on the surface of an obstacle in almost half of the cases.These local minima lie on the limit cycle, suggesting that by increasing the step number, all MuMo trajectories would eventually converge to these local minima.Due to this behavior, MuMo is deemed inappropriate for the proposed scenario.Its limited applicability to nonlinear initial dynamics as pointed out in Table I.
The focus of the comparison is thus between ROAM and VF-CAPF.ROAM demonstrates better path following, with trajectories maintaining a shorter distance to the reference circle throughout the motion.Moreover, ROAM exhibits lower acceleration along the path, indicating smoother motion with fewer abrupt changes.Additionally, ROAM shows higher similarity to the initial dynamics compared to VF-CAPF.
These findings can be qualitatively observed in Figure 15, where VF-CAPF closely follows the initial path (gray) outside the obstacle region and deviates only when in close proximity to the obstacle.The metrics indicate that this behavior leads to higher accelerations and more significant deviations from the initial trajectory overall.On the other hand, MuMO moves more directly towards the limit cycle compared to ROAM, but at the expense of creating local minima on the surface of the bottom obstacle.C. Nonlinear Path Following with Autonomous Wheelchair 1) Experimental Setup: In the second evaluation, the autonomous wheelchair QOLO was employed, and various initial vector fields combined with avoidance methods were tested.The control point of the wheelchair was positioned in front of the wheel axis to ensure effective maneuverability.To account for the shape and size of the QOLO wheelchair, a margin of 0.7 meters was added to the obstacles during the evaluation [45].
The path followed by the wheelchair consisted of three road segments, denoted as s = 1, the segment closest to the goal, up to s = 3.Although there was no strict constraint to remain within the road boundaries, the initial dynamics were specifically designed to guide the wheelchair towards the center of the road, promoting adherence to the desired path (see Fig. 16a).
Seven tables were randomly placed along the path, with their centers positioned on the path itself.The tables were positioned away from the starting point and the attractor.Additionally, no more than two tables intersected, including the margin, allowing all table shapes to be represented as starshapes, as required by MuMo [45].
2) Navigation Algorithms: Three approaches are used to navigate in this environment.
Local straight dynamics (2) are combined with MuMo [45].The initial dynamics consist of three separate vector fields with corresponding local attractors (star), see Fig. 16b.The attractor switches when transitioning from one region to the next (crossing the line).
Local PF (path following) is combined with ROAM.The local PF dynamics are given as: Global PF dynamics is evaluated by using directionaltree averaging as described in Appendix A. The root of the direction-tree is given as v v v 0,1 = ξ ξ ξ − ξ ξ ξ a .The direction tree is populated iteratively: ) with respective parent direction v v v s,1 for all segments s = 1..3.The final dynamics are obtained through the weighted evaluation described Algorithm 4, using the following weights where d s ∈ R ≥0 the distance to the line segment s.The segment weights w s (ξ ξ ξ ) ∈ [0, 1] are normalized if their sum exceeds one.
3) Results: The combination of the global PF with ROAM ensures the convergence of all trajectories, as shown in Table III.The other two methods achieve a convergence rate of approximately 92 %.This can be attributed to the use of a high-level planner, specifically switching between the local dynamics.Since this conflicts with the guarantees of absences of local minima.While more sophisticated switching or transitioning methods may exist, to the best of our knowledge, there is no global path sequencer that can guarantee these convergence properties within a finite time.Furthermore, when using the local potential field (PF) with ROAM, the robot spends less time on the desired path and has a greater average distance to the path boundaries compared to the local straight algorithm combined with MuMo.However, the average distance traveled remains approximately the same across all methods.
Local straight [45] Local  The three approaches for following the local path are compared based on the following metrics: the convergence ratio to the attractor, the ratio of trajectories deviating from the path, the distance to the road border ∆d, and the total length of the trajectory.The reported values represent the mean and standard deviation calculated from 100 runs with randomly distributed furniture, while keeping the start and endpoints consistent.The obstacle tree representing the human in ROAM consists of components corresponding to the limbs and main body, with the core serving as the root of the tree.When applying ROAM for collision avoidance, see Figure 17, it can be observed that all trajectories successfully avoid the human without becoming trapped in local minima.Furthermore, the dynamics of the system return to the initial state, far away from the obstacle, both at the beginning and after successfully avoiding the collision.This behavior highlights the effectiveness of ROAM in generating smooth and convergent trajectories while maintaining the desired dynamics of the system.
2) Qualitative Evaluation on Robot Arm: Experiments with the real robot were performed using the 7 DoF Panda robot by Franka Emika on a fixed base (see Fig. 18).The scenario chosen is the automated disinfecting of a running conveyor belt, which transports various parcels.The initial dynamics  As a result, the initial dynamics f f f (ξ ξ ξ ,t) are time-varying, too.
It is assumed that the robot has complete knowledge of the relative position and shape of the conveyor belt.The position and velocity of the parcel are determined using reflective markers (Optitrack).The analytical shape of the objects is known analytically.Additionally, an operator is handling parcels on the conveyer belt, but the robot is not directly aware of its presence.However, since an impedance controller is employed [7], the robot is capable of adapting to physical interactions.The robot successfully avoids both the parcels and the conveyor belt while maintaining adherence to the initial dynamics whenever feasible.By utilizing trees-of-stars to represent the concave obstacle and positioning the reference point of the root-component on the conveyor belt, the robot effectively avoids the parcel from above (see Fig. 19).Notably, comparable methods such as MuMo [45] or VF-CAPF [40] do theoretically not permit the placement of a reference point in trees of obstacles that facilitates collision avoidance in such environments.

VIII. DISCUSSION
The proposed rotational obstacle avoidance method (ROAM) has successfully addressed the challenge of avoiding collisions with initially nonlinear dynamics around general concave obstacles without holes.It stands out as the first state-dependent solution for trees-of-stars obstacles that is free from local minima without the need for hyperparameter tuning.Furthermore, ROAM enables obstacle avoidance while attempting to maintain nonlinear dynamics, which is a significant advantage.The algorithm has demonstrated improved convergence and motion similarity compared to the baseline methods in experimental evaluations.Moreover, its low computational cost has allowed its application to dynamic obstacle avoidance scenarios involving a robotic arm.

A. Stationary Points
ROAM introduces a new stationary point for each obstacle (or obstacle tree).However, due to the topological properties of smooth vector fields, at least one fixed point is created for each obstacle (a hole in space).These fixed points are observed to be saddle points and have no practical significance as they are unstable and the probability of reaching them is effectively zero.Additionally, any noise or perturbation in the system pushes the motion away from these unstable points.It is worth noting that while ROAM is used for dynamic scenarios, the trajectories of these saddle points should be preserved as they reflect the smoothness of the velocity.Smoothness is crucial as it ensures that even with uncertainties in perception or unexpected disturbance, there will be no discontinuity in the desired velocity command ˙ ξ .Nevertheless, the removal of saddle points could be achieved by setting the smoothness factor q to 1 in Equation ( 17) and selecting any tangent direction for e( ξ ) when c( ξ ) and ξ r are collinear.

B. Trees of Stars
ROAM relies on a star-shaped (or trees-of-stars) obstacle environment.While in certain real-world scenarios, such division can be achieved based on the rigid-body features of the surroundings (e.g., dividing a human into limbs and core or a table into plate and legs), it is often challenging to determine such divisions for more complex obstacles or in higherdimensional spaces, such as joint space collision avoidance.Some propositions for extracting star-shaped environments exist [54]; however, further research is needed to extend these approaches for real-time applications.
However, there exist algorithms to simplify general shapes by approximating them as a union of overlapping spheres [55], which could serve as the basis for constructing the obstacle tree in future work.Additionally, the circular shape of these components reduces the computational complexity of tasks such as checking for component intersections and evaluating the normal direction and distance to the obstacles.

C. Tangent Following on the Surface
Each tree of stars has exactly two saddle points, which lie on the convergence direction line passing through the root of the tree.At any other surface position, the velocity is tangent to the surface.This can lead to extensive wall-following behaviors for obstacles with multiple levels.To address this, future work should focus on optimizing the selection of saddle points and allowing the rotated velocity to deviate from the obstacle's tangent plane.However, this would require a combination with high-level planning.

D. Higher Dimensional Applications: Joint Limits
During the experiments with the robotic arm, there were instances where obstacle-free motions led the arm to reach its joint limits or encounter singularities.Future research will investigate a unified framework that combines task-space collision avoidance with joint-space constraint avoidance.ROAM is well-suited for evaluating the desired motion in both representations due to its low computational cost and applicability in higher dimensions.

E. Region of Influence
Navigation functions for obstacle avoidance [33], [36] and vector field avoidance algorithms [38], [40] often require parameter tuning based on the obstacle distribution to ensure the absence of local minima.In contrast, the introduced method, ROAM, can handle intersecting obstacle regions, and its absence of local minima is guaranteed as long as each distance function Γ o ( ξ ) for each obstacle o individually satisfies the limitations outlined in Section II-C2.The distance function proposed in Equation ( 5), which was used throughout this work, is globally active.However, when dealing with dense environments, the linear scaling of ROAM with the number of obstacles can result in high computational costs.To address this, the influence region can be reduced by introducing a distance threshold d max ∈ R, such that: The proposed algorithm assumes that the robot is a point mass.However, it can be extended to real robots by introducing a margin around the obstacles or using multiple control points, as proposed in [45].It is important to note that the latter method does not guarantee full convergence in general scenarios.Alternative methods employ a full-body representation of the agent [19], [23], which involves sampling or optimization.However, they cannot guarantee finding a feasible path in a finite time.Therefore, future work should focus on extending ROAM to handle analytic avoidance scenarios where trees of stars represent both the agent and the obstacle.

A. Vector Rotations
The rotational obstacle avoidance method (ROAM) requires weighted summing between vectors as well as partial (sequential) rotations applied to vector fields.Herefore, we introduce vector math concepts to simplify these operations.
Note that by changing the rotation angle β , a partial rotation or over-rotation can be applied to a vector, too.In this work, the basis is only explicitly stated if not clear from the context.Moreover, as each rotation basis is defined by the two vectors b b b i and b b b o , a rotation can be rotated, too.For example, a rotation expressed in a relative reference frame can be rotated to the global frame.This allows for the evaluation of weighted rotation sequences, as will be discussed later in this section.We further define the rotational sum using the symbol + as: where the summation is performed according to (73), with normalization of the vector pairs [v v v 0 , v v v v ] to obtain the rotations as described in (71).5) Direction Tree Evaluation: Let us define a direction tree with nodes n = 1..N node .There exists a single (unique) root node r, which has no parent.All other nodes n have single parent p(n), but a node can have multile children, given by the set C n .The set of all offspring, i.e., including the children of children etc., is referred to as C tot n .Each node has a level l, which indicates the discrete distance to the root.The value of each node corresponds to a unit vector v v v i , and hence the vector rotation between the parent and the node can be evaluated using (71).For given weights w n , the weighted direction is evaluated as described in Algorithm 4. The rotation tree is interpreted as a combination of weighted summations and sequences, as described earlier in this section.
Lemma A.1.The vector rotation as described in Algorithm 4 ensures a smooth vector summing for weights w n ∈ [0, 1] such that ∑ N node n=1 w n = 1, such that we reach converge to a vector when its corresponding weight is approaching one, i.e., lim w i →1 v v v * = v v v i .
Proof.When a specific direction-node n has weight w n = 1, it follows from Algorithm 4 all the child-nodes weight one and zero otherwise: for n : l n = l do {For all nodes of the same level} Note, that the weighted evaluation of the direction tree can be reduced to a single vector v v v * , or the whole sequence can be kept by storing all v v v * (•) .If all node-parent pair had an angle β < π, then this will be the case for the resulting sequence, too.

Fig. 1 :
Fig. 1: An autonomous wheelchair is guided by obstacle avoidance to navigate in an environment of complex obstacles (c).The intensity of the shading in (a) and (b) indicates the magnitudes of the velocity.
Consider a unit vector with respect to a basis vector b b b, denoted as k k k(b b b, ξ ξ ξ ) : R N I × R N I → R N−1 , under the condition that ξ ξ ξ : −b b b, ξ ξ ξ = −1.This vector extraction captures the rotation of ξ ξ ξ with respect to b b b and has proven to be useful for minima-free vector-summing.The relative rotation satisfies the following properties: cos ( k k k(b b b, ξ ξ ξ ) ) = b b b, ξ ξ ξ and k k k(b b b, ξ ξ ξ ) < π

Fig. 5 :
Fig.5: A smaller smoothness-constant s increases the reactivity when approaching an obstacle (a), while a larger value ensures a smoother transition across the (red) saddle point trajectory (b, c).

Fig. 7 :
Fig. 7: The inverted obstacle description is used to keep nonlinear dynamicsf f f (ξ ξ ξ ) within star-shaped boundaries, in (a) with f f f (ξ ξ ξ ) = R R R(sin( ξ ξ ξ a − ξ ξ ξ )(ξ ξ ξ a − ξ ξ ξ ) where R R R(•)is a two dimensional rotation matrix and ξ ξ ξ a the attractor.Further, it can be used to create active repulsion from walls, as in (b) for globall straight dynamics with attractor ξ ξ ξ a .

Fig. 8 :
Fig. 8: For motion with initial dynamics of f f f (ξ ξ ξ ) = −1 2 −2 −1 ξ ξ ξ (gray) and a single stationary point (black star), employing a globally straight convergence dynamics c c c(ξ ξ ξ ) results in a trajectory (orange) that deviates significantly from the original motion (a).In contrast, by utilizing locally straight convergence dynamics, the trajectory (b) maintains similarity to the original motion throughout its course.
The convergence dynamics c c c(ξ ξ ξ ) of such initial dynamics f f f (ξ ξ ξ ) is constructed by evaluating as a weighted sum of the initial velocity at the reference point of the obstacle ξ ξ ξ r and at position ξ ξ ξ : are straight according to Definition II.1 on the surface and inside the obstacle, i.e, c c c(ξ ξ ξ

Fig. 10 :
Fig.10: The initial dynamics f f f (ξ ξ ξ ) undergo a series of three consecutive mappings, depicted in a clockwise manner starting from the top left.The convergence weight w c (ξ ξ ξ ) is evaluated in the transformed space, where its value is represented by the gray shading.Notably, the weight diminishes to zero at the attractor point ξ ξ ξ a .The directional summing operation from (27) is performed to obtain the convergence dynamics c c c(ξ ξ ξ ).This step is carried out in the mapped space.To obtain the reverse mapping, the vector rotation v v v r (•) is simply evaluated in the original space.The folding mapping m m m f (ξ ξ ξ ) maps the attractor infinitely far away in the − ξ ξ ξ 1 direction, whereas the line with ξ ξ ξ 1 = −1 is folded out to be infinitely far in the directions of ± ξ ξ ξ [2..d] .
ensured to be straight according to Definition II.1 on the surface and inside the obstacle, i.e., c c c(ξ ξ ξ

Lemma V. 1 .
The weighted rotation of the convergence dynamics c c c(ξ ξ ξ ) from (45) and the final dynamics ξ ξ ξ from (47) conserves impenetrability and saddle-point properties introduced in Theorem III.3.Proof.When approaching an obstacle o, the weight defined in (46) results in lim Γ o (ξ ξ ξ )→1 w o (ξ ξ ξ ) = 1.Hence the evaluation of the multi-obstacle avoidance converges to the single obstacle scenario of obstacle o.It follows that the properties of the single obstacle case are conserved locally.

Fig. 11 :
Fig.11:The rotational obstacle avoidance with respect to wavy dynamics as used in Figure7amoves towards the attractor (black star) while avoiding collisions inside a rectangular hull with two obstacles.

r o ) {Rotational average 45} 9 :
for o = 1 to N obs if w o (ξ ξ ξ ) > 0 do 10: e e e o (ξ ξ ξ ) {Compute pseudo tangent (14)} 11: h(ξ ξ ξ ) {Compute magnitude (21)} 12: end for 13: ξ ξ ξ = f f f (ξ ξ ξ ) +∑ N obs o=1 λ o w o m(ξ ξ ξ )e e e o (ξ ξ ξ ) {Rot.average (47)} A. Dynamic Environments v The closed-form description of the algorithm enables short computation time without the need for offline trajectory planning.Dynamic obstacles can be considered by transposing the avoided direction into the moving reference frame: The GMM components are used as a multi-hull environment to bind the dynamics and enforce leaving the boundary in the direction of the local attractors ξ ξ ξ a b (colored stars).

Fig. 13 :
Fig.13: The surface points s s s (•) (purple) are evaluated for each obstacle up to the root, to then propagate the desired tangent velocity e e e (green) from the root to each obstacle.
e ) : k k k (−n n n, e e e o ) = k k k (−n n n, r r r) + b (k k k (−n n n, e e e p ) − k k k (−n n n, r r r)) such that k k k (−n n n, e e e p ) = R e , b ∈ R >0 otherwise k k k (n n n, e e e o ) = k k k (n n n, −r r r) + b (k k k (n n n, e e e p ) − k k k (n n n, −r r r)) such that k k k (n n n, e e e p ) = π − R e , b ∈ R >0

Fig. 14 :
Fig.14: Obstacle avoidance of a two-dimensional human with a total of seven sub-obstacles (corresponding reference points as black crosses) of a circular motion with a single stationary point (black star).

Fig. 15 :
Fig.15: MuMo[45], VF-CAPF[40] and ROAM are used to guide a nonlinear, limit-cycle-following vector field around six concave obstacles.The resulting limit cycles are visualized as a solid line in the respective color.Additionally, the trajectories from specific starting points (black circles) are visualized with a dashed line.

Fig. 16 :
Fig. 16: The robot is navigating between static tables on a wavy road (gray) through a grass field (green).The initial dynamics and the reference trajectory (orange) are on the left, with the corresponding obstacle dynamics on the right.The local attractors (colored starts) and switching regions (colored lines) are used to create global dynamics (a, c).The global path following (f) uses a single attractor only.

( a )Fig. 17 :
Fig. 17: ROAM is used to guide trajectories from 16 different initial positions and ensures that all trajectories successfully avoid the static human in simulation.

Fig. 18 :
Fig.18:The robot is aware of the two obstacles (brown shapes) as well as the conveyor belt (green block) to obtain the avoidance dynamics (blue arrow).The center of the initial dynamics (blue dot) is moving across the conveyor belt.

Fig. 19 :
Fig. 19: The 7DoF robot arm adeptly avoids the star-shaped parcels that are being transported on the conveyor belt.

1 )
Perpendicular Rotation Base: Let us consider two initial directions v v v i , v v v o ∈ R N \ 0 0 0. They are used to construct the base vectors b b b i , b b b o ∈ {b b b ∈ R N : b b b = 1}:

1
The angle β and two vectors b b b i , b b b o represent the rotation of a vector in N dimensions, this is equivalent to 2N + 1 parameters.5  2) Rotating a Vector: Rotating a vector v v v entails rotating the component which lies in the plane spanned by b b b i and b b b o , while conserving the part orthogonal to the plane.vv v r v v v, β , b b b {i,o} = p 0 b b b i cos(φ ) + b b b o sin(φ ) + v v v − ∑ j∈{i,o} b b b j b b b j , v v v with φ = φ 0 + β , tan(φ 0 ) = b b b

3 )
Weighted Rotation Summing: Let us assume that we have N vec ∈ N >0 vector rotations which are defined with respect to a shared basis vector b b b i .The rotations have a respective second basis vector b b b o,v and rotation angle β v with v ∈ 1..N vec .The basis and angle of the weighted average rotation is defined as: b b b o = B B B(b b b i ) N vec ∑ v=1 B B B T (b b b i )w v β v b b b o,v and β = b b b o (73) where w v ∈ [0, 1] are the vector weights, and B B B(b b b i ) is an orthonormal basis with respect to the vector b b b i .

4 )
Weighted Rotation Sequence: Let us assume that we have N rot sequential rotations such that the output vector b b b o,n of the element n is equal to the input vector of the next in the sequence n + 1, i.e., b b b o,n = b b b i,n+1 with n = 1..N rot − 1.To evaluate the weighted sequence each basis is adapted with respect to all the parent rotations as:b b b {i,o},c ← v v v r ((w n − 1)β n , b b b {i,o},c ) n = 1..N rot − 1, c > n (75)The full weighted rotation of the sequence is obtained using the vector rotation as defined in (71) with input vector b b b i,1 and output v v v o,n = v v v r ((1 − w n )β n , b b b o,n ) with n = N rot .
w c = 1 if c ∈ C n 0 otherwise(76) Hence, we have a rotation sequence of the form (75). Due to the sum of the weights of all sequence elements being equal to one, the summed weight equals b b b o,e where e is the index Algorithm 4 Rotation Tree Summing Input: w n , v v v n for n = 1..N node Output: Averaged vector-rotation v v v * 1: for l = L max .. 1 do {Reverse iteration over levels} 2:

3 :
w p(n) ← w p(n) + w n {Update cumulative weight} 4: end for 5: end for 6: v v v * 1 = v v v r {Initialize base of root r} 7: for l = 2 .. L max do {Iteration over levels} 8:v v v * l = v v v * l−1 + ∑ l c ==l c v v v c {Weighted average from (74)} 9: v v v r (•), β ← v v v * l−1 , v v v * l {Rotation from vectors (71)} 10:for c ∈ C tot l do {For all offsprings of l} 11:v v v r,c (•), β c ← v v v * l , v v v c{Rotation from vectors (71)} 12: b b b j,c ← v v v r,c (−β c , b b b j,c ) {Sequence inversion (75)} 13: b b b j,c ← v v v r (β , b b b j,c ) {Apply rotation to v v v * l as (72)} 14:end for 15: end for16: v v v * = v v v * L maxof the ending element.Note successive vectors cannot be antiparallel, as denoted in (71).

TABLE I :
Comparison of five different time-invariant algorithms across multiple criteria.All algorithms avoid solving an optimization problem.

TABLE II :
The different trajectories are compared in (1) the ratio of trajectories which end up in a local minimum on the obstacle N m , (2) the distance to the desired trajectory, i.e., the difference to radius R 0 .Furthermore, (3) RMSE and NICS between all approaches to the original DS are evaluated, as well as (4) the change of the dynamics over time (corresponds to acceleration).The mean and standard deviation are evaluated over the 93 trajectories.