Next Article in Journal
Action Recognition via Multi-View Perception Feature Tracking for Human–Robot Interaction
Previous Article in Journal
Upper-Limb Robotic Rehabilitation: Online Sliding Mode Controller Gain Tuning Using Particle Swarm Optimization
Previous Article in Special Issue
Enhanced Hybrid Artificial Fish Swarm Algorithm for Three-Dimensional Path Planning Applied to Robotic Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Non-Holonomic Mobile Manipulator Obstacle Avoidance with Adaptive Prioritization

by
Federico Neri
,
Giacomo Palmieri
* and
Massimo Callegari
DIISM—Department of Industrial Engineering and Mathematical Sciences, Polytechnic University of Marche, 60131 Ancona, Italy
*
Author to whom correspondence should be addressed.
Robotics 2025, 14(4), 52; https://doi.org/10.3390/robotics14040052
Submission received: 16 January 2025 / Revised: 2 April 2025 / Accepted: 11 April 2025 / Published: 18 April 2025
(This article belongs to the Special Issue Localization and 3D Mapping of Intelligent Robotics)

Abstract

:
This paper presents an obstacle avoidance strategy for mobile manipulators consisting of a robotic arm and a base with a non-holonomic differential wheel system. The algorithm makes it possible to avoid obstacles in a dynamic environment, without planning the path a priori. A series of examples are proposed in simulation using Matlab and analyzed to show how the algorithm works if the obstacle interferes with the manipulator or the base. In addition, the possibility of prioritizing the movement of certain parts of the system using the weighted pseudo-inverse matrix is introduced. In this way, it is possible to give movement priority to the base if it is necessary to move the robot over long distances while keeping the manipulator as still as possible. The use of null space to keep the end-effector stationary while it avoids obstacles is also explored, exploiting the system’s redundancy and allowing the rest of the kinematic chain and the mobile base to move accordingly. Finally, current standards are analyzed and a solution is shown that allows the robot to vary its behavior to avoid obstacles depending on the distance to the target point.

1. Introduction

The advent of collaborative robotics allows operators and robots to coexist harmoniously in shared workspaces without the presence of physical barriers. This innovative technology not only greatly improves working conditions in industry, but also paves the way for a nascent research frontier: obstacle avoidance in a dynamic environment [1,2].
In scenarios where the cycle time of specific tasks requires further reduction [3,4], the integration of obstacle avoidance strategies allows the robot to momentarily deviate from predetermined trajectories to avoid potential collisions, thus maintaining uninterrupted robot operation [5]. This solution is particularly advantageous in pick-and-place operations, where, when it detects obstacles in its path during transitions between zones, the robot can autonomously navigate around the obstructions without stopping. Furthermore, if an operator needs to intervene while the robot is operating within a work zone, the approach causes the robot to leave the area. At the end of the intervention, the robot smoothly resumes its task, automatically returning to the designated work zone when the presence of the operator is no longer detected. This solution reduces the cycle time while allowing the operator to work safely. In addition, it can still be supplemented with algorithms that stop the robot if conditions do not allow for safe avoidance [6].
The size of warehouses and the need to handle materials as flexibly as possible necessitated the development of less bulky solutions than conveyors. For this reason, first AGVs (Automated Guided Vehicles) and then the more modern AMRs (Autonomous Mobile Robots) were developed. Unlike manipulators, which possess the dexterity to maneuver over all degrees of freedom in space, mobile robots are constrained to move in the plane. However, they compensate for this limitation by displaying the ability to traverse extended distances efficiently. [7,8]
Both AMRs and AGVs equipped with manipulators, utilized within test environments, fall within the scope of the IMR (Integrated Mobile Robot) definition and are consequently subject to compliance with relevant standards. However, AGVs and AMRs serve distinct purposes: the former adhere to predetermined paths, while the latter leverage sensors to autonomously navigate around obstacles by computing their trajectories.
Mobile manipulators, which integrate both mobility and handling capabilities, are increasingly adopted in industry due to their flexibility and ability to perform complex tasks in dynamic environments. This growing adoption highlights the importance of a clear regulatory framework, such as the ANSI/RIA R15.08 standard [9,10], which classifies these systems in the IMR category and provides guidelines for their safe operation.
The ANSI/RIA R15.08 standard draws upon pertinent guidance provided by ANSI/RIA R15.06 (2012) and ANSI/ITSDF B56.5 (2019), which focus on the safety of industrial robots and guided industrial vehicles, respectively [11]. In particular, as can be seen from the diagram in Figure 1, this standard classifies mobile manipulators consisting of a mobile base and an arm as Type C IMRs.
Although there are pre-assembled mobile manipulators available in the market, to ensure optimal performance tailored to specific applications, it is common to separately acquire the base and manipulator and then integrate them. The selection of the base is pivotal, considering that various types and architectures can be employed in mobile robots, thereby influencing their kinematic model. Tagliavini et al. [12] delineate various mechanisms facilitating the locomotion of mobile robots.
The two main macrocategories are omnidirectional and differential wheel systems. Omnidirectional platforms allow the vehicle to move in any direction [13,14] and can be, for example, a four mecanum wheels robot [15], a three omni wheel platform and a two swerve drive system.
Mobile robots with differential wheels are easier to construct and are commonly used in various industrial contexts. However, they have movement limitations. Although they can reach any configuration on the work surface, they cannot control speed in all directions. In essence, this system is non-holonomic, i.e., it can only set the speed along the longitudinal and rotational directions, without the ability to move in the transverse direction [16,17,18].
The use of a mobile manipulator allows for greater flexibility during task execution, taking advantage of redundancy to choose the best configuration in order to reach a certain end-effector pose while avoiding any obstacles in the workspace. In addition to this, the presence of a mobile base allows the robot to be moved in a large working environment, increasing the limited reachability that the manipulator alone would have.
There are numerous papers describing methodologies for analyzing the safety of manipulators and mobile robots, complying with currently existing standards. Some of them propose a risk assessment for the safe use of mobile robots on construction sites [19], extending the currently existing safety standards to include scenarios not covered. Despite this, it is still unclear what standards must be met when using mobile manipulators.
Some of the research that led to the development of certain strategies was formulated on the basis of competitions, simulations or experiments conducted in the laboratory. However, real industrial environments are more complex and involve more people and objectives. As is well known, the real industrial environment is rather difficult to simulate and replicate. In the next few years, many advanced technologies can be tested more easily in real environments, allowing for existing regulations to be improved [20].
The evolution of robotic systems leads to new questions concerning safety in the industrial world. As described in [21], for mobile manipulators, which combine a movable platform with a robotic arm, the application of different standards is contingent upon the specific function of the manipulator:
1.
When the AMR or the AGV is in motion and the robot arm is at rest, the latter can be treated as a load, and the risk assessment should be conducted in accordance with standard mobile robot protocols.
2.
When the robotic arm performs assembly or processing tasks while in motion, all relevant robotics standards must be applied during the risk assessment process for the robotic arm.
Each of these possibilities must take into account the various safety issues associated with them. First of all, it must be ensured that the mobile robot is located within the work area, and does not risk becoming stuck or losing its reference system. This can be achieved using odometry [22,23], proximity sensors, visual markers [24,25], GPS sensors [26,27,28] or other methods [29,30] to create a map and update the robot’s position during movement. Panigrahi and Bisoy present a complete review of localization systems, problems, principles and approaches for mobile robots [31].
Marvel and Bostelman [32] present different scenarios that can occur when a mobile manipulator is placed in a collaborative environment where a human is present. Such situations are still unclear and not fully analyzed by security standards. For example, the Cartesian velocities of all joints, the robot and mobile base being separate, must be known at all times. Only in this way can the actual speed of the various parts of the robotic system be analyzed with respect to a reference system that considers the combination of the manipulator and base speeds, allowing for the risk to be analyzed.
In addition, it should be analyzed whether the angle of approach of the human is different from the direction of travel of the mobile robot. Three cases can occur:
1.
Human is in the robot’s working volume, in the path of the AMR.
2.
Human is outside the robot’s working volume, in the path of the AMR.
3.
Human is in the robot’s working volume, out of the AMR’s path.
In addition to this, situations related to resuming the system after a lockout can also create problems. When resuming from a paused or stopped state, restarting the movement of a mobile manipulator could trigger an emergency response from the arm if a dual controller is present.
In recent years, many strategies for manipulators have been proposed, such as the design of a switching controller using a sliding mode approach based on neural networks [33], and there are numerous methods that can be used to perceive the work space and allow a mobile manipulator to move in space. For example, the simplest method consists of moving the base and arm separately, using the mobile robot to reach a target or near an object to be manipulated, and then moving the manipulator while holding the base still [34,35]. The review by T. Sandakalum and MH. Ang Jr [36] shows an example of separate movements. Although this approach is well-suited to controlled environments, unexpected movements of the robot and objects can cause failures in complex contexts. Although this approach is well-suited to controlled environments, unexpected movements of the robot and objects can cause failures in complex contexts. In contrast, integrated systems aim to combine locomotion and manipulation control in a single control architecture. This approach allows for more consistent motion planning, where the robotic arm and the mobile platform can adapt to each other in real time [37].
In order to improve the control of the system and make the best use of redundancy, various solutions can be found in the literature that treat the manipulator and the base with a single control, considering both to generate paths [38,39]. However, methods that allow for collision-free path planning have a considerable computation time. Consequently, these systems are not suitable for highly dynamic environments, which require re-planning.
Recent work has made it possible to formulate strategies for controlling mobile manipulators by exploiting contact; for example, M. Weyrer et al. [40] present an approach for the manual guidance of a sensitive mobile manipulator in the workspace, using a force and torque sensor mounted close to the end-effector.
Other studies involving mobile manipulators have made it possible to develop dynamic obstacle avoidance algorithms, exploiting redundancy to perform tasks without colliding with objects or humans in the work area [41,42,43]. Unfortunately, such studies mainly focus on systems using an omnidirectional mobile base, without analyzing the problems that a non-holonomic system might have. Studies analyzing mobile bases with differential wheels do not consider the possibility of dynamically adapting the priority of movement between the manipulator and the base according to the task performed. Furthermore, they do not explore the use of null space to avoid obstacles while keeping the end-effector in a fixed position [44].
In Section 2, the strategy proposed in this paper takes the obstacle avoidance algorithm proposed by the authors in [45] and extends it to a mobile manipulator, making the necessary modifications to exploit the system’s redundancy. This strategy allows the collaborative robot to perform a given task where humans are present, momentarily deviating from the trajectory if an obstacle is perceived. Through the presence of the mobile base, it is possible to move material or perform tasks in distant work areas. The influence region of each part of the robotic system is defined by a radius r which can be set according to the required safety level and can vary according to the relative speed between the obstacle and the manipulator.
The strategy described in this paper considers a mobile manipulator consisting of a 6 DOF robotic arm and a moving base with differential wheels. This solution makes it possible to study one of the most common combinations in industry, which presents various kinematic complexities. Despite this, the algorithm is presented in a generic form and can easily be extended to a system with a 7-axis arm or other mobile manipulators with high redundancy [46].
Different from other studies, the strategy proposed by the authors allows for the collision to be avoided dynamically, without the need to come into contact with the object. In addition to this, the behavior of the moving base with differential wheels is analyzed in detail and a solution is proposed that allows for constraints to be respected in order to execute a task and simultaneously avoid any obstacles. The proposed solution also makes it possible to use null space to handle situations in which it is desired to keep the end-effector stationary, in the event that a human interferes with the base.
The proposed strategy introduces several innovations compared to previous work in the field of mobile manipulators. Unlike traditional approaches that often treat the manipulator and the mobile base as separate entities [36,47], this method integrates control of both to dynamically exploit redundancy, enabling obstacle avoidance without requiring physical contact. This distinguishes it from other work, which either focused on contact-based strategies or was limited to systems with omnidirectional bases, neglecting the challenges imposed by non-holonomic platforms.
Moreover, by employing a strategy based on the weighted pseudo-inverse matrix, the system can offer varying levels of flexibility. For instance, in certain scenarios, it is feasible to prioritize the movement of the mobile base by limiting the manipulator’s speed. Alternatively, the system can mainly rely on the arm for obstacle avoidance by restricting the movement of the mobile base. Additionally, according to the standards, the proposed solution suggests that, when the robot is far from its target, only the mobile base should be used for movement, keeping the arm stationary. As the robot approaches closer to the target, the manipulator is gradually activated, utilizing all available redundancy to avoid obstacles and achieve the final position.
The main objective of this work is the development of a strategy based on the weighted pseudo-inverse matrix, which exploits the redundancy of a mobile manipulator to perform tasks while simultaneously avoiding potential obstacles in the workspace. The progressive activation of the manipulator’s speed as the system approaches the target, combined with the optimization in null space, represents a novel element in the balance between task execution and obstacle avoidance.
To complete this study, some simulations are presented and the system behavior is analyzed in detail in Section 3. The results obtained are discussed and the conclusions of the work and future prospects are described in Section 4.

