Académique Documents
Professionnel Documents
Culture Documents
TP032074
TP032137
TP031954
Lecturers Name
Hand In Date
AI Methods [CT002-3-2-AIM]
Table of Contents
1.0 Design............................................................................................................. 3
1.1. Introduction................................................................................................. 3
1.2. Specification of the simulated environment and the robot..........................4
1.3. Method in detecting obstacle and size of robot...........................................7
1.4. Robot simulation.......................................................................................... 8
1.5. Introduction of team work and Gantt chart...............................................11
1.6. Proposed Scenario..................................................................................... 12
1.7. Sample of existing robot............................................................................13
1.8. Problems statements & objectives............................................................15
1.9. Project development purposes..................................................................16
2.0 Research........................................................................................................ 17
2.1. Cleaning Robot and the Machine Learning................................................17
2.2. Storyboard................................................................................................. 22
2.3. Algorithm................................................................................................... 24
3.0 Module Integration......................................................................................... 25
3.1. Robot Component...................................................................................... 25
3.2. Testing....................................................................................................... 32
4.0 Conclusion..................................................................................................... 33
4.1. Overall of the project................................................................................. 33
4.2. Achieving Learning Outcomes...................................................................34
4.3. Constraints and Limitations.......................................................................35
4.4. Future Enhancements................................................................................ 37
5.0 Proposal......................................................................................................... 38
5.1. Latest Proposal.......................................................................................... 38
5.2. Old Proposal.............................................................................................. 42
6.0 References..................................................................................................... 46
7.0 Task Allocation............................................................................................... 48
Page 2 of 48
AI Methods [CT002-3-2-AIM]
1.0 Design
1.1. Introduction
In this new era, many people are trying to catch up with the latest technologies so
that they would not leave behind and always get updated, even the elder generations.
Technologies are not only applied in IT, science, medical or business scope, it also can
apply in sports zone.
As we all know, Badminton is a very legendary and well-known sport in
Malaysia, which was brought up by Datuk Lee Chong Wei. Hence, they need an
abundant supply of manpower to support the whole event. Examples of the tasks are
collecting shuttlecocks, distributing the waters, cleaning the courts, time keeper, and
so on.
In order to reduce the workloads of the workers, the project team has come up
with an idea, in which they will be designing and developing a Cleaning Robot. This
robot is able to detect and avoid the obstacles, and able to clear objects or trashes in
the court.
Page 3 of 48
AI Methods [CT002-3-2-AIM]
Court
i.
A Solid node is added.
ii.
Open this Solid node.
iii.
Children field is selected and a Transform node is created under the children.
iv. Open this Transform node and add a Shape node under the Children field by using
v.
Walls
i.
A Solid node is added.
ii.
Open this Solid node.
iii.
Children field is selected and a Shape node is created under the children.
iv. Open this Shape node and insert an Extrusion under the geometry field by using
v.
vi.
vii.
viii.
ix.
added.
Open this Transform node, under Children filed, the previous Shape node in (vi) is
Page 4 of 48
AI Methods [CT002-3-2-AIM]
iv.
Open this Shape node and insert a Cylinder under the geometry field by using the
Add New and New node buttons. The size will be defined and boundingObject of
v.
Net
i.
A Solid node is added.
ii.
Open this Solid node.
iii.
Children field is selected and a Shape node is created under the children.
iv. Open this Shape node and insert a Box under the geometry field by using the Add
v.
vi.
Obstacle
i.
A Solid node is added.
ii.
Open this Solid node.
iii.
Children field is selected and a Shape node is created under the children.
iv. Open this Shape node and insert a Box under the geometry field by using the Add
v.
vi.
The robots body is designed based on the idea of the classic vacuum cleaner with two
wheels. This Cleaning Robot has cameras, distance sensors, and a LED light.
Camera:
The camera is used to videotape and to record the environment that occurs around
the Cleaning Robot.
Distance sensor:
The distance sensor is used to measure the distance between the robots body and
the obstacles so as to avoid the robot to be collided with the walls or any
obstacles.
LED light:
Page 5 of 48
AI Methods [CT002-3-2-AIM]
The LED light is used to indicate that the robot is turning on and working.
Page 6 of 48
AI Methods [CT002-3-2-AIM]
1.3.2
1.3.3
Size of robot
The Cleaning Robot is made up of different types of shapes. The characteristic of
the Cleaning Robot is stated below.
Top Camera
Bottom Camera
Body
Distance Sensors
LED light
radius 0.01
Page 7 of 48
AI Methods [CT002-3-2-AIM]
1.4.1
Overview of Simulation
In robotics field, simulation is defined as a process that is used to create and
develop a computer-generated model of a robot which comprising its design and the
programming code (Calin, 2014). Besides, simulation appears to be an essential step
in developing a robot. This is due to the fact that simulation acts as a tool which
enables the developers to simulate the real-world process by testing the virtual
model in a specific environment or software. In addition to that, the end-users or
clients are able to understand how a system works easily through a prototype that is
using simulation process. Aquino mentioned that Simulation gives customers
unfamiliar with robotics a better idea of what robots can do by literally showing
them the process. (Brumson, 2009) Examples of software that are using simulation
are Webots, RoboLogix, RobotExpert, and Workspace. The pro of simulation is that
it does not require physical model. The virtual model can adapt large changes. Thus,
the developers can modify the design or code at ease without additional costs and
this will definitely save their time and money during the development process
(Calin, 2014).
1.4.2
Types of Simulation
Typically, there are two types of simulation: Discrete Event Simulation and
Continuous System Simulation (Jambak, Haron, Ibrahim & Abd Hamid, 2010). First
of all, Mike & Albrecht (2010) defined Discrete Event Simulation (DES) as a
process of keeping track and manipulating the behavior of a real-system model that
involves mathematical and logical concept by dividing the continuous process into
several individual parts to make the analysis easier. The state variables may change
promptly at a specific point in time when a certain event occurs. This technique is
Page 8 of 48
AI Methods [CT002-3-2-AIM]
1.4.3
Robot Programming
Mittal & Nagrath (2003) stated that robot programming is referred as the
teaching cycle, where the robot is required to be taught on what and how it should
perform, by human (usually the programmers). This is because robots do not have
any knowledge or intelligence. They cannot learn things by themselves unless the
programmers enter the commands into the robot manipulator. Furthermore, a robot
programming language is represented as an interaction tool or an interface between
the programmers and the robot manipulator to communicate with each other. There
are two ways to executing robot programming, which are On-Line Programming
and Off-Line Programming.
-
On-Line Programming
Principally, the robot manipulator in on-line programming will execute the
commands immediately once it has received the instructions given by the
programmers (Mittal & Nagrath, 2003). Through this technique, the
programmers are able to observe the behavior of the robot and verify whether it
has carried out the desired execution and met the expected performance.
Moreover, the advantage of this technique is that the programmers can acquire
the accurate measurements of the output due to the fact that the robot is
programmed before the experiment is being carried out (Jambak, Haron,
Ibrahim & Abd Hamid, 2010). However, it consumes high costs of production as
the robot is in a physical form (real-system). Nowadays, most of the industries
are using a teach pendant to control the functions or actions of a robot. Figure 1
and 2 shows the example of KUKA, which is an arc welding robot that is using
this teach pendant (Robotwelding, n.d.).
Page 9 of 48
Figure 1: KUKA Robot
AI Methods [CT002-3-2-AIM]
Off-Line Programming
On the other hand, off-line programming does not access to the robot
manipulator and does not
require
any machines.
It is being tested in a
Figure
3: On-Line
Programming
computerized graphical environment that simulates the outcome of what and
how a system behaves (Mittal & Nagrath, 2003). As can be seen in Figure 4,
the robot is programmed and developed by using a simulation software to
debug the programming code. Because of that, it has no loss of production,
which appears to be the major advantage of off-line programming (Jambak,
Haron, Ibrahim & Abd Hamid, 2010). The robot can run continuously in the
simulated environment. Examples of programming language that can be
used in off-line programming are Java and C/C++. This technique is not only
applied in industries, but also brought over to academic aspect, which often
used by the engineering students.
AI Methods [CT002-3-2-AIM]
Team Work
This project involved 3 group members, and the purpose of this project is to build a
prototype of a badminton shuttlecock collector robot on schedule. The roles of the
group members are listed as below:
1. Tan Bee Lan
2. Chin Jess Nny
3. Leong Sen Fong
1.5.2
As a programmer
As a robot designer
As an environment designer
Gantt Chart
Page 11 of 48
AI Methods [CT002-3-2-AIM]
A staff is busy with some tasks and not free to clean the court.
He or she activates the Cleaning Robot when the court is unoccupied.
The robot start moving and collecting items or objects.
The staff leaves the robot to perform its duty automatically and continue his or her
tasks.
human.
7) After emptying the storage, it will continue to clean the courts again.
Page 12 of 48
AI Methods [CT002-3-2-AIM]
Page 13 of 48
AI Methods [CT002-3-2-AIM]
Page 14 of 48
AI Methods [CT002-3-2-AIM]
Problem Statement
In fact, every system will have its constraints no matter how good it is.
Same goes to the proposed robot as well. The first issue will be time-consuming.
It might take a longer time to move around the courts to collect the items because
it needs to sense the surrounding objects carefully.
The next implication of the robot is the cleanliness of storage, which is to
store the items temporarily inside its structure. This is because the robot is
collecting items such as dust and sweats. Thus, the storage of the robot will be
fouled up with filthy dirt and this will bring inconveniences to the users because
they might have to clean the storage of the robot after each time it has finished
collecting. Also, it can be ineffective during the cleaning process if its structure is
filled with dirt.
Apart from that, this proposed idea has a narrow scope. It is only
designed for badminton sports. It is not recommended to use in other sports field
due to the roughness of the courts surface.
1.8.2
Objectives
The objective of implementing the idea of this Cleaning Robot is to replace
manpower and act as a human assistant so that it can save time and make
people life easier and convenience. By using it, the people can leave it alone to
carry out its task while they can do something else that they wish to do. Other than
that, the project team is passionate to design and implement an intelligent
system that models the human behavior. The project team will make sure that the
system can identify, analyse and make decision for the related area in terms of
artificial intelligence when it is carrying out its task.
Page 15 of 48
AI Methods [CT002-3-2-AIM]
As mentioned earlier, land-based wheeled robot is very simple to control and use.
It is suitable for any kind of users. Therefore, it is considered as a user-friendly
robot for users to interact with.
Page 16 of 48
AI Methods [CT002-3-2-AIM]
2.0 Research
2.1. Cleaning Robot and the Machine Learning
In the research section, the overall process of Cleaning Robot and the
controller will be discussed. The project team decided to use Supervised Algorithms
for the controller to give direct instructions and command to the Cleaning Robot and
returning corrective actions.
There are several challenges in artificial intelligent. One of them is the
machine learning. Machine learning is a type of artificial intelligence that provides
computers or robots the ability to learn without being explicitly programmed. It is
more focuses on the development of the robots program so that they can teach
themselves to grow and change when discovered new data (Rouse, 2011).
In this project, the Cleaning Robot is more suitable to use supervised learning
because it will provide feedback about how learning is progressing. Supervised
learning is the machine learning task of deducing a function from labelled training
data. The most common technique used by supervised learning for training is neural
networks and decision trees. Both of these techniques are highly depended on the
information given by the pre-determined classifications (aihorizon, n.d.).
For neural network, the classification is used to determine the error of the
network after that only adjust the network to minimize it, while decision tree, the
classification is used to determine what attributes provide the most information that
able to solve the classification puzzle (aihorizon, n.d.).
Page 17 of 48
AI Methods [CT002-3-2-AIM]
Screenshot Codes
Based on the figure above, it shows the imported header files in shuttlecock_collector
class such as webots/robot.h, webots/differential_wheels.h, webots/distance_sensor.h,
webots/camera.h, webots/led.h, and stdlib.h. All these imported files are very useful
and important because it is an extension that helps the robot to take actions with
different function and features. There are few initialized variables, which are the
NB_SENSORS with the value of 8, SPEED 40, TIME_STEP 64, and RANGE (1024 /
2).
Page 18 of 48
AI Methods [CT002-3-2-AIM]
Figure 9 shows the distance sensor codes. The function of distance sensor is to avoid
collision with other obstacles within a defaulted distance. Normally, distance sensors
are placed around the robots casing to prevent obstacles in any direction it is moving.
If an obstacle is detected in front, sensor value will be used to change the direction so
that collision is avoided. Besides, wb_distance_sensor_enable(ps[i], TIME_STEP)
means the distance measurement of the distance sensor will be enabled after every
TIME_STEP in millisecond has been performed.
Page 19 of 48
AI Methods [CT002-3-2-AIM]
Figure above shows the LED light codes. At first, WbDeviceTag and
wb_robot_get_device() function are required so that the LED device can be accessed.
Random LED color will be displayed on top of the robot such as blue, red, and etc.
When the led_counter[0] is equal to 0, the color of the LED will start changing the
colors by increment the counter.
Figure 11 shows the codes of camera in the shuttlecock_collector file. Firstly, the
camera devices is declared inside the main function. After that, each camera has to be
enabled so that the camera can capture the front image while the robot is moving.
Besides, there are three camera frames which are live stream video that are displayed
on the screen.
Page 20 of 48
AI Methods [CT002-3-2-AIM]
Figure 12 shows the supervisor file. Supervisor node is inherited from the
DifferentialWheels. Thus, the supervisor needs to get the DEF name of the
DifferentialWheels so that it can access the robot and perform certain action. Once the
robot passes by the red dots on the floor, the robot will remove the red dots
automatically by using wb_display_set_alpha(ground_display, 0.0).
Figure 13 shows Clean Up function. When the world is devastated, it will perform
the wb_robot_cleanup() operations such as closing files and freeing the plugin
objects. It is called once only and lastly it will return 0 if the compiler cannot find a
device with the specified name in the robot.
Page 21 of 48
AI Methods [CT002-3-2-AIM]
2.2. Storyboard
2.2.1
Robot
Components:
1) Two red thick wheels to have a balance control when it moves.
2) Eight built-in distance sensors.
3) Three cameras placed on top, lower middle, and bottom.
4) One LED light placed on top of the robot.
Steps:
The robot will wait for the command from user. Once the user clicks a switch, the
robot will start moving and cleaning around the badminton court.
Limitation:
Once the robot storage is full, it will stop moving and wait for the user to empty it. It
does not have the feature of emptying the storage itself.
The challenge:
At first, the robot may collide with the obstacles in the badminton court with a fast
speed. But now, it can self-avoid the obstacles.
2.2.2
Layout
Page 22 of 48
AI Methods [CT002-3-2-AIM]
Components:
1) Badminton court layout.
2) Badminton shuttlecock storage box use for training.
3) Badminton racquet.
4) Red dots that represent the shuttlecocks.
5) A wall is built at the surrounding of the badminton court. This is to prevent the
robot from moving out the cleaning area.
Page 23 of 48
AI Methods [CT002-3-2-AIM]
2.3. Algorithm
In this project, supervised algorithm will be implemented in the Cleaning
Robot. Firstly, the user is required to press a switch to allow the robot to starts moving
to the badminton court. After it reaches the badminton court, it will start to collect and
clean the items on the floor of the court such as dust, shuttlecocks, feather shuttle,
small stones, and sweats.
The top of the Cleaning Robot has LED light, when the robot starts operating,
the LED light will illuminate different kinds of color. There are eight distance sensors
that are built in the robot. The function of the distance sensors is to detect the
obstacles and prevent collision between the robot and obstacle within a defaulted
distance. Once the robot is near to the objects or obstacles, the robot will
automatically change its direction to the other side to continue cleaning the floor.
Therefore, eight distance sensors will incredibly help the robot to avoid the collision.
The three cameras that have placed on the robot will capture the images and
display it on the screen for the users view. Besides, the images displayed is a live
streaming video but it also allows to capture and save the live video as images. All in
all, the sensors and actuator that mentioned above are all controlled by the controller.
Therefore, the Cleaning Robot itself uses the supervised mechanism and not
autonomous mechanism.
Page 24 of 48
AI Methods [CT002-3-2-AIM]
Page 25 of 48
AI Methods [CT002-3-2-AIM]
The Cleaning Robots body is created under the transform node which is a child of
MyBot DifferentialWheels node. A shape node is added in the transforms children in
order to construct the body of the robot. The diffuse color in the appearance node of
the shape is set with the value of 0.27451 which is dark grey. In order to match the
design of the robot which stated in the proposal, geometry node with a cylinder shape
is added and set with a height of 0.08 and radius of 0.045. Besides, based on the
proposals robot design, the robots body does not touch the ground, so the Y value of
translation is set slightly upwards which is 0.0665.
Page 26 of 48
AI Methods [CT002-3-2-AIM]
The Cleaning Robot comprises two wheels which are placed at the left and right side
of the robots body. Figure 20 has shown the scene tree of the left wheel. The left
wheel of the Cleaning Robot has the appearance node with the diffuse color of 1 0 0
(red color). Besides, the wheel is made from a cylinder shape with height of 0.03 and
radius of 0.025. In order to make the cylinder to appear as similar like a standard
wheel, the rotation of the wheel is changed to 1 0 0 4.98467. Same settings with same
shape, size and color are then applied to the right wheel, only that the X value of
translation is changed to 0.045 (without negative) this time.
Page 27 of 48
AI Methods [CT002-3-2-AIM]
The Cleaning Robot is required to detect the obstacles and also the walls. Hence,
distance sensor device is used to perform this function. Infrared sensor is often used
in real world. The distance sensors are placed around the upper part of the robots
body to ensure that there are no blind spots appear. The position (translation) of the
distance sensor is important as it will help to detect all the obstacles. The first distance
sensor is named as ir0 and the following sensors will be ir1, ir2, ir3, ir4, ir5, ir6, and
ir7. The distance sensor is created with a cylinder shape with the height of 0.004 and
radius of 0.008. In order to optimize the sensor, the lookup table is set to specify
infrared rays distance so that the robot can determine how far it is between its body
and the obstacles. The lookup table of distance sensor in this project consist of 3
values. The first column of the lookup table will specify the input distance, the second
Page 28 of 48
AI Methods [CT002-3-2-AIM]
column specifies the corresponding desired response values, whereas the third column
will indicate the desired standard deviation of the noise.
In order to indicate that the robot is functioning, a LED light is added to the Cleaning
Robot. When the robot is performing its task, the LED light that is placed on the top
of the robots body will start blinking with different kinds of colors that has been
chosen in the scene tree. The LED light is made from a sphere shape with the radius
of 0.01. The translation of the LED also changed to 0.003 0.11 0.014 to ensure that
the light is placed on top and middle of the body.
Page 29 of 48
AI Methods [CT002-3-2-AIM]
Camera is one of the devices that has implemented in the Cleaning Robot. Each time
the robot has turned on, the camera will switch on as well. The Cleaning Robot has 3
cameras. The figure above has shown one of camera nodes which is the top camera.
The camera is made from a cylinder shape and set with a diffuse color of 1 1
0.501961. The top camera is designed as an inspector and placed on top of the robot
so as to capture a clear view of the images or situation at the front of the robot. Same
settings are applied to the second (lower middle) and third (bottom) camera, but with
different translation and color.
Page 30 of 48
AI Methods [CT002-3-2-AIM]
The Cleaning Robot intends to clean the dirt on the ground (court) when the robot
passes by the area. Therefore, the supervisor node is required to be implemented to
perform this action. A Display node is added under the Supervisor node. The display
node is named as ground_display which is then used to access and enable the display
device in the coding side.
Page 31 of 48
AI Methods [CT002-3-2-AIM]
3.2. Testing
Although the system was seamlessly designed by the programmers, there are several
errors and malfunctions existed. One of the errors is that the Cleaning Robot will
collect all the items on the ground without filtering it.
The red dots that are shown in the figure above is assumed to be the necessary items
which are needed to be collected by the robot. When the robot detects the items, it
will absorb the items like what a vacuum usually does. However, during the testing
process, the robot seems to be unable to detect the images of the red dots. The
Cleaning Robot in this project does not filter what it absorbs. The items include the
shuttlecocks, dust, and sweats.
Page 32 of 48
AI Methods [CT002-3-2-AIM]
4.0 Conclusion
4.1. Overall of the project
After constructed the robot simulator, the developers have concluded the
whole documentation in this section. In this documentation, it is divided into five
parts which are proposal, design, research, module integration and documentation.
The first part was to construct a proposal which helps in introducing the
project background. Besides, the problems that occur in the real world before
implementing the proposed robot are discussed in this stage. Every project will have a
unique objective. Hence, the objective of implementing the Cleaning Robot was
documented in the proposal. In order to demonstrate the process of the robot
behaviors, a flow chart was drafted as a reference.
Moving on to the second part, which is design stage. Throughout the design
process, the purpose of the project and features of the proposed robot are discussed by
the developers. In this project, Webots software was used to create the Cleaning
Robot. In addition, the steps and function nodes used in creating the robot, size of the
robot, the process of avoiding the obstacles, and also the method of detecting the
objects are identified in this stage.
Furthermore, several simulations are outlined in this project. They are Discrete
Event Simulation and Continuous System Simulation. There are two types of robot
programming which are On-Line Programming and Off-Line Programming. These
robot programming are specified by the developers.
Moreover, Gantt Chart is used to show the schedule for the project. The
developers have undergone many researches and they have discovered that the
vacuum cleaner is one of the existing robots which performs the similar function as
the proposed Cleaning Robot that is built by the developers.
Besides, supervised algorithm was selected to be used in this project due to the
function performed by the robots controller. Therefore, the description of supervised
algorithm and learning were discussed and detailed in this stage. The storyboard of
the Cleaning Robot and the suitable algorithm for each agents action of the Cleaning
Robot was listed and defined in this documentation.
Page 33 of 48
AI Methods [CT002-3-2-AIM]
Lastly, the module integration part, in which the robots components, robots
illustration and screenshots of the robots parts were discussed. The testing process
was carried out to discover the problems or errors was also mentioned in this stage.
In a nutshell, the Cleaning Robot is built with an appropriate AI technique and
robotic knowledge which has shown some intelligent behaviors. As part of the course
work, every members have gained some new knowledge of AI and have more
understanding of robotic field.
Page 34 of 48
AI Methods [CT002-3-2-AIM]
Figure 26 shows the supervisor codes which is handle by the supervisor node. It was
used in this project so as to allow the robot to clean the ground floor of the badminton
court. Before implementing supervisor node, MyBot is needed to be instantiated as
the DEF name of the DifferentialWheels. By calling WbNodeRef class and
wb_supervisor_node_get_from_def() function, the supervisor node will then refer and
access MyBot DifferentialWheels by getting its DEF name. Besides, the background
is
needed
to
be
initialized
by
calling
WbImageRef
class
and
use
Page 35 of 48
AI Methods [CT002-3-2-AIM]
cleaning action, wb_display_set_alpha() function was used and set as 0.0 to fully
transparent the image loaded when the robot passes by.
Other than Supervisor node, LED is another new device that the developers have
learnt throughout the project. Figure 27 shows the codes of changing the LEDs color
randomly by increment the counter. The colors will be referred from the colors that
have been selected by the developers in the scene tree under the LED node.
Apart from the codes, due to the issue of Webots version, the developers
with Windows 8/8.1 operating system are not able to retrieve the project. The software
stops working immediately each time it retrieves. In addition to that, the cracked
version of Webots is also unable to build project after changing the codes and it is
very inconvenience for the developers.
Moreover, at first, the developers proposed that the Cleaning Robot will able
to collect the shuttlecocks in the badminton courts by identifying its size and release
them into a box which is used to store the shuttlecocks. Nevertheless, the proposed
idea is being forced to change. In this case, due to the limited knowledge that the
developers have, they are only able to make the robot clean all the items on the court
despite the objects size or appearance when the robot passes by. The items may
include sweats, dust, shuttlecocks (which is represented by red dots in the simulator),
and other trashes. Furthermore, it is not able to identify the size of the shuttlecocks
which was the original plan that was going to implement by the developers. In the real
situation, this constraint might lead the robot to stop moving forward when it absorbs
items which are oversize. Also, the robots storage is limited. The amount of items
being collected by the robot might also affect the robots speed as the body will
become heavier as it collects every single items on the floor of the court.
Page 36 of 48
AI Methods [CT002-3-2-AIM]
Page 37 of 48
AI Methods [CT002-3-2-AIM]
5.0 Proposal
5.1. Latest Proposal
1. INTRODUCTION AND PROJECT BACKGROUND
In this new era, many people are trying to catch up with the latest technologies so
that they would not leave behind and always get updated, even the elder generations.
Technologies are not only applied in IT, science, medical or business scope, it also can
apply in sports zone.
As we all know, Badminton is a very legendary and well-known sport in
Malaysia, which was brought up by Datuk Lee Chong Wei. Hence, they need an
abundant supply of manpower to support the whole event. Examples of the tasks are
collecting shuttlecocks, distributing the waters, cleaning the courts, time keeper, and
so on.
In order to reduce the workloads of the workers, the project team has come up
with an idea, in which they will be designing and developing a Cleaning Robot. This
robot is able to detect and avoid the obstacles, and able to clear objects or trashes in
the court.
Besides, the project team consists of three members which are the Programmer,
Tan Bee Lan, followed by the Environment Designer, Leong Sen Fong and also
Robot Designer, Chin Jess Nny.
Page 38 of 48
AI Methods [CT002-3-2-AIM]
LED Light
b) Design of Robot
Camera
Distance Sensors
c) Gantt Chart
Page 39 of 48
AI Methods [CT002-3-2-AIM]
2. PROBLEM STATEMENT
In fact, every system will have its constraints no matter how good it is. Same goes
to the proposed robot as well. The first issue will be time-consuming. It might take a
longer time to move around the courts to collect the items because it needs to sense
the surrounding objects carefully.
The next implication of the robot is the cleanliness of storage, which is to store
the items temporarily inside its structure. This is because the robot is collecting items
such as dust and sweats. Thus, the storage of the robot will be fouled up with filthy
dirt and this will bring inconveniences to the users because they might have to clean
the storage of the robot after each time it has finished collecting. Also, it can be
ineffective during the cleaning process if its structure is filled with dirt.
Apart from that, this proposed idea has a narrow scope. It is only designed for
badminton sports. It is not recommended to use in other sports field due to the
roughness of the courts surface.
3. OBJECTIVE
The objective of implementing the idea of this Cleaning Robot is to replace
manpower and act as a human assistant so that it can save time and make people
life easier and convenience. By using it, the people can leave it alone to carry out its
task while they can do something else that they wish to do.
Other than that, the project team is passionate to design and implement an
intelligent system that models the human behavior. The project team will make sure
that the system can identify, analyse and make decision for the related area in terms of
artificial intelligence when it is carrying out its task.
Page 40 of 48
AI Methods [CT002-3-2-AIM]
4. FLOW CHART
5. CONCLUSION
All in all, as mentioned above, the robot has two main functions, which will
help it to perform its purpose of collecting items on the court. Although there are few
implications for the proposed robot, but this idea will definitely work if it is welldesigned. The project team will try their best to solve the problems with suitable
solutions to create a superior system. Literally, as an intelligent system, the robot will
act as human and this could save a lot of time for people. The product might seem
unsophisticated, but it has high possibility of creating an impact or changes in the
artificial intelligence scope and also in badminton sports.
Page 41 of 48
AI Methods [CT002-3-2-AIM]
Page 42 of 48
AI Methods [CT002-3-2-AIM]
External Design
Internal Design
f) Gantt Chart
Page 43 of 48
AI Methods [CT002-3-2-AIM]
2. PROBLEM STATEMENT
In fact, every system will have its constraints no matter how good it is. Same goes
to the proposed robot as well. The first issue will be time-consuming. It might take a
longer time to move around the courts to collect the shuttlecocks because it needs to
sense the surrounding objects and looks for the shuttlecock image.
The next implication of the robot is the limited storage, which is to store the
shuttlecocks temporarily inside its structure. This is because every shuttlecock has a
standard size that can easily occupy the space. Thus, it will have to dispose the
collected shuttlecock at the destination or an assigned storeroom then only continue to
start collecting again.
Apart from that, this proposed idea has a narrow scope. It is only designed for
badminton sports as the robot will only recognize the shuttlecock image by its
standard size. It is not able to use in other sports field.
Lastly, it has high possibility of collecting unnecessary things, such as the dusts.
Thus, the storage of the robot will be fouled up with filthy dirt and this will bring
inconveniences to the users because they might have to clean the storage of the robot
after each time it has finished collecting.
3. OBJECTIVE
The objective of implementing the idea of this Badminton Shuttlecock
Collector Robot is to replace manpower and act as a human assistant so that it can
save time and make people life easier and convenience. By using it, the people can
leave it alone to carry out its task while they can do something else that they wish to
do.
Other than that, the project team is passionate to design and implement an
intelligent system that models the human behavior. The project team will make sure
that the system can identify, analyse and make decision for the related area in terms of
artificial intelligence when it is carrying out its task.
Page 44 of 48
AI Methods [CT002-3-2-AIM]
4. FLOW CHART
5. CONCLUSION
All in all, as mentioned above, the robot has three main functions, which will
help it to perform its purpose of collecting shuttlecocks. Although there are few
implications for the proposed robot, but this idea will definitely work if it is welldesigned. The project team will try their best to solve the problems with suitable
solutions to create a superior system. Literally, as an intelligent system, the robot will
act as human and this could save a lot of time for people. The product might seem
unsophisticated, but it has high possibility of creating an impact or changes in the
artificial intelligence scope and also in badminton sports.
Page 45 of 48
AI Methods [CT002-3-2-AIM]
6.0 References
Aihorizon. (n.d.) Machine Learning, Part I: Supervised and Unsupervised Learning.
[Online] Available from:
http://aihorizon.com/essays/generalai/supervised_unsupervised_machine_learning.ht
m [Accessed: 20th December 2015]
Benson, C. (2012) Basics: What Types of Mobile Robots are There? [Online] RobotShop
Inc. Available from: http://www.robotshop.com/blog/en/what-types-of-mobile-robotsare-there-3652 [Accessed: 16th December 2015]
Brumson, B. (2009) Robotic Simulation and Off-line Programming: From Academia to
Industry. [Online] Robotic Industries Association. Available from:
http://www.robotics.org/content-detail.cfm/Industrial-Robotics-IndustryInsights/Robotic-Simulation-and-Off-line-Programming-From-Academia-toIndustry/content_id/1825 [Accessed: 16th December 2015]
Calin, D. G. (2014) Robotics Simulation Softwares With 3D Modeling and Programming
Support. [Online] Into Robotics. Available from:
http://www.intorobotics.com/robotics-simulation-softwares-with-3d-modeling-andprogramming-support/ [Accessed: 16th December 2015]
Fayek, A. M. (2002) Introduction to Combined Discrete-Continuous Simulation Using
SIMSCRIPT II.5. [Online] Available from:
http://www.caciasl.com/cust_center/ss3docs/contin.pdf [Accessed: 16th December
2015]
Ganapati, P. (2009) Robotic Trash Collector Prowls Italian Streets. [Online] Wired.
Available from: http://www.wired.com/2009/07/robot-trash-collector/ [Accessed: 17th
December 2015]
Gibbs, S. (2015) iRobot Roomba 880 review: a robotic vacuum cleaner that's almost a
pet. [Online] Guardian News and Media Limited. Available from:
http://www.theguardian.com/technology/2015/feb/24/irobot-roomba-880-reviewrobotic-vacuum-cleaner-thats-almost-a-pet [Accessed: 17th December 2015]
Page 46 of 48
AI Methods [CT002-3-2-AIM]
Jambak, M. I., Haron, H., Ibrahim, H. & Abd Hamid, N. (2010) ROBOTIC
MODELLING AND SIMULATION: THEORY AND APPLICATION. [Online] March
2010. Available from: http://cdn.intechopen.com/pdfs-wm/10476.pdf [Accessed: 16th
December 2015]
Mike, C. & Albrecht, P. E. (2010) Introduction to Discrete Event Simulation. [Online]
January 2010. Available from: http://www.albrechts.com/mike/DES/Introduction
%20to%20DES.pdf [Accessed: 16th December 2015]
Mittal, R. K. & Nagrath, I. J. (2003) Robotics and Control. [Online] New Delhi: Tata
McGraw-Hill Publishing Company Limited. Available from:
https://books.google.com.my/books?
id=rESVUHwMcvYC&pg=PA26&lpg=PA26&dq=online+programming+robot&source=bl&ots=mUuFUCykIu&sig=NXO4vsCsyIeEUU3
S9yFDmJUsYKI&hl=en&sa=X&redir_esc=y#v=onepage&q=on-line
%20programming%20robot&f=false [Accessed: 16th December 2015]
zgn, O. & Barlas, Y. (2009) Discrete vs. Continuous Simulation: When Does It
Matter? [Online] July 2009. Available from:
http://www.systemdynamics.org/conferences/2009/proceed/papers/P1199.pdf
[Accessed: 16th December 2015]
Robotwelding. (n.d.) On-line programming. [Online] Available from:
http://www.robotwelding.co.uk/online-robot-programming.html [Accessed: 16th
December 2015]
Rouse, M. (2011) machine learning. [Online] TechTarget. Available from:
http://whatis.techtarget.com/definition/machine-learning [Accessed: 20th December
2015]
Page 47 of 48
AI Methods [CT002-3-2-AIM]
TASKS
Part 1: Design (40%)
SIGNATURE
Overall Documentation
Part 1: Design (30%)
Part 2: Research (80%)
Page 48 of 48