Preparing a Model for ActionBlock Modeling

In order to utilize ActionBlocks to model processes in a simulation model, that model has to fulfill a set of requirements: It has to be semantically modeled to contain information about the Agents that execute the modeled processes. These Agents offer Behaviors to the ActionBlocks. These Behaviors represent the capabilities of the Agents. Most general purpose robots (such as the Universal Robots UR10) that are used in industrial applications might be “robotic grippers”, i.e. they offer kinematic movements and gripping capabilities which have to be represented by a (simulated) Movement and (simulated) Gripping Behaviors. You also need to teach a movement path for each Agent and need to package it as a corresponding Parameter.

Configuring the Agent’s Behaviors

The following text explains how to add and configure the semantic information about the Agents by hand. If you add a “Robotic Gripper” from the VEROSIM Model Library to the Model, that Agent already contains the Movement and Gripping Behaviors. They just need to be configured to work with your digital robot twin.

Gripping

In order to configure the Gripping Behavior, you have to reference the VSLibGrip::Gripper Node that belongs to your simulated Robot:

../../../_images/ConfigureGripperBehavior.PNG

  • Make sure that you find the Behavior in the “Database” view of VEROSIM’S explorer.
  • Unfold the Behavior.
  • Right click “My Gripper”, then select “Choose element”.
  • Find and select the relevant Gripper Node in the menu that appears.

Movement

The Simulated Movement Behavior utilizes a VEROSIM object called “SimpleRobotController”. This RobotController is used to kinematically command simulated robot kinematics. Every Simulated Movement Behavior has its own SimpleRobotController, and you have to reference your simulated robot’s kinematic mapping root and tool center point (tcp) to tell the robot controller about the kinematic it is supposed to command:

../../../_images/ConfigureMovementBehavior.PNG

  • Make sure that you find the Behavior in the “Database” view of VEROSIM’S explorer.
  • Unfold the Behavior and the subsequent SimpleRobotController.
  • Right click “kinematic”, then select “Choose element”.
  • Find and select your robot’s kinematic root node in the menu that appears.
  • Right click “tcp”, then select “Choose element”.
  • Find and select your robot’s tool center point node in the menu that appears.

All other parameters of the SimpleRobotController are automatically set during run time and do not need to be set manually.

Configuring Poses and Paths as ActionBlock Parameters

In VEROSIM, you can define robot poses by utilizing the teaching panel. After teaching the relevant robot poses, you can combine them to robot paths utilizing VEROSIM’s explorer’s “Pose Lists & Paths” view and generate custom velocity profiles for the path’s segments. These functionalities are not part of the ActionBlock’s documentation, but are explained in the VEROSIM user help in detail.

In order to utilize these paths as Parameters for Movement ActionBlocks, you need to add a suitable Parameter object from the VEROSIM Model Library and configure it to represent one of your custom robot paths. Usually, you need to use a ParameterAutoMovementTargetFromPosePath:

../../../_images/ConfigureMovementTarget.PNG

  • Make sure that you find the Parameter object in the “Database” view of VEROSIM’S explorer.
  • Unfold the Parameter.
  • Right click “myPosePath”, then select “Choose element”.
  • Find and select the path that you want to utilize with this Parameter in the menu that appears.
  • (optionally) If you have configured a custom velocity profile, you can add it in the same way. If you do not choose a custom velocity profile, the RobotController that executes a simulated robot movement will utilize a default profile during simulation.