Six-Axis Manipulator Control (ME 567)

Problem Description:

For a six-axis manipulator, as shown in Figure 1, given the target posture of the end effector, our goal is to find out the corresponding configuration in joint space and drive the end effector to it. Furthermore, the robot arm should be able to grab and relocate simple objects. The purpose for this project is to verify the algorithms learned from ME 567 Robotics Kinematics and Dynamics.

Method:

(1) Kinematics and inverse kinematics: Put down the DH parameters w.r.t. the frames in Figure 1. Obtained the kinematics of the robot using symbolic computation. Given profile of end effector,we implemented and compared two different inverse kinematics algorithms mentioned in class (Inverse Jacobian and the MIT Rule), which both made the end effector reach the target point. The comparison and performace of the two algorithms please refers to the project report, attached at the bottom of this page.

(2) Platform: A real robot arm similar to the one in Figure 1 was built. The control algorithm was implemented in Simulink, shown in Figure 2. Simulink was used to control the hardware as well as do a 3D simulation (Video 1). The simulation allowed us to preview the motion of the robot arm before we deployed the code to the hardware.

Note: the real robot arm didn't perform in the same way as the simulation, just for the step motors we used couldn't provide enough power to lift the heavy metal structure (which could be seen in Video 2).

My Contribution:

(1) Derived all the formulas related to kinematics and inverse kinematices.

(2) Constructed the simulink framework and helped built the 3D model.

Video1:

Figure 1. 3D Model

Figure 2. Simulink Block Diagram