elena-ecn / pick-and-place

A pick-and-place application with the Franka Panda robot simulated in ROS and Gazebo.
MIT License
10 stars 0 forks source link
gazebo opencv pick-and-place robotics ros state-machine

Pick and Place

A pick-and-place application with the Franka Panda robot simulated in ROS and Gazebo.

Description

This project showcases a pick-and-place application that utilizes:

The state machine graph is depicted below:

The robot starts in the home position. If objects are detected on the workbench, it randomly selects one. Once an object is selected, the robot picks and places it to the same color bin. Then, returns to the home position. If no objects are detected on the workbench, it stops.

Dependencies

The project was developed on Ubuntu 20.04 LTS with:

The following dependencies need to be installed:

The python dependencies can be installed from the requirements.txt file.

pip install -r requirements.txt

To resolve issues with grasping in Gazebo, the Grasp Fix Plugin is utilized.

Usage

Load the robot in Gazebo

roslaunch pick_and_place panda_world.launch 

Start MoveIt for motion planning

roslaunch panda_sim_moveit sim_move_group.launch

Run the object detector

rosrun pick_and_place object_detector.py

Run the pick-and-place controller

rosrun pick_and_place pick_and_place_state_machine.py

License

The contents of this repository are covered under the MIT License.