2. Obstacle Avoidance Algorithm

This section describes the obstacle avoidance algorithm for a generic mobile manipulator, which consists of a robotic arm with a number of actuators greater than or equal to 6 (depending on its degree of redundancy) positioned on a mobile base with differential wheels. The vector q describes the configuration of the mobile manipulator and q ˙ = v ω q ˙ 1 q ˙ 2 q ˙ n T is the velocity vector, where the n components correspond to the n degrees of freedom (DOF) of the manipulator. In Cartesian space, according to the Euler angle convention ZYZ, the pose of the end-effector is defined by the vector x = x y z α β γ T . In matrix form, the velocity kinematics of such system can be written as
x ˙ = J q ˙ = J p J r q ˙ ,
where J is the 6 × m Jacobian, where m is the dimension of the vector q ˙ ( m 8 ), J p the submatrix of the position and J r of the rotation.
To simplify, it is possible to represent the mobile robot as a cubic structure equipped with two wheels symmetrically positioned on its sides. The distance between these wheels is denoted as D, and their respective radii are represented by R.
The basis { X R , Y R } defines the axes relative to P m p on the robot chassis and thus represents the robot’s local reference frame. Due to the non-holonomic constraint, the robot cannot move along the Y R direction, so its velocity can be described in the local frame using the vector v , ω T , where v represents the forward velocity and ω the angular velocity of the robot. Regarding the wheels, the linear speed of the right wheel is given by v r = ω r R , while the linear speed of the left wheel is v l = ω l R .
By applying a rotation of angle θ b around the z axis, it is possible to express the velocity vector in the global reference system, as described in Equation (2):
x ˙ b y ˙ b θ ˙ b = cos θ b 0 sin θ b 0 0 1 v ω .
Here, x ˙ b , y ˙ b , θ ˙ b T represents the velocity of the base in the global reference system, with P m p indicating the position of the central point of the mobile robot. The orientation of the robot with respect to the X w axis of the global reference frame W is given by θ b .
The Jacobian matrix that relates the angular velocity of the wheels to the velocity vector in the robot’s local reference frame can be derived as follows (Equation (3)):
v ω = R 2 R 2 R D R D ω l ω r .

2.1. Mobile Robot Obstacle Avoidance

