Robot Kinematics and Dynamics

Computational foundations of autonomous robotics for programming modern mobile manipulation systems

This is a graduate course (instrutor: Prof. Chad Jenkins) provided by Robotics Department, University of Michigan. This project series stems from an advanced robotics course focused on enabling autonomous mobile agents to perceive, reason, and act. The coursework covers a full pipeline from low-level control to high-level motion and task planning. The assignments emphasize hands-on implementation of algorithms in kinematics, dynamics, path planning, and motion planning using JavaScript and the KinEval robot simulation toolkit.


Path Planning

Key Topics:
  • Graph-based search algorithms: BFS, DFS, A*, Greedy Search
  • 2D occupancy grid and maze representation
  • Collision detection in 2D
Assignments:
  • Implemented various search algorithm to compute optimal paths in a maze-like environment
  • Visualized visited nodes and final path
  • Designed custom cost heuristics and debugged node expansion
Path planning using RRT-Connect in a 2D maze map

Robot Kinematics and Dynamics

Key Topics:
  • Forward kinematics using transformation matrices
  • Inverse kinematics via Jacobian pseudoinverse and gradient descent
  • Kinematic chain construction (link/joint model)
  • Lagrangian mechanics and dynamics for simple systems
  • Proportional-Derivative (PD) control
Robot keeps catching a dynamic target
Assignments:
  • Pendularm Simulation: Simulated a single-DoF pendulum arm under torque control
    • Derived motion equations using the Lagrangian method
    • Designed PD control loop to stabilize the arm
    • Tuned gains to achieve critically damped behavior
  • Forward Kinematics with KinEval: Constructed and visualized a multi-joint manipulator; computed and verified end-effector poses
    • Built a tree-structured robot using recursive transforms
    • Represented joints using Denavit-Hartenberg-like conventions
  • Inverse Kinematics: Solved the IK problem for reaching target points in task space
    • Implemented Jacobian-based solvers
    • Handled joint limits and singular configurations
Connect to and control the real-world Fetch robot

Motion Planning

Key Topics:
  • Configuration space (C-space) representation
  • Sampling-based planning foundations (e.g., PRM/RRT-style logic)
  • Collision-aware trajectory generation
  • Trajectory interpolation between waypoints
  • Planning in high-dimensional joint space
Assignments:
  • Motion Planning for Robot Arm: Developed a collision-aware motion planner in joint configuration space
    • Sampled feasible configurations and connected them to form valid paths
    • Implemented interpolation for smooth trajectories
    • Evaluated planning success under varying obstacles
  • Workspace and C-space Visualization: Explored how joint limits, obstacles, and robot geometry influence the reachable workspace and feasible paths
Robot motion planning using RRT-Connect algorithm in simulation environment