arm-ik icon indicating copy to clipboard operation
arm-ik copied to clipboard

An Inverse Kinematics 6DOF Robot Arm Pick and Place Project in ROS.

Robotic Arm - Pick & Place Project

This is my turn-in code as partial fulfillment of Udacity's Robotics Nanodegree. I wrote code to calculate the joint angles of six degree-of-freedom Kuka Kr210 serial manipulator given the position an orientation of its end effector in 3-D space. This code is used by the robot arm in a simulator to pick cylinders in a shelf and drop it in a bin. The simulation is implemented in a ROS environment with Gazebo and Rviz.

Notes

WRITEUP

Jupyter notebooks:

  • Exposition of the inverse kinematics thought process
  • Optimization of the inverse kinematics process
  • Derivation of the transforms used in the inverse kinematics process
  • Exposition of Euler angles and how to get the last three angles

Dependencies and Setup

Usage

  • Make sure the demo flag is set to "false" in inverse_kinematics.launch file under /RoboND-Kinematics-Project/kuka_arm/launch

  • Launch the project

$ cd ~/catkin_ws/src/RoboND-Kinematics-Project/kuka_arm/scripts
$ ./safe_spawner.sh  
  • On a separate terminal, run the inverse kinematics script
$ cd ~/catkin_ws/src/RoboND-Kinematics-Project/kuka_arm/scripts
$ rosrun kuka_arm IK_server.py