Navigation Among Movable Obstacles via Multi-Object Pushing Into Storage Zones

With the majority of mobile robot path planning methods being focused on obstacle avoidance, this paper, studies the problem of Navigation Among Movable Obstacles (NAMO) in an unknown environment, with static (i.e., that cannot be moved by a robot) and movable (i.e., that can be moved by a robot) objects. In particular, we focus on a specific instance of the NAMO problem in which the obstacles have to be moved to predefined storage zones. To tackle this problem, we propose an online planning algorithm that allows the robot to reach the desired goal position while detecting movable objects with the objective to push them towards storage zones to shorten the planned path. Moreover, we tackle the challenging problem where an obstacle might block the movability of another one, and thus, a combined displacement plan needs to be applied. To demonstrate the new algorithm’s correctness and efficiency, we report experimental results on various challenging path planning scenarios. The presented method has significantly better time performance than the baseline, while also introducing multiple novel functionalities for the NAMO problem.


I. INTRODUCTION
With the rise of the fourth industrial revolution, mobile robots become robust and capable enough to complete autonomous tasks in real-world [1]- [5]. While the focus is mainly on designing methods that allow mobile robots avoiding heavy interactions with the environment, in this paper, we show that such interactions are useful. Most of the research in mobile robot path planning is focused on the problem of obstacle collision avoidance [6]. However, specific environmental conditions can be encountered that entice some form of interaction with the robot. Imagine the simple scenario of a person that needs to navigate in a kitchen; how many times do they need to push a chair towards a table, so that they can pass a narrow passage? One could also imagine more industrial cases, as visualized in Fig. 1, where a robot needs to clear and free a path to carry on with inspection tasks. Mike Stilman, dedicated a big part of his research life to solve this challenging, but important, problem, often called Navigation Among Movable Obstacles (NAMO) [7].
In [8], Stilman and Kuffner introduced a detailed formulation of the NAMO problem. In this work, we show that the robot's capability of manipulating movable obstacles (i.e., objects whose position in the space can be altered by the robot) can modify the structure of the robot's free Configuration Space (C-Space), notated as C f ree R . We assume that the set of movable obstacles produces a segmentation of the robot C-Space into d disjoint subsets C f ree R = {C 1 , C 2 , . . . , C d }.
In this specific NAMO scenario, in which each obstacle is moved only once to connect two adjacent subsets C i and C j without interfering with the connection of any other two C f ree R subsets, becomes a k objects Monotonous Linear Problem (LP k , M ). It has been shown in [9] that even if we restrict the problem to (LP 1 , M ) with a polygonal convex representation for the obstacles and the robot, solving the NAMO problem is NP-hard.
Rearrangement Planning (RP) is another example where movable obstacles can be manipulated by a robot. RP differs from the NAMO problem as the goal positions for the moving obstacles are predefined and, usually, a final goal for the robot is not provided. Renowned examples of this problem are the Sokoban game [10], in which a character has to push a set of crates to predefined positions, and the Assembly Planning [11], where the robot-obstacles interaction is not considered and only the objects movements are planned.
In this paper, we aim to tackle a special NAMO definition that takes some elements from the RP formulation. In the proposed NAMO instance, both the robot and the obstacles have predefined goal positions. This problem can occur in many application scenarios, e.g., a robot navigating in a warehouse towards the desired goal while several boxes with known storage zones are misplaced and prevent the robot to reach its destination. In this case, we need to simultaneously plan for both removing all the possible robot path occlusions, while manipulating the obstacles to their aimed positions through a sequence of manipulation actions. If we exclude the trivial scenarios in which manipulating an object for connecting C f ree R subsets results in directly moving the obstacle to the desired goal position, it is easy to see that this particular NAMO instance is intrinsically Non-Monotonous (LP k , NM ), i.e., the obstacles need to be manipulated more than once. Moreover, in this work, we consider the case in which the robot can only push the obstacles, a common situation that arises when a wheeled mobile robot without a manipulator is investigated. This choice inevitably reduces the search space making the problem harder.
The paper is organized as follows: in Sec. II, we review the NAMO-related work. Paper contributions are stated in section III. Then, in Sec. IV, we describe the proposed method, and, in Sec. VI, we discuss the performance advantages and limits of the proposed method. Finally, in Sec. VII, we conclude with future problem directions.

