Difference between revisions of "Category:Robotic"

From Fab Lab Bcn WIKI
Jump to: navigation, search
(Blanked the page)
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Here you can find a very brief overview of robots used in manufacturing. It talks about what is it that makes a machine a robot, what differentiates the various types of robots, different ways robots can move, and three types of power sources for robots.
 
  
[[File:Iaac robotic fabrication.jpg| frame |Iaac - Robotic fabrication workshop with Tom Pawlofsky. 2013]]
 
 
'''Robot properties'''
 
 
[[File:Robot_Intro_Página_02.jpg]]
 
 
==Terminology ==
 
 
Karl Capek coined the term robot in 1920. He was a Czech playwright who wrote R.U.R. which stands for Rosumovi Univerzální Roboti (Rossum’s Universal Robots).
 
 
The term robot might comes from the Czech words ''robota'' and ''robotník'', which literally means "work" and "worker" respectively. However, the word ''robota'' also means "work" or "serf labour" in Slovak.
 
 
'''Modern definition of a robot'''
 
 
Encyclopedia Britannica's definition of a robot is as follows:
 
 
''"Any automatically operated machine that replaces human effort, though it
 
might not resemble human beings in appearance or perform functions in a
 
humanlike manner."''
 
 
The Robotics Primer (which we also highly recommend), Maja J. Mataric uses the following definition:
 
 
''"A robot is an autonomous system which exists in the physical world, can sense its
 
environment, and can act on it to achieve some goals."''
 
 
Another definition by Lentin Joseph in Learning Robotics Using Python, 2015 :
 
 
''"A robot is an autonomous system which exists in the physical world, can sense its
 
environment, and can act on it to achieve some goals."''
 
 
== History ==
 
''(Chapter extracted from the book "Learning Robotics Using Python, Lentin Joseph, 2015.")''
 
 
It's quite difficult to pinpoint a precise date in history, which we can mark as the
 
date of birth of the first robot. For one, we have established quite a restrictive
 
definition of a robot previously; thus, we will have to wait until the 20th century to
 
actually see a robot in the proper sense of the word. Until then, let's at least discuss
 
the honourable mentions.
 
 
The first one that comes close to a robot is a mechanical bird called "The Pigeon".
 
This was postulated by a Greek mathematician Archytas of Tarentum in the 4th
 
century BC and was supposed to be propelled by steam. It cannot be considered
 
a robot by our definition (not being able to sense its environment already disqualifies
 
it), but it comes pretty comes for its age. Over the following centuries, there were
 
many attempts to create automatic machines, such as clocks measuring time
 
using the flow of water, life-sized mechanical figures, or even first programmable
 
humanoid robots (it was actually a boat with four automatic musicians on it). The
 
problem with all these is that they are very disputable as there is very little (or none)
 
historically trustworthy information available about these machines.
 
 
It would have stayed like this for quite some time if it was not for Leonardo
 
Da Vinci's notebooks that were rediscovered in the 1950s. They contain a complete
 
drawing of a 1945 humanoid (a fancy word for a mechanical device that resembles
 
humans), which looks like an armoured knight. It seems that it was designed so that
 
it could sit up, wave its arms, move its head, and most importantly, amuse royalty.
 
In the 18th century, following the amusement line, Jacques de Vaucanson created
 
three automata: a flute player that could play twelve songs, a tambourine player,
 
and the most famous one, "The Digesting Duck". This duck was capable of moving,
 
quacking, flapping wings, or even eating and digesting food (not in a way you
 
will probably think—it just released matter stored in a hidden compartment).
 
It was an example of "moving anatomy"—modeling human or animal anatomy using
 
mechanics.
 
 
Our list will not be complete if we omitted these robot-like devices that came
 
about in the following century. Many of them were radio-controlled, such as Nikola
 
Tesla's boat, which he showcased at Madison Square Garden in New York. You
 
could command it to go forward, stop, turn left or right, turn its lights on or off, and
 
even submerge. All of this did not seem too impressive at that time because the press
 
reports attributed it to "mind control".
 
 
At this point, we have once again reached the time when the term robot was used for
 
the first time. As we said many times before, it was in 1920 when Karel Čapek used it
 
in his play, R.U.R. Two decades later, another very important term was coined. Issac
 
Asimov used the term robotics for the first time in his story "Runaround" in 1942.
 
Asimov wrote many other stories about robots and is considered to be a prominent
 
sci-fi author of his time.
 
 
However, in the world of robotics, he is known for his three laws of robotics:
 
 
• First law: A robot may not injure a human being or through inaction allow a
 
