Intelligent Bin Picking with Simulink® for UR5e Cobot
In robotics, bin picking involves the retrieval of items from a bin using a manipulator. Intelligent bin picking enhances this process through increased autonomy, enabling the identification and grasping of parts, followed by the planning of collision-free paths, and then sorting and placing the parts at their designated location based on their classification. This involves the use of sensors, computer vision, and machine learning algorithms to recognize and locate objects within a semi-structured environment, where objects are positioned in a defined space, unaligned and not overlapping, enabling robots to pick specific items with precision. In this intelligent bin picking system, the goal is to identify, classify, and sort four different shapes of PVC fittings.
Explore our specialized collection featuring intelligent bin picking solutions with Simulink®. These examples focus exclusively on intelligent bin picking, involving Universal Robots cobots and photo-realistic 3D simulation environments. Each example provides an in-depth analysis of how technologies such as deep learning, computer vision, and automated motion planning can overcome the challenges of intelligent bin picking in semi-structured environments. Explore these solutions to understand how they integrate various technologies to enhance the efficiency and intelligence of robotic picking systems.
Example 1: Intelligent Bin Picking with Simulink 3D Animation Unreal Environments (Simulink® and Simulink® 3D Animation™)
Release: R2024a
This example demonstrates an intelligent bin picking system for a semi-random object distribution, by using Simulink 3D Animation Unreal Engine for simulation. Task planning, perception, and planning algorithms are defined in Simulink.
Initial Setup:
- None
Highlights:
- 6-DoF Pose estimation for object grasp pose identification.
- Simulink 3D Animation Unreal Engine for photo-realistic 3D simulation.
- Manipulator motion planning algorithms for collision-free object handling.
When to Use: Use this example to explore bin picking solutions that do not require any third-party tools. It is also a good starting point for those looking to delve into photo-realistic 3D simulation environments and advanced pose estimation techniques.
Example 2: Intelligent Bin Picking with Universal Robots UR5e Cobot (Simulink® and Universal Robots UR5e cobot/ Gazebo)
Release: R2023a
This example demonstrates an intelligent bin picking application for a semi-random object distribution, by using Gazebo for simulation and then performing bin picking by directly connecting to UR Series cobot. Task planning, perception, and planning algorithms are defined in Simulink®.
Initial Setup:
- You will need a Linux machine that contains Gazebo, ROS, and additional ROS plugins specified here. Download a virtual machine from this page to get started.
Highlights:
- Seamless Connectivity to Gazebo
- Manipulator motion planning algorithms for collision-free object handling.
- MATLAB/ROS Interface to Universal Robots for hardware and simulation connectivity
When to Use: Use this example when you want to simulate the robot in Gazebo or on a UR Series manipulator.
Here's a quick comparison to help you decide which example is best suited for your needs:
Feature/Requirement | Example 1: Intelligent Bin Picking with Simulink 3D Animation Unreal environments | Example 2: Intelligent Bin Picking with Universal Robots UR5e Cobot |
---|---|---|
Best for | Bin picking using photo-realistic 3D simulation in a game engine environment | Bin picking with ROS and Gazebo, or with ROS and UR series hardware |
Supported Simulation and Hardware Targets | Unreal Engine with Simulink 3D Animation | Gazebo & UR Series Manipulator |
Requires Third-Party Tools | No | Requires a Linux machine or virtual machine with Gazebo, ROS, and ROS plug-ins. A pre-configured virtual machine is provided. |
GPU Recommendations | Yes | No |
Tools used for Pose Estimation | Pose Mask R-CNN 6-DoF Pose Estimation | YOLOv4 with PCA & ICP algorithm |
Tools used for Motion Planning | CHOMP planner & TOPP-RA Constrained Trajectory Generator | CHOMP planner & TOPP-RA Constrained Trajectory Generator |
Supported Grippers | Vacuum & 2-Finger | Vacuum & 2-Finger |
Compatible with | R2024a and Beyond | R2023a |
The license for these examples is available in the License file within each repository.
For questions and support, visit the MATLAB Central page for the support package or post your queries on MATLAB Answers.
Copyright 2024 The MathWorks, Inc.
Cite As
MathWorks Robotics and Autonomous Systems Team (2024). Intelligent Bin Picking with Simulink® for UR5e Cobot (https://github.com/mathworks-robotics/intelligent-bin-picking-example-with-simulink/releases/tag/v2.1), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
example1-sim3D/Initialize
example1-sim3D/Initialize/Buses
example1-sim3D/Initialize/Enums
example1-sim3D/MotionPlanning
example1-sim3D/Perception
example1-sim3D/RobotConnectivity
example2-urCobot-gazebo/Initialize
example2-urCobot-gazebo/Initialize/Buses
example2-urCobot-gazebo/Initialize/Enums
example2-urCobot-gazebo/MotionPlanning
example2-urCobot-gazebo/Perception
example2-urCobot-gazebo/RobotConnectivity
example1-sim3D/SimulinkModel
example2-urCobot-gazebo/SimulinkModel
example2-urCobot-gazebo
example2-urCobot-gazebo/Perception
Version | Published | Release Notes | |
---|---|---|---|
2.1 | See release notes for this release on GitHub: https://github.com/mathworks-robotics/intelligent-bin-picking-example-with-simulink/releases/tag/v2.1 |
||
2.0 | See release notes for this release on GitHub: https://github.com/mathworks-robotics/intelligent-bin-picking-example-with-simulink/releases/tag/v2.0 |
||
1.2.0 | See release notes for this release on GitHub: https://github.com/mathworks-robotics/intelligent-bin-picking-example-with-simulink/releases/tag/v1.2.0 |
||
1.1.0.0 | See release notes for this release on GitHub: https://github.com/mathworks-robotics/intelligent-bin-picking-example-with-simulink/releases/tag/v1.1.0 |
||
1.0.0 |