The possibility of making the end-effector follow a straight trajectory by utilizing all available degrees of freedom will also be analyzed in this paper. This is relevant for tasks such as welding or painting along a path. However, when the target point is far from the starting position of the mobile manipulator, moving the arm joints is often unnecessary. To reach the desired position, or to get closer to it, it is sufficient to move in the plane with the mobile base while avoiding obstacles, keeping the robot joints fixed. Over long distances, moving the robot arm can be inefficient and potentially dangerous. Once the manipulator reaches an area close enough to the target, defined as a distance that can be set within the algorithm, the manipulator can be activated to achieve the target using all available degrees of freedom. Therefore, a strategy to avoid obstacles using only the moving base is initially analyzed.
Since in a mobile differential wheel robot it is not possible to impose a speed along the Y w axis, it is necessary to plan the path in such a way that an end point with a desired orientation can be reached. To generate a smooth point-to-point trajectory that adheres to the constraints of a differential wheeled mobile robot, a parametric cubic polynomial approach was employed [48]. Given the initial and final poses of the mobile base, respectively defined as x i = x i y i θ i T and x f = x f y f θ f T , the resulting trajectory is expressed as
x b ( s ) y b ( s ) = ( s 1 ) 3 x i + s 3 x f + α x s 2 ( s 1 ) + β x s ( s 1 ) 2 ( s 1 ) 3 y i + s 3 y f + α y s 2 ( s 1 ) + β y s ( s 1 ) 2 ,
where the parameter s [ 0 , 1 ] evolves over time following a fifth polynomial function. The coefficients α x , α y , β x , β y are defined as
α x α y = k cos θ f 3 x f k sin θ f 3 y f β x β y = k cos θ i + 3 x i k sin θ i + 3 y i .
The parameter k, in the equation, is adjustable to modify the radius of curvature of the path. The orientation θ b ( s ) is then computed to ensure that the X R axis remains tangential to the trajectory at all points. Once the trajectory is generated, a reference velocity profile can be derived as v r = x ˙ b 2 + y ˙ b 2 and ω r = θ ˙ b .
If an obstacle obstructs the robot’s movement, the proposed motion control system can dynamically adjust the trajectory in real time. When the platform approaches an obstacle and the separation distance falls below a critical threshold, defined by the safety radius r, a repulsive velocity vector is generated. Consequently, the platform is surrounded by a safety area that takes the shape of a rectangle with rounded corners, each with a common radius r, as shown in Figure 2a. This safety region can be visualized as a vertical extrusion of the safety area. The repulsive velocity vector x ˙ 0 is applied at the point P r , which corresponds to the closest point on the platform’s contour to the obstacle’s position P o (Figure 2). The magnitude of x ˙ 0 acts as a control parameter, while its direction is determined by the unit vector along the distance d o = P r P o , resulting in x ˙ 0 = x ˙ 0 d ^ o .
The kinematic expression of x ˙ 0 can be formulated as follows, where J 0 represents the Jacobian matrix associated with point P r :
x ˙ 0 = cos θ b p y cos θ b p x sin θ b sin θ b p x cos θ b p y sin θ b v ω = J 0 v ω ,
where p x and p y represent the coordinates of P r in the local reference frame. The algorithm is structured to detect the robot segment with the highest collision risk by measuring the distance from each obstacle to each part of the robot’s perimeter. This allows for identifying point P r with the shortest distance to the obstacle and computing the distance vector d o [49].
As illustrated in Figure 2a, a problem may arise if an obstacle blocks the front edge of the platform. In this case, the control system can generate a repulsive velocity by adjusting only the translation speed, without introducing any rotational movement. In this way, the platform moves backwards along a straight trajectory. Once the obstacle leaves the region of influence, the system orders the platform to return to its original position, potentially causing a stall. To overcome this limitation, a safety region was introduced consisting of five segments that form a pointed structure at the front of the platform, such as illustrated in Figure 2b. This approach facilitates the computation of the necessary rotational and translational velocities to navigate around the obstacle, as described in previous studies [50]. In particular, this results in a correctly oriented rotational repulsive velocity, i.e., counterclockwise in the example in the figure. If, for a generic obstacle placed at that position, a clockwise velocity were generated, the robot, instead of avoiding it, would end up heading towards it.
The control law is designed to prioritize trajectory tracking while incorporating a secondary task that activates when an obstacle is detected, enabling the system to adjust its motion and avoid collisions:
q ˙ = v f + J 0 1 x ˙ 0 .
The term v f of the previous equation represents the planned velocity profile with error compensation, as defined by Maalouf et al. [51] and Kanayama et al. [52]:
v f = v f ω f = v r cos e θ + k x e x ω r + v r k y e y + k θ sin e θ .
The terms e x , e y and e θ represent the error components between the planned and actual poses with respect to the robot’s local reference frame, while k x , k y and k θ are the corresponding gain parameters.
An alternative strategy for generating repulsive motion during obstacle avoidance relies solely on the rotational movement of the platform. In this case, the repulsive velocity component perpendicular to the platform’s edge is constrained to a predefined magnitude v 0 n = x ˙ 0 , whereas the tangential component v 0 t remains unconstrained. By enforcing a null velocity at the platform’s central point P m p , the angular velocity can be determined as ω = x ˙ 0 / ( p y cos α m p p x sin α m p ) which generates the required repulsive velocity. The geometric parameters involved in this approach are illustrated in Figure 3 and the resulting control law is expressed as follows:
q ˙ = v f + 0 x ˙ 0 p y cos α m p p x sin α m p ,
which is an alternative to Equation (7). In order to generate a rotation in the correct direction, the following geometric condition must be fulfilled in this type of control:
α m p > tan 1 D L ,
where the distance between the wheels is denoted as D and the length of the robot is denoted by L. In the case described in this paper, since L = 890 mm and D = 580 mm , it is necessary to impose α m p > 33 ° . For this reason, an angle α m p = 40 ° was set.
Both approaches can be used to implement an obstacle avoidance strategy. However, since Equation (7) also generates a translational repulsive velocity, when the robot is in motion it is preferable to use the strategy of Equation (9), using only the rotational velocity to avoid obstacles. Nevertheless, the first mode was used in combination with the manipulator to avoid obstacles with a redundant system. This choice is due to the fact that, when the end-effector is in end-position and an obstacle interferes with the base, it can be useful to avoid the collision by moving the base in both translation and rotation, ensuring that the end-effector remains fixed in the target by exploiting redundancy.

2.2. Mobile Manipulator Obstacle Avoidance

In specific situations; for example, when the mobile manipulator is close to the destination point, it may be useful to use a strategy that allows the system to be controlled, moving both the robot and the base, to reach the end position while avoiding obstacles along the way or to keep the end-effector at the destination pose if an obstacle interferes with the base or the manipulator’s kinematic chain.
The collision avoidance algorithms were designed for a mobile manipulator consisting of UR10 serial arm (6 DoF) and a MiR100 platform (differential drive), but implementation to other mobile manipulators is simple due to the kinematic structure, with the exception of link lengths and base dimensions. The algorithm formulation described in this paper is generic and can be extended to other manipulators, even those with more than 6 degrees of freedom, using the correct Jacobian matrix. The kinematic chain, characterized by segments delimited by control points is shown in Figure 4, whereas Table 1 summarizes the dimensions of the segments. The MiR100 platform is equipped with a two-wheel differential drive system for locomotion, with two driven wheels and four additional free wheels for stabilization. In the CAD model, used in figure, only the four free wheels are visible, while the driven drive wheels are not shown but are located in the center of the mobile platform.
Since the system is redundant, it must be considered that the inverse velocity kinematic problem can be solved as
q ˙ = J x ˙ + N q ˙ 0 ,
where J = J T ( JJ T ) 1 is the Moore–Penrose pseudoinverse of the Jacobian matrix J , N = I J J is the projection into the null space of J and the joint null space velocity q ˙ 0 has the effect of generating internal motions while maintaining the pose of the end-effector unchanged.
In addition, a damped least squares pseudoinverse must be used to mitigate singularity problems. Thus, the inverse of the Jacobian matrix J can be calculated as follows:
J * = J T ( J J T + λ 2 I ) 1 .
In this case, the symbol λ represents the damping factor, which is determined by the minimum singular value of the Jacobian matrix. This parameter serves to balance accuracy (lower values) and numerical robustness (higher values). In particular, when dealing with a Jacobian matrix of full rank J , the damping factor λ is set to 0.
For the mobile robot, the algorithm is designed to identify the manipulator link most at risk of collision by calculating the distance of each obstacle from every part of the robot’s structure. This process relies on two control points positioned at the extremities of each link. The obstacle’s center is denoted as P o , and its distance from the robot body is determined based on the diagrams in Figure 5. In the figure, d l represents the vector defining the link segment, while d p and d d correspond to the distances between the obstacle and the proximal and distal ends of the link, respectively. The point on the segment closest to the obstacle is denoted as P r and the Jacobian J 0 associated with the linear velocity of P r is defined as
J 0 = J 0 p J 0 r .
The robot’s movement is affected by the presence of an obstacle when the d o distance is less than a certain radius r, a parameter intrinsic to the algorithm. Consequently, the pertinent zone of each link can be conceptualized as a cylindrical structure bounded by two hemispheres, all of which share the radius r. The repulsive velocity x ˙ 0 is therefore implemented at the point P r . More specifically:
(a)
cos β < 0 ; the point P r is localized to the distal extremity of the link:
d o = d d x = 1 ;
(b)
cos α 0 and cos β 0 ; the distance d o = P r P o is orthogonal to the link, and the position of P r along the link is defined by the scalar parameter x:
d o = | d l × d p | d l x = d p cos α d l , 0 < x < 1 ;
(c)
cos α < 0 ; the point P r is localized to the proximal extremity of the link:
d o = d p x = 0 .
Once the distance and position of the most critical obstacle has been determined, it is possible to obtain the speed to be imposed on the robot’s joints q ˙ = v ω q ˙ 1 q ˙ 2 q ˙ n T by adapting the algorithm for redundant manipulators proposed by the authors in [45]. The necessary modifications are made to account for the mobile base with differential wheels. For instance, if the obstacle is located at the bottom, i.e., below the base of the manipulator, it will affect the moving platform rather than directly impacting the manipulator’s kinematic chain. In this case, P r and the respective Jacobian J 0 p will be calculated as described previously in Equation (6) in which the algorithm is referred to the mobile base.
The algorithm is based on the closed-loop inverse kinematics (CLIK) approach and the null space method for redundancy control. Joint velocities can be calculated as
q ˙ = J * x ˙ + K e + a h ( J 0 p N ) * ( a v v r e p d ^ 0 J 0 p J * x ˙ ) ,
x ˙ represents the vector of planned velocities, and x ˙ 0 = a v v r e p d ^ 0 denotes the repulsive velocity resulting from the presence of an obstacle. In this expression, v r e p is a customizable magnitude, and a v is an activation factor determined by the distance from the obstacle d 0 . On the other hand, the term a h exerts its influence with a weight that serves to balance the impact of the homogeneous solution, which is associated with collision avoidance, in relation to the overall solution [45].
The term e represents a vector encompassing position and orientation errors, denoted as ( e p and e r ), respectively. Its definition is defined as
e = e p e r = P d P e 1 2 i × i d + j × j d + k × k d ,
where P e denotes the position of the end-effector, and P d indicates the desired planned variable. Instead, i , j and k are the unit vectors of the end-effector reference frame. In (17), the error e is multiplied by K = k e I , where k e = k e p k e p k e p k e r k e r k e r is a gain vector. It is possible to give different gains to the orientation ( k e r ) or positioning ( k e p ) components of the error.
In case an obstacle is going to interfere with the end-effect of the robot, an additional term of velocity is added to Equation (17):
q ˙ = J * x ˙ + K e + a h ( J 0 p N ) * ( a v v r e p d ^ 0 J 0 p J * x ˙ ) + J p * a e e v r e p d ^ e e ,
where J p is the translation part of the Jacobian, a e e an additional activation parameter and d ^ e e is the direction of the distance between the obstacle and the end-effector.

2.3. Weighted Pseudoinverse Matrix

Since the analyzed system is redundant, it has the ability to respond to the presence of obstacles in various ways. For instance, if the mobile manipulator is stationary and an obstacle interferes with the end-effector, it is possible to react by applying a velocity q ˙ to all elements of the joint space. This would result in the movement of both the robotic arm and the mobile base. Alternatively, the system can respond by moving only the mobile platform, applying velocities primarily to v and ω , while the arm reaches very low velocities or, in extreme cases, remains stationary. For this purpose, the weighted pseudoinverse matrix J w * can be used, where J is the Jacobian and W is a diagonal matrix of the weights associated with each element of the joint space [53,54]. Its formulation is given by
J w * = W 1 J T ( J W T J T + λ 2 I ) 1 .
The W matrix is an m × m diagonal matrix (where m is the number of Jacobian columns) with non-negative elements along the diagonal, whose values reflect the relative importance. The matrix is defined as
W = w 1 w m = W m p W a .
The first two elements of the diagonal ( w 1 , w 2 ), i.e., belonging to the W m p = w m p I matrix, weight the movement of the moving platform, while the remaining n elements ( q 1 , , q n ), i.e., belonging to the W a = w a I matrix, define the coefficients affecting the movement of the arm.
This matrix is a generalization of the classical pseudoinverse matrix that takes into account the differences in importance between the different elements of the vector. This matrix is often used in applications related to the inverse kinematics of robots, to effectively handle situations wherein one wants to give more importance to some elements of the joint space, being perhaps more critical or sensitive than others. By introducing appropriate weights, it is possible to influence the resolution of inverse kinematic solutions, ensuring a more accurate and adaptable control of the robot in different operational scenarios. In the context of inverse kinematics of robots, this formulation allows for flexible handling of movement priorities. This means that the increment of element j of the joint vector q is determined by the value of element w j of the weighting matrix W . When the value of element w j is significantly larger than the other elements, the increment in the corresponding joint vector element, q j , becomes small. Conversely, when the value of w j is relatively small, it becomes larger. In essence, a large value of the coefficient w j corresponds to a more constrained or sensitive joint, resulting in smaller variations, while a smaller value allows for larger variations of q j . Section 3.1 and Section 3.3 provide supporting examples for the concepts introduced. In addition, a link to a repository with additional videos and MATLAB simulation code is provided in the Supplemental Materials.

3. Simulations

The strategy was verified in simulation using MATLAB R2022b software. A series of tests were carried out to analyze various situations in which the mobile manipulator may need to avoid obstacles; for example, in an industrial environment wherein objects or people may be present. In the examples presented, obstacles, regardless of type, will be simulated as spheres. The algorithm is designed to be independent of the type of sensors used for obstacle detection; it is sufficient to have as input the Cartesian coordinates of the detected objects, whether they are grouped in clusters or consist of multiple objects.
A limit q ˙ m a x of angular velocity was imposed on all joints of the robotic arm as a saturation threshold, while for the mobile robot a limit v m a x and ω m a x of the local reference frame was imposed in order to avoid high velocities that may occur when planning a collision avoidance task. The resulting positioning error is compensated in subsequent movements by a proportional correction term. Table 2 shows the parameters used in common for all simulations.
For the safety zone enclosing the robot’s links, the radius r is increased compared to the r m i n taken as reference. In particular, r = 4 3 r m i n and the radius r m i n is determined as a linear function of the relative obstacle/robot velocity v o , with lower and upper bounds ( r m i n = r i n f for v o v i n f , r m i n = r s u p for v o v i n f ).

3.1. Example 1

The first simulation shows a situation where the robot tool is at the point to be reached and an obstacle interferes with the end-effector. In this case, the mobile manipulator can avoid the obstacle by using redundancy, and the weighted matrix can be managed to prioritize movements of either the base or the arm. The robot is initially stationary as it is already in the desired position. When the obstacle interferes, it starts moving to avoid it and then returns to the desired position once the obstacle exits the safety zone. In this case, it is not necessary to plan a path; the arrival point is sufficient since the goal is to stay as close as possible to the final position.
Figure 6 shows the movement of the robot to avoid the obstacle. The execution period is T = 5 s and both the kinematic scheme that allows the algorithm to run and the CAD view are proposed. In the first two frames, an arrow indicates the direction in which the obstacle is moving.
The parameters used in the example presented are shown in Table 3.
This example shows how the behavior of the mobile manipulator varies if different weights are set to the weighted matrix.
When equal importance is given to the movements of the manipulator and the platform ( w m p = w a = 1 ), the robot has the opportunity to avoid the obstacle by moving all available joints. This solution is shown in Figure 6 and the graph showing how the minimum robot–obstacle distance varies is shown in Figure 7. Although these graphs are useful for understanding the situation being analyzed, they do not allow for the difference in movement to be analyzed as the weights change. For this reason, they are only presented for the case in which arm and base have the same priority of movement.
Speed trend graphs are shown to analyze the different obstacle avoidance modes. In each figure, the profile of the velocities v and ω of the mobile robot, with respect to the local reference system, is presented on the left, while on the right the velocity profile of the manipulator joints.
Figure 8 shows the trend in the case where the same unit weight is assigned to the arm and the moving base ( w m p = w a = 1 ). In this case, the velocities generated, which allow for the obstacle to be avoided and the position subsequently recovered, have comparable values.
In Figure 9, movement priority is given to the mobile robot, while still leaving the manipulator free to move, but limiting its speed. The weights associated with the mobile robot and manipulator are w m p = 10 5 and w a = 10 5 , respectively. In this case, as can be seen from the graph, the local speed values of the mobile robot are higher. It should be emphasized that some movement directions can only be executed by certain joints of the manipulator; for example, to generate an upward velocity. That is why the speed trend of some joints remains unchanged.
Figure 10 shows the trend of speeds in the case when the priority of movements is given to the manipulator. The weights associated with the mobile robot and manipulator are w m p = 10 5 and w a = 10 5 , respectively. Since the arm has more dexterity of movement, in this case it is possible to avoid the obstacle only with the manipulator. For this reason, the speed generated for the mobile robot becomes zero, while that of the manipulator has high values.
The velocity profiles of the end-effector are also presented for the three different cases. Figure 11 illustrates the evolution of the six Cartesian velocity components when the manipulator and the base share the same movement priority. Figure 12 depicts the scenario where movement priority is assigned to the mobile base, while Figure 13 shows the case in which the manipulator is given priority.
Table 4, Table 5 and Table 6 show, respectively, the results of case 1, 2 and 3 of Example 1. A comparison of the path lengths performed by the end-effector is shown. In addition, the maximum local velocities | v | m a x and | ω | m a x performed by the mobile robot during the path are proposed; together with the maximum velocity | q ˙ | m a x reached by the manipulator joints and the maximum of the linear speed norm of the end-effector | | x ˙ p | | m a x .

3.2. Example 2

