Monitoring & Controlling · August 24, 2022

TALE

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.

The TALE methodology

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: