A collaborative robotics project implementing autonomous navigation and object transportation using three coordinated robots in the Webots simulator. Each robot is responsible for a specific section of the environment and works together to transport green bottles across the map.
This system simulates three robots working together to:
- Detect and collect green bottles
- Navigate through a sectioned environment
- Hand off objects between robots
- Avoid obstacles and walls
- Return to searching positions
- Robot 1 (Left Section): Searches for green bottles and transports them to the handoff point with Robot 2
- Robot 2 (Middle Section): Receives bottles from Robot 1 and hands them off to Robot 3
- Robot 3 (Right Section): Receives bottles from Robot 2 and places them in the final destination area
- Webots R2024a or later
- Java Development Kit (JDK) 11 or later
- Webots Java API
- E-puck robots with the following sensors:
- Camera (64x64 resolution)
- Distance sensors (6 sensors)
- Touch sensors
- Compass
- Accelerometer
- LIDAR (Robot 2 only)
- Gripper attachment for bottle manipulation
- States:
- WANDER: Search for green bottles
- HOME_IN: Approach detected bottle
- HEAD_TO_GROUND: Lower gripper to grab bottle
- HEAD_TO_RIGHT: Navigate to handoff point
- PIVOT: Rotate to transfer position
- AVOID: Obstacle avoidance
- PIVOT_TO_POSITION: Align for handoff
- Uses LIDAR for precise positioning
- Maintains position awareness using compass
- Handles bottle transfers between Robot 1 and Robot 3
- Receives bottles from Robot 2
- Navigates to final placement area
- Returns to waiting position after placement
- Computer Vision: Uses camera feed to detect green bottles (RGB values)
- Sensor Fusion: Combines data from multiple sensors for accurate positioning
- State Machine: Each robot implements a state machine for behavior control
- Obstacle Avoidance: Uses distance sensors to avoid walls and obstacles
- Coordinated Handoffs: Synchronized bottle transfers between robots
- Install Webots R2024a
- Clone this repository into your Webots projects directory
- Open
worlds/robot_world.wbtin Webots - Compile the Java controllers:
javac -cp "path/to/webots/lib/controller/java/Controller.jar" controllers/*.java
- Run the simulation in Webots
-
Robot Alignment Issues
- Ensure compass readings are properly calibrated
- Check distance sensor thresholds
-
Missed Bottle Pickups
- Adjust RGB detection thresholds
- Fine-tune gripper positions
-
Failed Handoffs
- Verify robot positioning angles
- Check timing of gripper operations