Skip to content

gsai29/Implementation-of-Forward-and-Inverse-Kinematics-to-Perform-Pick-and-Place-on-UR5-Robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Implementation-of-Forward-and-Inverse-Kinematics-to-Perform-Pick-and-Place-on-UR5-Robot

  1. Implementing inverse kinematics code to find the joint values required for moving to a given point in a UR5.
  2. Validation of the inverse kinematics using direct forward kinematics control of the robot to move to the said position.
  3. Pick and Place of random objects using the validated model.

Requirements

  1. UR5 Robot
  2. Ubuntu 18
  3. ROS Melodic
  4. Robotiq Gripper

Step 1 - Clone the following github repos in your src

  1. Universal Robot
  2. Universal_Robot_Driver
  3. Robotiq
  4. Be sure to clone the melodic or melodic supported versions and build your environment using catkin build

Step 2 - Networking Host Machine with UR5

  1. Install the External_Control Program in UR5 Teach Pendant. Further details have been provided here
  2. Set the IP address of the robot as 192.168.0.100 in the teach pendant.
  3. Connect the UR5 controller to the host machine using an ethernet cable.
  4. Assign a static address, in our case, 192.168.0.77 . Assign the same along with port number as 50002, in the external control program in the teach pendant.
  5. Run the external control program.
  6. Run the following command, wherein tool_device_name refers to the robotiq gripper's name. roslaunch ur_robot_driver ur5e_bringup.launch robot_ip:=192.168.0.100 tool_device_name:=/tmp/ttyUR

Step 3 - Inverse Kinematics Code

Add the python file from this repo into your workspace. As the python file, ur5_inv_py has inverse kinematics for UR5 coded, in Newton Raphson Method, you would be required to add the home configurations, screw matrices, the end effector pose in the code.

Step 4 - Validation of inverse kinematics using Forward Kinematics

Using the topic that the robot subscribes to, /scaled_pos_joint_traj_controller/command trajectory_msgs/JointTrajectory, you can easily try to move the robot by publishing the joint values from the terminal. ur5-2 ur5-3

The above images shows successful validation of the inverse kinematics mode, by using the inverse kinematics solutions to make the robot do forward kinematics. In the above images, the robot is moved from the home position to the desired end effector position.

Step 6 - Gripper Control

  1. Activate gripper control using the command- rosrun robotiq_2f_gripper_control Robotiq2FGripperRtuNode.py /tmp/ttyUR
  2. Open the gripper Ui using the command - rosrun robotiq_2f_gripper_control Robotiq2FGripperSimpleController.py

Given below are the images that showed point to point pick and place using Inverse Kinematics Solutions.

ur5-4

ur5-5

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages