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
describes the configuration of the mobile manipulator and
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
. In matrix form, the velocity kinematics of such system can be written as
where
is the
Jacobian, where
m is the dimension of the vector
(
),
the submatrix of the position and
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 defines the axes relative to 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 direction, so its velocity can be described in the local frame using the vector , 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 , while the linear speed of the left wheel is .
By applying a rotation of angle
around the
z axis, it is possible to express the velocity vector in the global reference system, as described in Equation (
2):
Here, represents the velocity of the base in the global reference system, with indicating the position of the central point of the mobile robot. The orientation of the robot with respect to the axis of the global reference frame W is given by .
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)):
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
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
and
, the resulting trajectory is expressed as
where the parameter
evolves over time following a fifth polynomial function. The coefficients
are defined as
The parameter k, in the equation, is adjustable to modify the radius of curvature of the path. The orientation is then computed to ensure that the axis remains tangential to the trajectory at all points. Once the trajectory is generated, a reference velocity profile can be derived as and .
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
is applied at the point
, which corresponds to the closest point on the platform’s contour to the obstacle’s position
(
Figure 2). The magnitude of
acts as a control parameter, while its direction is determined by the unit vector along the distance
, resulting in
.
The kinematic expression of
can be formulated as follows, where
represents the Jacobian matrix associated with point
:
where
and
represent the coordinates of
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
with the shortest distance to the obstacle and computing the distance vector
[
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:
The term
of the previous equation represents the planned velocity profile with error compensation, as defined by Maalouf et al. [
51] and Kanayama et al. [
52]:
The terms , and represent the error components between the planned and actual poses with respect to the robot’s local reference frame, while , and 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
, whereas the tangential component
remains unconstrained. By enforcing a null velocity at the platform’s central point
, the angular velocity can be determined as
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:
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:
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
and
, it is necessary to impose
. For this reason, an angle
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
where
=
is the Moore–Penrose pseudoinverse of the Jacobian matrix
,
=
is the projection into the null space of
and the joint null space velocity
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
can be calculated as follows:
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 , 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
, and its distance from the robot body is determined based on the diagrams in
Figure 5. In the figure,
represents the vector defining the link segment, while
and
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
and the Jacobian
associated with the linear velocity of
is defined as
The robot’s movement is affected by the presence of an obstacle when the 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 is therefore implemented at the point . More specifically:
- (a)
; the point
is localized to the distal extremity of the link:
- (b)
and
; the distance
is orthogonal to the link, and the position of
along the link is defined by the scalar parameter
x:
- (c)
; the point
is localized to the proximal extremity of the link:
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
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,
and the respective Jacobian
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
represents the vector of planned velocities, and
denotes the repulsive velocity resulting from the presence of an obstacle. In this expression,
is a customizable magnitude, and
is an activation factor determined by the distance from the obstacle
. On the other hand, the term
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
represents a vector encompassing position and orientation errors, denoted as (
and
), respectively. Its definition is defined as
where
denotes the position of the end-effector, and
indicates the desired planned variable. Instead,
,
and
are the unit vectors of the end-effector reference frame. In (
17), the error
is multiplied by
, where
is a gain vector. It is possible to give different gains to the orientation (
) or positioning (
) 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):
where
is the translation part of the Jacobian,
an additional activation parameter and
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
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
can be used, where
is the Jacobian and
is a diagonal matrix of the weights associated with each element of the joint space [
53,
54]. Its formulation is given by
The
matrix is an
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
The first two elements of the diagonal (), i.e., belonging to the matrix, weight the movement of the moving platform, while the remaining n elements (), i.e., belonging to the 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
is determined by the value of element
of the weighting matrix
. When the value of element
is significantly larger than the other elements, the increment in the corresponding joint vector element,
, becomes small. Conversely, when the value of
is relatively small, it becomes larger. In essence, a large value of the coefficient
corresponds to a more constrained or sensitive joint, resulting in smaller variations, while a smaller value allows for larger variations of
.
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
of angular velocity was imposed on all joints of the robotic arm as a saturation threshold, while for the mobile robot a limit
and
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 taken as reference. In particular, and the radius is determined as a linear function of the relative obstacle/robot velocity , with lower and upper bounds ( for , for ).
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
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 (
), 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 (
). 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
and
, 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
and
, 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
and
performed by the mobile robot during the path are proposed; together with the maximum velocity
reached by the manipulator joints and the maximum of the linear speed norm of the end-effector
.
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
and
were increased.
Figure 14 shows the simulation, performed over a period of
. 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 (
). 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
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
, 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 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 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 , 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
, 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 , 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
.
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
. 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
to
. The third is stationary at point
, 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
and
. 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
, 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
and
, respectively. In this way, movement priority is given to the mobile base. When the mobile manipulator arrives close enough to the target point
, it enters zone 3 and equal importance is given to the movements of the manipulator and the platform (
).
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,
the distance below which no action is possible and the robot’s speed is reset to zero to stop it and
is a critical distance intermediate between
and
r. No influence of the obstacle is desired if
, while the robot stops if
. 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
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 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 (), 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.