This page is located in archive.

Homework 03 - Forward Kinematics and Robot Workspace

Forward Kinematics

Implement the forward kinematic task for a general 6R manipulator.

Allowed libraries: numpy

Create a function fkt(mechanism, joints) which takes DH parameters of the manipulator mechanism and 6 joint angles (in radians) of the manipulator joints and returns the pose of the end effector.

Input/Output specifications for fkt:

  1. mechanism : dictionary with 4 keys “theta offset”, “d”, “a”, “alpha”.
  2. joints : list of 6 float numbers that define the configuration of the mechanism.
  3. Return value : dictionary with 2 keys “r” and “t”, whose values are the rotation (3×3 matrix of type np.ndarray) and the translation (3×1 matrix of type np.ndarray) of the end effector in the base coordinate system, respectively.

Implement the solution in a single file hw03.py. The file must contain the fkt function, such that it can be imported (by the automatic evaluation) as

import hw03
pose = hw03.fkt(mechanism, joints)

Robot Workspace

Use the created fkt function to explore the range of motion of the end-effector when moving only the first joint of the Motoman MA1400 manipulator (that was used in the previous homework).

For this follow the next steps:

  1. fix the $2$-$6$-th joints to the zero position
  2. sample $n$ values for the first joint (you can fix $n=100$) starting from lower joint limit until upper joint limit
  3. for each sampled value, compute fkt and record the end-effector position
  4. visualize the end-effector positions projected to the $x$-$y$ plane.


Upload a zip archive hw03.zip (via the course ware) containing the following files:

  1. hw03.py - python script containing the implemented function fkt
  2. hw03.pdf - report file describing your solution containing:
    1. description of your implementation of fkt
    2. visualization of the end-effector positions projected to the $x$-$y$ plane.
courses/pkr/labs/hw03.txt · Last modified: 2023/09/20 13:47 (external edit)