II. RELATED WORK
The NAMO path planning problem was explored via a series of papers, by Stilman, that resulted in his Ph.D. thesis [7]. In [12], Stilman et al. introduced an algorithm for NAMO, applied to humanoid robots, where the obstacles could be grasped, picked, and placed to free paths. The proposed planner created a graph with the objective of connecting different robot C-Space subsets that are separated by obstacles. To preserve the linearity of the problem, the obstacles can only move in certain directions that do not interfere with the connection of other robot C-space subsets. This allowed the decomposition of the main navigation problem into different sub-problems.
In [13], Stilman and Kuffner extended the proposed algorithm for (LP k , M ) problems by using artificial constraints and reverse planning to limit the action space and improve the algorithm efficiency. In [14], Okada et al. proposed another algorithm for humanoid navigation with movable obstacles. Their planner resulted from the compositions of different specialized sub-planners, each of them dealing with different problems, such as manipulation, navigation, and motion planning for manipulation. Nieuwenhuisen et al. [15], proposed a tree-based planner method for computing both the robot motion and the manipulation actions for the obstacles. A Rapidly-exploring Random Tree (RRT) approach [16] was used to find the final position of the manipulandum. Therefore the proposed planner displays probabilistic completeness and produces non-smooth paths for movable obstacles.
In [17] the authors introduced an algorithm that is capable to solve both linear and non-linear NAMO tasks, independently of the problem's monotonicity. The method is based on a recursive approach that decomposes the original problem into sub-problems that can be solved by moving only one obstacle. While the proposed method is capable of dealing with a large class of NAMO instances it is affected by an elevated computational complexity that hampers the method's performance.
The aforementioned methods introduce offline procedures, while the methods that we propose in this paper is an online sensor-based procedure that is capable to find NAMO solutions with even partial knowledge of the operational environment.
The online NAMO problem has been the focus of several papers in the literature. The work in [18] is one of the first that attempts to address the problem of online NAMO. It is assumed that the robot operates on a two-dimensional grid, and only pushing is allowed for moving obstacles. To reduce the computational burden, each time new information is gathered by the robot, a new plan is computed only if the optimality of the current plan cannot be ensured. In [19], [20], Levihn et al. introduced a novel online planner for uncertain discrete state space and action. The proposed planner is based on a hierarchical reinforcement learning strategy that is combined with a Monte Carlo Tree Search method for subtask planning.
One of the main limitations of the online planners intro-duced so far, is that they have been designed to deal only with (LP 1 ) problems. Instead, our proposed method aims to deal with (LP 2 , NM ). More recently, the NAMO problem has been extended to novel application contexts and utilized for different robotic platforms. While extending the method introduced in [18], the methods proposed in [21], [22] introduced the concept of social awareness, while planning for NAMO. In these works, the authors defined new criteria that extend the original NAMO formulation, such as social movability evaluation, social placement choice, and social action planning. All those measures aimed at maximizing the safety and human acceptance of the choice made by the robot. In another work [23], the NAMO problem has been applied in the context of an emergency evacuation. It was shown that it is possible to reduce the evacuation time by creating new pathways for the humans that are leaving a dangerous environment. In [24] the role of computer vision is explored in order to facilitate the solution of NAMO problems. In particular, the problem of how affordances detection can be used to create open loop NAMO plans. In [25], Raghavan et al. proposed a simple pushed-based strategy for freeing paths using a wheeled quadruped robot.
All of these methods differ from our proposed algorithm which focuses on the problem of NAMO with storage areas that presents peculiar challenges.

III. CONTRIBUTIONS
Motivated by the work presented recently in [21], [22], we further extend the framework in multiple directions to tackle the problem of NAMO with storage zones. In this paper, we extend the NAMO state-of-the-art in three directions: 1) we allow objects to be moved to storage spaces; 2) we tackle (LP 2 , NM ) problems, where up to 2 objects may be moved several times to connect free state space components with respect to the robot and obstacles' final positions, which naturally arise in the context of NAMO problem with predefined storage zones; and 3) we optimize the online path planning time-efficiency. This work, focuses on the path planning problem, with the implemented algorithms applied to simulated wheeled robot navigation tasks (in Gazebo and NVIDIA Isaac Sim), including obstacle detection and localization.

IV. ALGORITHM
In this work, we study the navigation problem of a holonomic/omnidirectional mobile robot moving in a 2D workspace that might include both static and movable objects. The robot is placed at a starting position R s and needs to plan and follow a path to a goal position R g . The initial world map W , includes just the positions of the static objects (e.g., walls) in the environment, while the knowledge about newly detected obstacles (pose, size, movability) is updated when the sensory system (RGB-D cameras) of the robot allows it. During interaction with obstacles, the robot's action space is limited to pushing forward. Following the related work, we represent the robot and the obstacles as rectangles in a discretized grid space. The map is updated when obstacles are detected and localized, while the type of the obstacles (static or movable) is determined via the pushing interaction. We further consider the case where an obstacle might need to be moved first in order to free space for a second obstacle to be moved and free a path. Lastly, we consider storage zones, that can be specified for each obstacle, and pushing actions can be performed only to move them in those spaces. Below, we explain the complete algorithm in detail.

A. THE BASELINE
In this section, we describe the state-of-the-art baseline method [21], which we extend in this paper. The path plan uses a search-based approach in a loop: the robot is sensing the environment, plans the optimal path using a search-based path planner (e.g., A* or similar) [6], and executes a single robot movement step. Then, these steps are repeated until the goal is reached or no solution exists. The overall algorithm is summarized in Alg. 1 and explained below:

1) World Sensing:
Given the original environment world map W , we generate an occupancy grid and add any new obstacles that are identified within the robot's Field-of-View (FoV). Those could be potentially movable. During pushing actions, we evaluate the actual ability of the robot to manipulate the obstacle, and if it cannot be pushed, it is marked as static. The generated world state W is stored during the sensing process. Further details about the particular implementation chosen for this are included in Sec. V.

2) Path Planning:
After sensing the environment, an initial plan P opt is generated, using a search-based path planner, e.g., A* [6]. If P opt is invalid, i.e., paths are of infinite cost or go through static obstacles, then new path plans are generated considering alternative paths, both with and without obstacle VOLUME , 2022 Require:Starting World State (W ), Starting Robot Position (R s ), Goal Robot Position (R g ); Algorithm 1: NAMO Algorithm.
foreach obstacle in M do P lans = P lans ∪ PlanActions(); end Choose obstacle with lowest cost plan foreach Action on Obstacle do P sim = SimulateActionPlan(M ) if P sim is better than P opt then P opt ← P sim end end return P opt ; end Algorithm 2: Path Planning. manipulation (in this work, by manipulation we consider only pushing actions). For each obstacle, we consider four action points in the center of each of the obstacle's vertical faces. Plans are generated for each reachable action point (i.e., see Fig. 2) with an associated cost based on the search-based path distance from the manipulation point R oi of object o to the goal R g . If no valid path is found from the robot's current pose to a manipulation point, the cost associated with reaching this point is considered infinite. The obstacle (and its action point) with the lowest estimated cost is selected. Simulated execution of each possible pushing action is performed, until a free path is found, generating simulated plans P sim . The action plan cost is calculated as a three-part segment path summing up the path to the action point (C 1 ), action path (C 2 ), and path from the free opening 1 to the goal (C 3 ), as follows (a visual example is shown in Fig. 3): The optimal plan P opt is then updated to the simulated plan with the lowest cost. The algorithm for this step is shown in Alg. 2.

3) Execute Plan:
The next desired pose in the P opt plan is returned by the path planning step above. A transformation is generated from the current robot pose to the desired pose. The action step is considered successful if the desired pose is reached. If the push is unsuccessful, e.g., pushes it out of the planned way, the robot will first attempt to complete the plan. In the next iteration of the NAMO algorithm, the agent updates the World state, which would also account for the failed push and the new obstacle location. Thus, the agent will re-attempt to move the obstacle. The algorithm for this step is shown in Alg. 3.

B. BASELINE PERFORMANCE ENHANCEMENTS
In this work, we propose updates that improve the performance of the state-of-the-art baseline method. In particular, we aim at decreasing the time taken to find solutions to NAMO problems, in the following ways. Route graph algorithm applied to obstacle pushing -optimal paths are found via wavefront grid distance calculation that alternates x-and y-axis movements. The optimal path with the fewest directional changes is chosen; and the robot plans pushing movements around the planned obstacle manipulation path.

