### Present Remotely

Send the link below via email or IM

• Invited audience members will follow you as you navigate and present
• People invited to a presentation do not need a Prezi account
• This link expires 10 minutes after you close the presentation

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

# Artificial Intelligence and Robotics

No description
by

## Nicole Drevlow

on 6 November 2014

Report abuse

#### Transcript of Artificial Intelligence and Robotics

Artificial Intelligence and Robotics
To recapitulate:
Artificial Intelligence
refers to the human-like
intelligence that machines possess.
It can be used for:
Reasoning
Planning
Learning
Communication
Perception
Knowledge
Manipulating Objects

Section #1:
Sensors and Artificial Intelligence

If you have a robot that is running independently then it is most likely using artificial intelligence.
How can robots gather information from their surroundings so they don't fall or destroy obstacles?
Sensors are devices designed to gather information so that the artificial intelligence can decide what to do based on the information.
The artificial intelligence would then make a decision based on the sensor's output.
For example, a sensor reports that there is a wall ahead. The artificial intelligence receives the information and knows that when there is a wall, it must turn away from the wall.
Thus, the robot avoids the wall thanks to the sensor.
So the sensor transmits the information to the artificial intelligence, but where does it go from there? How does it make conclusions?
Good question. Artificial intelligence uses algorithms.
What are algorithms?
Simply put, algorithms are detailed instructions. Since they are instructions, you can predict what the ending of an algorithm is based on what is inputted.
However, algorithms are not without fault. They are only as good as they are programmed.
There are numerous different kinds of algorithms, and not all algorithms fit within one category.
Classes of algorithms include:
Dynamic Programming Algorithms
These use the results of previous tests to try and speed the process of solving new tests.
Greedy Algorithms
These go beyond finding one solution to find the ideal solution for any given problem.
Brute Force Algorithms
These algorithms start at a random point and go through every possibility until the solution is reached.
Randomized Algorithms
Any algorithm that uses a random number is considered part of this category.
Branch and Bound Algorithms
These algorithms essentially form a "tree" of subproblems. It uses this tree to work through each branch until a solution is found or it matches with another branch.
Simple Recursive Algorithms
This type finds a direct solution first, but looks to see if a simpler solution is possible.
Backtracking Algorithms
These search for a solution step by step, and if a solution is not found it backtracks and repeats the step by step process. Eventually a solution is found.
Divide and Conquer Algorithms
These are very similar to branch and bound algorithms. The important difference is that divide and conquer uses backtracking while working through the subproblem tree.
Now that we know about all these algorithms, how do sensors come into play?
Artificial intelligence depends on sensors to work sufficiently. These sensors can come in many different forms. Not all artificial intelligence programs need every sensor available.
If you have an artificial intelligence system that only needs to know when lights turn off, you definitely do not need a motion sensor.
However, if you wanted a light that would turn off when no one is in the room, you would need a motion sensor and not a light sensor. Every situation is different.
What about sensors for robotics? Isn't that what this Prezi is about?
I'm getting there. Since there are many types of robots using artificial intelligence, each machine will need different sensors.
Let's look at a few different robots and what sensors you would use for their algorithms.
Line Following Robot
Below is a simple logic flow diagram, called a , for this task.
schema
This robot would simply follow a dark line along the ground using two light sensors placed on opposite sides of the line.
The values for "some" and "all" would be represented by number variables.
Voice Recognition Robot
Ideally this robot would be able to identify actions that it needs to perform based on input from a sound sensor.
Infrared Seeking Robot
To recap, infrared is a type of light. The wavelengths are longer than those of visible light. You can use infrared to locate a particular target; infrared can be put out using an emitter or it can be sensed (body temperature can be viewed in infrared).
So what was the common theme in all of those diagrams?
The answer is this: the robot's operations depended on sensors.
If the line following robot did not have light sensors, how would it have known where to go? It would have never driven in the first place.
If there are no light sensors to give feedback, the logic diagram is worthless.
Concept to take away:
Sensor data has a direct impact on how motion sequences are controlled.
Numerical values indicate the percentage of power supplied to the motor.
It is assumed that there are 2 motors powering this robot, the left and the right.
The type of sensor for this example sorts into "zones" illustrated to the left.
Sensor
1
2
3
4
5
6
7
8
9
Section 2:
What is Polymorphism? Why does it matter?

