elena-ecn / pick-and-place

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  • A state machine
  • Vision to detect objects based on their color via a Kinect RGB-D sensor

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:

  • ROS Noetic
  • Gazebo 11.11.0

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.

About

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

License:MIT License


Languages

Language:Python 77.9%Language:CMake 22.1%