My take on simulating a pick and place task. Inspired by Udacity's Robotic arm - Pick & Place project, but with my own solution. I tried to make this a bit more more unique by using a different robot and using an IK solver based on Dampened Least Sqares instead of a purely geometrical one.
Refer to these for theory bits!
-
InverseKinematicsUR5: Forward and Inverse Kinematics theory recap and python code snippets.
-
RobotSimulation: Walkthrough on simulating and controlling a robot using MOVEIT! in ROS.
-
ur5_arm: ROS nodes used to control the simulated ur5 robot. Kinematics-related software is here.
-
ur5_arm_gazebo: Gazebo simulation world.
-
ur5_arm_description: Custom UR5 robot URDF with gripper for the simulation environment.
-
gripper_description: Gripper standalone URDF.
-
ur5_arm_moveit_config: Package to control the UR5 robot joints using ROS MOVEIT!.
This is how the simulated environment is setup:
The goal is to pick the object wich spawns on a random location on the table.
Here is a general overview on how the simulation framework works:
Use the provided ros launch files in this order.
1- Start the simulation: set ups the scene in gazebo and brings-up the robot arm.
roslaunch ur5_arm_gazebo ur5_grasping_world.launch 2- Start MOVEIT Planner: starts the trajectory planner.
roslaunch ur5_arm_moveit_config ur5_arm_planning_execution.launch 3- Start the pick and place commander: starts the arm commander node plus the inverse kinematics solver and target spawner server nodes, follow the instructions in the terminal to start the grasping task.
roslaunch ur5_arm_moveit_config ur5_arm_planning_execution.launch - ROS Kinetic -> currently tested on ros kinetic on ubuntu 16.04
- Universal Robot ROS-INDUSTRIAL Package -> clone this in the same ros workspace
Not in any particular order:
- Jennifer Buehler -> grasping plugin used in this project
- Robot Ignite Accademy -> original gazebo scene and Moveit! tutorials used to set up the arm joint controllers.
- Robotics Systems Lab -> robotics kinematics and dynamics lecture notes.
- Udacity -> original project idea & Simpy usage. URDF gripper files are also from here.
- Rethink Robotics -> Inspiration for the ROS Action Server python interface used for gripper and arm.

