The methodology
The tag-based multi-perspective methodology (TALE) aims to support the robotic developer in the automatic extraction of multi-perspective event logs from the execution of a robotic system and analyze them through process mining.
The TALE methodology aims to foster the application of process mining and the development of techniques suitable for robotic systems.
It enables the system designer to specify tags in the source code and transform them into events to be inserted into the log. The generated event logs are enriched with multi-perspective information (such as space, communication, and resource occupancy), thus defining a multi-perspective event log, suitable for the application of process mining techniques.
User Guide
Case Study Phases
The case study scenario consists of one drone and two tractors that cooperate to identify and remove weed grass in farmland to increase productivity. All the robots are equipped with a controller, a battery, and several sensors and actuators.
At the system start-up, the drone takes off and starts the exploration of the field. During the flight, it can recognize weed grass areas, and when found, it sends the weed position to the tractors. This enacts the tractors, which send back to the drone their current position. The drone can hence elect the closest tractor and notify it. At this point, the selected tractor starts moving towards the field to reach the weed grass area and cut it. The drone execution can be interrupted if the drone battery runs out, or if the whole field has been explored and cleaned. At the same time, the tractors’ execution can be interrupted by a low battery.
The robotic system is built on the ROS framework.
Available Code
Preparation
Tagging
The tag is structured as a ROS message and it is composed of the activity field that identifies the action that the robot is performing, and the lifecycle that determines the status of the related activity.
tag = TagTopic()
tag.activity = 'CUT_GRASS'
tag.lifecycle = 'start'
ros_publisher.publish(tag)
CutGrass(ros_node)
tag.lifecycle = 'complete'
ros_publisher.publish(tag)
Execution
The robotic system has been executed in the Gazebo simulator 70 times. Each run has been configured to have different initial settings, i.e., random locations of weeds and variable battery levels for each robot.
Log Preprocessing
The results of multiple MRS executions are unrefined and distinct event logs, one that stores the tagged activities and another that contains the spatial perspective. Consequently, to obtain multi-perspective event logs we enrich activity data with spatial ones. At this stage, the tag information is compared with the spatial data, so that each event is associated with the location of the robot at the time it performed that activity.
Analysis
Drone
Control-flow Analysis:
Spatial Analysis:
Tractor_1
Control-flow Analysis:
Spatial Analysis:
Tractor_2
Control-flow Analysis:
Spatial Analysis: