Robpod Studio Docs
  • Get Started
    • Introduction
    • Download
    • Installation
      • Install Platform
      • Install Plugin
    • First Steps
      • Choose Studio Flavor
      • Welcome Screen
      • Create a Project
      • Create a Script
      • User Interface
      • New UI
      • Robpod Studio Assistant
    • License
      • Buy a License
      • Install a License
    • Safety
  • ROBOT
    • Robot Toolbar
      • Connect the Robot
      • Control the Robot
      • Get Positions
      • Move To
      • Run a Script
    • Robot Tool Window
      • Status
      • Teach Pendant Viewer
      • Variables
      • Digital I/O
      • Analog I/O
      • Debug
    • Robot Variables
    • Robot Logs
  • Advanced Scripting
    • Live Auto Completion
    • Templete Completion
    • Param Info
    • Code Inspections
    • Quick Doc
    • Python Scripting
    • Editor Settings
  • Synchronization
    • Upload On Robot
    • Download From Robot
    • Synchronize Project
    • Clean Robot Files
    • Synchronization Settings
  • Simulation
    • Connect a Simulator
    • Simulate a Script
    • Off-Line Programming
    • Simulator Viewer
    • Simulation Commands
    • Simulation Settings
    • Simulation Examples
      • Palletizing
  • HMI Designer
    • Introduction
    • User Interface
    • Installation
    • Design Steps
      • Create new HMI Panel
      • Add HMI Components
      • Edit HMI Components
      • Preview HMI Panel
      • Synchronize HMI Panel
      • Run HMI Program
    • HMI Components
    • HMI Charts
    • Display Conditions
    • HMI Commands
    • HMI Icon Generator
    • Desktop HMI Viewer
    • HMI and UR Polyscope
    • HMI and Doosan Robotics
    • HMI Tutorials
      • Beginner Tutorial
      • UR Polyscope Tutorial
      • Doosan Robotics Task Editor Tutorial
      • Doosan Robotics DRL Tutorial
    • Working Examples
      • Universal Robots
        • Pick and Place Example
        • Polishing Example
        • Machine Tending Example
        • Simple Pallet Example
        • Welding Example
        • Skrewdriving Example
        • Chart Monitoring Example
        • Production Mix Example
        • Pallet App Example
        • Camera QA Example
        • Assembly Example
      • Doosan Robotics
        • Pick and Place Example DR
  • Other
    • Updates
    • License FAQ
    • Customer Portal
  • LEGAL
    • License Agreement
    • Privacy Policy
    • Third Party Licenses
  • Appendix
    • Supported Robots
    • Robot Specific Functions
      • Universal Robots
        • URSim
    • Supported Simulators
    • Network Configuration
    • Security Settings
Powered by GitBook
On this page
  1. HMI Designer
  2. Working Examples
  3. Universal Robots

Simple Pallet Example

PreviousMachine Tending ExampleNextWelding Example

Last updated 1 year ago

HMI Panel File

Robot Program File

# pick and place simulation on two pallets
picking = False
placing = False
buffering = False

pick_status = [True, True, True, True, True, True, True, True, True]
place_status = [False, False, False, False, False, False, False, False, False]

# positions on the pallets
pick_positions = [p[0.393, -0.755, 0.391, -2.22, 2.22, 0.00],
                  p[-0.177, -0.553, 0.391, -0.00, 3.14, 0.00],
                  p[-0.177, -0.956, 0.391, -0.00, 3.14, 0.00],
                  p[0.195, -0.553, -0.010, -0.00, 3.14, 0.00],
                  p[0.195, -0.956, -0.010, -0.00, 3.14, 0.00],
                  p[-0.375, -0.754, -0.010, -2.22, 2.22, 0.00],
                  p[-0.164, -0.956, -0.412, -0.00, 3.14, -0.00],
                  p[-0.164, -0.568, -0.412, -0.00, 3.14, 0.00],
                  p[0.394, -0.766, -0.412, -2.22, 2.22, 0.00]]


place_positions = [p[0.393, 0.755, -0.409, -2.22, 2.22, -0.00],
                  p[-0.177, 0.553, -0.409, -0.00, 3.14, 0.00],
                  p[-0.177, 0.956, -0.409, -0.00, 3.14, 0.00],
                  p[0.195, 0.553, -0.010, -0.00, 3.14, 0.00],
                  p[0.195, 0.956, -0.010, -0.00, 3.14, 0.00],
                  p[-0.375, 0.754, -0.010, -2.22, 2.22, 0.00],
                  p[-0.164, 0.956, 0.388, -0.00, 3.14, -0.00],
                  p[-0.164, 0.568, 0.388, -0.00, 3.14, 0.00],
                  p[0.394, 0.766, 0.388, -2.22, 2.22, 0.00]]

# motion functions
def pick():
    picking = True
    placing = False
    buffering = False
    pick_status[i] = False

    movej(pose_trans(pick_positions[i], p[0, 0, -0.6, 0, 0, 0]))
    movel(pick_positions[i])
    movel(pose_trans(pick_positions[i], p[0, 0, -0.6, 0, 0, 0]))
end

def place():
    picking = False
    placing = True
    buffering = False
    place_status[i] = True

    movej(pose_trans(place_positions[i], p[0, 0, -0.5, 0, 0, 0]))
    movel(place_positions[i])
    movel(pose_trans(place_positions[i], p[0, 0, -0.5, 0, 0, 0]))
end

def buffer():
    picking = False
    placing = False
    buffering = True
    movej([0.08, -1.86, -1.40, -1.45, 1.57, 0.08])
end

def home():
    movej([0.08, -1.86, -1.40, -1.45, 1.57, 0.08])
end
# main loop program
i = 0
while i < 9:
    home()
    pick()
    buffer()
    place()
    i = i + 1
end