Branches of electronics
- Digital electronics.
- Analogue electronics.
- Microelectronics.
- Circuit design.
- Integrated circuits.
- Power electronics.
- Optoelectronics.
- Semiconductor devices
Active Component mean?
An
active component is a device that has an analog electronic filter with the
ability to amplify a signal or produce a power gain. There are two types of
active components: electron tubes and semiconductors or solid-state devices. A
typical active component would be an oscillator, transistor or integrated
circuit.
An active component works as an alternating-current circuit in a device, which works to increase the active power, voltage or current. An active component is able to do this because it is powered by a source of electricity that is separate from the electrical signal.
An active component works as an alternating-current circuit in a device, which works to increase the active power, voltage or current. An active component is able to do this because it is powered by a source of electricity that is separate from the electrical signal.
Explains
Active Component
The majority of electronic devices
are semiconductors, the most common of which is a transistor. A basic
transistor is generally used in an amplifier, which increases the active
current I/O signal using a direct current (DC) power supply to provide the
necessary power.
An active device has the ability to control electron flow and either allows voltage to control the current or allows another current to take control. Voltage-controlled devices, such as vacuum tubes, control their own signal, while current-controlled devices, such as bipolar junction transistors, allow one current to control another.
All active components require a source of energy, which generally comes from a DC circuit. In addition, an active device can generally infuse power into a circuit such as a transistor, triode vacuum tube or tunnel diode.
A component that is not active is called a passive component. It consumes energy and does not have the ability to boost power. Basic passive components include capacitors, resistors and inductors.
An active device has the ability to control electron flow and either allows voltage to control the current or allows another current to take control. Voltage-controlled devices, such as vacuum tubes, control their own signal, while current-controlled devices, such as bipolar junction transistors, allow one current to control another.
All active components require a source of energy, which generally comes from a DC circuit. In addition, an active device can generally infuse power into a circuit such as a transistor, triode vacuum tube or tunnel diode.
A component that is not active is called a passive component. It consumes energy and does not have the ability to boost power. Basic passive components include capacitors, resistors and inductors.
Active component ;
- Semiconductor
- Transistor
- Oscillator
- Integrated Circuit (IC)
- Tunnel Diode
- Passive Component
- Virtual Memory (VM)
- Motherboard
- Smartphone
- Read-Only Memory (ROM)
Passive Components
Components that cannot provide any power gain to the circuit are
called passive devices. These devices are incapable of
controlling the current (energy) flow in the circuit and need the help
of active devices to operate. Some examples for passive devices
are resistors, inductors and capacitors
Major Electrical and Electronic
Components
- Resistor. A resistor is an electrical component that restricts the flow of current in the circuit. ...
- Capacitor. ...
- Microcontroller. ...
- Inductor. ...
- Transformer. ...
- Battery. ...
- Fuse. ...
- Diode/LED (Light Emitting Diode)
An active component is a
device that has an analog electronic filter with the ability to amplify a
signal or produce a power gain. There are two types of active
components: electron tubes and semiconductors or solid-state devices. A
typical active component would be an oscillator, transistor or
integrated circuit.
Transistor is an active device. As it takes some energy or we
can say input amplifies it & gives output that means it generates energy
even MOSFET is an active device. Whereas passive elements like resistor
,capacitor & inductor does not generate energy either they dissipate or
stores the energy.
OPAMP (operational amplifier), BJT, JFET (transistors), it
is called active devices, because of its ability to manipulate and
maintain voltage or constant current (within specified operating ranges, unlike
the ideal elements).
In order for a circuit to be
properly called electronic, it must contain at least one active device.
Components incapable of controlling current by means of another electrical
signal are called passive devices. Resistors, capacitors, inductors,
transformers, and even diodes are all considered passive devices
.
Active components include amplifying components such as transistors,
triode vacuum tubes (valves), and tunnel diodes. Passive components
can't introduce net energy into the circuit. ... Passive components
include two-terminal components such as resistors, capacitors,
inductors, and transformers.
Active Element: The elements that supply energy to the circuit is
called active element. Examples of active elements include
voltage and current sources, generators, and electronic devices that
require power supplies. A transistor is an active circuit element,
meaning that it can amplify power of a signal.
In an electric circuit, a nonlinear
element or nonlinear device is an electrical element which does not have
a linear relationship between current and voltage. A diode is a simple
example. ... Examples of linear elements are resistors, capacitors, and
air core inductors.
here are many different peripheral
devices, but they fall into three general categories:
- Input devices, such as a mouse and a keyboard.
- Output devices, such as a monitor and a printer.
- Storage devices, such as a hard drive or flash drive.
Types of Electronic Components
Electronic Components are of 2 types: Active and Passive Electronic
Components. Passive electronic components are those that do not have
gain or directionality. They are also called Electrical elements or electrical
components. e.g. resistors, capacitors, diodes, Inductors.
The Basic Parts of an
Electric Circuit
Every electric circuit,
regardless of where it is or how large or small it is, has four basic parts:
an energy source (AC or DC), a conductor (wire), an electrical load (device),
and at least one controller (switch).
Two basic ways to connect more than
two circuit components are the basis for virtually all electronic products.
- Series Circuit. A series circuit has only one path for electricity to flow from one point to another. ...
- Parallel Circuit. ...
- Series-Parallel Circuit. ...
- Application to the Human Body.
The Most Common Basic Electronic
Components
- Resistors.
- Capacitors.
- LEDs.
- Transistors.
- Inductors.
- Integrated Circuits
An active network is a network
that contains an active source – either a voltage source or current
source. A passive network is a network that does not contain an active
source. ... Active elements can inject power to the circuit, provide
power gain, and control the current flow within the circuit.
The key difference between active
and passive transducer is that in an active transducer, the energy
required for its operation is taken from the quantity that has to be measured.
... Active transducers do not need an external supply of power while the
passive transducer requires an external energy source.
An active device is any type
of circuit component with the ability to electrically control electron flow
(electricity controlling electricity). In order for a circuit to be properly
called electronic, it must contain at least one active device. ... All active
devices control the flow of electrons through them.
Which one of the following
circuit elements is an active component? Active components have
the ability to control electron flow. Resistors, capacitors, inductors,
transformers, and diodes are passive devices. Active devices are vacuum
tubes, transistors, rectifiers and TRIACs.
Most electronic printed circuit
boards have at least one active component. Some examples of active
electronic components are transistors, vacuum tubes, silicon-controlled
rectifiers (SCRs)
Examples of passive
components are resistors (R), capacitors (C), inductors (L), transformers,
antennas, potentiometers (variable resistors), diodes (one-way
conductors) and the like. ... Active components or products require an
external power source in order to control current and/or voltage to accomplish
a purpose.
Electronics component to Mobile computing
Projection
9 Different Types of Drivers You
Find On The Road
- Grandma Driver. This is one of the more common species.
- The Angry Pick-Up Truck Drivers. Prone to road rage, less common. ...
- Traffic Weavers. ...
- Tailgaters. ...
- Drivers That Honk Right When The Light Turns Green. ...
- Drivers Who Impose Their Music On The World. ...
- The Distracted Driver. ...
- The Passive Driver.
Types of Mobile Computing Devices
- Personal Digital Assistant (PDA) Sometimes called pocket computers, PDAs are handheld devices that combine elements of computing, telephone/fax, Internet and networking in a single device. ...
- Smartphones. ...
- Tablet PCs. ...
- Apple iOS. ...
- Google Android. ...
- Windows Phone. ...
- Palm OS. ...
- Symbian OS.
There are three different types
of peripherals: Input, used to interact with, or send data to the computer
(mouse, keyboards, etc.) Output, which provides output to the user from the computer
(monitors, printers, etc.) Storage, which stores data processed by the computer
(hard drives, flash drives, etc.)
Basic electronics comprises the minimal “electronics components” that
make up a part of everyday electronics equipment. These electronic
components include resistors, transistors, capacitors, diodes, inductors and
transformers. Powered by a battery, they are designed to work under certain
physics laws and principles.
Classification of Transducers:
There are many principles on which a
transducer can work like resistive, inductive, capacitive etc. So Transducer
can be categorized on the basis of four thoughts. On the basis of transduction
form it`s used, we can go further.
Types of Peripheral Devices
There are many different
peripheral devices, but they fall into three general categories: Input devices,
such as a mouse and a keyboard. Output devices, such as a monitor and a
printer. Storage devices, such as a hard drive or flash drive.
Mobile computing involves mobile communication, mobile
hardware, and mobile software. Communication issues include ad hoc
networks and infrastructure networks as well as communication properties,
protocols, data formats and concrete technologies. Hardware includes mobile
devices or device components.
Mobile computing involves mobile communication, mobile
hardware, and mobile software. Communication issues include ad hoc
networks and infrastructure networks as well as communication properties,
protocols, data formats and concrete technologies. Hardware includes mobile
devices or device components
Mobile devices include notebook PCs, which are functionally
equivalent to desktop PCs; tablets; mobile phones, or smartphones; and a
variety of products aimed at vertical and specialized applications, such
as those used in medical applications, surveillance and security, and
telemetry and control.
The four basic types of computers
are as under:
- Supercomputer.
- Mainframe Computer.
- Minicomputer.
- Microcomputer.
Examples of Different Computer Types
- Supercomputers. Supercomputers are Very Fast and Most Powerful. ...
- Mainframe Computers. Mainframe computers — These are large and expensive computer types capable of supporting hundreds, or even thousands, of users simultaneously. ...
- Minicomputers. Minicomputers — Minicomputers are mid sized computers. ...
- Microcomputer
"A computer is a general
purpose electronic device that is used to perform arithmetic and logical
operations automatically.
A computer is a great
invention of the modern technology. It is generally a machine which has
capability to store large data value in its memory. It works using input (like
keyboard) and output (like printer) devices. ... It allows us to make changes
in the already stored data as well as store new data.
There are five main ones:
supercomputers, mainframe computers, minicomputers, microcomputers, and
finally mobile computers.
Basic features of tablet computers
include: Mobile OS: Tablets run on mobile operating systems
different from their desktop counterparts. Examples include Windows, iOS
and Android.
Mobile computing is a generic term that refers to a variety of devices that
allow people to access data and information from wherever they are. Sometimes
referred to as "human-computer interaction," mobile computing
transports data, voice, and video over a network via a mobile device.
Basic features of tablet computers
include: Mobile OS: Tablets run on mobile operating systems
different from their desktop counterparts. Examples include Windows, iOS
and Android.
Information technology (IT) is the use of any computers, storage, networking and
other physical devices, infrastructure and processes to create, process,
store, secure and exchange all forms of electronic data.
Mobile computing is a generic term that refers to a variety of devices that
allow people to access data and information from wherever they are. Sometimes
referred to as "human-computer interaction," mobile computing
transports data, voice, and video over a network via a mobile device.
A typical digital computer system
has four basic functional elements: (1) input-output equipment, (2) main
memory, (3) control unit, and (4) arithmetic-logic unit. Any of a number of
devices is used to enter data and program instructions into a computer and to
gain access to the results of the processing operation.
What are three software programs for
mobile computing?
1) Mobile hardware, 2)
communication devices including transmission towers, 3) mobile software
and apps. The mobile hardware includes smart phones, PDAs, tablets,
tablet PC's among others.
Mobile computing extends the horizons of conventional computing
model to a ubiquitous computing environment that serves users at
anytime, anywhere. Most distributed applications and services were designed
with the assumption that the terminals were powerful, stationary,
and connected to fixed networks.
Mobile computing is human–computer interaction in which a computer
is expected to be transported during normal usage, which allows for
transmission of data, voice and video. Mobile computing involves mobile
communication, mobile hardware, and mobile software.
What are the applications of mobile
communication?
There are many devices used for
wireless communication like mobiles. Cordless telephones, Zigbee
wireless technology, GPS, Wi-Fi, satellite television and wireless computer
parts. Current wireless phones include 3 and 4G networks, Bluetooth and Wi-Fi technologies.
What are the advantages of mobile
computing?
Location Flexibility
This has enabled users to work from
anywhere as long as there is a connection established. A user can work without
being in a fixed position. Their mobility ensures that they are able to carry
out numerous tasks at the same time and perform their stated jobs.
Different types of computing –Grid, Cloud, Utility, Distributed and Cluster computing
.
A computer is a machine or
device that performs processes, calculations and operations based on
instructions provided by a software or hardware program. It is designed to
execute applications and provides a variety of solutions by combining
integrated hardware and software components.
Examples of Information Technology
Telephone and radio equipment and
switches used for voice communications. Traditional computer applications that
include data storage and programs to input, process, and output the data.
An information system is described
as having five components.
- Computer hardware. This is the physical technology that works with information. ...
- Computer software. The hardware needs to know what to do, and that is the role of software. ...
- Telecommunications. ...
- Databases and data warehouses. ...
- Human resources and procedures
Well, Mobile computing can be
defined as human-computer interaction which allows transmission of data, voice
and video. It's a generic term that refers to a variety of devices that allow
people to access data and information from wherever they are. Mobile
Computing concepts: ... Mobile hardware. Mobile software.
Mobile computing extends the horizons of conventional computing
model to a ubiquitous computing environment that serves users at
anytime, anywhere. Most distributed applications and services were designed
with the assumption that the terminals were powerful, stationary,
and connected to fixed networks.
1)
Mobile hardware, 2) communication devices including transmission towers,
3) mobile software and apps. The mobile hardware includes smart phones,
PDAs, tablets, tablet PC's among others.
The two typical components of
a CPU include the following: The arithmetic logic unit (ALU), which
performs arithmetic and logical operations. The control unit (CU), which
extracts instructions from memory and decodes and executes them, calling on the
ALU when necessary.
6 Future Mobile Technologies
- Electronic vibration Technology: The Touch and Feel of It. ...
- Speech-to-Speech Translation: Communicating with the World Through a Fingertip. ...
- The Brain-Computer Interface: When Your Thoughts Become Commands. ...
- Wireless, Speedy Charging Becomes a Reality. ...
- Flexible and Wearable Smartphones. ...
- Augmented Reality.
What are the challenges of mobile
computing?
Portability: Portable computers
face physical challenges (volume, weight, power consumption, cost),
pragmatic challenges (increased chance of data loss, small
user-interface issues), and systems issues (network integration, resource
imbalance such as lack of local storage, impoverished computational power).
MARIA PREFER ON MOBILE COMPUTING ROBOTICS
Robotics is a branch of mechanical engineering, electrical engineering and computer science that deals with the design, construction, operation, and application of robots, as well as computer systems for their control, sensory feedback, and information processing. These technologies deal with automated machines that can take the place of humans in dangerous environments or manufacturing processes, or resemble humans in appearance, behaviour, and or cognition. Many of today's robots are inspired by nature contributing to the field of bio-inspired robotics.
- An applied science – scientific knowledge transferred into a physical environment.
- A branch of computer science –
- A branch of electrical engineering –
- A branch of mechanical engineering –
- Research and development –
- A branch of technology –
- Adaptive control – control method used by a controller which must adapt to a controlled system with parameters which vary, or are initially uncertain. For example, as an aircraft flies, its mass will slowly decrease as a result of fuel consumption; a control law is needed that adapts itself to such changing conditions.
- Aerial robotics – development of unmanned aerial vehicles (UAVs), commonly known as drones, aircraft without a human pilot aboard. Their flight is controlled either autonomously by onboard computers or by the remote control of a pilot on the ground or in another vehicle.
- Android science – interdisciplinary framework for studying human interaction and cognition based on the premise that a very humanlike robot (that is, an android) can elicit human-directed social responses in human beings.
- Anthrobotics – science of developing and studying robots that are either entirely or in some way human-like.
- Artificial intelligence – the intelligence of machines and the branch of computer science that aims to create it.
- Artificial neural networks – a mathematical model inspired by biological neural networks.
- Autonomous car – an autonomous vehicle capable of fulfilling the human transportation capabilities of a traditional car
- Autonomous research robotics –
- Bayesian network –
- BEAM robotics – a style of robotics that primarily uses simple analogue circuits instead of a microprocessor in order to produce an unusually simple design (in comparison to traditional mobile robots) that trades flexibility for robustness and efficiency in performing the task for which it was designed.
- Behavior-based robotics – the branch of robotics that incorporates modular or behavior based AI (BBAI).
- Bio-inspired robotics – making robots that are inspired by biological systems. Biomimicry and bio-inspired design are sometimes confused. Biomimicry is copying the nature while bio-inspired design is learning from nature and making a mechanism that is simpler and more effective than the system observed in nature.
- Biomimetic – see Bionics.
- Biomorphic robotics – a sub-discipline of robotics focused upon emulating the mechanics, sensor systems, computing structures and methodologies used by animals.
- Bionics – also known as biomimetics, biognosis, biomimicry, or bionical creativity engineering is the application of biological methods and systems found in nature to the study and design of engineering systems and modern technology.
- Biorobotics – a study of how to make robots that emulate or simulate living biological organisms mechanically or even chemically.
- Cloud robotics – is a field of robotics that attempts to invoke cloud technologies such as cloud computing, cloud storage, and other Internet technologies centered around the benefits of converged infrastructure and shared services for robotics.
- Cognitive robotics – views animal cognition as a starting point for the development of robotic information processing, as opposed to more traditional Artificial Intelligence techniques.
- Clustering –
- Computational neuroscience – study of brain function in terms of the information processing properties of the structures that make up the nervous system.
- Robot control – a study of controlling robots
- Robotics conventions –
- Data mining Techniques –
- Degrees of freedom – in mechanics, the degree of freedom (DOF) of a mechanical system is the number of independent parameters that define its configuration. It is the number of parameters that determine the state of a physical system and is important to the analysis of systems of bodies in mechanical engineering, aeronautical engineering, robotics, and structural engineering.
- Developmental robotics – a methodology that uses metaphors from neural development and developmental psychology to develop the mind for autonomous robots
- Digital control – a branch of control theory that uses digital computers to act as system controllers.
- Digital image processing – the use of computer algorithms to perform image processing on digital images.
- Dimensionality reduction – the process of reducing the number of random variables under consideration, and can be divided into feature selection and feature extraction.
- Distributed robotics –
- Electronic stability control – is a computerized technology that improves the safety of a vehicle's stability by detecting and reducing loss of traction (skidding).
- Evolutionary computation –
- Evolutionary robotics – a methodology that uses evolutionary computation to develop controllers for autonomous robots
- Extended Kalman filter –
- Flexible Distribution functions –
- Feedback control and regulation –
- Human–computer interaction – a study, planning and design of the interaction between people (users) and computers
- Human robot interaction – a study of interactions between humans and robots
- Intelligent vehicle technologies – comprise electronic, electromechanical, and electromagnetic devices - usually silicon micromachined components operating in conjunction with computer controlled devices and radio transceivers to provide precision repeatability functions (such as in robotics artificial intelligence systems) emergency warning validation performance reconstruction.
- Kinematics – study of motion, as applied to robots. This includes both the design of linkages to perform motion, their power, control and stability; also their planning, such as choosing a sequence of movements to achieve a broader task.
- Laboratory robotics – the act of using robots in biology or chemistry labs
- Robot learning – learning to perform tasks such as obstacle avoidance, control and various other motion-related tasks
- Direct manipulation interface – In computer science, direct manipulation is a human–computer interaction style which involves continuous representation of objects of interest and rapid, reversible, and incremental actions and feedback. The intention is to allow a user to directly manipulate objects presented to them, using actions that correspond at least loosely to the physical world.
- Manifold learning –
- Microrobotics – a field of miniature robotics, in particular mobile robots with characteristic dimensions less than 1 mm
- Motion planning – (a.k.a., the "navigation problem", the "piano mover's problem") is a term used in robotics for the process of detailing a task into discrete motions.
- Motor control – information processing related activities carried out by the central nervous system that organize the musculoskeletal system to create coordinated movements and skilled actions.
- Nanorobotics – the emerging technology field creating machines or robots whose components are at or close to the scale of a nanometer (10−9 meters).
- Passive dynamics – refers to the dynamical behavior of actuators, robots, or organisms when not drawing energy from a supply (e.g., batteries, fuel, ATP).
- Programming by Demonstration – an End-user development technique for teaching a computer or a robot new behaviors by demonstrating the task to transfer directly instead of programming it through machine commands.
- Quantum robotics – a subfield of robotics that deals with using quantum computers to run robotics algorithms more quickly than digital computers can.
- Rapid prototyping – automatic construction of physical objects via additive manufacturing from virtual models in computer aided design (CAD) software, transforming them into thin, virtual, horizontal cross-sections and then producing successive layers until the items are complete. As of June 2011, used for making models, prototype parts, and production-quality parts in relatively small numbers.
- Reinforcement learning – an area of machine learning in computer science, concerned with how an agent ought to take actions in an environment so as to maximize some notion of cumulative reward.
- Robot kinematics – applies geometry to the study of the movement of multi-degree of freedom kinematic chains that form the structure of robotic systems.
- Robot locomotion – collective name for the various methods that robots use to transport themselves from place to place.
- Robot programming –
- Robotic mapping – the goal for an autonomous robot to be able to construct (or use ) a map or floor plan and to localize itself in it
- Robotic surgery – computer-assisted surgery, and robotically-assisted surgery are terms for technological developments that use robotic systems to aid in surgical procedures.
- Sensors – (also called detector) is a converter that measures a physical quantity and converts it into a signal which can be read by an observer or by an (today mostly electronic) instrument.
- Simultaneous localization and mapping – a technique used by robots and autonomous vehicles to build up a map within an unknown environment (without a priori knowledge), or to update a map within a known environment (with a priori knowledge from a given map), while at the same time keeping track of their current location.
- Software engineering – the application of a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.
- Speech processing – study of speech signals and the processing methods of these signals. The signals are usually processed in a digital representation, so speech processing can be regarded as a special case of digital signal processing, applied to speech signal.[clarification needed] Aspects of speech processing includes the acquisition, manipulation, storage, transfer and output of digital speech signals.
- Support vector machines – supervised learning models with associated learning algorithms that analyze data and recognize patterns, used for classification and regression analysis.
- Swarm robotics – involves large numbers of mostly simple physical robots. Their actions may seek to incorporate emergent behavior observed in social insects (swarm intelligence).
- Ant robotics – swarm robots that can communicate via markings, similar to ants that lay and follow pheromone trails.
- Telepresence – refers to a set of technologies which allow a person to feel as if they were present, to give the appearance of being present, or to have an effect, via telerobotics, at a place other than their true location.
Branches of robotics
Robotics incorporates aspects of many disciplines including electronics, engineering, mechanics, software and arts. The design and control of robots relies on many fields knowledge, including:
- General
- Aerospace –
- Biology –
- Computer science –
- Engineering –
- Acoustical engineering –
- Automotive engineering –
- Chemical engineering –
- Control engineering –
- Electrical engineering –
- Electronic engineering –
- Mechanical engineering –
- Mechatronics engineering –
- Microelectromechanical engineering –
- Nanoengineering –
- Optical engineering –
- Safety engineering –
- Software engineering –
- Telecommunications –
- Fiction
– Robotics technology and its implications are major themes in science
fiction and have provided inspiration for robotics development and cause
for ethical concerns. Robots are portrayed in short stories and
novels, in movies, in TV shows, in theatrical productions, in web based
media, in computer games, and in comic books. See List of fictional robots and androids.
- Film – See Robots in film.
- Literature – fictional autonomous artificial servants have a long history in human culture. Today's most pervasive trope of robots, developing self-awareness and rebelling against their creators, dates only from the early 20th century. See Robots in literature.
- The Three Laws of Robotics in popular culture
- Military science –
- Psychology –
- Philosophy –
- Ethics –
- Physics –
- Dynamics –
- Kinematics –
- Fields of application – additionally, contributing fields include the specific field(s) a particular robot is being designed for. Expertise in surgical procedures and anatomy, for instance would be required for designing robotic surgery applications.
Related fields
Robots
Types of robots
Autonomous robots – robots that are not controlled by humans:- Aerobot – robot capable of independent flight on other planets
- Android – humanoid robot; resembling the shape or form of a human
- Automaton – early self-operating robot, performing exactly the same actions, over and over
- Autonomous vehicle – vehicle equipped with an autopilot system, which is capable of driving from one point to another without input from a human operator
- Ballbot – dynamically-stable mobile robot designed to balance on a single spherical wheel (i.e., a ball)
- Cyborg – also known as a cybernetic organism, a being with both biological and artificial (e.g. electronic, mechanical or robotic) parts
- Explosive ordnance disposal robot – mobile robot designed to assess whether an object contains explosives; some carry detonators that can be deposited at the object and activated after the robot withdraws
- Gynoid – humanoid robot designed to look like a human female
- Hexapod (walker) – a six-legged walking robot, using a simple insect-like locomotion
- Industrial robot – reprogrammable, multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for the performance of a variety of tasks
- Insect robot – small robot designed to imitate insect behaviors rather than complex human behaviors.
- Microbot – microscopic robots designed to go into the human body and cure diseases
- Military robot – exosuit which is capable of merging with its user for enhanced strength, speed, handling, etc.
- Mobile robot – self-propelled and self-contained robot that is capable of moving over a mechanically unconstrained course.
- Cruise missile – robot-controlled guided missile that carries an explosive payload.
- Music entertainment robot – robot created to perform music entertainment by playing custom made instrument or human developed instruments.
- Nanobot – the same as a microbot, but smaller. The components are at or close to the scale of a nanometer (10−9 meters).
- Prosthetic robot – programmable manipulator or device replacing a missing human limb.
- Rover – a robot with wheels designed to walk on other planets' terrain
- Service robot – machines that extend human capabilities.
- Snakebot – robot or robotic component resembling a tentacle or elephant's trunk, where many small actuators are used to allow continuous curved motion of a robot component, with many degrees of freedom. This is usually applied to snake-arm robots, which use this as a flexible manipulator. A rarer application is the snakebot, where the entire robot is mobile and snake-like, so as to gain access through narrow spaces.
- Surgical robot – remote manipulator used for keyhole surgery
- Walking robot – robot capable of locomotion by walking. Owing to the difficulties of balance, two-legged walking robots have so far been rare, and most walking robots have used insect-like multilegged walking gaits.
By mode of locomotion
Mobile robots may be classified by:- The environment in which they travel:
- Land or home robots. They are most commonly wheeled, but also include legged robots with two or more legs (humanoid, or resembling animals or insects).
- Aerial robots are usually referred to as unmanned aerial vehicles (UAVs).
- Underwater robots are usually called autonomous underwater vehicles (AUVs).
- Polar robots, designed to navigate icy, crevasse filled environments
- The device they use to move, mainly:
- Legged robot – human-like legs (i.e. an android) or animal-like legs
- Tracks
- Wheeled robot
Robot components and design features
- Actuator – motor
that translates control signals into mechanical movement. The control
signals are usually electrical but may, more rarely, be pneumatic or
hydraulic. The power supply may likewise be any of these. It is common
for electrical control to be used to modulate a high-power pneumatic or
hydraulic motor.
- Linear actuator – form of motor that generates a linear movement directly.
- Delta robot – tripod linkage, used to construct fast-acting manipulators with a wide range of movement.
- Drive power – energy source or sources for the robot actuators.
- End-effector – accessory device or tool specifically designed for attachment to the robot wrist or tool mounting plate to enable the robot to perform its intended task. (Examples may include gripper, spot-weld gun, arc-weld gun, spray- paint gun, or any other application tools.)
- Forward chaining – process in which events or received data are considered by an entity to intelligently adapt its behavior.
- Haptic – tactile feedback technology using the operator's sense of touch. Also sometimes applied to robot manipulators with their own touch sensitivity.
- Hexapod (platform) – movable platform using six linear actuators. Often used in flight simulators and fairground rides, they also have applications as a robotic manipulator.
- See Stewart platform
- Hydraulics – control of mechanical force and movement, generated by the application of liquid under pressure. c.f. pneumatics.
- Kalman filter – mathematical technique to estimate the value of a sensor measurement, from a series of intermittent and noisy values.
- Klann linkage – simple linkage for walking robots.
- Manipulator – gripper. A robotic 'hand'.
- Parallel manipulator – articulated robot or manipulator based on a number of kinematic chains, actuators and joints, in parallel. c.f. serial manipulator.
- Remote manipulator – manipulator under direct human control, often used for work with hazardous materials.
- Serial manipulator – articulated robot or manipulator with a single series kinematic chain of actuators. c.f. parallel manipulator.
- Muting – deactivation of a presence-sensing safeguarding device during a portion of the robot cycle.
- Pendant – Any portable control device that permits an operator to control the robot from within the restricted envelope (space) of the robot.
- Pneumatics – control of mechanical force and movement, generated by the application of compressed gas. c.f. hydraulics.
- Servo – motor that moves to and maintains a set position under command, rather than continuously moving
- Servomechanism – automatic device that uses error-sensing negative feedback to correct the performance of a mechanism
- Single point of control – ability to operate the robot such that initiation or robot motion from one source of control is possible only from that source and cannot be overridden from another source
- Slow speed control – mode of robot motion control where the velocity of the robot is limited to allow persons sufficient time either to withdraw the hazardous motion or stop the robot
- Stepper motor
- Stewart platform – movable platform using six linear actuators, hence also known as a Hexapod
- Subsumption architecture – robot architecture that uses a modular, bottom-up design beginning with the least complex behavioral tasks
- Teach mode – control state that allows the generation and storage of positional data points effected by moving the robot arm through a path of intended motions .
Future of robotics
Future of roboticsCloud robotics is a field of robotics that attempts to invoke cloud technologies such as cloud computing, cloud storage, and other Internet technologies centred on the benefits of converged infrastructure and shared services for robotics. When connected to the cloud, robots can benefit from the powerful computation, storage, and communication resources of modern data center in the cloud, which can process and share information from various robots or agent (other machines, smart objects, humans, etc.). Humans can also delegate tasks to robots remotely through networks. Cloud computing technologies enable robot systems to be endowed with powerful capability whilst reducing costs through cloud technologies. Thus, it is possible to build lightweight, low cost, smarter robots have intelligent "brain" in the cloud. The "brain" consists of data center, knowledge base, task planners, deep learning, information processing, environment models, communication support, etc
Components
A cloud for robots potentially has at least six significant components:- Offering a global library of images, maps, and object data, often with geometry and mechanical properties, expert system, knowledge base (i.e. semantic web, data centres);
- Massively-parallel computation on demand for sample-based statistical modelling and motion planning, task planning, multi-robot collaboration, scheduling and coordination of system;
- Robot sharing of outcomes, trajectories, and dynamic control policies and robot learning support;
- Human sharing of "open-source" code, data, and designs for programming, experimentation, and hardware construction;
- On-demand human guidance and assistance for evaluation, learning, and error recovery;
- Augmented human–robot interaction through various way (Semantics knowledge base, Apple SIRI like service etc.).
Applications
- Autonomous mobile robots
- Google's self-driving cars are cloud robots. The cars use the network to access Google's enormous database of maps and satellite and environment model (like Streetview) and combines it with streaming data from GPS, cameras, and 3D sensors to monitor its own position within centimetres, and with past and current traffic patterns to avoid collisions. Each car can learn something about environments, roads, or driving, or conditions, and it sends the information to the Google cloud, where it can be used to improve the performance of other cars.
- Cloud medical robots
- a medical cloud (also called a healthcare cluster) consists of various services such as a disease archive, electronic medical records, a patient health management system, practice services, analytics services, clinic solutions, expert systems, etc. A robot can connect to the cloud to provide clinical service to patients, as well as deliver assistance to doctors (e.g. a co-surgery robot). Moreover, it also provides a collaboration service by sharing information between doctors and care givers about clinical treatment.
- Assistive robots
- A domestic robot can be employed for healthcare and life monitoring for elderly people. The system collects the health status of users and exchange information with cloud expert system or doctors to facilitate elderly peoples life, especially for those with chronic diseases. For example, the robots are able to provide support to prevent the elderly from falling down, emergency healthy support such as heart disease, blooding disease. Care givers of elderly people can also get notification when in emergency from the robot through network.
- Industrial robots
- As highlighted by the German government's Industry 4.0 Plan, "Industry is on the threshold of the fourth industrial revolution. Driven by the Internet, the real and virtual worlds are growing closer and closer together to form the Internet of Things. Industrial production of the future will be characterised by the strong individualisation of products under the conditions of highly flexible (large series) production, the extensive integration of customers and business partners in business and value-added processes, and the linking of production and high-quality services leading to so-called hybrid products." In manufacturing, such cloud based robot systems could learn to handle tasks such as threading wires or cables, or aligning gaskets from a professional knowledge base. A group of robots can share information for some collaborative tasks. Even more, a consumer is able to place customised product orders to manufacturing robots directly with online ordering systems.Another potential paradigm is shopping-delivery robot systems. Once an order is placed, a warehouse robot dispatches the item to an autonomous car or autonomous drone to delivery it to its recipient (see Figure [[:|Cloud Self-driving Car]]).
Research
RoboEarth was funded by the European Union's Seventh Framework Programme for research, technological development projects, specifically to explore the field of cloud robotics. The goal of RoboEarth is to allow robotic systems to benefit from the experience of other robots, paving the way for rapid advances in machine cognition and behaviour, and ultimately, for more subtle and sophisticated human-machine interaction. RoboEarth offers a Cloud Robotics infrastructure.RoboEarth’s World-Wide-Web style database stores knowledge generated by humans – and robots – in a machine-readable format. Data stored in the RoboEarth knowledge base include software components, maps for navigation (e.g., object locations, world models), task knowledge (e.g., action recipes, manipulation strategies), and object recognition models (e.g., images, object models). The RoboEarth Cloud Engine includes support for mobile robots, autonomous vehicles, and drones, which require lots of computation for navigation.
Rapyuta is an open source cloud robotics framework based on RoboEarth Engine developed by the robotics researcher at ETHZ. Within the framework, each robot connected to Rapyuta can have a secured computing environment (rectangular boxes) giving them the ability to move their heavy computation into the cloud. In addition, the computing environments are tightly interconnected with each other and have a high bandwidth connection to the RoboEarth knowledge repository.
KnowRob is an extensional project of RoboEarth. It is a knowledge processing system that combines knowledge representation and reasoning methods with techniques for acquiring knowledge and for grounding the knowledge in a physical system and can serve as a common semantic framework for integrating information from different sources.
RoboBrain is a large-scale computational system that learns from publicly available Internet resources, computer simulations, and real-life robot trials. It accumulates everything robotics into a comprehensive and interconnected knowledge base. Applications include prototyping for robotics research, household robots, and self-driving cars. The goal is as direct as the project's name—to create a centralised, always-online brain for robots to tap into. The project is dominated by Stanford University and Cornel University. And the project is supported by the National Science Foundation, the Office of Naval Research, the Army Research Office, Google, Microsoft, Qualcomm, the Alfred P. Sloan Foundation and the National Robotics Initiative, whose goal is to advance robotics to help make the United States more competitive in the world economy.
MyRobots is a service for connecting robots and intelligent devices to the Internet. It can be regarded as a social network for robots and smart objects (i.e. Facebook for robots). With socialising, collaborating and sharing, robots can benefit from those interactions too by sharing their sensor information giving insight on their perspective of their current state.
COALAS is funded by the INTERREG IVA France (Channel) – England European cross-border co-operation programme. The project aims to develop new technologies for handicapped people through social and technological innovation and through the users' social and psychological integrity.
Objectives is to produce a cognitive ambient assistive living system with Healthcare cluster in cloud with domestic service robots like humanoid, intelligent wheelchair which connect with the cloud.
ROS (Robot Operating System) provides an eco-system to support cloud robotics. ROS is a flexible and distributed framework for robot software development. It is a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behaviour across a wide variety of robotic platforms. A library for ROS that is a pure Java implementation, called rosjava, allows Android applications to be developed for robots. Since Android has a booming market and billion users, it would be significant in the field of Cloud Robotics.
DAVinci Project is a proposed software framework that seeks to explore the possibilities of parallelizing some of the robotics algorithms as Map/Reduce tasks in Hadoop. The project aims to build a cloud computing environment capable of providing a compute cluster built with commodity hardware exposing a suite of robotic algorithms as a SaaS and share data co-operatively across the robotic ecosystem. This initiative is not available publicly.
C2RO (C2RO Cloud Robotics) is a platform that processes real-time applications such as collision avoidance and object recognition in the cloud. Previously, high latency times prevented these applications from being processed in the cloud thus requiring on-system computational hardware (e.g. Graphics Processing Unit or GPU). C2RO published a peer-reviewed paper at IEEE PIMRC17 showing its platform could make autonomous navigation and other AI services available on robots- even those with limited computational hardware (e.g. a Raspberry Pi)- from the cloud. C2RO eventually claimed to be the first platform to demonstrate cloud-based SLAM (simultaneous localization and mapping) at RoboBusiness in September 2017.
Noos is a cloud robotics service, providing centralised intelligence to robots that are connected to it. The service went live in December 2017. By using the Noos-API, developers could access services for computer vision, deep learning, and SLAM. Noos was developed and maintained by Ortelio Ltd.
Rocos is a centralized cloud robotics platform that provides the developer tooling and infrastructure to build, test, deploy, operate and automate robot fleets at scale. Founded in October 2017, the platform went live January 2019.
Limitations of cloud robotics
Though robots can benefit from various advantages of cloud computing, cloud is not the solution to all of robotics.- Controlling a robot’s motion which relies heavily on (real-time) sensors and feedback of controller may not benefit much from the cloud.
- Tasks that involve real-time execution require on-board processing.
- Cloud-based applications can get slow or unavailable due to high-latency responses or network hitch. If a robot relies too much on the cloud, a fault in the network could leave it “brainless.”
Challenges
The research and development of cloud robotics has following potential issues and challenges:- Scalable parallelisation-grid-computing, parallelisation schemes scale with the size of automation infrastructure.
- Effective load balancing: Balancing operations between local and cloud computation.
- Knowledge bases and representations
- Collective learning for automation in cloud
- Infrastructure/Platform or Software as a Service
- Internet of Things for robotics
- Integrated and collaborative fault-tolerant control
- Big Data: Data, collected and/or disseminated over large, accessible networks can enable decisions for classification problems or reveal patterns.
- Wireless communication, Connectivity to the cloud
- System architectures of robot cloud
- Open-source, open-access infrastructures
- Workload-sharing
- Standards and Protocols
Risks
- Environmental security - The concentration of computing resources and users in a cloud computing environment also represents a concentration of security threats. Because of their size and significance, cloud environments are often targeted by virtual machines and bot malware, brute force attacks, and other attacks.
- Data privacy and security - Hosting confidential data with cloud service providers involves the transfer of a considerable amount of an organisation's control over data security to the provider. For example, every cloud contains a huge information from the clients include personal data. If a household robot is hacked, users could have risk of their personal privacy and security, like house layout, life snapshot, home-view, etc. It may be accessed and leaked to the world around by criminals. Another problems is once a robot is hacked and controlled by someone else, which may put the user in danger.
- Ethical problems - Some ethics of robotics, especially for cloud based robotics must be considered. Since a robot is connected via networks, it has risk to be accessed by other people. If a robot is out of control and carries out illegal activities, who should be responsible for it.
Cloud robotics is a term may refer the
robots connected into cloud platform(actually a server). It(cloud
server) store the data and also do some computing process and gave the
result to the robots. So, many number of robots can access the the same
data or program. By this, the hard disk storage for each robots will
minimized.
"Cloud
robotics is an emerging field of robotics rooted in cloud computing,
cloud storage, and other Internet technologies centered around the
benefits of converged infrastructure and shared services. It allows
robots to benefit from the powerful computational, storage, and
communications resources of modern data centers. In addition, it removes
overheads for maintenance and updates, and reduces dependence on custom
middleware."
"Cloud
robotics is the use of remote computing resources to enable greater
memory, computational power, collective learning and interconnectivity
for robotics applications."
"Cloud
Robotics is the application of the cloud computing concept to robots.
This means using the Internet to augment the robots capabilities by
off-loading computation and providing services on demand."
"
Cloud Robotics is considered as one of the emerging research field
under the mainstream research of robotics and artificial intelligence.
The main focus of cloud
robotics
research is to explore the possibility of using existing
cloud-computing infrastructure, which is based upon service oriented
architecture."
The cloud robotic architecture leverages the
combination of an ad-hoc cloud formed by machine-to-machine (M2M)
communications among participating robots, and an infrastructure cloud
enabled by machine-to-cloud (M2C) communications. Cloud robotics
utilizes an elastic computing model, in which resources are dynamically
allocated from a shared resource pool in the ubiquitous cloud, to
support task offloading and information sharing in robotic applications.
Fog robotics
Fog robotics can be defined as an architecture which consists of storage, networking functions, control with fog computing closer to robots .
Concept
Fog robotics mainly consists of a fog robot server and the cloud. It acts as a companion to cloud by shoving the data near to the user with the help of a local server. Moreover, these servers are adaptable, consists of processing power for computation, network capability, and secured by sharing the outcomes to other robots for advanced performance with the lowest possible latency.As cloud robotics is facing issues such as bandwidth limitations, latency issues, quality of service, privacy and security - Fog robotics can be seen as a viable option for the future robotic systems. It is also considered as distributed robot systems of the next generation because robots require lots of brain power for processing billions of computations while performing its task. For instance, fog robotics can play an essential role in helping a robot to grasp spray bottle.
Applications
Social robotsA social robot can either connect to the cloud or fog robot server depending upon the availability of information. For instance, it can make a robot working at an airport to communicate with other robots for effective communication with the help of fog robotics.
Research
Fog RoboticsThis project promotes the applicability of fog robotics with regards to human-robot interaction scenarios. It utilises fog robot servers, cloud, and the robots for evaluation of fog robotics architecture.
Secure Fog Robotics Using the Global Data Plane
To improve the security and performance of robotic/machine-learning applications operating in edge computing environments, this project investigates the use of data capsules. As one of the applications, it also examines the fog robot system to preserve the privacy and security of the data.
5G Coral: A 5G Convergent Virtualised Radio Access Network Living at the Edge
This project particularly targets the field of radio access network at the edge. As part of this project, a real-time application of fog-assisted robotics is explored. Also, remote monitoring of robots and fleet formation for coordinated movement is being investigated.
Fog Computing for Robotics and Industrial Automation
This project focusses on designing novel programming models for Fog applications both hardware and operating system (OS) mechanisms including communication protocols of fog nodes. These fog nodes will be further tested real time on robots and other automation devices. Furthermore, an open-source architecture will be built on open standards, e.g., 5G, OPC Unified Architecture (UA), and Time-Sensitive Networking (TSN).
________________________________________________________________________________
Cloud Robotics: Connected to the Cloud, Robots Get Smarter
the idea of robots that rely on cloud-computing infrastructure to access
vast amounts of processing power and data. This approach, which some
are calling "cloud robotics," would allow robots to offload
compute-intensive tasks like image processing and voice recognition and
even download new skills instantly, Matrix-style.
Imagine a robot that finds an object that it's never seen or used before—say, a plastic cup. The robot could simply send an image of the cup to the cloud and receive back the object’s name, a 3-D model, and instructions on how to use it .
For conventional robots, every task—moving a foot, grasping an object, recognizing a face—requires a significant amount of processing and pre-programmed information. As a result, sophisticated systems like humanoid robots need to carry powerful computers and large batteries to power them.
cloud robotics could offload CPU-heavy tasks to remote servers, relying on smaller and less power-hungry onboard computers. Even more promising, the robots could turn to cloud-based services to expand their capabilities.
a robot would send images of what it is seeing to the cloud, receiving in return detailed information about the environment and objects in it.
Using the cloud, a robot could improve capabilities such as speech recognition, language translation, path planning, and 3D mapping.
Imagine a robot that finds an object that it's never seen or used before—say, a plastic cup. The robot could simply send an image of the cup to the cloud and receive back the object’s name, a 3-D model, and instructions on how to use it .
For conventional robots, every task—moving a foot, grasping an object, recognizing a face—requires a significant amount of processing and pre-programmed information. As a result, sophisticated systems like humanoid robots need to carry powerful computers and large batteries to power them.
cloud robotics could offload CPU-heavy tasks to remote servers, relying on smaller and less power-hungry onboard computers. Even more promising, the robots could turn to cloud-based services to expand their capabilities.
a robot would send images of what it is seeing to the cloud, receiving in return detailed information about the environment and objects in it.
Using the cloud, a robot could improve capabilities such as speech recognition, language translation, path planning, and 3D mapping.
APP STORE FOR ROBOTS
But cloud robotics is not limited to smartphone robots. It could apply to any kind of robot, large or small, humanoid or not. Eventually, some of these robots could become more standardized, or de facto standards, and sharing applications would be easier.“The next generation of robots needs to understand not only the environment they are in but also what objects exist and how to operate them .
“Cloud robotics could make that possible by expanding a robot’s knowledge beyond its physical body.” “Coupling robotics and distributed computing could bring about big changes in robot autonomy .
In particular, controlling a robot’s motion—which relies heavily on sensors and feedback—won’t benefit much from the cloud. “Tasks that involve real time execution require onboard processing .
that a robot may solve a complex path planning problem in the cloud, or possibly other optimization problems that do not require strict real-time performance, "but it will have to react to the world, balance on its feet, perceive, and control mostly out of local computation."
And there are other challenges. As any Internet user knows, cloud-based applications can get slow, or simply become unavailable. If a robot relies too much on the cloud, a problem could make it "brainless."
Must be A new advances will make cloud robotics a reality for many robots. He
envisions a future when robots will feed data into a "knowledge
database," where they'll share their interactions with the world and
learn about new objects, places, and behaviors.
ROBOTICS SYSTEM TEACHING AND LEARNING
_________________________________________________________________________________
Robot Operating System (ROS or ros) is robotics middleware (i.e. collection of software frameworks for robot software development). Although ROS is not an operating system, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management. Running sets of ROS-based processes are represented in a graph architecture where processing takes place in nodes that may receive, post and multiplex sensor data, control, state, planning, actuator, and other messages. Despite the importance of reactivity and low latency in robot control, ROS itself is not a real-time OS (RTOS). It is possible, however, to integrate ROS with real-time code. The lack of support for real-time systems has been addressed in the creation of ROS 2.0, a major revision of the ROS API which will take advantage of modern libraries and technologies for core ROS functionality and add support for real-time code and embedded hardware.
Software in the ROS Ecosystem can be separated into three groups:
The main ROS client libraries are geared toward a Unix-like system, primarily because of their dependence on large collections of open-source software dependencies. For these client libraries, Ubuntu Linux is listed as "Supported" while other variants such as Fedora Linux, macOS, and Microsoft Windows are designated "experimental" and are supported by the community. The native Java ROS client library, rosjava, however, does not share these limitations and has enabled ROS-based software to be written for the Android OS. rosjava has also enabled ROS to be integrated into an officially supported MATLAB toolbox which can be used on Linux, macOS, and Microsoft Windows. A JavaScript client library, roslibjs has also been developed which enables integration of software into a ROS system via any standards-compliant web browser.
ROS was designed with open-source in mind, intending that users would
be able to choose the configuration of tools and libraries which
interacted with the core of ROS so that users could shift their software
stacks to fit their robot and application area. As such, there is very
little which is actually core to ROS, beyond the general structure
within which programs must exist and communicate. In one sense, ROS is
the underlying plumbing behind nodes and message passing. However, in
reality, ROS is that plumbing, a rich and mature set of tools, a
wide-ranging set of robot-agnostic capabilities provided by packages,
and a greater ecosystem of additions to ROS.
Cloud Robotics is one of the emerging area of robotics. It has created a lot of attention due to its direct practical
implications on Robotics. In Cloud Robotics, the concept of cloud computing is used to offload computational extensive jobs
of the robots to the cloud. Apart from this, additional functionalities can also be offered on run to the robots on demand.
Simultaneous Localization and Mapping (SLAM) is one of the computational intensive algorithm in robotics used by robots
for navigation and map building in an unknown environment. Several Cloud based frameworks are proposed specifically to
address the problem of SLAM, DAvinCi, Rapyuta and C2TAM are some of those framework. In this paper, we presented a
detailed review of all these framework implementation for SLAM problem.
C2TAM Framework
C2TAM stands for Cloud Framework for cooperative
tracking and mapping. In this framework,
computational extensive algorithms are offloaded to
cloud such as map optimization and fusing of
common area of maps. This framework is able to
keep the bandwidth requirement on the lower side for
communication between robot and cloud server.
When some frames are sent to cloud server, it checks
for any overlapping area with any existing map and if
found, it fuses new map with that map.
_________________________________________________________________________________
Gen. Mac Tech Zone MARIA PREFER
ROBOTICS SYSTEM TEACHING AND LEARNING
_________________________________________________________________________________
Robot Operating System ( ROS )
Robot Operating System (ROS or ros) is robotics middleware (i.e. collection of software frameworks for robot software development). Although ROS is not an operating system, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management. Running sets of ROS-based processes are represented in a graph architecture where processing takes place in nodes that may receive, post and multiplex sensor data, control, state, planning, actuator, and other messages. Despite the importance of reactivity and low latency in robot control, ROS itself is not a real-time OS (RTOS). It is possible, however, to integrate ROS with real-time code. The lack of support for real-time systems has been addressed in the creation of ROS 2.0, a major revision of the ROS API which will take advantage of modern libraries and technologies for core ROS functionality and add support for real-time code and embedded hardware.
Software in the ROS Ecosystem can be separated into three groups:
- language-and platform-independent tools used for building and distributing ROS-based software;
- ROS client library implementations such as roscpp, rospy, and roslisp;
- packages containing application-related code which uses one or more ROS client libraries.
The main ROS client libraries are geared toward a Unix-like system, primarily because of their dependence on large collections of open-source software dependencies. For these client libraries, Ubuntu Linux is listed as "Supported" while other variants such as Fedora Linux, macOS, and Microsoft Windows are designated "experimental" and are supported by the community. The native Java ROS client library, rosjava, however, does not share these limitations and has enabled ROS-based software to be written for the Android OS. rosjava has also enabled ROS to be integrated into an officially supported MATLAB toolbox which can be used on Linux, macOS, and Microsoft Windows. A JavaScript client library, roslibjs has also been developed which enables integration of software into a ROS system via any standards-compliant web browser.
Design
Philosophy
Computation graph model
ROS processes are represented as nodes in a graph structure, connected by edges called topics. ROS nodes can pass messages to one another through topics, make service calls to other nodes, provide a service for other nodes, or set or retrieve shared data from a communal database called the parameter server. A process called the ROS Master makes all of this possible by registering nodes to itself, setting up node-to-node communication for topics, and controlling parameter server updates. Messages and service calls do not pass through the master, rather the master sets up peer-to-peer communication between all node processes after they register themselves with the master. This decentralized architecture lends itself well to robots, which often consist of a subset of networked computer hardware, and may communicate with off-board computers for heavy computation or commands.Nodes
A node represents a single process running the ROS graph. Every node has a name, which it registers with the ROS master before it can take any other actions. Multiple nodes with different names can exist under different namespaces, or a node can be defined as anonymous, in which case it will randomly generate an additional identifier to add to its given name. Nodes are at the center of ROS programming, as most ROS client code is in the form of a ROS node which takes actions based on information received from other nodes, sends information to other nodes, or sends and receives requests for actions to and from other nodes.Topics
Topics are named buses over which nodes send and receive messages. Topic names must be unique within their namespace as well. To send messages to a topic, a node must publish to said topic, while to receive messages it must subscribe. The publish/subscribe model is anonymous: no node knows which nodes are sending or receiving on a topic, only that it is sending/receiving on that topic. The types of messages passed on a topic vary widely and can be user-defined. The content of these messages can be sensor data, motor control commands, state information, actuator commands, or anything else.Services
A node may also advertise services. A service represents an action that a node can take which will have a single result. As such, services are often used for actions which have a defined beginning and end, such as capturing a single-frame image, rather than processing velocity commands to a wheel motor or odometer data from a wheel encoder. Nodes advertise services and call services from one another.Parameter server
The parameter server is a database shared between nodes which allows for communal access to static or semi-static information. Data which does not change frequently and as such will be infrequently accessed, such as the distance between two fixed points in the environment, or the weight of the robot, are good candidates for storage in the parameter server.Tools
ROS's core functionality is augmented by a variety of tools which allow developers to visualize and record data, easily navigate the ROS package structures, and create scripts automating complex configuration and setup processes. The addition of these tools greatly increases the capabilities of systems using ROS by simplifying and providing solutions to a number of common robotics development. These tools are provided in packages like any other algorithm, but rather than providing implementations of hardware drivers or algorithms for various robotic tasks, these packages provide task and robot-agnostic tools which come with the core of most modern ROS installations.rviz
rviz is a three-dimensional visualizer used to visualize robots, the environments they work in, and sensor data. It is a highly configurable tool, with many different types of visualizations and plugins.rosbag
rosbag is a command line tool used to record and playback ROS message data. rosbag uses a file format called bags, which log ROS messages by listening to topics and recording messages as they come in. Playing messages back from a bag is largely the same as having the original nodes which produced the data in the ROS computation graph, making bags a useful tool for recording data to be used in later development. While rosbag is a command line only tool, rqt_bag provides a GUI interface to rosbag.catkin
catkin is the ROS build system, having replaced rosbuild as of ROS Groovy. catkin is based on CMake, and is similarly cross-platform, open source, and language-independent.rosbash
The rosbash package provides a suite of tools which augment the functionality of the bash shell. These tools include rosls, roscd, and roscp, which replicate the functionalities of ls, cd, and cp respectively. The ROS versions of these tools allow users to use ros package names in place of the filepath where the package is located. The package also adds tab-completion to most ROS utilities, and includes rosed, which edits a given file with the chosen default text editor, as well rosrun, which runs executes in ROS packages. rosbash supports the same functionalities for zsh and tcsh, to a lesser extent.roslaunch
roslaunch is a tool used to launch multiple ROS nodes both locally and remotely, as well as setting parameters on the ROS parameter server. roslaunch configuration files, which are written using XML can easily automate a complex startup and configuration process into a single command. roslaunch scripts can include other roslaunch scripts, launch nodes on specific machines, and even restart processes which die during execution.Packages of note
ROS contains many open source implementations of common robotics functionality and algorithms. These open source implementations are organized into "packages". Many packages are included as part of ROS distributions, while others may be developed by individuals and distributed through code sharing sites such as github. Some packages of note include:Systems and tools
- actionlib provides a standardized interface for interfacing with preemtable tasks.
- nodelet provides a way to run multiple algorithms in a single process.
- rosbridge provides a JSON API to ROS functionalities for non-ROS programs.
Mapping and localization
- gmapping provides a wrapper for OpenSlam's Gmapping algorithm for simultaneous localization and mapping.
- cartographer provides real time 2D and 3D SLAM algorithms developed at Google.
- amcl provides an implementation of adaptive Monte-Carlo localization.
- nav2d provides the capability of navigating a mobile robot in a planar environment.
Perception
- vision_opencv is a meta-package which provides packages for integrating ROS with OpenCV.
Coordinate frame representation
- tf provided a system for representing, tracking and transforming coordinate frames until ROS Hydro, when it was deprecated in favor of tf2.
- tf2 is the second generation of the tf library, and provides the same capabilities for ROS versions after Hydro.
Simulation
- gazebo_ros_pkgs is a meta-package which provides packages for integrating ROS with the Gazebo simulator.
- stage provides an interface for the 2D Stage simulator.
Cloud Robotics is one of the emerging area of robotics. It has created a lot of attention due to its direct practical
implications on Robotics. In Cloud Robotics, the concept of cloud computing is used to offload computational extensive jobs
of the robots to the cloud. Apart from this, additional functionalities can also be offered on run to the robots on demand.
Simultaneous Localization and Mapping (SLAM) is one of the computational intensive algorithm in robotics used by robots
for navigation and map building in an unknown environment. Several Cloud based frameworks are proposed specifically to
address the problem of SLAM, DAvinCi, Rapyuta and C2TAM are some of those framework. In this paper, we presented a
detailed review of all these framework implementation for SLAM problem.
C2TAM Framework
C2TAM stands for Cloud Framework for cooperative
tracking and mapping. In this framework,
computational extensive algorithms are offloaded to
cloud such as map optimization and fusing of
common area of maps. This framework is able to
keep the bandwidth requirement on the lower side for
communication between robot and cloud server.
When some frames are sent to cloud server, it checks
for any overlapping area with any existing map and if
found, it fuses new map with that map.
_________________________________________________________________________________
Gen. Mac Tech Zone MARIA PREFER
The swarm robotics inspired from nature is a combination of swarm intelligence and robotics, which shows a great potential in several aspects. First of all, the cooperation of nature swarm and swarm intelligence are briefly introduced, and the special features of the swarm robotics are summarized compared to a single robot and other multi-individual systems. Then the modeling methods for swarm robotics are described, followed by a list of several widely used swarm robotics entity projects and simulation platforms. Finally, the swarm robotic algorithms are presented in detail, including cooperative control mechanisms in swarm robotics for flocking, navigating and searching applications.
__________________________________________________________________________________