This project simulates a robotic system for separating different types of oranges using two SCARA robots and a conveyor belt in the Gazebo 3D robot simulator. It includes:
- SCARA robots: Modeled in the
scara_description
package, with detailed descriptions and launch files for spawning them in Gazebo (refer to thescara_description/README.md
file for more information). - Conveyor belt: Represented in the
conveyor_belt
package, including controls for adjusting speed and direction (refer to theconveyor_belt/README.md
file for more information). - Cameras: Defined in the camera_description package, providing visual feedback for object detection and manipulation.
- Fruit separation logic: Implemented in the fruit_separation package, encompassing:
- Spawning 35 different types of oranges on the conveyor belt.
- Using the robots and cameras to identify and separate oranges based on type.
- Ubuntu 20.04
- ROS Noetic-desktop-full
- ros-control and ros controllers packages
- Clone the repository:
git clone https://github.com/neonicX-Tech/Multi-Robot-Fruit-Separation-Simulation.git
- Install dependencies:
cd multi_robot_fruit_separation
sudo apt-get install ros-$ROS_DISTRO-ros-control ros-$ROS_DISTRO-ros-controllers
- Build the project:
catkin_make
- Source your ROS environment:
source devel/setup.bash
- Run the entire simulation with SCARA robots, conveyor belt, cameras, and fruit spawning:
roslaunch fruit_separation simulate.launch
-
Alternatively, you can run the SCARA robots and conveyor belt separately
by using the launch files in their respective packages:- For SCARA robots (refer to
scara_description/README.md
for specific instructions).
roslaunch scara_description simulate.launch
- For conveyor belt (refer to
conveyor_belt/README.md
for specific instructions).
roslaunch conveyor_belt simulate.launch
- For SCARA robots (refer to