Professional Documents
Culture Documents
b) Explain the design of the mechanism and how it is mounted on the robot. Also explain
what challenge/s do you expect to face and how you will overcome them? (6)
We plan to place the grabber on the back of the robot. This would be helpful to provide
easy turning. The hands of the robot will extend downwards to grab the blocks properly.
These hands would be screwed to the servo motors. Servoes will be glued and taped at the
top of firebird 5 robot.There will be two servoes from which 2 hands will be attached. There
are many challenges that are expected:
1. Height of blocks is 6 cm, so the grabbers must be placed accordingly.
2. Difficulty in turning with the grabbing mechanism. We plan to place the grabber at
the back of the robot so as to prevent any difficulty in turning
3. Distance from which grabbing would be done has to be fixed for block to completely
fit in the grabber. To ensure this we plan to use sharp sensor to measure distance
from block, so that robot can stop at a fixed distance from block.
4. To increase the grip of the grabber we plan to apply rubber on the hands of grabber.
c) Choose the actuator/s you will use to design the mechanism. (2)
1. DC-Motor 2. Servo Motor 3. Stepper Motor 4. Others
Answer: Servo Motor
Servo Motor is very precise and handy. It has the ability to give higher precision than DC-
Motors as we can control the angle of rotation. The servo motors are also very compact in
comparison to Stepper Motors. We only need to lift thermacol blocks which are not very
heavy. Hence, the servo motors fulfil all the requirements to be the actuator of choice for
our grabbing mechanism.
Environment Sensing
Q4. Explain how you will use the provided sensors to implement the theme. (2)
1. Sharp Sensors: We need one sharp sensor at the front of robot. This sensor would help
the robot to detect the blocks and stop in front of the blocks.
2. White Line Sensor: We would place 3 sensors in front and 3 on the back of the bot.
These sensors would help our robot to follow the black lines properly.
3. Position Encoder: This are placed each on both the wheels. These sensors would help in
keeping track of the distance travelled by the robot. The number of nodes travelled can
be determined using the readings of these encoders.
Testing your knowledge (theme analysis and rulebook-related)
Q5. What is the purpose of “activation function” in a Neural Network? How do different type
of activation functions affect the network? (5)
Activation functions are really important for a Artificial Neural Network to learn and make sense of
something really complicated and Non-linear complex functional mappings between the inputs and
response variable.They introduce non-linear properties to our Network.Their main purpose is to convert
a input signal of a node in a neural network to an output signal. That output signal now is used as a input
in the next layer in the stack.If we do not apply a Activation function then the output signal would
simply be a simple linear function.A linear function is just a polynomial of one degree. Now, a linear
equation is easy to solve but they are limited in their complexity and have less power to learn complex
functional mappings from data. We want our Neural Network to not just learn and compute a linear
function but something more complicated than that. Also without activation function our Neural
network would not be able to learn and model other complicated kinds of data such as images.Hence
we need to apply a Activation function f(x) so as to make the network more powerfull and add ability to
it to learn something complex and complicated form data and represent non-linear complex arbitrary
functional mappings between inputs and outputs.
1. Sigmoid-
It is a activation function of form f(x) = 1 / 1 + exp(-x) . Its Range is between 0 and 1.It is easy to
understand and apply but it has major reasons which have made it fall out of popularity -
Vanishing gradient problem
Secondly , its output isn’t zero centered. It makes the gradient updates go too far in different
directions. 0 < output < 1, and it makes optimization harder.
Sigmoids saturate and kill gradients.
Sigmoids have slow convergence.
Q6. What are the different hyper-parameters in a CNN that affect its performance? Explain
the different parameters and their effects (in bulleted form). (5)
Learning rate-
Learning rate controls how much to update the weight in the optimization algorithm. We can
use fixed learning rate, gradually decreasing learning rate, momentum based methods or
adaptive learning rates, depending on our choice of optimizer such as SGD, Adam, Adagrad,
AdaDelta or RMSProp.
Number of epochs-
Number of epochs is the the number of times the entire training set pass through the neural
network. We should increase the number of epochs until we see a small gap between the test
error and the training error.
Batch size-
Mini-batch is usually preferable in the learning process of convnet. A range of 16 to 128 is a
good choice to test with. We should note that convnet is sensitive to batch size.
Activation function-
Activation funtion introduces non-linearity to the model. Usually, rectifier works well with
convnet. Other alternatives are sigmoid, tanh and other activation functions depening on the
task.
Number of hidden layers and units-
It is usually good to add more layers until the test error no longer improves. The trade off is that
it is computationally expensive to train the network. Having a small amount of units may lead to
underfitting while having more units are usually not harmful with appropriate regularization.
Weight initialization
We should initialize the weights with small random numbers to prevent dead neurons, but not
too small to avoid zero gradient. Uniform distribution usually works well.
Dropout for regularization
Dropout is a preferable regularization technique to avoid overfitting in deep neural networks.
The method simply drops out units in neural network according to the desired probability. A
default value of 0.5 is a good choice to test with.
Q7. Why are the first few layers of a CNN hard to train? (3)
First few layers learn features like edges ,encode direction and colour. These direction and colours filter
then get combined into basic grid and spot textures. Hence, to generalise a lot of data is required which
is usually not available. Hence, it is difficult to train the first few layers of CNN.
Algorithm Analysis
Q8. Draw a flowchart illustrating the algorithm you propose to use for theme
implementation.
(12)
< The flowchart should elaborate on every possible function that you will be using for
completing all the tasks in the assigned theme.
Follow the standard pictorial representation used to draw the flowchart. >
Challenges
Q9. What are the major challenges that you can anticipate in addressing this theme and how
do you propose to tackle them? (5)
The major challenges that we anticipate in addressing in this theme are as follows :-
1. Grabbing Mechanism – Grabbing mechanism is a very integral part of this theme. It has
a very important role to play as we have to hold the animal blocks and place them into
their respective habitat. To properly grab the blocks, caution has to be taken as all the
measurements have to be precise enough for the grabber to work. The height and the
width of the grabber has to be marked with caution. There must also be proper material
for the hands of the grabber to provide enough friction. For this we plan to put a rubber
pad on the grabbing hand. Also the robot must be at a fixed distance from the blocks to
ensure proper grabbing. So to ensure this we have used the sharp sensors to keep the
track of distance from the block.
2. Problem in differentiating similar types of Habitats – Some habitats closely resemble
each other. Some are having similar features to another which creates difficulties for the
machine learning algorithm to predict them.