arm-ik
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
-
Replace
IK_server.py
in~/catkin_ws/src/RoboND-Kinematics-Project/kuka_arm/scripts
with the following script below: -
IK SERVER PYTHON SCRIPT
-
Follow the instructions as indicated in the README of the original repository
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