The second example shows the possibility of using null space to keep the position of the end-effector fixed in one point and avoid the obstacle by moving the rest of the kinematic chain. This situation can be useful if an object is attached to the robot tool to be kept fixed, or if a precision operation is to be performed, but leaving the moving base free to move to avoid obstacles. In order for the positioning accuracy of the end-effector to be sufficiently high, the values of the coefficients k e p and k e r were increased. Figure 14 shows the simulation, performed over a period of T = 5 s . The parameters used in the example presented are shown in Table 7.
In this test, all manipulator joints and the moving base were given the same importance of movement ( w m p = w a = 1 ). The graph showing how the minimum robot–obstacle distance varies is shown in Figure 15. Looking at the trend, it is possible to see how the obstacle remains in the vicinity of the moving base for almost the entire simulation period. This is due to the fact that the platform has a large size and the simulated obstacle travels in a straight line through the initial position of the base.
Figure 16 shows the evolution of the generated velocities. The angular velocities of the base ω and the first joint of the manipulator θ ˙ 1 have the highest values, as they are fundamental for achieving avoidance. The maximum set speeds are not reached, because the period T allows the obstacle to be avoided with low speeds. Table 8 shows the simulation results.

3.3. Example 3

In the third test presented, the mobile manipulator has to reach, with the end-effector, a target point located several meters away from the starting point. Along the way, there are three obstacles: the first obstacle is positioned stationary on the ground; the second obstacle performs a straight trajectory by interfering with the arm tool; the third obstacle is stationary along the robot’s trajectory at a height comparable with that of the end-effector, in an area close to the target to be reached.
This situation reflects a typical industrial application where the mobile manipulator has to transport an object from one work area to another and then, once it reaches the end point, deposit it.
If the point to be reached is located in an area far away from the target point, it may be unnecessary to move the arm. Moving the robot joints is energy-consuming and, unless it is necessary to follow a predetermined trajectory (painting or welding), unnecessary. For this reason, in the first test presented, when the robot is at a distance from the target d t > 3 m , the obstacle avoidance strategy described in the Section 2.1 is used by imposing a speed that allows the mobile base to follow a desired trajectory and avoid any obstacles in the path by imposing the repulsive speed of Equation (9).
In this case, only the movement of the base is used, considering the safety area and the obstacle as if they were projected onto the plane. For simplicity, the distance d t was calculated as the Euclidean distance between the two projections in the plane of the end point to be reached and the instantaneous position of the end-effector. In this area, the planning and obstacle avoidance algorithm operates on the plane.
When the distance d t becomes sufficiently small, it is possible to begin a transition phase in which the manipulator begins to move. In this way, it is possible to increase the dexterity of the movements and differentiate the avoidance of obstacles when they are located at a height above that of the platform (h), interfering with the arm. In fact, in the previous case, even when the obstacle is located at a height greater than h, only the base is used to avoid the object.
The five segments used to define the base, in particular, were positioned along the perimeter of the platform, with the presence of a tip, at a variable height coinciding with the possible height of the obstacle. On the other hand, when d t 3 m , this solution is adopted only if the height at which the obstacle is positioned is less than the height of the platform h.
In the transition phase, i.e., when 1.5 m < d t 3 m , the weighted matrix in the pseudoinverse of the Jacobian (Equation (20)) is used to avoid a rapid movement of the robot and to give the priority of the movements to the moving platform. In this way, the strategy described in Section 2.2 can be used to exploit redundancy, while still giving priority of movements to the base.
When the robot is in an area sufficiently close to the end point to be reached, in the test case considered d t 1.5 m , it will be possible to make full use of the robot’s redundancy to make the end-effector follow the desired trajectory and avoid obstacles. In this area, the arm and base are given the same weight, so that the available dexterity can be utilized. In this area, the planning and obstacle avoidance algorithm operates in three-dimensional space, acting on the end-effector.
In this way, three zones can be defined: the first in which only the base moves and the arm is kept fix; the second in which there is a transition phase and the arm starts to move, but the base is given priority for movement thanks to the weighted matrix; finally, when the robot is sufficiently close to the point to be reached, zone three allows for full exploitation of the redundancy of the mobile manipulator to reach the target and avoid obstacles, giving equal weight to the arm and the base.
Figure 17 shows the division of the workspace for the presented example. The mobile manipulator is positioned in the starting configuration, with the end-effector at the initial point P i . P f indicates the target point to be reached. There are three obstacles along the robot’s path. Obstacle 1 is located in zone 1, at point O 1 . The other two obstacles interfere with the end-effector and part of the manipulator. The second one is located in zone 2 and moves from point O 2 i to O 2 f . The third is stationary at point O 3 , located in zone 3.
The parameters used in the example presented are shown in Table 9.
Figure 18 illustrates the robot’s motion, with frames captured at intervals between T = 0 and T = 30 s . Obstacles are represented as circles and as the robot enters their region of influence, the algorithm responds by generating a repulsive velocity component to change its trajectory. The plotted paths include both the initially planned path (dashed line) and the actual trajectory adjusted by the avoidance algorithm (solid line). As the robot overcomes the obstacle, the control strategy progressively corrects any deviation through a proportional feedback mechanism, ensuring that the robot returns to the planned path. Furthermore, Figure 18 highlights the closest interaction point P r , which represents the segment of the robot’s footprint most at risk of collision. This critical point is marked with a small circle to emphasize its role in the obstacle avoidance process. When the robot is in zone 2, the weights associated with the mobile robot and manipulator are w m p = 10 3 and w a = 10 3 , respectively. In this way, movement priority is given to the mobile base. When the mobile manipulator arrives close enough to the target point P f , it enters zone 3 and equal importance is given to the movements of the manipulator and the platform ( w m p = w a = 1 ).
Figure 19 shows the trend of the minimum distance between the obstacle and the robot. The obstacle avoidance control is activated when the distance becomes less than the threshold r that delimits the influence region around the robot’s control point. In more detail, r is the control distance defining the influence region, r m i n the distance below which no action is possible and the robot’s speed is reset to zero to stop it and r m is a critical distance intermediate between r m i n and r. No influence of the obstacle is desired if d o > r , while the robot stops if d o < r m i n . Between these limits, the coefficients vary continuously from 0 to 1, as described in paper [45]. It can be seen from the graph that the minimum distance becomes less than r in three situations, corresponding to the three obstacles encountered along the path.
The speed profiles of the mobile robot and manipulator are shown in Figure 20 and Figure 21, respectively. The velocity profile v and ω of the mobile robot has peaks mainly in the first two areas, as it has priority of movement. In Figure 21, the separation into the three zones is evident. In zone 1, the joint velocity is zero, as the manipulator is not used for either planning or obstacle avoidance. In zone 2, there is a joint velocity trend, but with reduced values compared to zone 3, as it can move but still giving priority to the moving base. In addition, in zone 3 the manipulator interferes with the third obstacle twice: the first involves the end-effector and the second a part of the wrist. In both cases, the algorithm generates a repulsive velocity that allows for the obstacle to be avoided.
Table 10 shows the simulation results. The path length effectively executed by the end-effector is longer than the planned one, increasing by 228 mm to allow the robot to avoid obstacles.

4. Conclusions

In this paper, an obstacle avoidance strategy for mobile manipulators with a differential wheel base is described and tested in simulation. In addition to this, the possibility of prioritizing the movement of some parts of the system is introduced; for example, limiting the movement of the arm when long distances are traveled, or limiting the movement of the base when the robot is in the proximity of the point to be reached. A series of examples are presented to evaluate how the algorithm works.
Section 3.1 shows how the behavior of the mobile manipulator varies if different weights are set to the weighted matrix to avoid an obstacle interfering with the end-effector.
  • Case 1 with Δ L = 0.141 m sits between the two extremes, finding a compromise between path length and overall speed.
  • Case 2, focusing on the mobile robot’s movement, has the highest end-effector velocity, suggesting faster movement during the path.
  • Case 3, prioritizing the manipulator, exhibits the longest path and shows significantly higher joint velocities ( | q ˙ | m a x = 0.099 rad / s ), indicating more dynamic and complex movements to navigate obstacles.
The distribution of weights between the mobile base and manipulator significantly influences the overall system behavior. Prioritizing the manipulator (Case 3) may be advantageous in situations requiring greater dexterity and flexibility in movements, while prioritizing the mobile robot (Case 2) may favor quicker and more direct navigation.
In summary, the analysis of data and graphs confirms that the choice of weights and control strategies critically impacts the system’s performance during navigation and obstacle avoidance. These findings are essential for optimizing the robot’s behavior in complex and dynamic environments.
The examples show the ability of the mobile manipulator to avoid obstacles when they interfere with both the base and the arm links. In particular, in Section 3.2, if the robot is already at the desired point and an obstacle interferes with the platform, the null space will allow the robot to move away while keeping the end-effector fixed.
In Section 3.3, current standards are taken into account to show a case study in which the system has to travel a long distance to reach a predetermined destination while avoiding obstacles located along the trajectory. This scenario is divided into three operational zones:
  • Zone 1 (farthest zone) where the robot primarily uses the mobile base for movement, keeping the arm stationary.
  • Zone 2 (intermediate zone) where the arm is utilized for obstacle avoidance while the base still has movement priority.
  • Zone 3 (closest zone) where both manipulator and moving platform are used with equal importance, exploiting system redundancy for precise positioning.
