Funzionalità per la navigazione di robot mobili Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo
Variability of the Robotic Domain UNIBG - Corso di Robotica - Prof. Brugali Tourist guide Store inventory Autonomous cars RoboCup Shop Floor logistics
Variability in Robot Navigation UNIBG - Corso di Robotica - Prof. Brugali
Variability in Mobile Robot Navigation Systems UNIBG - Corso di Robotica - Prof. Brugali A B Software variability Motion planning Trajectory following Localization Localization Localization Obstacle Avoidance Motor Motor control Motor control control
UNIBG - Corso di Robotica - Prof. Brugali Motor control TWIST = { V = linear velocity W = angular velocity B TWIST V W A Omnidirectional Differential Drive
UNIBG - Corso di Robotica - Prof. Brugali Trajectory following A TWIST B
UNIBG - Corso di Robotica - Prof. Brugali Trajectory following Y TWIST A B Visual path Geometric curve Magnetic tape X
UNIBG - Corso di Robotica - Prof. Brugali Trajectory planning Y A B Optimization: - minimum time - minimum jerk X
UNIBG - Corso di Robotica - Prof. Brugali Geometric Map-based localization Y A 2D/3D sensor B X
Geometric Map-based localization UNIBG - Corso di Robotica - Prof. Brugali
UNIBG - Corso di Robotica - Prof. Brugali Marker-based topological localization A B artificial markers
Marker-based Visual navigation UNIBG - Corso di Robotica - Prof. Brugali Kiva robots at Amazon stores
UNIBG - Corso di Robotica - Prof. Brugali Obstacle avoidance Y A B Environemnt - Moving obstacles - Static obstacles X
Da cosa dipende la varietà dei sistemi di navigazione per robot? UNIBG - Corso di Robotica - Prof. Brugali
Sources of variability Embodiment software control system Intelligene Navigation Manipulation Sematic Perception Situatedness 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.
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 Corso di Robotica - UNIBG - Prof. Brugali Supermarket Intelligence Situatedness Embodiment Capability Navigation Manipulation Semantic perception Task Pick & Place Transportation 21 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
Progettazione del sistema di navigazione per robot mobili UNIBG - Corso di Robotica - Prof. Brugali
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.
Software Reuse Techniques Asset type Reuse form Source code Class library Design Pattern / Architecture Components Component Framework Software Product Lines Copy and Paste Extend Imitate Integrate Customize Configure