ARMM, Multi-goal Picking / Loading Software Application
ARMM multi-goal tool is a software executed into a P3DX mobile robot platform, which solves the problem of computing a near optimal solution for multi-goal path planning in the conext of picking and delivering applications.
ARMM is based in the Lin-Kernighn algorithm, but modified to consider non-Euclidean distances and Hamiltonian paths. ARMM is a client/server application, the user interface is text based, and the server application deals with client request and the map localization issues. Actually, ARMM is a registered software legally recognized by the Interior Ministry of Colombia. This document can be downloaded here.
The ARMM application was conceived to perform pick/deliver tasks using a mobile robot into indoor environments. The main process can be described as follows:Users request pick/deliver tasks using a client user interface.
This new request means a new goal for the multi-goal path planning software running into the mobile robot.
The multi-goal path planning software is able to receive many request and compute a sub-optimal path to perform the pick/deliver tasks.
Once this path is computed, the mobile robot starts its save navigation using a known map and performing a particle filter based localization.
The mobile robot stops at each goal for the pick/deliver task. To do so, a HMI is used to obtain feedback from users.
At the end of the robot path when the mobile robot has completed all pick/deliver tasks, it always return home for recharging.
The ARMM client application is a text based software which runs in a Linux console. The following features are available:
It automatically connects with the ARMM server in order to gather all goals available in the environment map.
These goals can be selected as potential pick/deliver places by users.
All connected users can observe all the pick/deliver places.
At the bottom, the ARMM client application shows the path planner status and the current goal.
The former shows if the ARMM server is planning a new route or the mobile robot is going to goal.
The current goal status shows whether the robot arrived to goal, or if it is waiting for user dismiss.
It is worth noting that ARMM server can support multiple users, and the mobile robot is able to respond to all pick/delivery task requested by them.
Two main steps are needed to setting up ARMM into a new environment. First, the mapping phase, which finale result is a map of the working environment. In this work, this map was previously computed using the Logger and Mapper3 applications of MobileRobots Inc. The main sensor used to compute the environment map was 2D Laser Range Finder (SICK LMS200). The following video shows how this phase was performed at the second floor of 353 and 354 buildings, at the Engineering Electrical and Electronics School of the Universidad del Valle:
Second, the operation phase, where the mobile robot computes a path considering multiple goals for picking/delivering; the following video shows this phase considering multiple goals at the second floor of the 353 and 354 buildings, at the Engineering Electrical and Electronics School of the Universidad del Valle:
If you use ARMM in your academic work please cite this paper:
K. Hernandez, B. Bacca and B. Posso, Multi-goal Path Planning Autonomous System for Picking up and Delivery Tasks in Mobile Robotics, in IEEE Latin America Transactions, vol. 15, no. 2, pp. 232-238, Feb. 2017.
BibTeX entry for this paper is given below:
@article{Hernandez2017,
author = {Hernandez, Kevin and Bacca, Bladimir and Posso, Breyner},
doi = {10.1109/TLA.2017.7854617},
issn = {1548-0992},
journal = {IEEE Latin America Transactions},
month = feb,
number = {2},
pages = {232--238},
title = {{Multi-goal Path Planning Autonomous System for Picking up and Delivery Tasks in Mobile Robotics}},
url = {http://ieeexplore.ieee.org/document/7854617/},
volume = {15},
year = {2017}
}