Rearranging Tasks by a Robot Using a Motion Feasibility Checker and a Monte Carlo Tree Search

Uriguen Eljuri Pedro Miguel


In this dissertation, we focus on how to solve the problem of rearranging tasks with a robot. We develop a method to obtain the sequence of robot actions for a rearranging task while explicitly considering the motion capabilities of the robot. The resulting solution has a high success rate because it only uses actions that can be performed by the robot.

First, we propose to combine symbolic planning with motion planning to confirm a sequence of instructions before the execution with the robot. We propose to use a Motion Feasibility Checker (MFC). The MFC verifies if an instruction can be executed with the robot. This is achieved by estimating the final pose of the item, if it was picked-and-placed with a set of pick and place poses. The MFC uses a set of feasible poses stored in a feasibility database, which is created in advance and it is used as an estimation of the motion planner. A feasible pose is a pose of the end-effector where the robot can perform a pick or place maneuver.

Second, we propose to use the MFC with a Monte Carlo Tree Search (MCTS) to create a tree with possible robot actions to later search for a solution to the rearranging task. The MCTS prunes the tree using the output of the MFC to keep only valid actions. As the tree only has valid states, the path of states selected by the MCTS should also be valid and the robot should be able to execute them. The combination of the symbolic panning with motion planning is achieved when the MFC verifies the instructions of the MCTS.

Finally, we evaluate our proposed method by doing a shelf rearranging task in a convenience store setup with initial cases of multiple difficulties. We compare our proposed method to a conventional method (i.e., symbolic and motion planners independent) and to a conventional approach that uses the MFC. We evaluate the results based on the task completion time and score of the rearrangement task. The proposed method uses more time to find the solution, but the score obtained outperforms the scores of the other methods. This proves that it is better to verify the instructions before executing them with the robot.