This dual-strategy approach, where the mobile base is used for long-distance travel and the manipulator arm is activated for final precision positioning, offers a comprehensive solution for tasks requiring straight trajectory end-effector motion. This methodology enhances efficiency, safety and precision, making it suitable for various industrial and service robotics applications.
The test results demonstrate the effectiveness of the proposed algorithm for navigating the robot through three operational zones. Initially, the planned route required the robot to travel 4.5 m. During the test, the robot was able to adapt using the obstacle avoidance strategy, with a slight increase in the distance traveled. This increase was 5% over the originally planned distance, indicating that the algorithm allowed the robot to dynamically adapt its trajectory over the time period considered, while maintaining safety and efficiency.
The results obtained made it possible to verify the functioning of the algorithm by providing velocity trends showing the behavior of the system when it interferes with obstacles. Upcoming research will explore the use of variable weights to further optimize the priority between the manipulator and the moving base, evaluating how the system’s behavior varies as the coefficients change. Further future work includes the analysis of the stability of the system [55] and the implementation on a real mobile manipulator consisting of a UR collaborative robot positioned on a MIR mobile base. In this way, it will be possible to test the operation on a real system, where the frequency with which the robot is controlled and the accuracy of the sensors used for obstacle detection can influence the system.

Supplementary Materials

The following supporting information can be downloaded at: https://github.com/fedene97/mobile_manipulator_obstacle_avoidance (accessed on 1 April 2025).

Author Contributions