human being to come to harm.
 
 
• Second Law: A robot must obey the orders given to it by human beings,
 
except where such orders would conflict with the first law.
 
 
• Third law: A robot must protect its own existence, as long as such protection
 
does not conflict with the first or second law.
 
 
After a while, he added a zeroth law:
 
 
• Zeroth law: A robot may not harm humanity or by inaction allow humanity
 
to come to harm.
 
 
These laws somehow reflect the feelings people had about machines they called
 
robots at that time. Seeing enslavement by some sort of intelligent machine as a
 
real possibility, these laws were supposed to be some sort of guiding principles one
 
should at least keep in mind, if not directly follow when designing a new intelligent
 
machine. Also, while many were afraid of the robot apocalypse, the time has shown that
 
it's still yet to come. In order for it to take place, machines will need to get some sort
 
of intelligence, some ability to think and act based on their thoughts. Also, while we
 
can see that over the course of history, the mechanical side of robots went through
 
some development, the intelligence simply was not there yet.
 
This was part of the reason why in the summer of 1956, a group of very wise
 
gentlemen (which included Marvin Minsky, John McCarthy, Herbert Simon, and
 
Allan Newell) was later called to be the founding fathers of the newly founded field
 
of Artificial Intelligence. It was at this very event where they got together to discuss
 
creating intelligence in machines (thus, the term artificial intelligence).
 
 
Although, their goals were very ambitious (some sources even mention that their
 
idea was to build this whole machine intelligence during that summer), it took quite
 
a while until some interesting results could be presented.
 
One such example is Shakey, a robot built by the Stanford Research Institute
 
(SRI) in 1966. It was the first robot (in our modern sense of the word) capable to
 
reason its own actions. The robots built before this usually had all the actions they
 
could execute preprogrammed. On the other hand, Shakey was able to analyze
 
a more complex command and split it into smaller problems on his own.
 
 
The following image of Shakey is taken from https://en.wikipedia.org/wiki/
 
File:ShakeyLivesHere.jpg:
 
 
[[File:Learning Robotics using Python- shakey.jpg]]
 
 
Shakey, resting in the Computer History Museum in Mountain View, California
 
 
His hardware was quite advanced too. He had collision detectors, sonar range
 
finders, and a television camera. He operated in a small closed environment of
 
rooms, which were usually filled with obstacles of many kinds. In order to navigate
 
around these obstacles, it was necessary to find a way around these obstacles while
 
not bumping into something. Shakey did it in a very straightforward way.
 
 
At first, he carefully planned his moves around these obstacles and slowly
 
(the technology was not as advanced back then) tried to move around them.
 
Of course, getting from a stable position to movement wouldn't be possible without
 
some shaky moves. The problem was that Shakey's movements were mostly of this
 
shakey nature, so he could not be called anything other than Shakey.
 
The lessons learned by the researchers who were trying to teach Shakey how
 
to navigate in his environment turned out to be very important. It comes as no
 
surprise that one of the results of the research on Shakey is the A* search algorithm
 
(an algorithm that can very efficiently find the best path between two goals). This is
 
considered to be one of the most fundamental building blocks not only in the field of
 
robotics or artificial intelligence but also in the field of computer science as a whole.
 
Our discussion on the history of robotics can go on and on for a very long time.
 
Although one can definitely write a book on this topic (as it's a very interesting one),
 
it's not this book; we shall try to get back to the question we tried to answer, which
 
was: where do robots come from?
 
 
In a nutshell, robots evolved from the very basic mechanical automation through
 
remotely-controlled objects to devices or systems that can act (or even adopt) on
 
their own in order to achieve some goal. If this sounds way too complicated, do not
 
worry. The truth is that to build your own robot, you do not really need to deeply
 
understand any of this. The vast majority of robots you will encounter are built from
 
simple parts that are not difficult to understand when you see the big picture.
 
So, let's figure out how we will build our own robot. Let's find out what are the
 
robots made of.
 
 
== Applications ==
 
 
The application is the type of work that the robot is designed to do. Robot models are created with specific applications or processes in mind. Different applications will have different requirements. For instance, a painting robot will require a small payload but a large movement range and be explosion proof. On the other hand, an assembly robot will have a small workspace but will be very precise and fast. Depending on the target application, the industrial robot will have a specific type of movement, linkage dimension, control law, software and accessory packages. Below are some types of applications:
 
 
'''Welding robots'''
 
 
[[File:motoman_welding_robot-1.jpg]]
 
 
'''Material handling robots'''
 
 
[[File:2_robot_handling.jpg]]
 
 
'''palletizing robot'''
 
 
[[File:Palletizing robot.jpg]]
 
 
'''Painting robot'''
 
 
[[File:painting_robot_abb-1.jpg]]
 
 
'''Assembly robot'''
 
 
[[File:assembly_robot_kuka-1.jpg]]
 
 
''' Experimental processes @ IAAC'''
 
 
[[File:RoboFab 2018 - Alex D. _rob proc.jpg]]
 
 
==General principles==
 
 
===Kinematics===
 
The type of movement is dictated by the arrangement of joints (placement and type) and linkages (Serial or Parallel). 
 
 
[[File:Kinematics multi soln-e1523359052865.jpg | frame |
 
Cases where there are multiple solutions, which are relatively easy to handle with analytical IK.
 
(Left) IK has exactly two solutions – “over” or “under”.
 
(Right) IK has infinite solutions since any rotation of the base is valid.]]
 
 
[[File:kinematics_multi_soln-e2.jpg | frame |
 
Complex manipulation cases which are likely candidates for numerical solution.
 
(Left) 7-DOF manipulator can position the end effector with multiple valid solutions.
 
(Right) Example of position constraints between two coordinate frames on the manipulator.]]
 
 
Secondly, taking the article:''(Robot Manipulation: Kinematics by Sebastian Castro. 2018)'' as a definition reference of ''Kinematics'':
 
 
It's worth to highlight a quick comparison of kinematics and dynamics:
 
 
'''Kinematics''' is the analysis of motion without considering forces. Here, we only need geometric properties such as lengths and degrees of freedom of the manipulator bodies.
 
 
'''Dynamics''' is the analysis of motion caused by forces. In addition to geometry, we now require parameters like mass and inertia to calculate the acceleration of bodies.
 
Robot manipulators are often composed of several joints. Joints are composed of revolute (rotating) or prismatic (linear) degrees of freedom (DOF). Therefore, joint positions can be controlled to place the end effector of the robot in 3D space.
 
 
If you know the geometry of the robot and all its joint positions, you can do the math and figure out the position and orientation of any point on the robot. This is known as forwarding kinematics (FK).
 
 
The more frequent robot manipulation problem, however, is the opposite. We want to calculate the joint angles needed such that the end effector reaches a specific position and orientation. This is known as '''inverse kinematics''' (IK).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
====Serial====
 
Serial robots are the most common. They are composed of a series of joints and linkages that go from the base to the robot tool.
 
 
[[File:serial robot.jpg]]
 
 
=====Cartesian robots=====
 
Cartesian robots are robots that can do 3 translations using linear slides. 
 
 
[[File:cartesian_robots_axis.jpg]]
 
 
=====Articulated=====
 
In particular 6-axis robots are robots that can fully position their tool in a given position (3 translations) and orientation (3 orientations)
 
 
[[File:6_axis_robots.jpg]]
 
 
=====SCARA robots=====
 
Scara robots are robots that can do 3 translations plus a rotation around a vertical axis.
 
 
[[File:scara_robot_w_axis.jpg]]
 
 
=====Redundant robots=====
 
Redundant robots can also fully position their tool in a given position. But while 6-axis robots can only have one posture for one given tool position, redundant robots can accommodate a given tool position under different postures. This is just like the human arm that can hold a fixed handle while moving the shoulder and elbow joints.
 
 
[[File:redundant robots.jpg]]
 
 
====Parallel====
 
 
Parallel robots come in many forms. Some call to them spiders robots. Parallel industrial robots are made in such a way that you can close loops from the base, to the tool and back to the base again. It's like many arms working together with the robot tool. Parallel industrial robots typically have a smaller workspace (try to move your arms around while holding your hands together vs the space you can reach with a free arm) but higher accelerations, as the actuators don't need to be moved: they all sit at the base.
 
 
[[File:parallel robot.png]]
 
 
 
=====Delta or Spider Robot=====
 
 
[[File:DELTA_ROBOT.jpg]]
 
 
=====Cable Robot=====
 
 
[[File:Cable-driven_robot_547757.jpg]]
 
 
====Others====
 
 
'''External Axis'''
 
Linear or Rotary
 
 
[[File:External_axis.jpg ‎]]
 
 
'''Dual-arm robots'''
 
Dual-arm robots are composed of two arms that can work together on a given workpiece.
 
 
[[File:Dual arm robot.jpg]]
 
 
=====Collaborative industrial robots=====
 
 
There is a new qualifier that has just recently been used to classify an industrial robot, that is to say, if it can collaborate with its human co-workers. Collaborative robots are made in such a way that they respect some safety standards so that they cannot hurt a human. While traditional industrial robots generally need to be fenced off away from human co-workers for safety reasons. Collaborative robots can be used in the same environment as humans. They can also usually be taught instead of programmed by an operator.
 
 
[[File:Cobot.jpg]]
 
 
=== Basic terminologies ===
 
 
'''Work Cell''': All the equipment needed to perform the robotic process (robot, table, fixtures, etc.)
 
 
'''Work Envelope''': All the space the robot can reach.
 
 
'''Degrees of Freedom''': The number of movable motions in the robot. To be considered a robot there needs to be a minimum of 4 degrees of freedom. The Kuka Agilus robots have 6 degrees of freedom.
 
 
'''Payload''': The amount of weight a robot can handle at full arm extension and moving at full speed.
 
 
'''End Effector''': The tool that does the work of the robot. Examples: Welding gun, paint gun, gripper, etc.
 
 
[[File:Robot Intro_end effector2.jpg]]
 
 
'''Manipulator''': The robot arm (everything except the End of Arm Tooling).
 
 
'''TCP''': Tool Center Point. This is the point (coordinate) that we program in relation to.
 
 
Positioning Axes: The first three axes of the robot (1, 2, 3). Base / Shoulder / Elbow = Positioning Axes. These are the axes near the base of the robot.
 
 
Orientation Axes: The other joints (4, 5, 6). These joints are always rotary. Pitch / Roll / Yaw = Orientation Axes. These are the axes closer to the tool.
 
 
'''Coordinates Systems'''
 
 
[[File:Robot Intro_Alex D._Coordinte systems.jpg]]
 
 
=== Types of Motion ===
 
 
Robot Programming allows us to develop several motion types:
 
 
[[File:Robot_Intro_Alex_D._Movements_interpolations.jpg]]
 
 
 
- PTP: POINT TO POINT
 
 
The robot guides the TCP along the fastest path to the endpoint. The fastest path is generally not the shortest path and is thus not a straight line. As the motions of the robot axes are rotational, curved paths can be executed faster than straight paths. The exact path of the motion cannot be predicted.
 
 
- CIRC: Circular
 
 
The robot guides the TCP at a defined velocity along a circular path to the endpoint. The circular path is defined by a start point, auxiliary point and endpoint.
 
 
- LIN: Linear
 
 
The robot guides the TCP at a defined velocity along a straight path to the end point. This path is predictable.
 
 
=== Singularities ===
 
(information extracted from ''Kinematic Singularities'' - Peter Donelan. Victoria University of Wellington. New Zealand, 2010)
 
 
This is a condition in which the manipulator loses one or more degrees of freedom and change in joint variables does not result in change in end effector location and orientation variables. This is a case when the determinant of the Jacobian matrix is zero ie. It is a rank deficit.
 
 
Intuitively, Singularities play a significant role in the design and control of robot manipulators. Singularities of the kinematic
 
mapping, which determines the position of the end–effector in terms of the manipulator’s joint variables, may impede control algorithms, lead to large joint velocities, forces and torques and reduce instantaneous mobility.
 
 
However they can also enable fine control, and the singularities exhibited by trajectories of the points in the end–effector can be used to mechanical advantage. A number of attempts have been made to understand kinematic singularities and, more specifically, singularities of robot manipulators, using aspects of the singularity theory of smooth maps.
 
 
[[File:Robot Intro_Alex D._Singularities.jpg]]
 
 
Take a look into https://wiki.fablabbcn.org/Category:Robotic_programming
 
 
 
 
 
 
 
 
All the above information comes from the following different sources:
 
 
Learning Robotics Using Python, Lentin Joseph. Packt Publishing Ltd, May 27, 2015.
 
 
Kinematic Singularities - Peter Donelan. Victoria University of Wellington. New Zealand, 2010
 
 
https://github.com/visose/Robots/
 
 
https://blog.robotiq.com/
 
 
and http://mkmra2.blogspot.com/
 
 
It should be noted here that the information gathering was drawn by:
 
 
Alexandre Dubor,
 
 
Kunal Chadha,
 
 
Ricardo Mayor Luque
 
 
and many people at IAAC
 
 
 
[[Category:Technologies]][[Category:Robotic]]
 

Latest revision as of 16:48, 3 November 2020

This category currently contains no pages or media.