polymorphism
The word comes from the Greek
phrase of "having multiple forms."
That makes sense. "Poly" means many and "morph" means to transform from one thing to another.
So what does it mean in terms of artificial intelligence?
Take a guess and we'll explore it on the next slide.
Polymorphism in terms of programming is being able to assign to a single variable, function, or object.
For example, an input field could take both numbers (integers) and letters (characters). Both are valid inputs since the input is polymorphic.
multiple meanings
Let's explore applications for this in artificial intelligence.
Let's say you have a program that helps you to balance robotic legs.
You write some code for the balancing of these legs, but you do not want to rewrite the code for every leg.
Legs
Front Left
Front Right
Back Left
Back Right
is the base class.
Subclasses are the different types of legs (front left, front right, etc.)
- Balance
is a function that is inherited by all of the Legs subclasses. Within each subclass, there would be different ways to balance. This is because individual legs have their own position and weight to support.
Balance
Legs
The balancing of the legs would be the polymorphic usage in the algorithm.
So what is the real use of sensor feedback? Can it be used outside of testing conditions?
Sensor feedback can help robots operate in a factory, out in rugged terrain, or on the road.
You could say that Google's autonomously driving cars are robotic. They use sensors, pre-mapped routes, and 3D imaging to safely navigate their journey.
Assembly line robots that require precise work such as welding or gluing benefit from sensor feedback.
This feedback helps the robots understand where their arms (or other appendages) are located, how much pressure they are applying, and more.
Obviously, the assembly line robots are not completely autonomous. This sensor data would just help with fine-tuning the processes.
Terrain navigating robots are another example of systems that benefit from sensor feedback.
Boston Dynamics is a notable example of a robotics company that implements navigating robots.
Big Dog, Cheetah, Wildcat, and the Sand Flea are great examples of Boston Dynamics's navigational robots.
You can watch clips of how these robots perform.
Sand Flea
Cheetah
WildCat
Big Dog
In Conclusion
I hope I have helped teach you about artificial intelligence in robotics.
Concepts we discussed:
Sensor output
Types of algorithms
Polymorphism
How sensor input can be used

Resources
"Artificial Intelligence." Wikipedia. N.p., n.d. Web. 2 Aug. 2014. <http://en.wikipedia.org/wiki/Artificial_intelligence >.
"Artificial Intelligence." Predictive Modeling Resources. N.p., n.d. Web. 2 Aug. 2014. <http://www.artificialintelligencealgorithms.com/ >.
McGuigan, Brendan. "What is an algorithm." Wise Geek. N.p., n.d. Web. 2 Aug. 2014. <http://www.wisegeek.org/what-is-an-algorithm.htm >.
Matuszek, David. "Backtracking." Penn Engineering. N.p., n.d. Web. 2 Aug. 2014. <http://www.cis.upenn.edu/~matuszek/cit596-2012/NewPages/backtracking.html>.
"Line follower." NXT Programs. N.p., n.d. Web. 3 Aug. 2014. <http://www.nxtprograms.com/line_follower/steps.html >.
Pearson, Charles. "About Artificial Intelligence and Robotics." eHow. N.p., n.d. Web. 27 Aug. 2014. <http://www.ehow.com/about_4588323_artificial-intelligence-robotics.html>.
"Computer Vision." Artificial Intelligent Systems. N.p., n.d. Web. 27 Aug. 2014. <http://artificialintelligentsystems.wordpress.com/tag/robotics/>.
Harvey, Vanessa. "What Are the Applications of Artificial Intelligence in Business?." Wise Geek. N.p., n.d. Web. 27 Aug. 2014. <http://www.wisegeek.com/what-are-the-applications-of-artificial-intelligence-in-business.htm>.
Holmes, Troy. "What Are the Different Types of Artificial Intelligence Technology?." Wise Geek. N.p., n.d. Web. 27 Aug. 2014. <http://www.wisegeek.com/what-are-the-different-types-of-artificial-intelligence-technology.htm>.
"Infrared." Wikipedia. N.p., n.d. Web. 27 Aug. 2014. <http://en.wikipedia.org/wiki/Infrared>.
"Using an IR sensor to detect objects." Robot C. N.p., n.d. Web. 27 Aug. 2014. <http://www.robotc.net/wiki/Tutorials/Arduino_Projects/Mobile_Robotics/BoeBot/Using_an_IR_sensor_to_detect_objects>.
"NXT IRSeeker V2." HiTechnic. N.p., n.d. Web. 27 Aug. 2014. <http://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NSK1042>.
Ulsh, Jack. "Polymorphism." What Is. N.p., n.d. Web. 29 Aug. 2014. <http://whatis.techtarget.com/definition/polymorphism >.
Janssen, Cory. "Polymorphism." Techopedia. N.p., n.d. Web. 29 Aug. 2014. <http://www.techopedia.com/definition/28106/polymorphism-general-programming>.