Emulation solution for development and validation of warehouse automation
Abstract
Emulators and simulators are considered to be essential software units that support the engineering team throughout the cycle of development and facilitate robot design, algorithm testing, fault analyses and full-scale testing in robotics and related applications. The emulation framework allows to study a variety of setups of warehouse installations, as well as sensors and tools modeling and configuration. The framework assists principal software and hardware testing and debug, allows to analyze the cases of sensor and mechanical component failure.
The thesis describes the design process and ideas beyond creating a flexible framework for designing software and hardware for applied robotics. Special attention is paid to deployment and packaging due to immense amount of the dependencies and relations that are to be treated appropriately.
Designers of robotic modules would benefit from it due to the ability to examine the dimensions and geometrical properties. For instance, an ability to grasp the items, to avoid robot links self-collisions, to reach certain positions, etc. A capability to verify the model of robot behavior in the specified environment may reduce real installation testing costs and avoid damage of hardware units.
Software developers, in their turn, would receive an opportunity to start testing and maintaining certain software products even before the initial hardware setup is ready. Control interfaces of the emulation software are supposed to help transfer commands to the emulation model and execute them in the operation loop with the purpose of studying the model’s behavior. Performing a special set of purposely incorrect or improperly organized commands should raise corresponding warning and errors so that they could be studied and handled.
The framework is implemented as ROS package that includes simulation worlds and setups of the equipped robots and AGV’s. The worlds files consisted of configured sets of objects and hardware models, which allowed to research and study particular algorithms and approaches for the tasks of motion control and sensors data processing. Several deployment alternatives are used as a strategy to deliver the software stack to the end users, their comparison is presented in the corresponding chapter.