Robotech
Robotech
1801
1892
1921
1939
1939
1946
1948
1951
1954
COMPONENTS OF A ROBOT
Communicator
- A unit transmitting information and receiving
instructions from a remote operator
Manipulator (Arm)
Power Supply
A reprogrammable, multifunctional manipulator designed to -Usually a transducer of some kind whose inputs are
move parts, materials, tools, or special devices through physical phenomena and whose outputs consist of
variable programmed motions for the performance of a electronic signals.
variety of different tasks. Actuator
-Serves as the muscle of the system, and produces the 3. How to define scalar variables
motion with power supplied electrically, pneumatically,
4. Introduce the script files
or through hydraulics.
5. How to write, save, and execute simple MATLAB programs.
MATLAB Windows:
MATLAB Windows
–Current Folder Window - Shows the files in the current -Several commands can be typed in the same line. This is
folder. done by typing a comma between the commands. When the
Enter key is pressed, the commands are executed in order
from left to right
The semicolon ( ; ):
Typing %:
-This means that when the Enter key is pressed the line is not
executed.
Working in the Command Window
-The % character followed by text (comment) can also be
The Command Window is MATLAB's main window and can be
typed after a command (in the same line). This has no effect
used for executing commands, opening other windows,
on the execution of the command.
running programs written by the user, and managing the
software.
Notes for working in the Command Window: Comments are frequently used in a program to add
descriptions or to explain the program.
-To type a command, the cursor must be placed next to the
command prompt ( >> ). The clc command:
-Once a command is typed and the Enter key is pressed, the -The clc command (type clc and press Enter) clears the
command is executed. However, only the last command is Command Window.
Arithmetic Operations with Scalars
If a semicolon is typed at the end of the command, then A variable can be named according to the following rules:
when the Enter key is pressed, MATLAB does not display the
• No spaces are allowed between characters (use the
variable with its assigned value (the variable still exists and is
underscore where space is desired).
stored in memory).
• Avoid using the name of a built-in function for a
If a variable already exists, typing the variable's name and variable (i.e., avoid using cos, sin, exp, sqrt, etc.).
pressing the Enter key will display the variable and its value in Once a function name is used for a variable name,
the next two lines. the function cannot be used.
Several assignments can be typed in the same line. The Predefined Variables and Keywords
assignments must be separated with a comma (spaces can be
There are 20 words, called keywords, that are reserved by
added after the comma). When the Enter key is pressed, the
MATLAB for various purposes and cannot be used as variable
assignments are executed from left to right, and the variables
names. These words are:
and their assignments are displayed. A variable is not
displayed if a semicolon is typed instead of a comma.
Script Files
This means that every time the Enter key is pressed only the
last command is executed, and everything executed before is
unchanged.
Files that are used for this purpose are called Script Files.
The user can then change the current folder to the folder
where the script file is saved, or add it to the search path.
When saved, MA TLAB adds the extension .m to the name. BASIC OF LINEAR ALGEBRA: SOLVING SIMULTANEOUS
EQUATION
The rules for naming a script file follow the rules of naming a
variable (must begin with a letter, can include digits and Learning Objective
underscore no spaces, and up to 63 characters long). The
Create algorithms to solve problems involving linear algebraic
names of user-defined variables, predefined variables, and
equations and appreciate the application of these equations
MATLAB commands or functions should not be used as
in the fields of engineering.
names of script files.
Background
Running (Executing) a Script File
A script file can be executed either directly from the Editor • System of linear equations that have to be solved
Window by clicking on the Run icon or by typing the file name simultaneously arise in problems that include several
in the Command Window and then pressing the Enter key. (possibly many) variables that are dependent on
each other. Ex. Electrical engineering
For a file to be executed, MATLAB needs to know where the • Such problems occur not only in engineering and
file is saved. The file will be executed if the folder where the sciences but in virtually any discipline (business,
file is saved is in the current folder of MATLAB or if the folder statistics, economics, etc.)
is listed in the search path. • A system of two (or three) equations with two or
(three) unknowns can be solved manually by
substitution or other mathematical methods.
• Solving a system in this way is practically impossible With that, we will apply Matrix to solve linear Equations with
as the number of equations (and unknowns) 3 or more unknowns.
increases beyond three.
Matrix Notation
• Matrix notation and algebra are useful because they
provide a concise way to represent and manipulate A matrix consists of a rectangular array of elements
linear algebraic equations. represented by a single symbol.
Graphical Methods [A] is the shorthand notation for the matrix and aij designates
an individual element of the matrix
Example Problem:
MATRIX OPERATION
• Addition
• Subtraction
• Multiplication
• Division (using Inverse)
Addition and subtraction are possible if the dimension of the The trace will be used in the discussion of eigenvalues.
2 matrices is equal.
The final matrix manipulation that will have utility in our
For multiplication, the below conditions must be followed: discussion is augmentation.
The transpose of a matrix involves transforming its rows into We might wish to augment this matrix [A] with an identity
columns and its columns into rows. For example, for the 4 × 4 matrix to yield a 3-by-6-dimensional matrix:
matrix,
- Crout's Method
where [A] is the n by n square matrix of coefficients,
- Choleski's Method
Upper Triangular – the system in this form has all zero
coefficients below the diagonal and is solved by a procedure
called Back Substitution. A similar form is used in the Gauss
Elimination Method.
Gauss - Elimination
GAUSS-ELIMINATION
- Upper Triangular
- Lower Triangular
GAUSS-JORDAN
- Diagonal Form
and is substituted to Eq.1 to give
[L][y]=[b] ------Eq.3
MATLAB ACTIVITY
1.Demanding
2. Demeaning
3.dirty
LU DECOMPOSITION
4.dangerous
The LU decomposition method is a method for solving a
system of linear equations [a][x]=[b]. 5.Driving
Cylindrical Robot
▫Robot whose work envelope is cylindrical
▫Robot’s arm swings around its base in a circular or polar
motion. (up and down, front end)
Spherical Robot
▫Robot whose work envelope is spherical in shape and
obviously is has spherical manipulator arm geometry.
▫With polar articulation for waist and shoulder and
rectilinear motion for reach.
▫The base moves in a circular motion (up to 210 degrees)
while its main arm moves up and down and in and out
• Pitch Axis
(extension and retraction)
Describes the wrist's rotational movement up and down
• Yaw Axis Fully Articulated Robot
Describes the wrist angular movement from the left side to ▫Robot with polar articulation for all degrees of
the right side.
movement
• Roll Axis ▫One example is the SCARA (Selective Compliance
Describes the rotation around the end of the wrist. Assembly Robotic Arm) which has six axes and therefore
increases its degrees of freedom.
CLASSIFICATION OF ROBOTS ▫Used in welding, painting, laser cutting, and water jet
cutting.
✓ According to Control
ACCORDING TO THE PROGRAM USED
✓ According to Movement Positive Stop
▫Produces only 2 position motion
✓ According To Program Used ▫Limited sequence or Bang – bang motion
Medicine
▫Operation (making medicines)
Entertainment
Work Volume
Speed and acceleration 2. Top Programming Languages 2021> Python
Repeatability dominates as the de facto platform for new
Resolution technologies
Accuracy
Economics
Safety
PYTHON ACTIVITY
AGENDA:
✓ Anaconda Tools
✓ Spyder
✓ JupyterLab
✓ Jupyter Notebook
✓ Google Colaboratory (colab)
✓ Visual Studio Code
ANACONDA
PYTHON
3. Key Python Packages for Data Science
• Python is a popular programming language.
• Python is an interpreted high-level general-purpose
programming language.
• Its language constructs as well as its object-oriented
approach aim to help programmers write clear,
logical code for small and large-scale projects.
4. Python works on different platforms (Windows, Mac,
Linux, Raspberry Pi, etc).
SPYDER
Jupyterlab environment
Colab, or "Colaboratory", allows you to write and execute
Python in your browser, with
Easy sharing
Source:
JUPYTER NOTEBOOK https://colab.research.google.com/#scrollTo=5fCEDCU_qrC0L
inks to an external site.
It is a web-based, interactive computing notebook
environment. COLAB Environment: Go to Drive->New->More->Google
Colaboratory
Edit and run human-readable documents while describing the
data analysis
Python Install
Hello, World!
Python Indentation
Example:
if 5 > 2:
Example
Syntax Error:
if 5 > 2:
ROBOT SENSORS
TRANSDUCER
Piezoelectric Disk
Blind Zone
COMMON APPLICATIONS
Radiation Pattern
Mutual Interference
Free Zones
Parallel Sensors
If the angle were greater than 3°, the sonic pulses would be
reflected away, and the sensor would not receive an echo.
Diffuse Mode
Reflex Mode
Thru-beam sensors consist of a transmitter, which emits Central to the evolution of robotics is the creation of a robot
ultrasonic pulses, and a receiver. If the beam between the vision system for collaborative robots (cobot). Machine or
transmitter and the receiver is interrupted the output of the robot vision is a key feature of this evolution, introducing new
receiver switches state. levels of precision and accuracy in smart automated
processes.
Vision in space
The Process
Increases efficiency
A robot vision camera can help take images for your own AI
model training, and the image data can be automatically
collected. The training module can then be used in factories
for robots to better identify various kinds of product defects.
C INTRODUCTION • A compiler, like GCC, to translate the C code into a
language that the computer will understand
As we discussed during our Day 1, C programming is the basis
o GCC is a key component of so-called "GNU
of Arduino programming and other languages. Before we
Toolchain", for developing applications and
proceed to the introduction of Arduino programming and for
writing operating systems. The GNU
you to be able to perform your next activity, it is better to
Toolchain includes: GNU Compiler Collection
review the basics of C Programming. Your next laboratory will
(GCC): a compiler suite that supports many
lead you to accomplish the activities related to Robot Grippers.
languages, such as C/C++ and Objective-
What is C? C/C++.
• There are many text editors and compilers to choose
• C is a general-purpose programming language from. In this tutorial, we will use an IDE Links to an
created by Dennis Ritchie at the Bell Laboratories in external site..
1972.
• It is a very popular language, despite being old. C Install IDE
• C is strongly associated with UNIX, as it was An IDE (Integrated Development Environment) is used to edit
developed to write the UNIX operating system. AND compile the code.
UNIX(UNiplexed Information Computing System) - A highly Popular IDEs include CodeBlocks, Eclipse, DEVC++, and Visual
popular and multitasking Operating system, launched in 1969, Studio. These are all free, and they can be used to both edit
UNIX is powerful. and debug C code.
Why Learn C? Note: Web-based IDE's can work as well, but functionality is
• It is one of the most popular programming languages limited.
in the world We will use DEVC++ in this course, which is a good place to
• If you know C, you will have no problem learning start.
other popular programming languages such as Java,
Python, C++, C#, etc, as the syntax is similar You can find the latest version of DEVc++ at
• C is very fast, compared to other programming https://sourceforge.net/projects/orwelldevcpp/.Links to an
languages, like Java and Python external site.
• C is very versatile; it can be used in both applications
After installation, you can see an environment as shown
and technologies
below:
Difference between C and C++
Get Started
Example explained
Screenshot (9665).png
Screenshot (9666).png
C SYNTAX
Syntax
Example:
C VARIABLES
In C, there are different types of variables (defined with To output variables in C, you must get familiar with something
different keywords), for example: called "format specifiers".
The data type specifies the size and type of information the
variable will store.
Note: If you assign a new value to an existing variable, it will
overwrite the previous value:
Output Variables
You learned from the output chapter that you can output
values/print text with the printf() function:
Basic Format Specifiers What’s on board?
There are different format specifiers for each data type. Here • ATmega328 MCU
are some of them: • 22 x digital I/O pins (6 can be used as PWM outputs)
• 8 x Analogue inputs
• 16MHz crystal oscillator
• 1 x Mini-B USB
• Operating voltage: 5V
• FLASH memory: 32KB
• SRAM: 2KB
• EEPROM: 1KBDimensions: 45 x 18 mm
Arduino Hardware
asgdetsdhfgr.JPG
arduino.JPG
save sa.JPG
The next step is clicking the right arrow symbol (also in the top
left of the app) to upload the program to the controller. The
upload should start, indicated by the text “Uploading …” in the
Arduino app and by rapid blinking of the Nano’s send and
The term while (1) or while (true) (when including stdbool.h) receive LEDs. Completion of the successful upload is then
denotes an infinite loop, which means that subroutine loop will acknowledged by the message in Figure 4.
be called endlessly over and over again until someone either
presses the reset button or disconnects power.
Arduino Programming
fhdgtyrdes.JPG
Example:
Arduino Communication
We start with a simple input of a binary switch. On the Nano
board, we select pin D12 (digital 12), which happens to be The USB port of the Arduino is not just for providing power and
linked to the controller’s port C0 (see Figure 6, left). While the uploading new programs. It can also be used for transmitting
switch is open, a pull-up resistor of 10 kOhms to the 3.3 V pin data to and from the embedded controller to a host PC. In a
brings the input to a high state (logic 1). Once the button is stand-alone application, we might want to add some LEDs or a
pushed, the D12 input gets directly linked to the ground, so the display to the Arduino to show data, but with a PC link, we can
pin registers a low state (logic 0). easily transmit data from the Arduino to the PC (or vice versa)
and display it in a window. This is especially helpful during the
asgdetwscb.JPG
debugging phase.
For the output, we choose pin D10 (digital 11) and connect it
to an LED, which links via a 300 X resistor on its negative side
to the ground. Figure 6, right, shows the actual
implementation on a breadboard. Resistor values are coded as
color rings, as their surface is too small to print any actual
values on. In the simplest case, resistors have four rings, which
stand for two digits, a multiplier, and a quality indicator (which
we can ignore for now). The digit colors are as in Figure 7.
In Program 5, we simplify the setup to remote control the LED
from the PC. The desired LED value now no longer comes from
the switch on the Arduino, but from data input on the PC. We
initialize the LED to off at the start in setup. In the main loop,
we first check if new data is available on the serial port; only
then do we read and process it. If the transmitted character is
an ‘A’, we turn on the LED, if it is a ‘Z’, we turn it off; all other
characters are ignored. Note that depending on how you
transmit the characters from your PC, there may be additional
stray characters, such as carriage return/line feed (CR/LF).
For testing, we can now enter these characters from the Serial
Monitor in the Arduino app, but they could also come from any
other application or another embedded controller, such as
another Arduino or a Raspberry Pi.
3. Internal or external
December 1, 2022
Agenda:
What is Data?
• What is data?
• What is information?
• Data Representation
• What is knowledge
• Data Types
• Dataset
-- 11071984
-- 106.16
-- CV12BT
-- 9450000
Properties of Data
INDUSTRY 4.0
DATA SCIENCE
Data Science
• Reasoning
• Learning
• Problem Solving
• Perception
• Linguistic Intelligence
HISTORY AND EVOLUTION OF ARTIFICIAL INTELLIGENCE
MARCELO ANG
OTHER APPLICATIONS
MEDICAL FIELD:
FARMING
Oreochromis niloticus Growth Performance Analysis Using T = the task of playing checkers.
Pixel Transformation and Pattern RecognitionLinks to an
P = the probability that the program will win the next game.
external site.
According to Intel, Machine Learning is the study of programs
Faster R-CNN based Fish Detector for Smart Aquaculture
that are not explicitly programmed but learn patterns as they
SystemLinks to an external site.
are exposed to more data over time.”
Water Quality Monitoring:
https://drive.google.com/file/d/1oRmsc-FH5kxj-
atAfFRc4mfrXfYO8AB2/view?usp=sharing Links to an external
site.
• Tail
• Head
• Eyes
• Nose
Machine Learning - Using data to answer questions. • Mount
• Height (there are small breeds of dogs)
• Ears
Supervised Learning
Training:
Dataset Contents:
Rows of Data
Data Features
[Data Labels]
PERFORMANCE METRICS is correct; that is, the true class should
Metrics for Analysis
be equal to the predicted class. This will
show if the model is confused or not
CLASSIFICATION:
during the prediction.
• Classification Accuracy
• Confusion Matrix
• Sensitivity, Specificity, Accuracy
• Receiver Operating Characteristics
(ROC) Curve
• Precision and Recall
• F-measure
• Support
RECALL OR SENSITIVITY
F1
SCORE
ANACONDA
PYTHON
2. Top Programming Languages 2021>
• Python is a popular programming Python dominates as the de facto
language. platform for new technologies
• It was created by Guido van Rossum,
and released in 1991.
• Python is an interpreted high-level
general-purpose programming language.
• Its language constructs as well as its
object-oriented approach aim to help
programmers write clear, logical code for
small and large-scale projects.
• Python can be used on a server to
create web applications.
It is used for:
ANACONDA Environment
JUPYTERLAB
SPYDER
• It refers
to Scientific Python Development En
viRonment
JUPYTERLAB ENVIRONMENT: JUPYTER NOTEBOOK ENVIRONMENT:
COLAB Environment
Go to Drive->New->More->Google
Colaboratory
Python Syntax
Execute Python Syntax
• As we learned in the previous page,
Python syntax can be executed by
writing directly in the Command Line:
Python Indentation
COLAB ENVIRONMENT:
• Indentation refers to the spaces at the
Sample New File: beginning of a code line.
• Whereas in other programming
languages the indentation in code is for
readability only, the indentation in
Python is very important.
• Python uses indentation to indicate a
block of code.
Example:
GENERAL TYPES OF
MACHINE LEARNING
The below illustration shows the general types
of machine learning, such as supervised,
unsupervised, and reinforcement learning. We
will limit our discussion to the first two types
(supervised and unsupervised)
Support vector machine
Supervised Learning
https://www.javatpoint.com/machine-
learning-support-vector-machine-algorithm
INTRO TO DEEP
Supervised Learning Types:
LEARNING
• Regression: predicts continuous Topic Outline
valued output • Deep Learning
• Classification: predicts a discrete- • Neural Networks
valued output o Layer
o Activation Function
o Training
• Artificial Neural Network
• Convolutional Neural Network
• Recurrent Neural Network
• ANN vs CNN vs RNN
• Fine Tuning a Neural Network
WHAT IS DEEP ARTIFICIAL NEURAL
NETWORK (ANN)
LEARNING
Deep learning is a subset of machine learning in
What Is An Artificial Neural
artificial intelligence that has networks capable Network?
of learning unsupervised from data that is
unstructured or unlabeled. Also known as deep An artificial neural network is a computing
neural learning or deep neural network system that is comprised of a collection of
connected units called neurons that are
Deep learning is a sub-field of machine learning organized into what we call layers.
that uses algorithms inspired by the structure
and function of the brain's neural networks. The connected neural units form the so-called
network. Each connection between neurons
With deep learning, we're still talking about transmits a signal from one neuron to the other.
algorithms that learn from data. However, now The receiving neuron processes the signal and
the algorithms or models that do this learning signals to downstream neurons connected to it
are based loosely on the structure and function within the network. Note that neurons are also
of the brain's neural networks. commonly referred to as nodes.
The neural networks that we use in deep Nodes are organized into what we call layers.
learning aren't actual biological neural networks At the highest level, there are three types of
though. They simply share some characteristics layers in every ANN:
with biological neural networks, and for this
reason, we call them artificial neural networks 1. Input layer
(ANNs) 2. Hidden layers
3. Output layer
We often also use other terms to refer to
ANNs. In the field of deep learning, the Different layers perform different kinds of
term artificial neural network (ANN) is used transformations on their inputs. Data flows
interchangeably with the following: through the network starting at the input layer
and moving through the hidden layers until the
• net output layer is reached. This is known as a
• neural net forward pass through the network. Layers
• model positioned between the input and output layers
are known as hidden layers.
WHAT IS NEURAL Let's consider the number of nodes contained
NETWORK in each type of layer:
1. Input layer - One node for each component of
Neural networks reflect the behavior of the input data.
the human brain, allowing computer 2. Hidden layers - Arbitrarily chosen number of
programs to recognize patterns and nodes for each hidden layer.
solve common problems in the fields of 3. Output layer - One node for each of the possible
AI, machine learning, and deep learning. desired outputs.
Activation Function in
Neural Network
In an artificial neural network, an activation
function is a function that maps a node's
inputs to its corresponding output
RECURRENT NEURAL
NETWORK (RNN)
Recurrent Neural Network (RNN) is a Deep
learning algorithm and it is a type of Artificial Neural
Network architecture that is specialized for
processing sequential data. RNNs are mostly used in
the field of Natural Language Processing (NLP)
So, for sigmoid, 0 is the lower limit, and 1 is the upper
limit.
• Number of layers
• Types of layers
• Order of layers
• Number of nodes in each layer
• How much regularization to use
• Learning rate
FINE-TUNING NEURAL Building and validating our model can be a huge task
in its own right, depending on what data we're training
NETOWRKS it on.