This was an introductory-level course presents the fundamental kinematic, dynamic, and computational principles underlying most modern robotic systems. The main topics of the course include: coordinate transformations, manipulator kinematics, trajectory planning, actuation and sensing, feedback control and haptics. The material was reinforced with hands-on lab exercises including robot-arm control and control for haptic feedback. All the programming was done in Matlab.

Assignments

  • Deriving and programming the forward kinematics of the SCARA, PUMA and the Phantom robot.
  • Obtained the manipulability ellipsoid for both the position and orientation of the PUMA robot. We also obtained the positional and orientation singularities
  • Programming the Phantom robot to render haptic feedback. Depending on the encoder values of the phantom robot which was already obtained for us in the starter kit, we were required to render a haptic feedback. We had to program two different modes
    • One where there is a virtual sphere which has to behave as a stress ball. We have to program the phantom to produce a force on the thimble where the user keeps his finger with the direction and magnitude according to the position of the finger. We had to produce a force in the direction radially out of the ball and with magnitude dependant on the depth of the finger within the ball.
    • In the second mode. We had to produce the effect of moving through a viscous fluid. We had to calculate the velocity of the thimble and produce a force in the opposite direction of motion with magnitude dependant on the velocity of the thimble. We had to do a running average of the velocity in order to prevent vibrations.
  • PUMA dance

    In this project, we were grouped into teams of two, we were given the starter kit for the plotting of the robot for simulation. We had to program the simulated robot to dance according to a 30 seconds song of choice. For this we programmed there trajectories for the PUMA 260 robot, linear, linear segments with parabolic blends and cubic trajectories. Once we had programmed the trajectories, we had to hand pick the via points and the via point times in the song according to the change in beats of the song.

    PUMA Light Painting

    In this project, we were teamed up into group of three. In this project, we were required to derive the inverse kinematics of the PUMA 260 robot. The PUMA 260 robot had a spherical wrist. So there in total 8 valid solutions for each position and orientation in the cartesian space. We were one of the few teams who obtained the inverse kinematics solution within the first deadline. Once we obtained the IK solution, we chose the best solution according to the euclidean distance of the current joint angles to the eight solutions obtained. We rasterized a chosen image and obtained the rgb values at every differential position and fed the positions to the inverse kinematic function.