Conceptualization, G.P. and M.C.; validation, G.P.; investigation, F.N. and G.P.; writing—original draft preparation, F.N.; writing—review and editing, G.P.; supervision, G.P. and M.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Salman, M.; Khan, H.; Lee, M.C. Perturbation observer-based obstacle detection and its avoidance using artificial potential field in the unstructured environment. Appl. Sci. 2023, 13, 943. [Google Scholar] [CrossRef]
  2. Prigozin, A.; Degani, A. Interacting with Obstacles Using a Bio-Inspired, Flexible, Underactuated Multilink Manipulator. Biomimetics 2024, 9, 86. [Google Scholar] [CrossRef]
  3. Frohm, J.; Lindström, V.; Winroth, M.; Stahre, J. The industry’s view on automation in manufacturing. IFAC Proc. Vol. 2006, 39, 453–458. [Google Scholar] [CrossRef]
  4. Antwiadjei, L. Evolution of Business Organizations: An Analysis of Robotic Process Automation. Eduzone Int. Peer Rev. Multidiscip. J. 2021, 10, 101–105. [Google Scholar]
  5. Peidro, A.; Haug, E.J. Obstacle avoidance in operational configuration space kinematic control of redundant serial manipulators. Machines 2023, 12, 10. [Google Scholar] [CrossRef]
  6. Scalera, L.; Lozer, F.; Giusti, A.; Gasparetto, A. An experimental evaluation of robot-stopping approaches for improving fluency in collaborative robotics. Robotica 2024, 42, 1386–1402. [Google Scholar] [CrossRef]
  7. Niloy, M.A.; Shama, A.; Chakrabortty, R.K.; Ryan, M.J.; Badal, F.R.; Tasneem, Z.; Ahamed, M.H.; Moyeen, S.I.; Das, S.K.; Ali, M.F.; et al. Critical design and control issues of indoor autonomous mobile robots: A review. IEEE Access 2021, 9, 35338–35370. [Google Scholar] [CrossRef]
  8. Rubio, F.; Valero, F.; Llopis-Albert, C. A review of mobile robots: Concepts, methods, theoretical framework, and applications. Int. J. Adv. Robot. Syst. 2019, 16, 1729881419839596. [Google Scholar] [CrossRef]
  9. Braga, R.G.; Tahir, M.O.; Iordanova, I.; St-Onge, D. Robotic deployment on construction sites: Considerations for safety and productivity impact. arXiv 2024, arXiv:2404.13143. [Google Scholar]
  10. Rose, J. New industrial mobile robot safety standard, R15. 08: R15. 08, American National Standard for Industrial Mobile Robots–Safety Requirements–Part 1: Requirements for the Industrial Mobile Robot. Control Eng. 2020, 67, M1. [Google Scholar]
  11. Belzile, B.; St-Onge, D. Safety first: On the safe deployment of robotic systems. In Foundations of Robotics: A Multidisciplinary Approach with Python and ROS; Springer: Berlin/Heidelberg, Germany, 2022; pp. 415–439. [Google Scholar]
  12. Tagliavini, L.; Colucci, G.; Botta, A.; Cavallone, P.; Baglieri, L.; Quaglia, G. Wheeled mobile robots: State of the art overview and kinematic comparison among three omnidirectional locomotion strategies. J. Intell. Robot. Syst. 2022, 106, 57. [Google Scholar] [CrossRef] [PubMed]
  13. Li, W.; Yang, C.; Jiang, Y.; Liu, X.; Su, C.Y. Motion planning for omnidirectional wheeled mobile robot by potential field method. J. Adv. Transp. 2017, 2017, 4961383. [Google Scholar] [CrossRef]
  14. Muir, P.F.; Neuman, C.P. Kinematic modeling for feedback control of an omnidirectional wheeled mobile robot. In Autonomous Robot Vehicles; Springer: New York, NY, USA, 1990; pp. 25–31. [Google Scholar]
  15. Popov, V.; Topalov, A.V.; Stoyanov, T.; Ahmed-Shieva, S. Kinematic Modeling with Experimental Validation of a KUKA®–Kinova® Holonomic Mobile Manipulator. Electronics 2024, 13, 1534. [Google Scholar] [CrossRef]
  16. Mnubi, S.A. Motion planning and trajectory for wheeled mobile robot. Int. J. Sci. Res. 2016, 5, 1064–1068. [Google Scholar]
  17. Han, S.; Choi, B.; Lee, J. A precise curved motion planning for a differential driving mobile robot. Mechatronics 2008, 18, 486–494. [Google Scholar] [CrossRef]
  18. Velasco-Villa, M.; Cruz-Morales, R.D.; Rodriguez-Angeles, A.; Domínguez-Ortega, C.A. Observer-based time-variant spacing policy for a platoon of non-holonomic mobile robots. Sensors 2021, 21, 3824. [Google Scholar] [CrossRef]
  19. Belzile, B.; Wanang-Siyapdjie, T.; Karimi, S.; Gomes Braga, R.; Iordanova, I.; St-Onge, D. From safety standards to safe operation with mobile robotic systems deployment. arXiv 2025, arXiv:2502.20693. [Google Scholar]
  20. Yang, M.; Yang, E.; Zante, R.C.; Post, M.; Liu, X. Collaborative mobile industrial manipulator: A review of system architecture and applications. In Proceedings of the 2019 25th International Conference on Automation and Computing (ICAC), Lancaster, UK, 5–7 September 2019; pp. 1–6. [Google Scholar]
  21. Markis, A.; Papa, M.; Kaselautzke, D.; Rathmair, M.; Sattinger, V.; Brandstötter, M. Safety of mobile robot systems in industrial applications. In Proceedings of the ARW & OAGM Workshop, 2019, Steyr, Austria, 9–10 May 2019; Volume 2019, pp. 26–31. [Google Scholar]
  22. Iriondo, A.; Lazkano, E.; Ansuategi, A.; Rivera, A.; Lluvia, I.; Tubío, C. Learning positioning policies for mobile manipulation operations with deep reinforcement learning. Int. J. Mach. Learn. Cybern. 2023, 14, 3003–3023. [Google Scholar] [CrossRef]
  23. Shen, B.; Lin, X.; Xu, G.; Zhou, Y.; Wang, X. A Low Cost Mobile Manipulator for Autonomous Localization and Grasping. In Proceedings of the 2021 5th International Conference on Robotics and Automation Sciences (ICRAS), Wuhan, China, 11–13 June 2021; pp. 193–197. [Google Scholar]
  24. Annusewicz-Mistal, A.; Pietrala, D.S.; Laski, P.A.; Zwierzchowski, J.; Borkowski, K.; Bracha, G.; Borycki, K.; Kostecki, S.; Wlodarczyk, D. Autonomous Manipulator of a Mobile Robot Based on a Vision System. Appl. Sci. 2022, 13, 439. [Google Scholar] [CrossRef]
  25. Yang, M.; Yang, E. Two-stage multi-sensor fusion positioning system with seamless switching for cooperative mobile robot and manipulator system. Int. J. Intell. Robot. Appl. 2023, 7, 275–290. [Google Scholar] [CrossRef]
  26. Sasiadek, J.; Wang, Q. Low cost automation using INS/GPS data fusion for accurate positioning. Robotica 2003, 21, 255–260. [Google Scholar] [CrossRef]
  27. Norman, A.R.; Schönberg, A.; Gorlach, I.A.; Schmitt, R. Validation of iGPS as an external measurement system for cooperative robot positioning. Int. J. Adv. Manuf. Technol. 2013, 64, 427–446. [Google Scholar] [CrossRef]
  28. Raskaliyev, A.; Patel, S.; Sobh, T. A dynamic model for GPS based attitude determination and testing using a serial robotic manipulator. J. Adv. Res. 2017, 8, 333–341. [Google Scholar] [CrossRef] [PubMed]
  29. Yousif, K.; Bab-Hadiashar, A.; Hoseinnezhad, R. An overview to visual odometry and visual SLAM: Applications to mobile robotics. Intell. Ind. Syst. 2015, 1, 289–311. [Google Scholar] [CrossRef]
  30. Kolhatkar, C.; Wagle, K. Review of SLAM algorithms for indoor mobile robot with LIDAR and RGB-D camera technology. In Innovations in Electrical and Electronic Engineering: Proceedings of ICEEE 2020; Springer: Singapore, 2021; pp. 397–409. [Google Scholar]
  31. Panigrahi, P.K.; Bisoy, S.K. Localization strategies for autonomous mobile robots: A review. J. King Saud Univ.-Comput. Inf. Sci. 2022, 34, 6019–6039. [Google Scholar] [CrossRef]
  32. Marvel, J.; Bostelman, R. Towards mobile manipulator safety standards. In Proceedings of the 2013 IEEE International Symposium on Robotic and Sensors Environments (ROSE), Washington, DC, USA, 21–23 October 2013; pp. 31–36. [Google Scholar]
  33. Zhao, X.; Liu, Z.; Jiang, B.; Gao, C. Switched controller design for robotic manipulator via neural network-based sliding mode approach. IEEE Trans. Circuits Syst. II Express Briefs 2022, 70, 561–565. [Google Scholar] [CrossRef]
  34. Srinivasa, S.S.; Ferguson, D.; Helfrich, C.J.; Berenson, D.; Collet, A.; Diankov, R.; Gallagher, G.; Hollinger, G.; Kuffner, J.; Weghe, M.V. HERB: A home exploring robotic butler. Auton. Robot. 2010, 28, 5–20. [Google Scholar] [CrossRef]
  35. Štibinger, P.; Broughton, G.; Majer, F.; Rozsypálek, Z.; Wang, A.; Jindal, K.; Zhou, A.; Thakur, D.; Loianno, G.; Krajník, T.; et al. Mobile manipulator for autonomous localization, grasping and precise placement of construction material in a semi-structured environment. IEEE Robot. Autom. Lett. 2021, 6, 2595–2602. [Google Scholar] [CrossRef]
  36. Sandakalum, T.; Ang, M.H., Jr. Motion planning for mobile manipulators—A systematic review. Machines 2022, 10, 97. [Google Scholar] [CrossRef]
  37. Leonori, M.; Gandarias, J.M.; Ajoudani, A. MOCA-S: A Sensitive Mobile Collaborative Robotic Assistant exploiting Low-Cost Capacitive Tactile Cover and Whole-Body Control. arXiv 2022, arXiv:2202.13401. [Google Scholar] [CrossRef]
  38. Chen, D.; Liu, Z.; von Wichert, G. Uncertainty-aware arm-base coordinated grasping strategies for mobile manipulation. J. Intell. Robot. Syst. 2015, 80, 205–223. [Google Scholar] [CrossRef]
  39. Shao, J.; Xiong, H.; Liao, J.; Song, W.; Chen, Z.; Gu, J.; Zhu, S. Rrt-goalbias and path smoothing based motion planning of mobile manipulators with obstacle avoidance. In Proceedings of the 2021 IEEE International Conference on Real-time Computing and Robotics (RCAR), Xining, China, 15–19 July 2021; pp. 217–222. [Google Scholar]
  40. Weyrer, M.; Brandstötter, M.; Husty, M. Singularity avoidance control of a non-holonomic mobile manipulator for intuitive hand guidance. Robotics 2019, 8, 14. [Google Scholar] [CrossRef]
  41. Li, W.; Xiong, R. Dynamical obstacle avoidance of task-constrained mobile manipulation using model predictive control. IEEE Access 2019, 7, 88301–88311. [Google Scholar] [CrossRef]
  42. Heins, A.; Schoellig, A.P. Keep it upright: Model predictive control for nonprehensile object transportation with obstacle avoidance on a mobile manipulator. IEEE Robot. Autom. Lett. 2023, 8, 7986–7993. [Google Scholar] [CrossRef]
  43. Zhang, H.; Sheng, Q.; Hu, J.; Sheng, X.; Xiong, Z.; Zhu, X. Cooperative transportation with mobile manipulator: A capability map-based framework for physical human–robot collaboration. IEEE/ASME Trans. Mechatronics 2022, 27, 4396–4405. [Google Scholar] [CrossRef]
  44. Papadopoulos, E.; Papadimitriou, I.; Poulakakis, I. Polynomial-based obstacle avoidance techniques for nonholonomic mobile manipulator systems. Robot. Auton. Syst. 2005, 51, 229–247. [Google Scholar] [CrossRef]
  45. Palmieri, G.; Scoccia, C. Motion planning and control of redundant manipulators for dynamical obstacle avoidance. Machines 2021, 9, 121. [Google Scholar] [CrossRef]
  46. Bajrami, A.; Palpacelli, M.C.; Carbonari, L.; Costa, D. Posture Optimization of the TIAGo Highly-Redundant Robot for Grasping Operation. Robotics 2024, 13, 56. [Google Scholar] [CrossRef]
  47. Zhang, S.; Cheng, S.; Jin, Z. A control method of mobile manipulator based on null-space task planning and hybrid control. Machines 2022, 10, 1222. [Google Scholar] [CrossRef]
  48. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Mobile robots. In Robotics: Modelling, Planning and Control; Springer: London, UK, 2009; pp. 469–521. [Google Scholar]
  49. Neri, F.; Forlini, M.; Scoccia, C.; Palmieri, G.; Callegari, M. Experimental evaluation of collision avoidance techniques for collaborative robots. Appl. Sci. 2023, 13, 2944. [Google Scholar] [CrossRef]
  50. Neri, F.; Palmieri, G.; Costa, D.; Callegari, M. Dynamic Obstacle Avoidance for Non-holonomic Mobile Robots with Differential Wheels. In Advances in Italian Mechanism Science, Proceedings of the International Conference of IFToMM ITALY, Turin, Italy, 11–13 September; Springer: Cham, Switzerland, 2024; pp. 265–272. [Google Scholar]
  51. Maalouf, E.; Saad, M.; Saliah, H. A higher level path tracking controller for a four-wheel differentially steered mobile robot. Robot. Auton. Syst. 2006, 54, 23–33. [Google Scholar] [CrossRef]
  52. Kanayama, Y.; Kimura, Y.; Miyazaki, F.; Noguchi, T. A stable tracking control method for an autonomous mobile robot. In Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati, OH, USA, 13–18 May 1990; pp. 384–389. [Google Scholar]
  53. Hu, T.; Wang, T.; Li, J.; Qian, W. Gradient Projection of Weighted Jacobian Matrix Method for Inverse Kinematics of a Space Robot With a Controlled-Floating Base. J. Dyn. Syst. Meas. Control 2017, 139, 051013. [Google Scholar] [CrossRef]
  54. Ogawa, S.; Konno, A. Mobile manipulation of a humanoid robot. In Proceedings of the 2012 IEEE/SICE International Symposium on System Integration (SII), Fukuoka, Japan, 16–18 December 2012. [Google Scholar] [CrossRef]
  55. Zhu, Y.; Liu, Z.; Jiang, B.; Zhu, Q. Adaptive fixed-time fuzzy fault-tolerant control for robotic manipulator with unknown friction and composite actuator faults. J. Frankl. Inst. 2024, 361, 107025. [Google Scholar] [CrossRef]
