Educational Robotic Arm Manipulator
Name : MUKUNTHAN T.
Registration No. : 2017/E/069
Group No. :
Date : 12/01/2023
Course Unit : Robotics (MP 9030)
OBJECTIVE:
To provide a firsthand opportunity to experience robotic arm manipulation with an educational robotic arm.
INTRODUCTION:
The WLKATA Mirobot robotic arm is an opensource manipulator arm designed as an educational tool. With these
six degrees of freedom robotic arm it is possible to visualize various scenes on the laboratory table. The arm
comes with a variety of accessories such as a mini conveyor belt, suction cups and grippers which makes it possible
to implement different robotic arm scenarios. You will be exploring the kinematics of the manipulator in this lab
session and try to control the robotic arm by using different methods such as with the WLKATA Studio software,
G-code or scripting. A figure of the manipulator and its workspace are shown below:
The documentation for the device can be found at https://document.wlkata.com/?doc=/wlkata-mirobot-user-
manual-platinum/11-introduction-of-wlkata-mirobot/ .
IMPORTANT
Please make sure to follow all safety precautions while operating the robotic arm. The RESET button can
be pressed to in emergency to stop the arm immediately.
Make sure to execute the HOMING action by clicking the HOMING button in WLKATA Studio to homing
the joints' position each time the robot goes through a power cycle.
1
MATERIAL AND APPARATUS:
The WLKATA Mirobot robotic arm, accessories and PC/laptop.
PROCEDURE:
Preparation:
1. Download and install the WLKATA software and driver from https://www.wlkata.com/support/download-
center.
2. Connect the robot arm with the PC/laptop through the ‘Multifunctional Extender Box’ and connect to power.
3. Power on the robot arm, open the software and ensure that the connection is correctly established.
4. Click the homing button in the software and wait until homing action is completed.
Joint Mode & Coordinate Mode in the Software:
1. Use the motion commands under ‘Motion Control’ to explore increments to each joint in Joint Mode.
2. Similarly, under the COORD MODE try out different end effector positions and rotations (safer to use low
speeds).
3. Under the TEACHING panel a sequence of joint positions can be listed and executed in sequence.
BLOCKLY:
BLOCKLY is an open-source graphical programming platform created by Google, you can explore different
accessories. Drag and drop different blockly modules. Try to pickup and place small objects with the gripper
accessory tool and with the pneumatic suction tool. Pay attention to the corresponding code that is displayed
next to the block diagrams. Explore absolute and relative positioning.
Using the Python API:
Make sure to not delete first 8 lines in the software that imports relevant modules.
You can find a list of quick API commands at https://document.wlkata.com/?doc=/wlkata-mirobot-user-manual-
platinum/15-using-the-python-programming/
DH parameters and forward kinematics:
Try to extract the DH parameters for the robot arm by looking at it and taking measurements as required.
An example diagram with frames attached is presented in the figure below (note that the values might
not accurately represent real values.)
2
Use the DH parameters to obtain the total transformation from base to end effector.
Choose a random set of values for coordinate parameters (i.e., six angles) (avoid values close to
singularities and pay attention to joint limits). Calculate the expected end effector position/orientation
for this set of angles.
Command the robot to move to this particular pose defined by these 6 angles.
Take a photo of the end effector position obtained and check whether it approximately agrees with
calculations.
3
RESULTS:
4
5
Joint mode code for above joint angles
BLOCKLY module for pick and place operation
6
Using the Python API
DISCUSSION:
Provide a brief explanation of any practical concerns that arose during the laboratory session.
We discovered inaccuracies while comparing the estimated end effector position to the actually attained location.
The Y coordinate was close, however the Z coordinate diverged due to the inverted orientation. This might be due
to a computation mistake.
Furthermore, owing to faults in the coding and manipulator handling difficulties, the robot arm often reacted
unexpectedly and did not move at all until it was familiarized with it.
We couldn't get some positions we wanted since the arm's workspace was limited.
When using the BLOCKLY module for pick and place operations, the suction was not always strong enough.