polito.it
Politecnico di Torino (logo)

Automatic Sorting with Manipulator using Moveit2 and ROS2

Gabriella Marino Gammazza

Automatic Sorting with Manipulator using Moveit2 and ROS2.

Rel. Marcello Chiaberge. Politecnico di Torino, Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica), 2024

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (13MB) | Preview
Abstract:

In recent years, robotic sorting technologies have rapidly expanded across various industries, revolutionizing the way objects are arranged, classified, and organized. This study addresses the growing need for efficient and adaptable sorting solutions by developing a flexible robotic system capable of handling different sorting tasks with high accuracy in different environments. The research utilizes a six-degree-of-freedom robotic arm, the Ufactory850, integrated with ROS2, an open-source framework for robot software development, along with MoveIt 2, a motion planning library. The system is further enhanced using computer vision techniques for object recognition, localization, and feature selection. Initially, a static Pick and Place task is implemented using the MoveIt Task Constructor framework, which simplifies planning through a modular, staged approach. In this first phase, the planning scene is static, incorporating a priori information such as object positions and geometric dimensions. In order to dynamically identify and localize objects through a camera, the ROS "Find Object 2D" package is employed, utilizing a feature matching algorithm based on data from the camera sensors. Once objects are recognized, Find Object 2D attaches a frame to their center point, allowing their position and orientation to be determined relative to the camera. A frame transformation is then computed with respect to the robot’s base link frame, enabling dynamic localization. Lastly, for object dimension computation, the Point Cloud Library is used to segment and process cylindrical and box-shaped objects, after a series of pre-processing operations on the point cloud data. The system is integrated through ROS services, with a single client managing three dedicated servers: one for object localization, one for dimension computation, and one for the Pick and Place task. This architecture enables the dynamic construction of the planning scene, ensuring real-time updates of object names, positions, orientations, and dimensions. To validate the system, four sorting policies were implemented and tested, evaluating both speed and accuracy in parameters detection. The system demonstrates both robustness and speed, sorting approximately 2–3 objects per minute, while maintaining object localization errors typically below 7%. Cylinder segmentation is highly reliable, though box segmentation performs less effectively, particularly in complex environments. Handling very low objects occasionally presents challenges, but the system’s robustness is evident as it automatically resubmits requests if recognition or localization fails, ensuring continuous operation. Simulation and visualization are supported using Gazebo, a 3D robotics simulator and Rviz, a 3D visualization tool for ROS, while Docker ensures a consistent and portable development environment across platforms. To verify scalability, the system was successfully adapted and tested on another manipulator with real hardware, demonstrating flexibility across platforms. Developed with Concept Engineering Reply at "Area42" in Turin, the system provides a robust and adaptable solution for industrial applications, achieving a sorting success rate of about 90%.

Relators: Marcello Chiaberge
Academic year: 2024/25
Publication type: Electronic
Number of Pages: 95
Subjects:
Corso di laurea: Corso di laurea magistrale in Mechatronic Engineering (Ingegneria Meccatronica)
Classe di laurea: New organization > Master science > LM-25 - AUTOMATION ENGINEERING
Aziende collaboratrici: SANTER Reply S.p.a.
URI: http://webthesis.biblio.polito.it/id/eprint/33164
Modify record (reserved for operators) Modify record (reserved for operators)