1) One-Step, Until Opening
The original algorithm was simulating pushing action steps until a collision was detected. Instead, we plan a step until an opening is detected. In particular, once an obstacle has been detected, re-planning is executed. If a plan is found that includes manipulation of an obstacle, then this section of the path, C 2 , is generated by simulating push steps. For each step that is simulated, a check is made to find if a path to the goal is now available. In the baseline method implementation, the step simulation was continued until the obstacle collided with a static part of the environment. This meant that the simulation step could take a long time. In our method, the steps are only simulated until a path to the goal is found, then this part of the routine exits.
2) Save the Plan for Next Best Obstacle, without Re-Planning In the baseline method implementation, if two obstacles had been detected, plans would be made for each obstacle and the plan with the lowest cost would be selected. If the robot went on to execute this plan and found that the obstacle was in fact non-movable/static, the planning stage starts and plans are generated for the second obstacle, again. Thus, the algorithm repeats for work that has already been done. While for two obstacles this might not be an issue, the computation required grows with the number of obstacles. By storing the previously calculated plans associated with each obstacle, the computation required to re-plan is minimized -the robot only needs to recalculate the first path of the plan (from the current robot position to the obstacle action point) as its starting location will have changed, while keeping the remainder.

3) Preference Around Obstacles
In the baseline method implementation, when planning for an obstacle, a plan around the object is generated, as well as plans where the obstacle is moved, rather than just selecting the alternative path -around the obstacle. In our implementation, if a path is available around the detected obstacle, it is preferred and selected.

C. BASELINE FUNCTIONAL ENHANCEMENTS
Apart from making the state-of-the-art baseline method faster, we also propose a set of new features described in this section.

1) Storage Zones
The baseline method considers designated zones in which manipulated obstacles are not allowed (i.e., taboo zones). For example, a zone could be added in front of a doorway to VOLUME , 2022 prevent door obstruction. We extend this by considering the opposite case, where an area could be designated as an area where obstacles should be stored (i.e., storage zones). In this way, when an obstacle blocking a path needs to be moved away, the obstacle is not left in some unknown state, but at a place of storage. See an abstract example in Fig. 5 and a simulated run in Fig. 7.
The storage zones are firstly pre-defined and represented as polygon shapes. When the world map W is generated, each potentially movable obstacle is assigned to the closest storage zone. A path is planned from the starting R s to the goal R g robot position. If a new obstacle is detected, the plan with the lowest cost is searched for, with A*. If the plan includes the push action for an obstacle, a plan to move the obstacle to the storage zone is made. The storage zone linked to the obstacle is checked to find a space for it. Then, the space with the minimum number of direction changes for the robot is picked. Simulation steps are carried out to see if after each step the obstacle is within the storage zone. If this cannot be achieved, other options are explored, such as planning for another obstacle. With the current implementation, if an object cannot be put into storage and there are no further options for the robot (alternative paths or moving other movable obstacles), the goal is considered unreachable. In the opposite case, when a storage zone can be reached, the planned trajectory points are sent to the robot. The obstacle is added to the storage zone and the available space in the storage zone is updated. The robot should complete the plan, pushing the box to the storage zone, backing away from the obstacle to avoid collisions with it, and continuing on its path to the goal.

2) Alternating Push Directions
In the baseline algorithm, obstacle movement is limited to pushing in a straight line along either the x or y axis of the world map W . To consider more complex movements, such as moving an obstacle to a storage zone, we need to integrate alternative actions in the planner. One option would be to be able to physically stick an obstacle to the real robot, which is difficult to do or use a manipulator to pick up the obstacles. Instead, we added a new feature in the NAMO framework. With our new path planning enhancement, if an obstacle's closest storage zone cannot be accessed by a simple motion along a single world axis, a plan is generated by including an alternating sequence of pushes along the xand y-axes. This pushing method is based on the route graph algorithm described in [26] and enables a path to be generated for the manipulation phase of the planning, which is not restricted to single axis motions.
The obstacle pushing algorithm is only used to plan pushes to storage zones. Firstly, a wavefront grid of the world is generated along with a node tree representation. Each grid cell is evaluated to find the minimum distance to the goal. A path needs to be found with the minimum number of direction changes. Starting from the first grid square, we select a neighboring square in either the x or y direction. We continue moving in a straight line in the grid, and once the cost of the grid square stops decreasing, we add this grid location as a node in the node tree. We then change direction and repeat the process until the goal cell is reached. We select the path from the start to the goal with the least number of nodes, retrace this path, and add all grid cells to the plan.
This algorithm provides the path that the obstacle needs to follow (not the robot itself). Thus, the robot path needs to be generated too. In the simple case that the obstacle movement is in a straight line, the robot's path is the same as the obstacle's planned path, with an offset. When a direction change is needed, the robot retreats from the obstacle to avoid a collision and moves around the edge of the obstacle to approach the next manipulation point. For each section of the obstacle push plan, the robot plan is made up of straight lines with offsets to trail the robot behind the obstacle and 're-positioning' sections to move the robot to the next manipulation point in order to push the obstacle along the perpendicular direction. If the obstacle plan starts with a motion towards the robot's current position, an A* path to the manipulation point on the opposite face of the obstacle is added to the robot plan. The grid-based path is converted to real-robot motions and the complete plan is sent to the robot as a sequence of trajectory points. An example of how the path is found and implemented is visualized in Fig. 4.

