Roboten from Universiti Tenaga Nasional
TEAM SUPERVISOR: Dr Mohd Zafri Bin Baharuddin
TEAM ADVISORS: Muhammad Irfan An-Naufal Bin Arifin Aziz Nur Wakhid
Eirfan Hilmie Bin Baharudin
TEAM MEMBERS: Nur Adibah binti Azhar
Ahmad Iqbal Rusmani
Mohd Amirul Hakeem Bin Kamil
Muaz Mingu
ABSTRACT
The leg structure of the MR1 is a dual-joints configuration with 16 RDS3128 servo motors
controlling the hip joints. The robot has a unique feature in that it can turn left or right similar
to how a car turns. It is found that results from testing and simulation of the robot are
different. The usage of servo motors provides difficulty in syncing each motor.
1.0 INTRODUCTION
Mobile Robot Club (MRC) is a club where most robots were built by students and
lecturers and it was started by Dr. Mohd Zafri Bin Baharuddin in 2009. The MR2 is a
quadrupedal robot where the robot uses four legs to move and it is a complex robot. After
analysing the movement of various quadrupedal robots such as Spot and SpotMini from
Boston Dynamic [1], ANYmal from ANYbotics [2], and Massuchusetts Institute of
Technology (MIT) Cheetah 3 [3], there are two types of locomotion with constant
movement. The fastest locomotion for a quadrupedal robot to constantly walking is by
having two legs contacting the ground to propel forward in half a walking cycle while the
other locomotion will have at least three legs contacting the ground while walking which
provide better stability and greater weight capacity for the robot.
The construction of this robot will provide a great challenge and valuable experience
in the robotic field. This report will explain the criteria in designing the robot and in
choosing the suitable components.
97
2.0 DETAILED DESIGN
The designs of the MR2 are determined by the simplicity of the design to be
constructed with simple control system and the availability of the components. Besides that,
the weight capacity of the robot is based on the chosen motor torque and length of the legs.
2.1 Mechanical Design of MR1
the MR1 is tasked to move from Khangai Urtuu to Khangai Area after Line 1 by
avoiding the Forest and crossing the Bridge to pass the Gerege to the MR2. After the passing
of the Gerege is done, the MR1 will then pick up the Shagai and throw it towards the
Landing Zone wherein situated the Throwing Zone.
After several research online, we finally have the design which we think it is easy to
made. This design makes possible throwing across the Sand Dune. Refering to Figure 1, the
design was made based on the CAx Training from Youtube [1].
Based on this design, we proceeded with prototyping the Shagai throwing mechanism
by using a Pneumatic cylinder with a pressure of 600kPa. We used MAL 16 SERIES MINI
PNEUMATIC AIR CYLINDER; ALUMINUM BORE 16MM CA TYPE that was bought
from Robotedu.my as shown in Figure 2.
Figure 1: Referred Online Design from Youtube [1]
98
Figure 2: Pneumatic cylinder from Robotedu.my
While the robot (shown in Figure 1) seemed perfect, we have to compromise a
few structures because the equipments and components we have are slightly different
from what was proposed by CAx Training. We used various types of aluminium for the
frame of the MR1 as it is the easiest and cheapest we can get. We used four Vexta motors
with Omni-Wheel for the movement of the MR1. The base design is shown in Figure 3.
The Shagai cart, (refer to Figure 4) is used to throw the Shagai from the MR1 to the
Landing Zone.
Figure 3: The MR1 base frame
Figure 4: Shagai cart [1]
99
2.2 Mechanial Design of MR2
The MR2 is tasked to walk in the Gobi Area to reach Mountain Urtuu and it has to
overcome two challenges which are the Sand Dune and Tussock ropes. Therefore, the MR2
must have at least three Degrees of Freedom (DOF) in order to walk along the Gobi Area.
The three DOFs are forward and backward, left and right, and up and down.
An attempt to replicate the SpotMini with guidance from Androtics [4] was
performed. The SpotMini quadrupedal robot has a hip and knee joints with elbow
configuration style and it uses linear actuator to control the knee joint and high torque motor
to control the hip joint. ‘Webots’ simulation software was used to simulate the robot with
motor controlling each joint, replacing the linear actuator for a simple simulation. The
simulated robot was using the fastest locomotion with two legs contacting the ground at half
walking cycle but failed to walk straight because the centre of gravity of the robot is behind
the centre of the body so it was difficult to balance on two legs while walking forward unless
the robot is able to move faster than it falls. Moreover, the torque on the knee joint must be
greater than the torque on the hip joint. Hence, the hip-knee elbow configuration style robot
was not chosen due to difficulty in achieving balance, and high speed linear actuator is heavy
and difficult to obtain.
Another design was studied and it was inspired by MIT Super Mini Cheetah [5] and
one of the Vietnam’s ROBOCON robots [6] due to its speed as shown in Figure 5. This
design of the robot has two hips joints, two knee joints, and one ankle joint for each leg.
Each hip joint on one leg is control with at least 1 motor while the knee joints and ankle
joint are free rotating joints. A forward kinematic was identified for the leg structure so that
it can be used to control angular rotation of the motors to provide linear motion for the robot.
The leg structure was simplified into a diamond shape as shown in Figure 6 and Eq. (1) was
obtained via forward kinematic where the angular position of the second motor depends on
the angular position of the first motor when performing linear motion for the leg.
100
Figure 5: Fast Vietnam ROBOCON robot. [6]
Figure 6: Simplified dual- joints configuration.
2 = 1.4142 − ( 1) (1)
The robot in Figure 5 has difficulty turning left or right and the MR2 is required
to turn in order to overcome the obstacles in the Gobi Area. Therefore, a motor is added
to each front leg to perform horizontal rotation so the robot can turn similar to a turning
left or fight.
The leg structure of the MR2 was decided to have dual-joints configuration
which is the same as the robot in Figure 5. Each leg will have four servo motors with
two servo motors controlling each hip joint. The servo motors chosen were RDS3128
servo motors which were bought from RobotEdu [7] while the motors that turn the front
legs were MG995 servo motors that were available in MRC. The RDS3128 servo motor
has a maximum torque of 25kgcm at 7.2V with maximum current consumption of 3.2
101
A. Thus it can be powered with a XL4005 5A step-down adjustable voltage regulator
module that can be bought from RobotEdu [8].
These servo motors were selected because they are lighter than direct current
(DC) geared motor, angular position can be controlled with pulse-width modulation
(PWM) signal, and servo motor with torque higher than 50kgcm has maximum current
consumption up to 10A which will result in difficulty designing high current voltage
regulator and replacing the servo motor’s cable with a thicker one by soldering. Two
RDS3128 servo motors will be powered with a XL4005 module, thus limiting each servo
motor current consumption to 2 A to prevent overheating, so the servo motor capped
torque is 15.625 kgcm. The maximum weight capacity of the robot is where the
calculation is shown in Eq. (2) based on the capped RDS3128 servo motor torque of
15.625 kgcm and leg specification shown in Figure 7 with two legs supporting the
weight as it walks.
Figure 7: MR2 leg specification.
15.625 ÷ 27.5 × 4 + 15.625 ÷ 19.21 × 4 = 5.526 (2)
The extension mechanism used a MG995 servo motors with torque of 10kgcm to lift
up the Gerege and its holder. The MR2 will be able to extend to a height higher than 1m
with the extension mechanism at the highest position and legs fully extended. The robot has
a length of 0.795 m, width 0.55 m, and height below 0.8 m at normal standing position.
2.3 Electronic Design of MR1
The MR1 will be powered with a 22.2 V 2600 mAh Li-Po rechargeable battery and
several XL4005 voltage regulator module supplying power to Arduino Mega 2560 at 7.2 V.
102
The Arduino Mega 2560 micro-controller board was chosen because of its 14 PWM pins
and available in MRC.
A combination of four Motor Drivers that was made for Vexta was used to control the
Vexta Motors while several Relay Module were to used to control the Pneumatic Cylinder.
2.4 Electronic Design of MR2
The MR2 will be powered with a 22.2 V 2600 mAh Li-Po rechargeable battery and
eight XL4005 voltage regulator modules supplying power to 16 RDS3128 servo motors at
7.2 V and another XL4005 voltage regulator module supplying power to the three MG995
servo motors and an Arduino Mega 2560 at 7.2 V.
The Arduino Mega 2560 micro-controller board was chosen because of its 14 PWM
pins and available in MRC. 11 out of 14 PWM pins are used to control eight pairs of
RDS3128 and three MG995 servo motors.
A combination of a 2-ways switch and 3-ways switch were used to signal the robot at
four retry locations. One SPDT micro limit touch switch is used at the Gerege holder to
signal the robot when the Gerege is received and one micro limit touch switch at each leg
to detect the Sand Dune.
2.5 Software Design
The testing on the MR1 and the MR2 was not completed so a basic flow-chart is
shown in Figure 8 and 9.
103
Figure 8: Basic flow-chart for the MR1 testing.
104
Figure 9: Basic flow-chart for the MR2 testing
105
3.0 SIMULATION AND TESTING
3.1 Simulation and Testing for the MR1
The robot by simulations was capable of throwing the Shagai into the Throwing
Zone. However, the simulation software had a different result from the first prototype as the
simulation did not consider human error and several resistances in real life such as pressure
leakage.
During testing on the prototype, the Shagai did not reach the Landing Zone as what
the simulation shown. However, the Shagai throwing distance had improved over time as
we made improvements.
3.2 Simulation and Testing for the MR2
The robot by simulations was capable to walk forward and turn left or right using
the locomotion with two legs contacting ground at half walking cycle. The robot was also
able to stand on two legs and maintain. However, the simulation software was unable to
simulate the actual weight due to limitation of the simulator on the robot design structure.
During testing on the physical robot, it was unable to maintain balance on two legs
and propel forward with two legs because the centre of gravity is behind the centre of the
body, thus more weight was shifted to the back leg and the servo motors of the back leg was
unable to handle the weight. Further testing is required with a different locomotion. Most of
the servo motors did not rotate to the desired angular position although given the same signal
so the servo motors require configuration to align them.
4.0 CONCLUSION, LIMITATIONS & RECOMMENDATIONS
The MR1 was unable to make perfect throw into the Landing Zone due to several
human error and leakage. New piping and cylinders will be replaced and made stronger to
avoid any leakage in the future.
The MR2 was unable to use the fastest locomotion with two legs contacting the
ground at half a walking cycle to walk forward. Servo motors have syncing issues so they
require servo motor synchronizer or replace the servo motors with DC geared motors and
angular position sensors.
106
5.0 ACKNOWLEDGEMENTS
I would like to appreciate the support given by my club mates, lecturers and family
while constructing the robots.
Reference
[1] Boston Dynamics, Boston Dynamics, 2019. [Online]. Available:
https://www.bostondynamics.com/robots. [Accessed: 16-Jan-2019].
[2] ANYmal, ANYbotics, 2019. [Online]. Available: https://www.anybotics.com/anymal/.
[Accessed: 16-Jan-2019].
[3] M. I. of T. (MIT), Vision-free MIT Cheetah, YouTube. [Online]. Available:
https://www.youtube.com/watch?v=QZ1DaQgg3lE. [Accessed: 17-Jan-2019].
[4] Androtics, #1 Design and components - Pavlov project: Building a quadruped robot, 2017.
[Online]. Available: https://www.youtube.com/watch?v=G0xdYyJzbJE&feature=youtu.be.
[Accessed: 31-Mar-2019].
[5] W. Bosworth, S. Kim, and N. Hogan, 2016. The MIT super mini cheetah: A small, low-cost
quadrupedal robot for dynamic locomotion, SSRR 2015 - 2015 IEEE Int. Symp. Safety, Secur.
Rescue Robot., pp. 1–8.
[6] Robot_Nam_Fast. 2019.
[7] RobotEdu, HIGH TORQUE QUALITY SERVO DC MOTOR WITH BRACKET METAL
GEAR ; RDS3128, 2019. [Online]. Available:
https://www.robotedu.my/index.php?route=product/product&product_id=1415. [Accessed: 31-
Mar-2019].
[8] RobotEdu, XL4005 5A DC-DC STEP DOWN ADJUSTABLE VOLTAGE REGULATOR
MODULE (BUCK), 2019. [Online]. Available:
https://www.robotedu.my/index.php?route=product/product&product_id=1167. [Accessed: 31-
Mar-2019].
107
USM A from Universiti Sains Malaysia
TEAM SUPERVISOR: Anwar Hasni Abu Hassan
TEAM MEMBERS: Ooi Kuan Rhen
Mohamad Hafiz Bin Ahmad
Liang Zhi Hou
Mohammad Aulia Amri Mohd Shukri
Tee Han Shen
Ahmad Shameel Naim Shamlan
Kelvin Tan Yi Boon
Suhail Bin Shaarani
Cheah Kain Bin
Mohd Hilmi Mohd Ghazali
Yap June Young
Muhammad Akram Mohd Idros
Leong Jun Xian
Muhammad Faiz Mohd Fauzi
Tan Ber Shan
Ahmad Sofwan Kamil Zakaria
Muhammad Hariz Rosman
Lau Lu Bin
Siong King Soon
Chang Yi Neng
Lim Ban Aik
ABSTRACT
For Messenger Robot 1 (MR1), the concept of a forklift was used since the Shagai is pretty
heavy. Power window motors are used as the rotary actuator and pneumatic pistons are used
as linear actuators and is controlled by a wireless controller. The power window motors are
provided with 24V supply to make the motor run faster. The mechanism for holding our
Gerege is very simple. We connect the arm to a pneumatic cylinder that is positioned
vertically during the starting of the game so that the Gerege is higher than the upper part of
the robot. When passing Gerege, the pneumatic piston will pull the arm down and pass the
Gerege to Messenger Robot 2 (MR2). The arm also acts as a clamp when carrying the
Shagai. Legged robot is a mobile which uses mechanical limbs for movement. Legged robot
can do many tasks that cannot be done by wheeled robot. In ROBOCON 2019, the MR2
which is a four-legged robot is built to pass through obstacles such as Sand Dune, Tussock
and Mountain Urtuu after receiving the Gerege from the MR1. Then, when the MR2 reaches
Uukhai Zone after climbing up Mountain Urtuu, the MR2 will lift the Gerege and this is
108
called Uukhai. Thus, to build the MR2, first and foremost, the mechanical design of the
robot is drawn by using SOLIDWORKS. The fabrication of the main body and legs of the
MR2 will be based on the mechanical design drawn. The electrical components such as
Arduino Mega 2560, Power Window motors, photoelectric sensors will be used to control
and create the movement of the four-legged robot. The movement of the MR2 is
programmed by using Arduino IDE. The MR2 has been tested for many times in the game
field to ensure that it can complete all the tasks.
1.0 INTRODUCTION
ABU Asia-Pacific Robot Contest (ABU ROBOCON) is an Asian Oceonian College
robot competition, which was founded in 2002 by Asia-Pacific Broadcasting Union. In this
competition, robots will compete to complete multiple tasks within a period of time. Every
year, ROBOCON will be held in different countries which is also the member of Asia-
Pacific Broadcasting Union and the theme will be set based on the culture and significance
of the organising country. In 2019, ROBOCON was held in Ulaanbaatar, Mongolia and the
theme is Sharing the knowledge which is related to the Urtuu system (horse relay postal
system) created under Genghis Khan in 1224. The Urtuu system was instrumental in the
expansion of the Mongolian Empire for the messenger for rest (feeding, replacing the horse)
and then relay to another messenger during delivering of mail [1]. The Urtuu system is
related to the theme because the Urtuu system has opened a new door for exchanging and
sharing of knowledge regardless of space. Besides, this competition also involves the
traditional Mongolian game, the Shagai [2].
In ROBOCON 2019, two team will compete in a game field in each round and two
robots are required for each team to complete the task, which one is manual, another one is
autonomous four-legged walking robot without wheels. The manual robot is called
Messenger Robot 1 the MR1, which will carry a Gerege, which is a tablet, which is known
as the world’s first foreign passport invented by Mongolian and deliver it to the autonomous
robot the MR2 at Gobi Urtuu (starting point of the MR2). The MR1 will starts at Khangai
Urtuu, which is the starting point, passing through the Forest and Bridge and passes the
Gerege to the MR2. Then the MR2 passes through the Sand Dune and Tussock, and move
to Mountain Urtuu, while the MR1 can pick up the Shagai. The MR1 will only be allowed
to enter the Throwing Zone and throw the Shagai, when the MR2 reaches Mountain Urtuu.
109
The MR2 is allowed to climb the Mountain when the MR1 earns 50 or above points after
throwing the Shagai. When the MR2 reaches the top of the Mountain, which is the Uukhai
zone, the MR2 has to raise the Gerege and wins the game. Team that raises the Gerege first
at Uukhai Zone will be the winner, which is called Uukhai.
In the competition, our team uses a design of four legs with horizontal alignment as
the locomotive system of the MR2. Each leg has three links, where one is linked to a Power
Window motor to be rotated and two are linked to the body which is used to fix the leg
pointing downward during the rotation. The leg’s motion is controlled by the rotation of
Power Window motor and thus it can only move forward and backward. In order to control
the direction of robot, specific combination of motion for four legs is executed and this
combination can be programmed. Each leg has two touching points to the ground so that it
can pass through the Sand Dune and Tussock stably. We used Arduino and motor driver to
programme and control the speed and sequence of rotation of Power Window motor for
each leg to achieve the required motion. Photoelectric sensors are used to synchronize the
legs to get a smooth motion. Besides, a sliding area is designed to slide the Gerege into a
container during the passing of the Gerege from the MR1 and the Gerege is raised along
with the container by using the pneumatic pump. Any modification will be made based on
the mistakes and errors occur during testing of robot’s performance.
2.0 DETAILED DESIGN
2.1 Messenger Robot 1 (MR1)
The flow of the game is that the MR1 will carry the Gerege, passing through the
Forests, bridge and then passing the Gerege to the MR2. Once the MR2 passes all the
obstacles which are the Sand Dune and Tussock, it will wait at Mountain Urtuu. The MR1
picks up the Shagai and throws it into the Landing Zone. Once 50 points are gained, the
MR2 climbs over the Mountain area to reach Uukhai Zone. After reaching Uukhai Zone, the
MR2 will lift the Gerege and the game is won. Figure 1 shows the fabricated the MR1.
110
Figure 1: Messenger Robot 1
For the MR1, the concept of a forklift was used since the Shagai is pretty heavy. A
power window motor is used as the rotary actuator and is controlled by a wireless controller.
The power window motor is supplied with 24 V to make the motor run faster. So we
combined two 12 V batteries in series to make it 24 V. The result is that the motor run faster.
The motor also consumes high starting current, so a suitable motor driver is used to operate
the motor.
The mechanism for holding the Gerege is very simple. We connect the arm to a
pneumatic cylinder that is positioned vertically during the starting of the game so that the
Gerege is higher than the upper part of the robot. When passing the Gerege, the pneumatic
piston will pull the arm down and pass the Gerege to the MR2. The arm also acts as a clamp
when carrying the Shagai later on.
When lifting the Shagai, the forklift will be lowered down and the robot will move
forward to make sure the Shagai is on the forklift. Once the Shagai is positioned, the forklift
111
will be moved up and clamped by an arm. When the MR1 is at the Throwing Zone, the arm
will be lifted up and the Shagai will be shot by a pneumatic piston.
The MR1 does not have the ability to move in diagonal line since we are using
normal wheel instead of omni or mecanum wheel. Even though we are using normal wheels,
with a 24V supply, speed is found to be faster since the MR1 is able to reach the Khangai
area within 16 seconds. The passing of the Gerege took about 22 seconds which are
considered fast enough for a normal wheel.
2.1.1 Mechanical Design
the MR1 is used to carry the Gerege and pass it to the MR2. For the holding
mechanism, we used pneumatic cylinder to hold the Gerege higher than the MR1 body. The
hole on the Gerege is inserted to a shaft which is installed on the arm that is connected to
the pneumatic piston. For the lifting of Shagai, we used the concept of a forklift. Instead of
using pneumatic power source, we proposed a simple solution which uses a rope and pulley.
We attached the rope to the lift and through the pulley, the rope is tied to the motor shaft.
When the motor is rotating, the rope will roll to the shaft and pull the lift up along with the
Shagai. After the maximum height is reached, Shagai will be pushed by a metal plate behind
it. The metal plate is welded to a nut which is inserted to the pneumatic piston. To get enough
force to shoot the Shagai, the pressure needs to be high enough. If a big diameter cylinder
is used, the movement is too slow. So a medium diameter cylinder that can take up pressure
up to 600kPa was used. Our the MR1 is fully manual, controlled by an experienced operator
who keeps practising every day. Since we are using two wheels, we can only gain speed by
using relatively high voltage and an experienced operator who knows when to speed up,
turn and stop.
Servo motor is used at the top part of the MR1. The servo motor is used to hold the
Gerege from falling from its position. A bracket is installed to the servo motor to follow the
flow of the motor. During setting time, the bracket is 90 degrees in front of the Gerege.
During the movement of the MR1, the bracket stays in the same position until the passing
time whereby during passing time the bracket is opened by changing the direction of the
servo motor. There are three power window motors that are used in the MR1. Two of those
motors are used for the movement of the MR1 as in moving forward, backward, turning left
and right. These two motors, as shown in Figure 1, are located at each side of the MR1, that
112
is at the left side and the right side. The third power window motor is used for the lifting
mechanism of the Shagai. This motor is tied with the rope which is connected the lift through
a pulley as motion converter.
For the MR1, two double acting pneumatic cylinders and two pneumatic solenoid
valves are used. Each pneumatic cylinder requires a pneumatic solenoid valve to operate.
One pneumatic cylinder is used for passing the Gerege to the MR2 and another one is used
for shooting mechanism, that is to shoot the Shagai at the Throwing Zone on game field.
The first pneumatic cylinder is attached at the top left of our the MR1 which is used to pass
the Gerege to the MR2. When the pneumatic cylinder is activated, it will lift up the Gerege
higher than the height of the MR1. The second pneumatic cylinder is attached at the centre
of the MR1. The end part of pneumatic piston (the nut) was welded to a steel plate so that
when shooting the Shagai, an even force will be distributed and it will not damage the
Shagai. When Shagai is lifted up at equal height of the second pneumatic cylinder, the
operator can trigger the shooting mechanism aiming at the Throwing Zone.
2.1.2 Electronic Design
For the MR1, Arduino UNO is used as our main board or the brain of the robot. The
Arduino UNO board is connected to USB shield as we used PS3 Controller with USB
Bluetooth dongle to control the robot. Since the MR1 is fully controlled manually, the MR1
does not have any sensor. The MR1 only receives inputs from the PS3 Controller that is
controlled by our operator. We used three DC motors with three different motor drivers.
Two of them are MD10C where we used them for both of our wheels and another motor
driver is for MD13S where we used it to lift the Shagai. For MD10C, we centralized both
of the PWM pin in Arduino to synchronize the speed of the wheels. Two relays are used to
control both of our pneumatic valves. Both of pneumatic valves are connected to Normally
Close (NC) pin of the relays, so that, the pneumatic valves always switch on until they
receive a new signal.
2.2.3 Software Design
The flow-chart shown in Figure 2 summarizes the operation of the MR1 based on
the programme in the micro-controller and the buttons of PS2 controller.
113
(a) (b)
(c) (d)
114
(f)
Figure 2(a)-(f): Flow-chart of the programme in the micro-controller of the MR1
2.2 Messenger Robot 2 (MR2)
2.2.1 Mechanical Design
Walking mechanism for the MR2 is three parallel joints mechanism actuated by
power window motors. The reason that a three parallel joints mechanism (shown in Figure
3) was chosen as our the MR2 walking mechanism is due to its degree of freedom [3], [4]
and [6] and itsability to raise up the leg higher compared to other mechanism, hence the
MR2 is able to complete the tasks in limited period.
115
Figure 3: CAD modelling of the MR2 leg
The joint length of the MR2 is 8 cm so that the MR2 will move forward 32 cm for
each completed rotation of power window motor if there is no slipping situation happened
between the leg and the game field. The legs are also able to be raised to 16 cm high so that
it will be able to pass the Sand Dune and Tussock. Besides, the reason we located all the
legs parallel to each other is because it can maintain the MR2 stability while walking. Two
heels for the leg were designed because it can prevent the MR2 from falling when passing
the Sand Dune. The inclined angle of the MR2 will always be the same when passing the
Sand Dune so that it can maintain the MR2 stability. Figure 4 shows the fabricated the MR2.
Figure 4: The fabricated MR2 on a trolley
116
2.2.2 Electronic Design
The electronic circuit and controller are based on components as listed in Table 1.
The motion of the legs is controlled by the micro-controller and photoelectric sensors [7],
and the modes of operations can be chosen by activating the switches.
Table 1: Function of the components
Component Function
Arduino Mega 2560 It is a micro-controller which has 54 digital input/output pins,
16 analog input pins and 4 hardware serial ports. It is used to
control the robot movement.
Panasonic CX-422 It is a photoelectric sensor which is used to detect the distance,
presence or absence of an object by using a light transmitter. It
has maximum sensing range of 800mm. 4 photoelectric sensors
are placed near the legs to synchronise 4 legs so that the robot
can move smoothly. Besides a photoelectric sensor is placed
near the Gerege holder to scan the absence or presence
of Gerege.
Emergency switch It is used to operate or stop the robot movement.
Toggle switch It is used to switch the walking mode for autonomous robot.
Power It is a DC motor which require 12VDC to operate it. It has a
Window motor maximum speed of 60RPM and torque of 30kgf.cm. It also has
a break torque of 100kg.cm which is high enough to prevent the
robot from moving when it is at stationary state. Four Power
Window motor are installed on four legs.
MDD10A motor It is a dual channel motor driver board which can control the
driver board speed, direction and activation of DC motor.
117
2.2.3 Software Design
The main function of the MR2 is a loop function, which means that the code will
keep looping once the power source is on. ‘ModeBtn’ is the main button that was used for
whether to reset the mode or to select the operation mode. Once the operation mode is
selected, the MR2 will perform based on several mode buttons that are toggled, which are
‘mode1’, ‘mode2’, ‘mode3’, ‘mode4’ and ‘mode5’. The selection of those mode buttons
will be based on the game field and situation that it faces during every match. For example,
if only ‘mode1’ is LOW, the MR2 will be moving forward after a correct signal was given
by the controller or the Gerege dropped. The flow-chart is given in Figure 5(a)-(b).
Next, the ‘sensorscanning’ function is used to detect the presence of the Gerege
when it is passed to the MR2 from the MR1. After the Gerege is detected, the boolean
‘stable’ becomes true, the next function will be executed. The ‘handscanning’ function is
similar to the ‘sensorscanning’ function, but the ‘handscanning’ function is used to detect
the presence of the hand of the controller. The boolean variable ‘hand’ is used when there
are ‘sensorscanning’ and ‘handscanning’ functions used in the same loop. It becomes true
if and only if the hand of the controller is detected by the ‘handscanning’ function. When
‘hand’ is true, the ‘startsignal’ function will be executed.
118
(a)
119
(b)
Figure 5(a)-(b): Flow-chart of the main function
120
Figure 6: Flow-chart of the reset function
121
When ‘startsignal’ function is executed, the led will light up for two seconds, its function is
to give signal to the controller and judges and provides enough time for the participants
leaving the game field. After that, the MR2 will perform the ‘forward (100)’ function, that
is the MR2 will move 100 steps forward. The ‘gamefield1’, gamefield1retry’, ‘gamefield2’,
‘gamefield3’ and ‘gamefield4’ functions are used based on the situations and game fields
that the MR2 are placed. The functions are programmed to tell the MR2 that how many
steps to be moved forward, and when to turn right or left. Figure 6 shows the flow-chart for
resetting the MR2.
3.0 ROBOT TESTING
The design of the MR2 was done using SOLIDWORKS, a CAD software. The
motion of the robot was simulated using the software to ensure the smooth movement of,
and no restriction with its body part. The overall size of the robot is designed to fulfil the
dimension stated in the rulebook.
The design of the MR2 is mainly based on the rotation of four “legs” to move
forward. Each “legs” has two contact points with the ground that could easily cross the
obstacles. The joint of the “legs” is 80 mm and we programmed the two of the “legs” move
in phase and the other two at 180 degree out of phase. Theoretically, this s a total of 320mm
of distance travelled in a complete cycle by all “legs”. The two most outer “legs” is distanced
600mm so that turning angle for one cycle is approximately 30 degrees from the centre of
rotation.
However, in practice, the distance travelled differs slightly from the estimation due
to the slipping of the “legs” as the motor rotate at high speed. We have collected data from
several trials on adjusting the speed of the robot to compromise the slipping effect so that
we optimised the effective distance travelled in the shortest time possible. From the
experiment, we found that the best duty cycle for pulse width modulation (PWM) given to
the motor is 65% which is about 7.8 V out of 12 V fed to the power window. Table 2 shows
the comparison between theoretical distance and the actual travelled distance of the MR2.
122
Table 2: Difference in distance travelled
Distance travelled in 10 cycle /mm Distance slipped in 10 Difference in
cycle /mm percentage /%
Theoretical Experimental
3200 3018 182 5.69
Calculation of the angle during each cycle:
tan Ө = 320/600
Ө = 28.1°
In addition, sensors were added to each “legs” to make the movement synchronised.
It is placed at the position where the “legs” will be scanned at its vertical position. However,
the sensor will detect an extra pulse on each cycle. Hence, a function was added in the
programme that ignore the extra pulse on each cycle. The number of skip pulses is two and
three depending on the position of the sensors.
4.0 DISCUSSION
As stated in the rules, the MR2 should be a fully automated robot without manual
controlled. The MR2 of our team has several pros and cons, these are discussed below.
One of the biggest strengths of the MR2 is its fast speed. Through the four-legged
mechanism and the usage of power window motor, it can run at a high speed and gives our
st
team a huge advantage when moving in the straight path (1 obstacle). For the Sand Dune
and the Tussock area, we try to let the robot passed these obstacles by improving our
mechanism, these includes using three-points movement leg with two contact points to the
ground and the usage of strong rubber band at robot’s leg in order for the MR2 to pass the
obstacles easily. The robot is also very stable and not easily topple over even when passing
the Sand Dune due to a large base and stable centre of gravity.
On the other hand, our robot also has a number of weaknesses. Due to our lack of
actual competition’s experience, we were unable to fabricate a robot to fully pass all
obstacles and complete Uukhai. Our robot faced problem while trying to pass the third
obstacle, the Tussock area as two of the robot’s leg often get stuck with the ropes. We tried
to solve this problem by installing the rubber band and also fully utilized the usage of “retry”
as our strategy and tactic to pass the obstacles. In the future, we will try to complete the
robot by enabling the Uukhai (raising of the Gerege) while improving on our Tussock area
passing ability. As a lot of time is wasted in retrying, we intended to improve our turning
123
ability while continue to increase the speed so that not only all tasks are completed, the total
completion time can also be shorten.
For its usefulness to the society, we find that through the four-legged design, our
robot is capable of passing through different terrains. As implied through the theme, the
MR2 is tasked to carry the messenger through complex terrain so that the message can be
transferred to another party. Our robots, with such design, can be used in rescuing mission
where life-saving resources and tools can be sent to victims without danger.
5.0 CONCLUSION
The MR2 is a four-legged walking robot built with the ability of walking in straight
line or turning into different directions with controlled angle of rotation. The approximate
dimension of the robot is 800 mm × 700 mm × 600 mm. Main material used for the
production of the MR2 is aluminum, but other materials like acrylic board, yoga mat, 3D
printed material are also used. The MR2 is a robot whose legs are powered by Power
Window motor with help of photoelectric sensor for the purpose of synchronization. In
short, the MR2 is a robot that has to complete multiple tasks. The MR2 has to pass through
the Sand Dune and Tussock to go straight to Mountain Urtuu. After the MR1 thrown the
Shagai and earn 50 or more points, the MR2 is allows to climb the Mountain and raises the
Gerege (Uukhai).
ROBOCON is a perfect platform to learn and enhance robotic skills and knowledge.
Team-work is important in order to ensure the robot runs perfectly. Applying idea and
materializing design for a robot based on the rules are important to make competitive robots.
In addition, this project has taught us the importance of team-work and professionalism.
6.0 ACKNOWLEDGEMENTS
Throughout the process of making the robots, we had obtained the help and followed
the guideline of some knowledgable people who deserve our greatest gratitude. The
completion of this project gives us much pleasure and enriches our experience. We would
like to show our, first and foremost, gratitude to Universiti Sains Malaysia for the financial
support. We would also like to extend our thanks to all those who have directly and
indirectly guided us throughout this journey.
124
References
[1] Ata-Malik Juvaini, David O. Morgan, John Andrew Boyle, 1997, “Genghis Khan: The History
of the World-Conqueror”, Washington: Univ of Washington Press.
[2] George Lane, 2004, Genghis Khan and Mongol Rule (Greenwood Guides to Historic Events of
the Medieval World), Greenwood Press.
[3] Y.Zhang,V. Arakelian and J.-P. Le Baron, 2018, Design Of A Legged Robot With Adjustable
Parameters.
[4] Leg Mechanism https://en.wikipedia.org/wiki/Leg_mechanism
[5] Lee, CR. & Jeong, 2017, Numerical modeling and dynamic simulation of automotive power
window system with a single regulator, Int.J Automot. Technol, 18: 833.
https://doi.org/10.1007/s12239-017-0082-9
[6] Amol Deshmukh, 2006, “Robot Leg Mechanism”, B.Tech Report, Department of Mechanical
Engineering,IIT. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.98.3216
[7] Potoelectric sensor https://www.cytron.io/p-panasonic-sunx-photoelectric-sensor-94
125
ADTECSA ROBO TEAM from Pusat Latihan Teknologi
Tinggi Shah Alam
TEAM SUPERVISOR: Ts. Ubaidullah Mohammad
TEAM ADVISORS: Mohd Sani Saian
TEAM MEMBERS: Muhammad Allif Hafidi Mahdi
Muhammad Na’im Mohd Abd Azis
ABSTRACT
ROBOCON is an annual robot competition participated by countries in the Asia-Pacific
region. For 2019, it will be held at Ulaanbaatar, Mongolia. This year theme is Sharing the
knowledge which is related to the Urtuu system of Mongolian tradition. This year
competition requires the participant to build two robots with one of them must be a four
legged robot. This project is to describe the development and fabrication of the robots which
are used in this competition. The robot is developed according to the specification provided
by the organizer. The first robot is a manual controlled robot. For this robot, four omni
direction wheel powered by four DC motors are used for its movements. A pneumatic
system is used for gripping and for the throwing mechanism. It is controlled by an operator
using a wired joystick. The second robot is an autonomous four-legged robot. This robot
movement is powered by four DC motors. Both robots use Arduino based micro-controllers
as its brain and is powered by Lippo batteries. The programming language used for this
project is similar to C/C++ programming. The robots are first designed using CAD software
before fabrication. After the fabrication is done, the robot is tested to make sure it can carry
out the tasks as intended. At the end of this project, two robots were developed and
fabricated according to the specifications. Testing shows promising results and it is hope
that these robots could put up a good challenge to any of its opponents.
1.0 INTRODUCTION
The ROBOCON competition has been held annually since the year 2002 [1][2]. It is
a competition for undergraduate students across the Asia-Pacific region organized by the
Asia-Pacific Broadcasting Union (ABU) [3]. In this competition, a team must build two
robots according to the pre-described specification and these robots are designed to perform
126
various tasks as stated by the organizers. Each year, the competition has different theme
depending on the country that hosts the competition. Each game is normally allocated a
maximum time of three minutes even though the teams manage to finish the tasks in a much
faster time. Two teams will compete between each other in a game, often designated by the
colour red and blue. The game field is normally symmetrical for both teams.
This competition tests the participants’ knowledge and skills to build a robot that
could perform the pre-describe tasks. Therefore they must have sufficient knowledge from
various disciplines such as in programming, mechanical design and electronic circuit design
[2][3]. The students must also be innovative and creative to mitigate the problems presented
to them and making use of the available materials and tools. For 2019, hosting country is
Mongolia and the theme is Sharing the Knowledge. The game is based on the Urtuu system
of the nomadic Mongolians tradition. It is to deliver information swiftly by using a relay
messenger system, called the Urtuu system. This system was very important to exchange
and share knowledge. The slogan for ROBOCON Malaysia 2019 is Satu Langkah, Seribu
Lonjakan which is analogously derived from the horse stride in the Urtuu system that
travelled far and beyond to relay messages across the country [4]. For this year competition,
the participants must build two robots, namely the Messenger Robot 1 the MR1, and
Messenger Robot 2 the MR2. Figure 1 shows the layout of the game-field.
Figure 1: ROBOCON 2019 Game-field
In this game [4], the MR1 carries the Gerege as shown in Figure 2 from Khangai
Urtuu, which is the starting point. It must move across the Forest, Bridge, and crosses Line
127
1 before reaching Gobi Urtuu. Gobi Urtuu is the starting point for MR2. After the MR1
reaches Gobi Urtuu, the MR1 passes the Gerege to the MR2. Once the MR2 successfully
receives the Gerege, it must walk across the Gobi Area. The MR2 must pass over the Sand
Dune and Tussock to reach Mountain Urtuu. After the MR2 reaches Mountain Urtuu, the
MR1 may enter the Throwing Zone to throw the Shagai as shown in Figure 2, and must earn
50 points or more. Once the MR1 earns at least 50 points, the MR2 is allowed to climb the
Mountain to reach the Uukhai Zone. Once the MR2 reaches the Uukhai Zone, it raises the
Gerege and the match is complete. This is called Uukhai and the first team to achieve Uukhai
is declared as the winner.
(a) (b)
Figure 2: (a) The Gerege and (b) The Shagai
From the task described above, the main problem that needs to be solved is to
develop two robots with its own capability to carry out the pre described-task. Among
others, the first robot must be able to move swiftly along the route, carry and pass the Gerege
and is able to lift and throw the Shagai. The second robot on the other hand must have the
ability to move on four leg autonomously and pass through several obstructions. The robot
must also have the capability to climb the Mountain .
In this project, the main objective is to build two robots to complete the pre-described
tasks. These robots are controlled using an Arduino micro-controller and powered by Lipo
batteries. The robot is mainly built using aluminium and some parts are designed and printed
using three dimensional (3D) printers. This robot also utilized a pneumatic system for
certain function such as the gripping mechanism. All of this must be done according to
specification designated in the rules, especially in term of size and weight.
128
2.0 DETAILED DESIGN
The development and design of this robot is mainly divided into three main
components which are the mechanical design, electronic design and software design. The
mechanical design caters mainly the chassis of the robot, its structure and the movement
mechanism. The electronic design is mainly for power distribution, the controller, and the
input components such as sensors, buttons and the output components such as the motor and
solenoid valves. Lastly, the software design is mainly for the programming of the controller
and the designing of software or for Computer Aided Design (CAD) software.
2.1 Mechanical Design
The mechanical design of the robot is very important as it is the main structure of a
robot and holds all of the main components. It also defines the mechanism for movement
utilizing basic machine mechanism. The robots were first designed using CAD software
before it is fabricated. This is to save time and speed up the development process. Designing
using CAD means the movement of the robot can first be simulated to ensure its
functionality. Despite that, during the fabrication, a lot of designed flaws are detected and
these flaws must be rectified or the design must be changed.
Figure 3: The design of the manual robot
Figure 3 shows the design of the manual robot. It is mainly built on a single
aluminium plate, reinforced with aluminium square tube to improve its structural integrity.
129
Aluminium is used as it is light, easy to process yet very durable. The weight limit for this
competition is 50 kg which means the selection material is very crucial. Four
omnidirectional wheels are used for robot’s movement (see Figure 4). These four wheels
enable the robot to move in various directions just by controlling the movement of the motor
[5]. We used a geared motor so that it has enough torque to carry the weight of the body of
the robot. A suspension system is used to ensure that the robot can move on an uneven
game-field.
Figure 4: An example of an Omni wheel and the direction it can travel
As for the Gerege, it uses a pneumatic cylinder, placed in a slot. The robot must also
lift and throw the Shagai. The lifting of the Shagai is done using arms utilizing linkage
mechanism and powered by a worm geared motor. This is done so that the arm will not fall
when it is not powered up. The gripping and throwing of the Shagai is done using a
pneumatic push mechanism. A cylinder is used to push the Shagai. The pneumatic system
is a portable system in which compressed air is filled in tanks, made from plastic bottles and
the cylinders are controlled using solenoid valves. The solenoid valves used in this project
are single acting solenoid valves.
The second robot is unusual as this is the first time in years that the participants must
build a four-legged robot. Figure 5 shows this design of the robot which is built using
aluminium profile as a strong body is needed. To build this robot, various designs were
considered. These designs uses various linkage mechanism, for example the Klann linkage
and Jansen linkage [6], to establish a smooth and balanced movement of the robot. The robot
needs a synchronize movement between it legs to ensure its stability. This robot movement
is more or less based on the Plantigrade mechanism adapted from [7]. It has four leg and
each leg has two contact points. It is powered by a worm geared motor which lock its
movement or avoid it from slipping. In this system, the motor is continuously moving in a
direction and the movement angle does not need to be controlled.
130
Figure 5 : The design of the second from different views
2.2 Electronic Design
In the electronic design, the main system is the electronic circuits and power system
the connects the controller, the power system and the input-output components. Both of the
robots use Arduino Mega as their main-controller. Arduino is an open source micro-
controller platform that is easy to programme [8], has a lot of application examples, plugs
and play components, and is really cheap. The computing power is sufficient enough to
control both robots. Another advantage is the abundance of pins on the Arduino Mega.
The main power source of the system is supplied by 11.1 V Lipo batteries. The
Arduino runs on 5 V in which it has a regulator on board. The motor runs on 12 V and the
solenoid valves run on 24 V in which two 11.1 V Lipo batteries are connected in series.
Other important components include a LCD screen used as an interface to display messages
and also a four by four keypad to give instructions. The LCD screen is connected to the
2
Arduino controller using I C connection and protocols. This is to ease the wiring and reduce
the usage of pins on the controller.
Another important component is the motor diver. A motor driver is needed to control
the speed and direction of a motor. Various types of motor driver are available in the market
depending on how many channel is needed, and the voltage and ampere it needs to tolerate.
In this project, 30 A, dual channel, bi-directional motor driver is used to drive motors on the
first robot. This is because the load of the robot is quite big. The second robot uses 13 A,
131
single channel, bi-directional motor driver to drive its movements. The speed of the robot is
controlled by pulsed wide modulation (PWM), generated by the micro-controller while the
direction is controlled by changing the state of a digital pin on the micro-controller. Figure
6 shows the circuit diagram of the MR1.
Figure 6 : A pictographic diagram of the electronic devices
The manual robot is operated using a wired PS2 joystick. A wired joystick is used
because of the lack of reliable and simple Bluetooth or WIFI joystick in hand. Other than
that, an optical sensor is used to give a signal to the second robot to start moving.
2.3 Software Design
In the software design, the main software used for the development of this robot is
the software used to programme the controller and the software used to do the 3D design of
the robot. A software for is also used to convert the 3D designed parts for 3D printing. A
programme comprises sets of instructions formulated to control the movement or action of
a robot. The micro-controller needs to be pre-programmed with instructions to react to
inputs provided by the human operator or move autonomously according to input or
conditions pre-programmed in it. Instruction for the motor speed, direction and display
among others are programmed into the micro-controller.
132
This project uses the Arduino platform that comes with its own free integrated
development environment (IDE). This project was programmed using the Arduino IDE
version 1.8.8. Among the advantage of this IDE other than that it is free, is it has vast
resources, application examples, and libraries co developed by users all around the world.
It is a vast sharing of knowledge and resources as promoted in this year ROBOCON theme.
Another thing is that this IDE can download the programmed instruction directly into the
Arduino micro-controller using a USB cable. The language used in this project is C/C++
language which is a common programming language. Figure 7 shows the Arduino IDE
layout.
Figure 7 : Arduino IDE layout
Another important software used in the development of these robots is a CAD
software. This software is used to design 3D parts of the robot. These single parts of the
robot are then assembled to create a working 3D model of the robot. The functionality of
the robot can then be simulated in this 3D environment before it is actually fabricated. Parts
for 3D printing can also be drawn using this software. After the 3D model of the robot is
made and the design is confirmed, this software enables user to convert the 3D models into
technical drawing for fabrication. The software used in this development is the Autodesk
Inventor Professional 2017. The advantage of this software is that it provides free original
license usage for students and lecturers.
133
3.0 TESTING AND RESULTS
Testing of a system is very important to ensure the functionality and reliability of
the robots. In this project, the test focuses on the movement of the manual robot, the holding
and dropping of the Gerege, the lifting of the Shagai and the throwing or launching of the
Shagai. For the second robot, the testing is focused mainly on the movement of the
mechanism, the movement of the robot across the Sand Dune and Tussock and lastly the
climbing at the Mountain area. The movement and mechanism were tested so that they
worked smoothly. The amount of air used for the pneumatic system is also monitored to
ensure that enough pressure is carried during the competition. The movement of the cylinder
and the functionality of the valves are also tested.
On the electronic side, first of all, it was to ensure that no short circuit occured in the
system. This is done by using a multi meter. Then, the pin assignments were thoroughly
checked and the input and output signals were tested. For example, the display and keypad
are tested to ensure they display the right information and give the right character,
respectively. Calibration of the sensors is made at this phase. The movement of the motor
was also tested so that it moves according to the speed and direction it has been programmed.
4.0 CONCLUSION, LIMITATION, RECOMMENDATIONS
This project has achieved building two robots. They were able to build according to
the specification designated by the organizer. These robots were tested and were able to
carry out the pre-described tasks. Even though the testing show promising results, the
outcome of the competition is yet to be determined as in a competition a lot of things can
happen and it also depends on the robot operator as well as the skill, efficiency and
teamwork of the participants.
This project faces issues like the limited resources and budget to produce fully
functional robots. Building robots need a lot of time, manpower and skills. As the students,
we still need to attend classes, do the assignments and use the lab. In addition, the
availability of the machine to work with is very limited. The funding provided by the from
the institute is small and we face bureaucracies. This has caused the design to change several
times to adapt to the available components that were mainly scavenged from previous
robots. This resulted in the robots to be different from previously envisioned. The team also
134
lacks of skills and hand-on experience, resulting in the waste of materials and unclean
fabrication.
It is recommended that the competition is held annually so that the students and
instructor get involved in real life hand-on experience in building robots. The experience
gained from such competition is important for the development of students’ soft skills and
trade skills, and this is important because they are the future work-force of this country.
Sufficient funding should be provided, and sponsorship and technical supports should be
encouraged especially from the private sectors. With the right support and funding, more
functional and competitive robots could be developed. For example, the usage of machine
and laser cut could provide better quality and precise fabrication.
5.0 ACKNOWLEDGEMENTS
The team would like to express our gratitude to the Advanced Technology Training
Centre (ADTEC), Shah Alam for allowing us to participate in this competition and for
allowing the use or tools, materials and equipments in order to complete the project.
References
[1] ABU ROBOCON Mongolia, 2019. [Online]. Available:
http://abuROBOCON2019.mnb.mn/en/about/show/27. [Accessed: 25-Mar-2019].
[2] ABU ROBOCON, Wikipedia, 2019. [Online]. Available:
https://en.wikipedia.org/wiki/ABU_ROBOCON. [Accessed: 25-Mar-2019].
[3] S. K. Saha, 2015 “Robotic Competition Based Education in Engineering ( RoC-BEE ) Robotic
Competition Based Education in Engineering ( RoC-BEE ),” No. January 2008.
[4] ROBOCON Malaysia 2019 Rule Book, 2019, Vol. 1.
[5] J. Song and J. Kim, 2005, Energy Efficient Drive of An Omnidirectional Mobile Robot with
Steerable Omnidirectional Wheels, Vol. 38, No. 1.
[6] Comparison of Theo Jansen’s mechanism and the Klann Linkage in Phun, YouTube. [Online].
Available: https://www.youtube.com/watch?v=WsRVu8BoSN4. [Accessed: 25-Mar-2019].
[7] ROBOCON 2019 – LAC HONG – Uukhai FAST NEW, YouTube. [Online]. Available:
https://www.youtube.com/watch?v=xC22aYdC42U. [Accessed: 25-Mar-2019].
[8] L. Louis, 2016, Working Principle of Arduino and Using It, Int. J. Control. Autom. Commun.
Syst., Vol. 1, No. 2, pp. 21–29.
135
UTAR from Universiti Tunku Abdul Rahman
TEAM SUPERVISOR: Danny Ng Wee Kiat
TEAM MEMBERS: Khor Jun Bin
Looi Chen Zheng
Lim Wen Qing
Tan Kai Siang
Bryan Liew Shun Yii
Sim Sheng Wei
Paw Kah Soon
Ng Wen Bin
Cheng Teck Kai
Cerene Foong Myn Li
Au Jin Cheng
Vinod Ganesan
Ong Chia Koon
Tan Jing Yi
ABSTRACT
The MR1 robot utilizes a pneumatic servo mounted on an omni-directional base to
propel the Shagai. The gripping mechanism is 3D printed and actuated by a servo motor.
The MR2 is based on the design of spider robot. It uses a total of eight servo motors to drive
four legs. The MR2 also uses two ultrasonic sensors to detect the level of the robot. Webcam
and IMU are also integrated through the use of Robot Operating System (ROS) to provide
feed-back on the orientation and position of the robot. These sensors ensure that the
autonomous robot can operate smoothly.
1.0 INTRODUCTION
The first task of the Messenger Robot 1 (MR1) is to carry the Gerege from its starting
point to Gobi Urtuu. The gripping mechanism is equiped with a pneumatic gripper and the
movement is base on mecanum base omni-directional movement. After reaching the Gobi
Urtuu, the MR1 has to pass the Gerege to the Messenger Robot 2 the MR2 using the same
pneumatic gripper. Once the spider-like MR2 receive the Gerege, it will walk by following
the line on the path using opencv, then it will pass through those obstacles through pre-
programmed move. After it reaches Mountain Urtuu, the MR1 will enter the Throwing Zone
and throw the Shagai using pneumatic servo based throwing mechanism. After earning 50
points, the MR2 will be allowed to climb the Mountain to reach Uukhai Zone. Once the
136
MR2 reaches the Uukhai Zone, it will raise the Gerege using the top mechanism and it will
stop.
2.0 MECHANICAL DESIGN
2.0.1 The MR1 Mechanical Design
Shagai Gripper Mechanism
Figure 1: Initial and gripping angle of servo motor
The gripper mechanism is made up by a power window, a servo motor and a 3D
printed part which is designed according to the dimension of the Shagai. The bar with 3D
printed part is controlled by a servo motor and it is positioned to be aligned with another
side of the Shagai. When the gripper is closed, it will fit the Shagai tightly. Then, the power
window will rotate the horizontal bar to move the Shagai on the throwing mechanism as the
rotating motion is constrained by limit switches to obtain the desired position. The servo
motor is rotated back to its initial angle to release the Shagai when it stopped at the desired
position.
Shagai Throwing Mechanism
Figure 2: DSRL-25-180-P-FW Pneumatic Servo (https://www.kiowa.co.uk/10050587-
P00031872/DSRL-25-180-P-FW-Festo-Semi-rotary-drive)
137
The design of Shagai throwing mechanism based on the catapult physics using Festo
Pneumatic Servo which pre-set the rotation degree of angle for the Shagai to have the
consistence flipping rate and land on the ground with the same surface of the Shagai [1].
0
Figure 3: Initial Position with θ1=30 0 Figure 4: End Position with θ2=90
Gerege Passing Mechanism
Figure 5: Shows the pneumatic gripper
Festo pneumatic gripper is used to hold the Gerege and release with the combination
of roller limit switch. A roller limit switch is mounted on the bottom of the pneumatic
gripper. When passing the Gerege to the MR2, the MR1 moves along the game field wall
with the Gerege slides into the MR2’s Gerege holder and trigger the roller limit switch to
give signal to the micro-controller to send a command and rapidly release the Gerege into
the holder.
2.0.2 The MR2 Mechanical Design
The diagram below (Figure 6) shows the overall design of the top mechanism of the
autonomous robot.
138
Figure 6: the MR2 top mechanism
The part in green box is mounted on the top and support the whole top mechanism.
To reduce the torque and the current draw, we mount the servo slightly further from the joint
and use a support to control the movement of the aluminium bar, as shown in Figure 6,
marked by the yellow circle. By using this design, it requires lesser force to raise the
aluminium bar.
From the diagram above we are able to prove the relationship between the force
required and the distance between the force applied and the joint. Assume that FB is the
place where we applied the force and the F is the load weight [2]:
-10(3) + FB = 0 , FB =30N
Meanwhile as we applied the force on point FA (withouht FB)
-10(3) + 2FA = 0 , FA =15N
The red circle part is the holding place of the Gerege. When the Gerege falls on it,
it will press a button which mounted on it, then the servo will turn to clip the Gerege on it.
139
Leg design
Figure 7: MR2 Mechanical design
This design is built with six degrees of freedom (6DOF) so that the robot is able to
move more flexibily and its legs can lift vertically. This will allow it to jet up and down
when passing through the obstacles, thus increases its stability. The motion of the robots is
like a spider. The support point is used so that the normal force exerted from the ground will
enable the weight of the robot to be balanced by the support point and the servo motor
instead of the servo motor only. The linkage is built by 3D printer and it is screwed at the
both side of the leg to avoid the leg to bending while moving and it also provides a stable
support for the robots. The bottom of the legs is wrapped with sponge to increase fraction
toward the ground. This design is built using aluminium because it is light, thus decreases
the current consume by the servo motor. Due to the material on the body the electrical
component and lifting mechanism are placed evenly on the body so as to distribute the force
equally among the layer.
2.1 Electronic Design
For electronic design, we use printed circuit board (PCB). With the use of PCB, we
are able to reduce the mess on our electronic component and to ensure the ease of
maintanence. For electronic system, we use Arduino Mega as our main controller, raspberry
pi for the usage of ROS and custom-made-pic-based controller board for IMU purposes.
The Arduino Mega 2560 is designed to be in the middle of the board to allow the
components and pin headers to connect to the Arduino Mega 2560 easily. The width of the
wire on the PCB is 32 except for the wires connected to the power source which is 100. This
140
is because the voltage that flows through the wire is very high and might burn the wire if
the width of the wire is too small. All the ground pins of the components and the micro-
processor is connected to the rest of the copper of the board which makes it easier during
the design process. 3 pins molex connectors are used to connect the signal pins from the 10
Amp 5 V-30 V DC Motor Driver Cytron. This is to ensure the connection is tight and locked
and does not disconnect easily. The placement of the power supply, the step-down module
and the switch is placed further away from the components. This is to ensure that no short
circuit will occur or will affect the components in any way. Furthermore, the pins headers
which is connected to the components is placed on the outer side of the PCB so that it is
easier it to connect to the modules or component outside of the board respectively. It also
makes it more systematic and organized, thus it will be easier to debug.
2.2 Software Design
2.2.1 The MR1 Software Design
Transmitter
The data is sent by enclosing all the data with start marker and end
marker to ensure all the information are received correctly with
comma to separate each data. For example
<joystick1data,joystick2data,buttonAdata,buttonBdata>.
Receiver
After getting data of the joystick we will calculate the max and
min radius. The formula that we used to calculate the max
radius of the circle is
141
Formula will be used to calculate the radius and the angle or the joystick from the
xy coordinate. Then based on the angle and the radius we will signal the robot to move in
certain direction. In addition, PID controllers are used on the motor to smoothen the
acceleration and deceleration of the motor. This will reduce the sudden increase of speed
and vibration of the robot.
2.2.2 The MR2 Software Design
The main processor for our auto-robot is a raspberry-pi B, which runs Robot
Operating System (ROS) on Ubuntu. The reason we use ROS is to avoid continuous
reinventing the wheel, and to offer standardised functionalities performing hardware
abstraction, just like a conventional OS for PCs. These processes are grouped into Packages
which can be easily shared and distributed. A node is like an executable file within the ROS
package. ROS nodes use a ROS client library to communicate with other nodes. We had
created three nodes for the robot: Raspberry, button_p, and robot_state. Raspberry is the
main programme which runs the image processing and receives the data from button_p and
robot_state.
Figure 8: The rqt_graph.
Raspberry (image processing)
We use a webcam to capture stream image and the data will pass into raspberry-pi.
The robot uses the data to track the line and follow it. A rough flow of the programme is
like this (1) video capture (2) smoothing image (3) convert BGR to HSV (4) HSV to binary
(5) auto calibration (6) separate image into 2 (7) find max contour (8) get centroid of contour
(9) calculate angle (10) angle to Arduino then repeat to step one. For this to work, we use
Opencv. First, our programme will read the image from the webcam and create a BGR
matrix. The BGR image has been smoothed in order to minimize the noise by using ‘blur’
142
function which is from the library of opencv. After that, the BRG image is converted into
HSV by using ‘cvtColor’ function. HSV is further converted into binary image by ‘inRange’
function. The line will become white colour, everything other than the line will become
black [4]. After that, an auto calibration will be carried out where the robot will auto
calibrate the image until it sees there is only a straight white line in the binary image. Auto
calibration is carried by using ‘inRange’, ‘HoughLines’ transform and ‘findContours’. The
parameter for inRange function is the HSV value.
inRange( frame_HSV, Scalar(low_H, low_S,
low_V),Scalar(high_H, high_S, high_V),frame_threshold);
Our programme will continuously manipulate the parameter for the HSV value
boundary until it detects there is only one contour from ‘findContours’ and two lines from
‘HoughLines’. Function ‘findContours’ can detect how many contours are there in the
image. Function ‘HoughLines’ transform can detect how many straight lines are there in the
image. For example, if the robot wants to differentiate between yellow and white colour.
The initial parameter for ‘inRange’ function will be like this.
inRange(frame_HSV, Scalar(low_H, 0, 0), Scalar(180, 255,
255), frame_threshold);
The value of low_H will be 179. Once auto-calibration starts, the value of low_H will start
to decrease until the programme detects there are only one contour and two straight lines in
the binary image. Auto-calibration will only be run at Gobi Urtuu and Mountain Urtuu
which had been circled in the purple-colour rectangular box (see Figure 3).
Figure 9: The map of the Figure 10: The binary image with
competition. contours and centroids.
143
After that, the image is separated into two, A and B, top part and the bottom part, in
order to get two contours. Once we obtained the two contours, some calculations have to be
made in order to get the centroid of the contours. Centroids and contours are shown in Figure
4. After that, the angle between two centroids had been calculated and send to the Arduino
by using serial communication. In addition, our robot is also able to detect cross-road. This
was archived by using Harriscorner detection. Harriscorner detection can detect how many
corners there are. For example, when there is a rectangular white box in the image, it means
there are four corners. When the camera captured a crossroad image, there will be 12
corners.
robot_state (imu)
This node is created in order to receive the data from the imu sensor. The imu sensor
helps the robot to locate the position of itself. After it receives the data from the imu sensor,
it will publish an imu topic and the raspberry node will subscribe to it and receive the imu
value. The robot can balance itself once it has those values. Besides, our robot is able to
know if it is on the Uukhai Zone by processing the imu value.
Movement of MR2
How the main system works when it receives the essential data from raspberry-pi B,
for example the information from the opencv and the imu data. Other than that, it interacts
with two ultrasonic sensors and one button. The function of the button is to give starting
signal to the MR2 when the Gerege is placed into the holder, thus triggerring the button in
the holder. The two ultrasonic sensors are located at front part and back part of the MR2,
and both are facing downward or the floor. The function of the ultrasonic sensor is to
measure distance from the MR2 body to the floor. This helps the MR2 to determine when
to climb up or go down from the Sand Dune by providing feed-back to the system so that
the robot can have rough estimation of its current location and movement. Besides that, we
use eight servo motors to moves four legs. Each leg has two servo motors so that the leg has
two DOF move horizontal and vertical. Moreover, there are two more servos which are
used to interact with the Gerege. One of the servo motors is use to hold the Gerege tight so
that the position of the Gerege can be fixed, and this reduces the variability for the Gerege
and the other one is to lift up the Gerege holder once the MR2 reaches the Mountain [3].
144
145
Figure 11: Flow-chart of the program
3.0 PRESENTATION OF DATA
600
time vs height
400
200
0
0 20 40 60 80 100 120
(a) (b)
Figure 12: (a) Graph and (b) sample of the front ultrasonic sensor
Figure 12 shows the graph and sample of the front ultrasonic sensor which we collect
when we do the coding. This way, we are able to determine the value of the two turning
point which helps us to determine a threshold in deciding when to climb up the Sand Dune.
The robot will move forward continuously until the distance value is lower than the
146