Manipulator Inverse Kinematics Lecture with Youtube Videos and Source Codes.
(KHU ME77600 Assignment)
This repository provides beginner course of manipulator inverse kinematics.
- ROS 2 Distribution: Humble
- Python: 3.8+
- Core & Build Tools
rclpy: ROS 2 Python client library.ament_index_python: Python API for the Ament resource index.
- Math & Kinematics
pinocchio: A fast and flexible implementation of Rigid Body Dynamics algorithms.
- Messages & Interfaces
std_msgs/sensor_msgs: Standard ROS 2 message definitions.visualization_msgs: Messages for 3D visualization markers.
- Visualization & Robot State
rviz2: 3D visualization tool for ROS 2.interactive_markers: Tools for creating interactive 3D markers in RViz.robot_state_publisher: Publishes the state of the robot (tf tree) totf2.
After cloning this repository into your workspace src folder, you can install all dependencies automatically using rosdep.
# Navigate to your workspace root (e.g., ~/ros2_ws)
cd ~/ros2_ws
# Update rosdep database
sudo apt update
rosdep update
# Install dependencies
rosdep install --from-paths src --ignore-src -r -y
sudo apt install ros-humble-pinocchio
cd ~/ros2_ws
colcon build --symlink-install
source ~/.bashrc
- Analytical IK – 2-DOF planar analytical IK via interactive markers in RViz
ros2 launch analytical_ik analytical_ik_test.launch.py - Jacobian-based IK – numerical IK via interactive markers in RViz
ros2 launch numerical_ik numerical_ik_test.launch.py solver:=<solver_name> - Heuristic IK – 2D heuristic IK with RViz visualization
ros2 launch heuristic_ik heuristic_ik_test.launch.py solver:=<solver_name> - Redundancy & Null-space – Real-time redundant IK using CLIK-style solvers in RViz
ros2 launch redundant_ik redundant_ik_test.launch.py solver:=<solver_name>
This project is licensed under the MIT License - see the LICENSE file for details.
Maintainer: [Daum Park] (doumpork@khu.ac.kr)
Lab: RCI Lab @ Kyung Hee University