ES159: Introduction to Robotics – Fall 2023

ES159 is an introduction to computer-controlled robotic manipulators.

Topics included coordinate frames and
transformations, forward and inverse kinematic solutions to open-chain manipulators, the Jacobian, dynamics and control, and motion planning. In addition, special topics will be introduced such as computer vision, soft robotics, surgical robots, MEMS and microrobotics, and biomimetic systems.

Labs for this course provided experience with industrial robot programming and robot simulation and control.

Maze Challenge

  • Designed and implemented A* search algorithms using MATLAB, ROS, and visual input for dynamic navigation of a robotic arm through complex mazes while gripping various objects.
  • Developed and coded inverse kinematics, forward kinematics, velocity kinematics, and transformation matrices to achieve precise end-effector positioning and task execution.
UR5e robotic arm traversing maze (8x speed) using MATLAB and ROS to implement path planning and A* search algorithm.

Matlab Output

I programmed the UR5e arm in Matlab to move so that the end-effector traced out a path that I calculated via code. The problem was simplified to reflect path planning for a mobile robot moving around in a horizontal plane with two degrees of freedom.

The images on the left reflect the various cases we had to test our code in Matlab before moving to ROS and the physical arm.

Position controller (8x speed)
Velocity controller (8x speed)

Position vs. Velocity Controller

  • I created a series of waypoints that defined a trajectory, and then had the end-effector move through those waypoints in an effort to create a continuous movement.
  • I utilized both inverse kinematics and inverse velocity kinematics to accomplish goal: draw a square.