- Objective: To modernize the factory order fulfillment process with an automated robotic system.
- Technologies Employed: Advanced robotics, ROS (Robot Operating System), intelligent algorithms, and user-centric design principles.
- Primary Tools: MOVEIT for robotic motion planning, RViz for visualization, Gazebo for simulation.
- Skills Demonstrated: Robotic programming, automated system integration, dynamic path planning, and real-time processing.
- Components: A fleet of advanced robotic arms and mobile robots optimized for precise and efficient order handling.
- Operations:
- Automated retrieval and packaging of items using robotic arms.
- Autonomous delivery robots ensuring accurate and timely order delivery.
- Design Focus: Enhanced interaction between human operators and robotic systems for streamlined operations.
-
Arm1 ROS Node
- Role: Central processing unit for order management, handling the specifics of order retrieval and prioritization.
- Priority-Based Management: Utilizes a sophisticated priority queue to manage and execute orders based on urgency and importance.
- ROS Services:
AddOrderService
: Enables addition and prioritization of new orders into the system's queue.GetOrderService
: Provides real-time updates on order status and initiates order execution.
- MOVEIT Integration: Employs MOVEIT for advanced motion planning, ensuring optimal and safe robotic movements.
- Inter-node Communication:
- Acts as a service client to
Arm2
, facilitating precise object placement based on order priority.
- Acts as a service client to
-
Arm2 ROS Node
- Functionality: Executes actions related to object pickup and placement, directly interacting with the conveyor belt operations.
- Services and Actions:
- Receives specific action commands from the Object Detector Node to adjust positioning or initiate pickups.
- Provides a service for determining and communicating the correct placement box based on object priority, enhancing order accuracy.
-
Object Detector Node
- Capabilities: Detects and classifies objects moving on the conveyor using advanced computer vision techniques.
- Data Handling:
- Subscribes to
/conveyor/camera1/image_raw
for real-time image processing. - Publishes to
image_output
for monitoring and debugging of the detection process.
- Subscribes to
- Role: Specifies actions for
Arm2
based on object detection and classification results.
-
Respawn_objects Service:
- Utilized by
Arm1
to manage the respawn of objects on the boxes, ensuring continuous operation without manual resets. Arm1
sends service requests to theSpawn_Objects
node, which processes these requests to maintain system readiness and object availability.
- Utilized by
-
gripper/control Service:
- Allows
Arm1
to manipulate the vacuum gripper for secure object handling during the order fulfillment process.
- Allows
-
ROS Topics for Visual Feedback and Debugging:
ariac/arm1/move_group/display_planned_path
: Used byArm1
to display the planned motion paths on RViz, providing a visual tool for monitoring and adjusting robotic movements.
- Current Shortcomings:
- Reduced efficiency with high-speed conveyor operations.
- Limited capability in detecting and handling multiple objects simultaneously.
- Proposed Enhancements:
- Implement a feedback loop between arms to improve synchronization and error handling.
- Integrate speed sensors to adapt robotic actions to varying conveyor speeds.
- Project Demonstration Video: Watch Here