PROJECT: WORLDSKILL MOBILE ROBOTICS COMPETITION

A robotics competition organized by Malaysia's Human Resource Ministry to find talents to represent Malaysia in Worldskill Mobile Robotics Competition in Singapore.

 

 

 

 

 

 

 

 

INTRODUCTION

Summary: A mobile robotics competition under WorldSkills that test its participant programming, mechanical and electronics skills by using Studica Robotics Set. Each team is made up of 2 people. UTM team is new in the competition and therefore no prior knowledge in term of programming and mechanicals are available. Work has to be done from scratch.

Date: 28/10/2022

Location: CIAST SHAH ALAM

Achievement: 1st Place

 

What have I learnt?

The competition allows me to work more on the front end. Since it uses a ready-made robotics set from Studica, I am not required to touch anything too technical such as setting up the library to use each sensor or pin on the microcontroller and setting up the communication between the mainboard to the navigation board. In short, I have improved my skill in designing robotics engineering solution. 

 

What did I have to do?

In term of mechanical, I have to design the robot navigation system and object management system. 

In term of electronics, I have to understand how each pins control each sensor, how each sensor works, and I have to make sure all connections are wired properly.

In term of programming, I have to design the navigation algorithm and object management system algorithm. I also have to experiment and choose the best control system (PID, Fuzzy PID and ETC.) for the navigation system. Lastly, I have to organize the data flow in my program to achieve the highest sensor feedback rate. 

 

photo_2023-03-14_15-27-15.jpg  photo_2023-01-17_15-21-39.jpg.1

 

Gamefield

Task Summary

Participants has to deliver medicine cube from the rack to the patients' rooms. It should first read the work organization board to know what type of medicine need to be deliver to which room and then execute the work. Points are given for each work finished successfully and time is recorded.

 

 

Robot Design

The robot was first designed in Solidworks before being assembled to ensure all components fit perfectly. Before actually designing it, we had pointed out specific criteria that needed to be met by the robot. The robot base has to be small and stable, the object management system has to be able to work smoothly, and the robot has to be easy to assemble. 

Since 3D printed parts can be used in this competition with a limit of the total surface under the 1-meter square, I designed a gripper for the robot to hold the cubes. The gripper uses a servo to move its arm. In under a week, the gripper is successfully designed in Solidworks and printed it on my own 3D printer which is an Ender 3 V2. The gripper works perfectly, and it was used in the competition.

 

Screenshot 2023-03-13 174605.png      Screenshot 2023-03-13 174622.png

 

 

 

Robot Programming

Since Studica Robotics Set uses Raspberry Pi as its microcontroller, it allows the use of Robot Operating System, LabVIEW, and OOP (Java, C++). I had experimented with all 3 means of programming but chose LabVIEW for its fast development and stability as Studica provided a complete toolkit for their robot. Transitioning to LabVIEW which is a graphical programming environment has been quite challenging because of the confusing data flow. But after using it for some time I have managed to understand it.

All the algorithm was designed by myself.

For the navigation, basic trigonometry was used to accommodate its 3-point base with omni wheels and multiple PIDs were used to control the speed and direction of the robot.

 

Navigation VI:

Screenshot 2023-03-13 182124.png             Screenshot 2023-03-13 182112.png

 

Screenshot 2023-03-13 182102.png            Screenshot 2023-03-13 181819.png

 

Screenshot 2023-03-13 181749.png

 

Main VI:

Initialization of IMU

Screenshot 2023-03-14 154707.png

Initialization of Ultrasonic, Cobra and Servo

Screenshot 2023-03-14 154657.png

 

Initialization of Motor and Motor Encoder

Screenshot 2023-03-14 154631.png

Where tasks are programmed and run sequentially without disturbing another task. Here I use the concept of finite state machine as LabVIEW's sequential structure will hinder another task from running therefor making task like emergency stop unable to be executed when main task is running.

Screenshot 2023-03-14 154614.png

There are still many parts of the programming such as the OMS vi and global vi.

It would not be practical to explain the everything here, therefore if anyone is interested, I would be glad to explain it. 

 

 

Robot Electronics

The robot uses electronics that are standards in the set. Which are,

3 servos, 4 DC motors, 1 Cobra (IR Sensor Module), 4 Limit Switches, 2 Ultrasonic Sensors, 2 Batteries, 1 SR Camera, 1 Control Panel, 1 VMX (Raspberry Pi with Studica Shield), and 1 Titan (Motor Driver and Power Manager).

 

Screenshot 2023-03-14 153644.png  Screenshot 2023-03-14 153640.png  Screenshot 2023-03-14 153637.png  Screenshot 2023-03-14 153627.png  Screenshot 2023-03-14 153612.png  Screenshot 2023-03-14 153601.png  Screenshot 2023-03-14 153557.png  Screenshot 2023-03-14 153553.png

All of this had to be wired correctly to the VMX and Titan. For cleaner finish, coupler had to be fitted and some part need to be soldered and glued for stability. The operation of the switches and sensors and also the ports on the VMX and Titan need to be studied and comprehended so that the signals reading on the computer are correct.