3) The Two-Obstacles Problem (LP2)
Anytime a manipulation is simulated as a sequence of steps in a straight line, a check is made on each step to see if 6 VOLUME , 2022 either (i) a new path can be found to the goal or (ii) any manipulation points on the rest of the detected obstacles that are blocking the current path would become accessible. If a manipulation point would become accessible, we check if moving it would open up a path to the goal. If a plan cannot be found, another obstacle is selected. This process can be performed in a recursive fashion to be extended to any number of additional obstacles. An abstraction of this behavior is shown in Fig. 6 showcasing a scenario that could not be solved by the baseline implementation. Simulation results are shown in the experimental section.

V. EVALUATION
In this section, we demonstrate the behavior resulting from our method and highlight the significant change in performance for solving NAMO tasks.

A. SETUP 1) Environment
We set up a simulation environment in Gazebo and NVIDIA Isaac Sim consisting of a walled room with a winding corridor leading to an open area. The environment presents opportunities for various obstacle arrangements blocking the robot's paths. The simulators were chosen as they would make the transfer to the real robot and also testing more complex scenarios that require photo-and physic-realism easier in future work. As obstacles, we use standard cardboard boxes of variable sizes, placed in ways that block the path to the navigation goal and make it impossible to reach without manipulating them -we do not consider paths that can be solved without manipulation, as they can easily be solved without NAMO. For all simulations, we use the Robotnik Summit XLS robot -an omnidirectional wheeled mobile platform. The action space consists of movement direction and velocity. The observation space is defined by the robot's exteroceptive sensors which have a limited Field-of-View (FoV) -LiDARs and RGB-D cameras (LiDAR is used for SLAM, while RGB-D for obstacle detection). Success in this environment is defined as the robot reaching the specified goal location.

2) Obstacle Detection
Given the original environment world map W , the 2D LiDAR sensors generate an occupancy grid representation to map new static parts of the environment while the robot is moving and simultaneously localize the robot in it. In this work, this is achieved with OctoMap [27] and GMapping [28]. We use DOPE [29] trained on finding cardboard boxes to identify objects in the sensor's FoV, that are potentially movable.

B. SIMULATED RESULTS
Following the evaluation of Wu et al. [18], we showcase simple examples of our method's behavior and compare the time performance with the baseline.

1) Behavioural Simulation
To showcase the use of Storage Zones and the alternating axis pushing, we set up obstacles along the path to the robot's goal and designated storage zones that require pushes in more than one direction. One such run is shown in Fig. 7, where the robot successfully navigates to the goal, storing all pushed obstacles along the way. Similarly, we set up scenarios where multi-object interaction is required (LP 2 ). In the example shown in Fig. 8, the robot successfully moves the obstacles away from the path and reaches the goal.
Overall, our method was successful in all standard storagezone scenarios -the method was able to solve the task without getting stuck and pushed all boxes into the appropriate storage zones. However, there were two failure cases that come from these scenarios: 1) when there is an unseen obstacle directly behind another, in which cases manipulating both obstacles at the same time is the only viable solution; 2) when the obstacle is close to a wall that it needs to be pushed away from -requiring a manipulation action located in a point different from the four vertical face center points. An interesting scenario is shown in Fig. 9, where the second obstacle could have been pushed more down, which would have obstructed the robot's path to the goal. Instead, the robot decides to push it to the side. Note that in this case, the optimal solution could have been for the robot to push both of the last two boxes together with a single manipulation action.

