Keywords: BPMN, EPC, ER, PetriNets, UML

Affiliation: University of Vienna

Controlling a Robot Arm

This scenario provides a short showcase of how models can be used to control robots. In this specific case the Bee-Up tool is used together with the OMiLab Robotic Arm.

Try it

You can try it yourself by setting up the Bee-Up environment, access the OMiLab Robotic Arm and execute the provided models. The result can be seen on the live video-feed of the robotic arm.


To setup the environment follow these simple steps:

  1. Download and install the Bee-Up Modelling Toolkit (1.4 or above recommended, doesn't work with versions below 1.3).
  2. Download and import the scenario models into the Bee-Up tool (set "Import objects from other library" just to be safe).

For help with the steps and with Bee-Up in general you can check the Bee-Up manual. Before continuing it is also recommended to familiarize yourself with the Bee-Up tool, especially with its general modelling functionality and the Petri Net and Flowchart model types.


It is also necessary to reserve a time slot for the OMiLAB Robotic Arm 1 (omiarm1), which can be achieved by going to its Authentication page. This is necessary to prevent multiple users from trying to control the robot at the same time. Note that reserving a time slot only works when you are registered and logged in on the OMiLAB page and time slots can only be reserved for the current day. While logged in you can also see your current security tokens.


Now you are ready to execute the models and see the robot in action through the provided live video-feed. When executing the models you will be asks to provide the security tokens through a popup (only the tokens separated by commas without the double quotes, e.g. IZlcua4qwmkTdg==,1rYGKR46SJeVWA==). Note: the Bee-Up 1.3 version models require you to copy your security tokens into the code of certain objects.

  • To execute the "ROBOT - Coffee Flowchart" or "ROBOT - Coffee Flowchart 2.0": Simply click once on the "Execute" button of the Start Terminal.
  • To execute the "ROBOT - Coffee Petri Net": The Petri Net allows you to manually fire each Transition by clicking once on its “Fire” button and provides some control over which path to take. You should either guide the mark (the Petri Net Token) through the net until it reaches "Contraption ready" again or you can use the "Initial state" State Storage to reset the Petri Net.

See it

The following video shows how two of the models are used in the Bee-Up tool to control the OMiLab Robotic Arm 1 through accessing its REST web services. It makes use of the Bee-Up tool’s capability to execute AdoScript code in both the transitions of a Petri Net and in objects of a Flowchart. Both models contain the elements and code to call the necessary service of the robot arm so it performs the desired actions, moving the arm to the specified positions and picking up and dropping the objects.