Funzionalità per la navigazione di robot...
Transcript of Funzionalità per la navigazione di robot...
Corso di Robotica
Prof. Davide Brugali
Università degli Studi di Bergamo
Funzionalità per la navigazione di
robot mobili
Variability of the Robotic Domain
UNIBG - Corso di Robotica - Prof. Brugali
Shop Floor logistics
Store inventory Autonomous cars
RoboCup
Tourist guide
Variability in Mobile Robot Navigation Systems
UNIBG - Corso di Robotica - Prof. Brugali
A
B
Motor control
Localization
Localization
Motor control
Software variability
Motor control
Obstacle Avoidance
Localization
Trajectory following
Motion planning
Motor control
UNIBG - Corso di Robotica - Prof. Brugali
A
B
W
V
Omnidirectional
Differential Drive
TWIST = { V = linear velocity W = angular velocity
TWIST
Trajectory following
UNIBG - Corso di Robotica - Prof. Brugali
A
B
Y
Geometric curve Magnetic tape
Visual path
X
TWIST
Trajectory planning
UNIBG - Corso di Robotica - Prof. Brugali
A
B
X
Y
Optimization: - minimum time - minimum jerk
Marker-based topological localization
UNIBG - Corso di Robotica - Prof. Brugali
A
B
artificial markers
Marker-based Visual navigation
UNIBG - Corso di Robotica - Prof. Brugali
Kiva robots at Amazon stores
Obstacle avoidance
UNIBG - Corso di Robotica - Prof. Brugali
A
B
X
Y
Environemnt - Moving obstacles - Static obstacles
Da cosa dipende la varietà dei
sistemi di navigazione per robot?
UNIBG - Corso di Robotica - Prof. Brugali
Sources of variability
software
control system
Embodiment Intelligene
Situatedness
• Navigation
• Manipulation
• Sematic Perception
• …
• Indoor / outdoor
• Static / dynamic
• Natural / artificial illumination
Simon's "ant on the beach"
An ant's behavior control mechanism is very simple: obstacle right, turn left; obstacle left, turn right.
Intelligence.
On a beach with rocks and pebbles, an ant's trajectory will be a zigzag line. Situatedness.
But if the size of an ant were to be increased by a factor of 1000, then its trajectory would be much straighter.
Embodiment.
Robot Variability : Embodiment
Robot embodiment refers to the consciousness of having a body (a
mechanical structure with sensors and actuators) that allows the
robot to experience and interact with the world.
Despite the semantic similarities between the operations supported
by similar devices (e.g., all ranging devices provide distance
measurements, all rovers provide wheeled mobility), robot control
applications strongly depend on the type of robot actuators and on
the robot kinematic structure.
For example, different algorithms are used to plan an obstacle-free
path and to control the robot motion along the path.
Robot Variability : Situatedness
Robot situatedness refers to existing in a complex, dynamic, and
unstructured environment that strongly affects the robot behavior.
Situatedness implies that the robot is aware of its own posture, in one
place at a given time, and of the objects (obstacles, workpieces, or
co-workers) around it in the workspace.
According to the operational environment, the robot can use
different sensors and techniques for 3D perception and localization.
For example, a GPS cannot be used inside a building, while the
performance of a stereo vision system is affected by environment
light conditions.
Robot Variability : Intelligence
Robot intelligence refers to the ability to express adequate and useful behaviors while interacting with the dynamic environment.
Robot intelligence is usually defined in terms of
autonomy, i.e. the robot's ability to control its own activities and to carry on tasks without the intervention of the human operator;
deliberativeness, i.e. the ability of planning and revising future actions in order to achieve a given goal while taking into account the mutable conditions of the external environment;
adaptability, i.e. the ability of changing its behavior in response to external stimuli according to past interactions with the real world.
The interaction among robot functionalities strongly depends on the type of task that the robot has to perform and this has an impact on how concurrent activities access shared (computational and robotics) resources and on their timeliness.
Corso di Robotica - UNIBG - Prof. Brugali
Application Domain : Home robotics
Roomba Vacuum Cleaner Lawn mower
Intelligence Situatedness Embodiment
Capability
• Navigation
Task
• Area coverage
Type of Environment
• Indoor/outdoor
• Unstructured
Environment Dynamics
• Mostly static
Locomotion
• Differential drive
Perception
• Infrared / sonar
• monocular camera
20
Corso di Robotica - UNIBG - Prof. Brugali
Application Domain : Service robotics (Logistics)
Shop Floor Supermarket
Intelligence Situatedness Embodiment
Capability
• Navigation
• Manipulation
• Semantic perception
Task
• Pick & Place
• Transportation
Type of Environment
• Indoor
• Mostly Structured
Environment Dynamics
• Moving obstacles (slow
/ fast)
Locomotion
• Differential drive
• Omnidirectional
Manipulation
• Single/dual arm
Perception
• Laser scanner
• 3D camera
21
To be competitive, system integrators need
easily configurable software that supports …
a portfolio of similar systems or products with variations in features and functions
Rather than building each new system variant from scratch, significant savings
may be achieved by reusing portions of previous systems to build new ones.
Software Reuse - definition
Software reuse is:
the practice of developing software
from a stock of building blocks,
so that similarities in requirements and/or architecture between applications can be exploited
to achieve substantial benefits in productivity and quality.