Skip to content

Set of programs that allows the robot to set the intensity of a mixer and most importantly, start mixing.

Notifications You must be signed in to change notification settings

ylkhayat/universal-robots-mixing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌄 Sustainable Process Automation

Robot Mixing Party Generated by Night Cafe

🗓️ Project Overview

This is a project done by Elkhayat, Youssef (myself), a M.Sc student in the Data Engineering & Analytics program at the Technische Universität München, Deutschland. The project was done as part of the praktikum Sustainable Process Automation with the Chair of Information Systems and Business Process Management under the supervision and assistance of Mangler, Jürgen - Dr. rer. soc. oec..

📚 Project Description

The project was about controlling a mixer connected to a smart socket in a robotic system and showcasing real life scenarios of an orchestration between the robotic arm and the mixer through the BPMs (more on this later).

🎛️ Mixer Control

This was simply done through some APIs provided by a package called smart-socket-service. Check it out for more thorough explanation of what it can do and how it contributes to the project.

🤖 UR - Cobot (Cobi)

The robotic arm used in this project was the UR5e from Universal Robots. The control of the robotic arm was done through the API provided by Universal Robots and all of the programs of the cobot can be found under the programs directory.

The design of this task was split into two main functionalities that the robot had to perform:

  • Intensity Process: The intensity process is defined in the intensity-process.xml file. It tells Cobi which intensity we want to operate our mixer on. The intensity value is set in the dataelements section of the XML file.
Here's the breakdown of the intensity process ProcessIntensity.urp
Intensity Process Start GlobalToControl is the program that is responsible for Cobi to move from the global position to the control position.
- Control is the position where Cobi is ready to operate the mixer's intensity (right above the mixer with some defined safe space).
ControlReset is the program that is responsible for Cobi to reset the intensity of the mixer to zero, to always ensure the setting program to start from zero onwards. (of course this can be done in a more efficient way, to detect the current intensity and move from there accordingly, but for the limited time of the project, we have followed this approach). Intensity Process Reset
Intensity Process Set ControlSet is the program that is responsible for Cobi to set the intensity of the mixer based on the mixerintensity that we called earlier to set the intensity to the integer input number 6 of Cobi.
ControlToGlobal is the program that is responsible for Cobi to move from the control position to the global position. Intensity Process End
  • Mixing Process: The mixing process is defined in the mixing-process.xml file. It includes various endpoints that refer to the UR programs deployed somewhere safe and personally synced in the programs/ directory.
Here's the breakdown of the mixing process ProcessMixing.urp
Mixing Process Start GlobalToLocal program consists of the following:
- Global is the safe position for Cobi, or referred to as the rest position. Often Cobi is moved to this position when the program is finished or when Cobi is not in use.
- Local is the position where Cobi is ready to operate on the mixing for our specific installation.
LocalPickupMixer is the program responsible for Cobi to move from the local position to the pick up position where it picks up the glass and approaches the mixer in a safe manner, where it is then ready to start mixing. Mixing Process Mid
Mixing Process Mid This step is not part of the program but it helps with the visualization. Here the mixing started through API calls to the smart-socket-service for a certain period.
MixerPickupLocal is the program responsible to path back from the mixer ready position, to put back the glass at the pick up position (putdown position) and then proceeds to the local position. Mixing Process Mid
Mixing Process End LocalToGlobal is the program that is responsible for Cobi to move from the local position to the global position.

📈 Testets

The BPMs are the Business Process Models that are used to orchestrate the robotic arm and the mixer. The BPMs are defined in the testsets directory. The BPMs are used to define the sequence of the tasks that the robotic arm and the mixer have to perform.

Thanks for checking out our project!!

About

Set of programs that allows the robot to set the intensity of a mixer and most importantly, start mixing.

Topics

Resources

Stars

Watchers

Forks

Languages