Figure 1. Classification of industrial mobile robots—ANSI/RIA R15.08.
Figure 1. Classification of industrial mobile robots—ANSI/RIA R15.08.
Robotics 14 00052 g001
Figure 2. Safety region delimiting the robot’s footprint, with 4 segments (a) and 5 segments (b).
Figure 2. Safety region delimiting the robot’s footprint, with 4 segments (a) and 5 segments (b).
Robotics 14 00052 g002
Figure 3. Geometric parameters for Equation (9).
Figure 3. Geometric parameters for Equation (9).
Robotics 14 00052 g003
Figure 4. Kinematic chain for the mobile manipulator composed of an UR10 robotic arm and a mir100 mobile base.
Figure 4. Kinematic chain for the mobile manipulator composed of an UR10 robotic arm and a mir100 mobile base.
Robotics 14 00052 g004
Figure 5. Obstacle–link distance calculation; cases ( a c ) refer to Equations (14), (15) and (16), respectively.
Figure 5. Obstacle–link distance calculation; cases ( a c ) refer to Equations (14), (15) and (16), respectively.
Robotics 14 00052 g005
Figure 6. Example 1: Frames of the simulation showing the mobile manipulator and the safety volumes.
Figure 6. Example 1: Frames of the simulation showing the mobile manipulator and the safety volumes.
Robotics 14 00052 g006
Figure 7. Example 1: minimum robot–obstacle distance for the motion shown in Figure 6.
Figure 7. Example 1: minimum robot–obstacle distance for the motion shown in Figure 6.
Robotics 14 00052 g007
Figure 8. Example 1, case 1: local velocity and joint speeds for the mobile robot and the manipulator when they have the same priority.
Figure 8. Example 1, case 1: local velocity and joint speeds for the mobile robot and the manipulator when they have the same priority.
Robotics 14 00052 g008
Figure 9. Example 1, case 2: local velocity and joint speeds for the mobile robot and the manipulator when the mobile base has priority.
Figure 9. Example 1, case 2: local velocity and joint speeds for the mobile robot and the manipulator when the mobile base has priority.
Robotics 14 00052 g009
Figure 10. Example 1, case 3: local velocity and joint speeds for the mobile robot and the manipulator when the arm has priority.
Figure 10. Example 1, case 3: local velocity and joint speeds for the mobile robot and the manipulator when the arm has priority.
Robotics 14 00052 g010
Figure 11. Example 1, case 1: Cartesian velocity of the end-effector for the mobile robot and the manipulator when they have the same priority.
Figure 11. Example 1, case 1: Cartesian velocity of the end-effector for the mobile robot and the manipulator when they have the same priority.
Robotics 14 00052 g011
Figure 12. Example 1, case 2: Cartesian velocity of the end-effector for the mobile robot and the manipulator when the mobile base has priority.
Figure 12. Example 1, case 2: Cartesian velocity of the end-effector for the mobile robot and the manipulator when the mobile base has priority.
Robotics 14 00052 g012
Figure 13. Example 1, case 3: Cartesian velocity of the end-effector for the mobile robot and the manipulator when the arm has priority.
Figure 13. Example 1, case 3: Cartesian velocity of the end-effector for the mobile robot and the manipulator when the arm has priority.
Robotics 14 00052 g013
Figure 14. Example 2: Frames of the simulation showing the mobile manipulator and the safety volumes.
Figure 14. Example 2: Frames of the simulation showing the mobile manipulator and the safety volumes.
Robotics 14 00052 g014
Figure 15. Example 2: minimum robot–obstacle distance for the motion shown in Figure 14.
Figure 15. Example 2: minimum robot–obstacle distance for the motion shown in Figure 14.
Robotics 14 00052 g015
Figure 16. Example 2: local velocity and joint speeds for the mobile robot and the manipulator.
Figure 16. Example 2: local velocity and joint speeds for the mobile robot and the manipulator.
Robotics 14 00052 g016
Figure 17. Workspace for simulation 3 divided into three zones: Zone 1 in which only the mobile robot is used; Zone 2 in which the arm can move but giving more importance to the movements of the base; Zone 3 in which the base and manipulator have the same weight.
Figure 17. Workspace for simulation 3 divided into three zones: Zone 1 in which only the mobile robot is used; Zone 2 in which the arm can move but giving more importance to the movements of the base; Zone 3 in which the base and manipulator have the same weight.
Robotics 14 00052 g017
Figure 18. Example 3: Frames of the simulation showing the mobile manipulator and the safety volumes.
Figure 18. Example 3: Frames of the simulation showing the mobile manipulator and the safety volumes.
Robotics 14 00052 g018
Figure 19. Example 3: minimum robot–obstacle distance for the motion shown in Figure 18.
Figure 19. Example 3: minimum robot–obstacle distance for the motion shown in Figure 18.
Robotics 14 00052 g019
Figure 20. Example 3: local velocity of the mobile robot.
Figure 20. Example 3: local velocity of the mobile robot.
Robotics 14 00052 g020
Figure 21. Example 3: joint speeds of the manipulator.
Figure 21. Example 3: joint speeds of the manipulator.
Robotics 14 00052 g021
Table 1. Kinematic parameters for the mobile manipulator (UR10 + MIR100).
Table 1. Kinematic parameters for the mobile manipulator (UR10 + MIR100).
h [ m ] l [ m ] d 1 [ m ] s 1 [ m ] a 2 [ m ]
0.6670 0.2270 0.1280 0.1760 0.6127
s 3 [ m ] a 3 [ m ] d 4 [ m ] d 5 [ m ] d 6 [ m ]
0.1278 0.5716 0.1157 0.1157 0.0922
Table 2. Main parameter values used for all the simulations.
Table 2. Main parameter values used for all the simulations.
r i n f [ m ] r s u p [ m ] v i n f [ m / s ] v s u p [ m / s ] λ m a x ϵ k [ m ]
0.10 0.13 0.1 0.5 10 3 10 3 5
q ˙ m a x [ rad / s ] v m a x [ m / s ] ω m a x [ rad / s ] v r e p [ m / s ] k x [ s 1 ] k y [ rad / m 2 ] k θ [ rad / s ]
π 2 0.5 π 2 122 0.5
Table 3. Parameter values used for the simulation 1.
Table 3. Parameter values used for the simulation 1.
k e p [ s 1 ] k e r [ s 1 ] T [ s ]
125
Table 4. Results from simulations of Example 1, case 1.
Table 4. Results from simulations of Example 1, case 1.
Δ L [ m ] | | x ˙ p | | m a x [ m / s ]
0.1410.085
| v | m a x [ m / s ] | ω | m a x [ rad / s ] | q ˙ | m a x [ rad / s ]
0.0400.0540.048
Table 5. Results from simulations of Example 1, case 2.
Table 5. Results from simulations of Example 1, case 2.
Δ L [ m ] | | x ˙ p | | m a x [ m / s ]
0.1370.100
| v | m a x [ m / s ] | ω | m a x [ rad / s ] | q ˙ | m a x [ rad / s ]
0.0390.1220.047
Table 6. Results from simulations of Example 1, case 3.
Table 6. Results from simulations of Example 1, case 3.
Δ L [ m ] | | x ˙ p | | m a x [ m / s ]
0.1440.073
| v | m a x [ m / s ] | ω | m a x [ rad / s ] | q ˙ | m a x [ rad / s ]
0.0000.0000.099
Table 7. Parameter values used for the simulation 2.
Table 7. Parameter values used for the simulation 2.
k e p [ s 1 ] k e r [ s 1 ] T [ s ]
50505
Table 8. Results from simulations of Example 2.
Table 8. Results from simulations of Example 2.
| v | m a x [ m / s ] | ω | m a x [ rad / s ] | q ˙ | m a x [ rad / s ]
0.0940.5780.392
Table 9. Parameter values used for the simulation 3.
Table 9. Parameter values used for the simulation 3.
k e p [ s 1 ] k e r [ s 1 ] T [ s ]
1230
Table 10. Results from simulations of Example 3.
Table 10. Results from simulations of Example 3.
L p l a n n e d [ m ] L e f f e c t i v e [ m ] | | x ˙ p | | m a x [ m / s ]
4.5004.7280.457
| v | m a x [ m / s ] | ω | m a x [ rad / s ] | q ˙ | m a x [ rad / s ]
0.3060.6470.145
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Neri, F.; Palmieri, G.; Callegari, M. Non-Holonomic Mobile Manipulator Obstacle Avoidance with Adaptive Prioritization. Robotics 2025, 14, 52. https://doi.org/10.3390/robotics14040052

AMA Style

Neri F, Palmieri G, Callegari M. Non-Holonomic Mobile Manipulator Obstacle Avoidance with Adaptive Prioritization. Robotics. 2025; 14(4):52. https://doi.org/10.3390/robotics14040052

Chicago/Turabian Style

Neri, Federico, Giacomo Palmieri, and Massimo Callegari. 2025. "Non-Holonomic Mobile Manipulator Obstacle Avoidance with Adaptive Prioritization" Robotics 14, no. 4: 52. https://doi.org/10.3390/robotics14040052

APA Style

Neri, F., Palmieri, G., & Callegari, M. (2025). Non-Holonomic Mobile Manipulator Obstacle Avoidance with Adaptive Prioritization. Robotics, 14(4), 52. https://doi.org/10.3390/robotics14040052

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop