Pushing Boxes in a Mobile Robot Simulator

ROSSUM 2011
June 27-28, 2011
Xalapa, Ver., Mexico
Pushing Boxes in a Mobile Robot Simulator
Uriel H. Hernandez-Belmonte, Victor Ayala-Ramirez and Raul E. Sanchez-Yanez
Universidad de Guanajuato DICIS
Carr. Salamanca-Valle Km. 3.5+1.8, Palo Blanco
36700 Salamanca, Mexico
[email protected], {ayalav, sanchezy}@ugto.mx
Abstract
The plan of actions needed to solve the Sokoban problem results of the search in a tree of configurations. Each configuration
is composition of all the elements in the Sokoban board. The
tree is built dynamically by analyzing the possible actions that
could modify the current configuration. Heuristic rules determine how to prune branches of the tree that are not part of feasible solutions. To perform this efficiently, we consider mainly
deadlock situations and box liberties. the search procedure is
based on the A* algorithm. The possible actions used to change
the state of the board are navigation and push task. When a
solution is found, the plan is executed by making use of path
planning, motion and interaction capabilities.
The solution is then decomposed into robotic tasks that can
be executed by the robot. As a first step towards the real implementation. we use a game engine-based robot simulation to
perform a simulation of the execution of the actions the solve
the Sokoban board presented as input.
This demo proposal presents the implementation of a solution of the problem of pushing boxes in a mobile robot simulator. We solve several boards of the Sokoban game, consisting
in pushing boxes in a scenario, from a start configuration to a
goal configuration. The game finishes when all boxes are in one
the goal positions. The player has some constraints in his actuation capabilities because it can push the boxes but it is not
possible to pull them. The restrictions on the actuation capabilities makes the Sokoban game difficult to solve. Our approach
to the solution for this problem was implemented in a mobile
robot simulator built using a video game engine. The reasons
to use a game engine are: to take advantage of its built-in capabilities, like its image rendering and physics engines and to
design and test new robot architectures. To validate this work,
we will present several examples of the real time solution of the
Sokoban game using the developed software system.
1. Sokoban game
Solving complex task autonomously is one of the main problems addressed by mobile robotics. Complex task are those
tasks where the robot exhibits different capabilities for sensing,
decision making and actuation. We consider the Sokoban problem because a real implementation will need the interaction of
the robot with several elements in its environment. Firstly, if
will need to build a plan composed of primitive actions: navigate and push to arrive to solve the proposed board. Secondly
these primitives themselves will be composed of more basic capabilities like path planning and closed-loop execution control
and robot-object interaction task. In fact, the Sokoban problem
is known to be NP-hard.
Figure 1 presents a typical Sokoban board each of the three
boxes in the scenario have to be pushed to a goal position. Even
if at some step of the solution process a box occupies a goal
position, we can not consider that arrangement as being a partial
solution of the problem. What is important is to achieve the goal
configuration for all the boxes simultaneously. The limitation
of the actuation capabilities of agent makes more difficult the
Sokoban problem.
Figure 1. A typical Sokoban board.
2. Robot Simulation Platform
Even if there exist several available platforms to simulate
mobile robots (ARIA, Mission Lab, Miro, among many others.), we have used a custom-developed mobile robot simulator
that uses a game development engine at its base [1]. The rationale of this choice is the availability of physics engines that
model physical interactions between objects. That is a essential
86
ROSSUM 2011
June 27-28, 2011
Xalapa, Ver., Mexico
Figure 2. Snapshot of the operation of the implemented system.
need in the Sokoban problem. We have taken the main requirements specified by Kramer et al. to develop our mobile robot
simulation platform. That includes as main elements: the target platforms. In our case, we have used as target platform the
Pioneer P2AT robot, available at our laboratory. We have implemented sensing capabilities (laser, sonar, contact, vision, odometry ) and actuation capabilities ( differential drive kinematics)
for the simulated robot in our experiments.
References
[1] J. Faust, C. Simon, and W.D. Smart. A video game-based mobile
robot simulation environment. In IEEE/RSJ International Conference on Intelligent Robots and Systems, pages 3749 –3754, 2006.
[2] James Kramer and Matthias Scheutz. Development environments
for autonomous mobile robots: A survey. Autonomous Robots,
22:101–132, 2007.
3. Results
We show a snapshot of the developed software in Figure 2,
where the robot is solving an instance of the Sokoban problem.
We can note the delimiting walls having a wood like texture.
We can observe also the robot and two floating windows that let
us to inspect the state information the robot has about itself, and
the actual robot state as known by the simulation platform. We
will present the solution of several Sokoban boards in real time
at the demo show.
Acknowledgements
Uriel H. Hernandez-Belmonte thanks the funding of its work
by Consejo Nacional de Ciencia y Tecnologı́a (CONACYT)
through the Grant No. 329356/229784.
87