From e00069fb486507ada06b9e0f4568edc958feb431 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Luis=20Dom=C3=ADnguez=20Morales?= Date: Mon, 25 Nov 2024 14:17:15 -0600 Subject: [PATCH] docs: Enhance Manipulation section with detailed pipeline and placing algorithm --- docs/home/2024/Manipulation/index.md | 37 +++++++++++++++++++++++++++- docs/home/2024/index.md | 19 +++++++++++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/docs/home/2024/Manipulation/index.md b/docs/home/2024/Manipulation/index.md index 0d59271..ea6af36 100644 --- a/docs/home/2024/Manipulation/index.md +++ b/docs/home/2024/Manipulation/index.md @@ -1 +1,36 @@ -# Manipulation \ No newline at end of file +# Manipulation + +Manipulation is one of the most essential and challenging aspects of robotics, enabling robots to physically interact with their environment to perform meaningful tasks. + +## Our Innovative Pipeline + +We have developed a pipeline that empowers a 6-degree-of-freedom robotic arm and gripper to execute object manipulation by seamlessly integrating: + +- **Image Processing** +- **Perception** +- **Motion Planning Components** + +## Object-Picking Phase + +- **Data Fusion**: Enhance 2D object detection data with 3D point cloud information using the **Point Cloud Library (PCL)**. +- **Plane Extraction**: Utilize **RANSAC algorithms** to extract planes from the point cloud. +- **Object Segmentation**: Segment clusters corresponding to detected objects. +- **Grasp Planning**: Process detections with the **Grasp Pose Detection (GPD) library**. +- **Trajectory Generation**: Use **MoveIt!** to generate collision-free trajectories for grasping. + +## Motion Planning + +- **Primitive Movements**: Employ primitive movements for pick-and-place operations. + - **Benefits**: + - Faster planning. + - Maintains the end effector's orientation. + - Ideal for tasks like serving breakfast that don't require collision avoidance. +- **Collision Avoidance**: When necessary, alternative planning methods are used to navigate around obstacles. + +## Placing Algorithm + +- **Surface Isolation**: Isolate the table surface using **RANSAC**. +- **Heat Map Creation**: Generate a heat map of available space based on a Gaussian distribution. +- **Optimal Placement**: Select the region with the maximum accessible space as the placing pose. + + diff --git a/docs/home/2024/index.md b/docs/home/2024/index.md index 8d95571..2e01fe6 100644 --- a/docs/home/2024/index.md +++ b/docs/home/2024/index.md @@ -32,7 +32,24 @@ These are the major achievements divided by area: - Nadota (@Ale-Coeto) ## [Manipulation](Manipulation/index.md) -- Nadota (@deivideich, @emilianh) +## Placing Algorithm with Gaussian Distribution + +To optimally place objects, we: + +1. **Isolate the Table Surface**: + - Use **RANSAC** to extract the table plane from 3D point cloud data. + +2. **Generate a Heat Map**: + - Apply a **Gaussian distribution** over the surface to create a heat map highlighting open spaces. + +3. **Select Optimal Placement**: + - Choose the area with the highest value on the heat map as the placing pose. + +4. **Plan Collision-Free Trajectory**: + - Use **MoveIt!** to plan a safe path to the placing pose. + +This concise approach ensures efficient space utilization and safe object placement. + ## [Navigation](Navigation/index.md) - Nadota (@deivideich, @Chapa-1810) \ No newline at end of file