2) Time Performance
To showcase the speed improvement of the method, we compare the times to finish a navigation task with the baseline [21]. We set up the environment with different obstacle configurations that block the path to the goal. For this experiment, all obstacle configurations can be solved without multiobject manipulations (LP 1 ) to allow a fair comparison with the baseline. Since the proposed method is an improvement over the baseline, in any other scenario which doesn't make use of our proposed optimizations, the performance is the same. Thus, we focus on three significant variations of this task with the single object manipulation constraint: (i) a simple scenario where one movable obstacle must be moved to clear a path; (ii) a scenario with two obstacles blocking an opening, one of the obstacles being static, the other movable; in this scenario, the robots will first attempt to move the closer obstacle which is static, before moving on the movable one; (iii) a scenario where the robot must pass through obstacle blockages, and must push the obstacles in a way that doesn't block its future path. These local configurations are standard for the NAMO problem [12], [18].   Our method requires on average 78.45% less time to solve a NAMO task than the baseline. The results are shown in Table 1. We observe that the baseline wastes more time on replanning as well as pushing obstacles until collision, rather than until a path is freed. The most significant delay in the process is the one-step simulation updates performed for the manipulated obstacles.

VI. DISCUSSION
There are multiple reasons why the proposed method performs significantly quicker than the baseline: (i) while the FIGURE 9. In this scenario, the robot successfully pushes a box to the side instead of forward, in order to preserve enough space for the narrow passage to the goal. baseline simulates pushing action steps until a collision was detected, our method plans steps until a new opening is detected; (ii) the plans to reach the next-best obstacle are kept during the plan selection phase, rather than re-planning after each obstacle-move attempt that fails; and (iii) and periodically checks if the path to the goal has been freed up, i.e., if a plan around the obstacle is available, the agent prefers it over moving an obstacle. Additionally, with the wavefront obstacle movement, the method is able to solve quicker the more complex scenarios that require moves in The work proposes a versatile method that can produce more robust and efficient NAMO path plans. However, there it is still limited in movements that require pushing in nonstandard obstacle faces (e.g., pushing an obstacle diagonally), and pushing of multiple objects at the same time, which could also require a more sophisticated prediction of the interaction. While the method works as a practical solution to a simplified version with two assumptions (i.e., single obstacle pushing in the world's xy-axes), it is essential that these limitations are addressed for a more general practical solution.

VII. CONCLUSIONS AND FUTURE WORK
In this paper, we study the problem of Navigation Among Movable Obstacles (NAMO), demonstrating several extensions and improvements over the prior state-of-the-art work. We propose methods that: (1) allow obstacle movement via pushing along more complicated trajectories, instead of single-axis movements; (2) add storage zones to obstacles when they are moved, which highlights the practical use of NAMO in the real-world; and most importantly (3) allow multi-object manipulation capabilities that can be used to solve challenging problems that prior work failed to (we have tested with two obstacles, leaving the application to more as future work). Moreover, the method's time performance presents a significant improvement over the baseline.
There are multiple directions that this work can be extended. First, we will work on real-robot experiments that need to be demonstrated. We have presented some preliminary real-world experiments in the sim-to-real solution to the NAMO problem in [30] (see Fig. 10). Secondly, an interesting direction is the manipulation of multiple objects at the same time, as well as focusing on manipulation points that are less predictable -different than the vertical face centers. Additionally, we are considering assigning obstacles to storage zone based on semantic connection instead of minimum distance, e.g., associating a chair with a dining room. Last, moving from 2D to 3D environments that might also be dynamic will allow the application of NAMO to realworld settings.
DIMITRIOS KANOULAS (Member, IEEE) received the Ph.D. degree from Northeastern University, Boston. He is currently an Associate Professor in Robotics and Computation at the Department of Computer Science, University College London (UCL) and a UKRI Future Leaders Fellow (FLF). Before joining UCL, he was a Postdoctoral Researcher at the Italian Institute of Technology for five years. His research interests include robot perception, planning, and learning, while he has worked on several real-world humanoid and animaloid robots. He has published more than 50 research articles in high-impact robotic journals and conferences, while he has won the Best Interactive Paper Award in IEEE Humanoids 2017, the Best Student Paper Award Finalist in IEEE ICARCV 2018, the Outstanding Associate Editor Award in IEEE/RSJ IROS 2022, and the UK-RAS Early Career Award 2022. VOLUME , 2022