H63RDC: Coursework
Exploration of Forward and Inverse Kinematic Using the uArm Robotic Manipulator
This course work counts towards 20% of the module total. Upon completing the tasks below you will be required
to submit a short report summarising the work you have done and this report should be between 6-10 pages. You
will also be expected to demonstrate the solution of the Tower of Hanoi puzzle for n = 3 discs (a solution requires
2n-1 steps). Meeting the objectives for tasks 1 to 5 counts for 50% of the course work total, tasks 6 to 9 (i.e. solving
the puzzle) counts for the remaining 50%.
Figure 1: Towers of Hanoi Puzzle using 3 discs. [https://en.wikipedia.org/wiki/Tower_of_Hanoi]
Objectives;
1. Understand the kinematic chain of the uArm robotic manipulator
2. To describe the forward kinematic algorithm
3. To implement the inverse kinematic solution to complete a pick and place task.
Tasks:
1. Download the User guide “Getting started with uArm” from the following link and make yourself familiar
with the robot’s components and the different degrees of freedom. :
http://ufactory.cc/#/en/support/
2. Describe and specify the robot:
o Define the robot type.
o Find the payload, Operation Range, accuracy, and the four components of the robot.
o Discuss how many control loops are used. W
o What types of actuators are used?
o What type of sensors the output of the control loop.
3. Give examples of industrial applications that this type of robot might be used.
Discuss the shortcomings of this robot and how these could be overcome.
4. Define the D-H convention parameters and matrix of the robot forward kinematic.
5. Download and Install the software packages “uClient” and “uArm Assistant” from the above link. Learn
the “Calibration” and “Homing” of the robot from the notes. Conduct experiments with the uArm robot
to experience its basic motion using the uClient software.
NOTE: The robot must be calibrated before running the uClient!
Understand how to “Teach” the robot. Teach the robot a simple path, run it and demonstrate it to the
instructor.
6. Using the Arduino Software (IDE), or Matlab, write code to move the robot, grasp an object and place it
in a final destination. Execute and demonstrate the program.
7. Understand the Tower of Hanoi puzzle. Write a pseudocode to plan a path for picking and placing the
disks from the initial rod to the target rod by avoiding obstructions in the way. In the current lab set up,
you are expected to create the obstructions as well as initial and target points in order to arrange the
disks in the correct order.
8. Write a function in Matlab to calculate the Inverse Kinematic of the uArm robot. The function is expected
to take three parameters (X, Y, Z) coordinates of the target position, and return the DoFs values of the
robot. i.e.:
Function [DoFs ….] = uArmIK (TargetX, TargetY, TargetZ)
Execute and demonstrate the program. Include the code in your report. Notes: the code needs to be
documented through comments and well organised.
9. Write a program to control the uArm robot and complete a Tower of Hanoi puzzle for 3 discs. The robot
should sort all the disks without being interrupted or acquiring additional inputs from the user while it
is running. The robot should start and end in the home position. The robot should not run on teach
mode and should calculate each position using the inverse kinematic function. Demonstrate the
working solution.