Software Architecture for an Exploration Robot based on Urbi

Similar documents
RobotStadium: Online Humanoid Robot Soccer Simulation Competition

ENSTA Bretagne Robotics Topic Group

University of Florida Department of Electrical and Computer Engineering Intelligent Machine Design Laboratory EEL 4665 Spring 2013 LOSAT

ARCHITECTURE AND MODEL OF DATA INTEGRATION BETWEEN MANAGEMENT SYSTEMS AND AGRICULTURAL MACHINES FOR PRECISION AGRICULTURE

C-ELROB 2009 Technical Paper Team: University of Oulu

Autonomous Vehicle GNC

Key Words Interdisciplinary Approaches, Other: capstone senior design projects

MEM380 Applied Autonomous Robots I Winter Feedback Control USARSim

Space Research expeditions and open space work. Education & Research Teaching and laboratory facilities. Medical Assistance for people

Service Robots in an Intelligent House

Programming Mobile Robots with Aria and Player

Saphira Robot Control Architecture

ROBOTICS & IOT. Workshop Module

ROBOTICS & IOT. Workshop Module

Incorporating a Software System for Robotics Control and Coordination in Mechatronics Curriculum and Research

Hybrid architectures. IAR Lecture 6 Barbara Webb

2 Focus of research and research interests

Knowledge Representation and Cognition in Natural Language Processing

Major Project SSAD. Mentor : Raghudeep SSAD Mentor :Manish Jha Group : Group20 Members : Harshit Daga ( ) Aman Saxena ( )

* Intelli Robotic Wheel Chair for Specialty Operations & Physically Challenged

Intelligent. Mobile Robots. Robots that know where they re going. Since 1995.

Team Project: A Surveillant Robot System

Megamark Arduino Library Documentation

NCCT IEEE PROJECTS ADVANCED ROBOTICS SOLUTIONS. Latest Projects, in various Domains. Promise for the Best Projects

NEES CYBERINFRASTRUCTURE: A FOUNDATION FOR INNOVATIVE RESEARCH AND EDUCATION

Total Hours Registration through Website or for further details please visit (Refer Upcoming Events Section)

e-navigation Underway International February 2016 Kilyong Kim(GMT Co., Ltd.) Co-author : Seojeong Lee(Korea Maritime and Ocean University)

Mobile Robots Exploration and Mapping in 2D

Embedded Robotics. Software Development & Education Center

Real-time Cooperative Behavior for Tactical Mobile Robot Teams. May 11, 1999 Ronald C. Arkin and Thomas R. Collins Georgia Tech

RoboCup. Presented by Shane Murphy April 24, 2003

Formation and Cooperation for SWARMed Intelligent Robots

SyRoTek - A Robotic System for Education

Sensing and Perception

PROJECTS 2017/18 AUTONOMOUS SYSTEMS. Instituto Superior Técnico. Departamento de Engenharia Electrotécnica e de Computadores September 2017

Autonomous Mobile Robot Design. Dr. Kostas Alexis (CSE)

RPLIDAR A3. Introduction and Datasheet. Low Cost 360 Degree Laser Range Scanner. Model: A3M1. Shanghai Slamtec.Co.,Ltd rev.1.

Journal of Mechatronics, Electrical Power, and Vehicular Technology

Welcome to EGN-1935: Electrical & Computer Engineering (Ad)Ventures

Available online at ScienceDirect. Procedia Computer Science 76 (2015 ) 2 8

Mobile Target Tracking Using Radio Sensor Network

MOBILE ROBOTICS. Sensors An Introduction

Eurathlon Scenario Application Paper (SAP) Review Sheet

TurtleBot2&ROS - Learning TB2

II. ROBOT SYSTEMS ENGINEERING

AC : A KICKING MECHANISM FOR A SOCCER-PLAYING ROBOT: A MULTIDISCIPLINARY SENIOR DESIGN PROJECT

Team Project: A Surveillant Robot System

DEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR

Getting started with Ansible and Oracle

TEAM AERO-I TEAM AERO-I JOURNAL PAPER DELHI TECHNOLOGICAL UNIVERSITY Journal paper for IARC 2014

Progress Report. Mohammadtaghi G. Poshtmashhadi. Supervisor: Professor António M. Pascoal

Voice Command Based Robotic Vehicle Control

KI-SUNG SUH USING NAO INTRODUCTION TO INTERACTIVE HUMANOID ROBOTS

Cooking gets digital. Food becomes transparent. And much more... 06/09/12 EveryCook Page 1 of 6

RoboCup Rescue - Robot League League Talk. Johannes Pellenz RoboCup Rescue Exec

Proseminar Roboter und Aktivmedien. Outline of today s lecture. Acknowledgments. Educational robots achievements and challenging

DevOPS, Ansible and Automation for the DBA. Tech Experience 18, Amsersfoot 7 th / 8 th June 2018

RPLIDAR A2. Introduction and Datasheet. Low Cost 360 Degree Laser Range Scanner. Model: A2M5 A2M6 OPTMAG. Shanghai Slamtec.Co.,Ltd rev.1.

Automated Meeting Rooms Using Audiovisual Sensors Using Internet of Things

Hello, and welcome to this presentation of the STM32 Digital Filter for Sigma-Delta modulators interface. The features of this interface, which

Image Capture On Embedded Linux Systems

An Autonomous Self- Propelled Robot Designed for Obstacle Avoidance and Fire Fighting

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

Visual Perception Based Behaviors for a Small Autonomous Mobile Robot

Cisco IPICS: Comprehensive Emergency Management & Communications Interoperability

Real-time Cooperative Behavior for Tactical Mobile Robot Teams. September 10, 1998 Ronald C. Arkin and Thomas R. Collins Georgia Tech

Perception platform and fusion modules results. Angelos Amditis - ICCS and Lali Ghosh - DEL interactive final event

RCJ Rescue B. RCJ Rescue B Primary Team Branchburg, NJ USA. Storming Robots in Branchburg, NJ, USA. SR-chitect / Storming Robots

International Journal for Research in Applied Science & Engineering Technology (IJRASET) DTMF Based Robot for Security Applications

Adaptive Touch Sampling for Energy-Efficient Mobile Platforms

Preliminary Design Report. Project Title: Search and Destroy

RPLIDAR A2. Introduction and Datasheet. Model: A2M3 A2M4 OPTMAG. Shanghai Slamtec.Co.,Ltd rev.1.0 Low Cost 360 Degree Laser Range Scanner

ICT : Internet of Things and Platforms for Connected Smart Objects

Cost efficient design Operates in full sunlight Low power consumption Wide field of view Small footprint Simple serial connectivity Long Range

CORC 3303 Exploring Robotics. Why Teams?

MarineSIM : Robot Simulation for Marine Environments

Team Kanaloa: research initiatives and the Vertically Integrated Project (VIP) development paradigm

Training Schedule. Robotic System Design using Arduino Platform

STEPMAN Newsletter. Introduction

Rapid Development System for Humanoid Vision-based Behaviors with Real-Virtual Common Interface

A*STAR Unveils Singapore s First Social Robots at Robocup2010

UC Mercenary Team Description Paper: RoboCup 2008 Virtual Robot Rescue Simulation League

RoboPatriots: George Mason University 2009 RoboCup Team

Factories of the Future Industry 4.0 The European Perspective

UNIT1. Keywords page 13-14


An Open Robot Simulator Environment

Smart-M3-Based Robot Interaction in Cyber-Physical Systems

INTRODUCTION OF SOME APPROACHES FOR EDUCATIONS OF ROBOT DESIGN AND MANUFACTURING

RPLIDAR A1. Introduction and Datasheet. Low Cost 360 Degree Laser Range Scanner. Model: A1M8. Shanghai Slamtec.Co.,Ltd rev.1.

Comments of Shared Spectrum Company

INTELLIGENT GUIDANCE IN A VIRTUAL UNIVERSITY

Development of a Low-Cost SLAM Radar for Applications in Robotics

Semi-Autonomous Parking for Enhanced Safety and Efficiency

William Milam Ford Motor Co

Team S.S. Minnow RoboBoat 2015

Combining complementary skills, research, novel technologies.

interactive IP: Perception platform and modules

Evolution of Software-Only-Simulation at NASA IV&V

I C T. Per informazioni contattare: "Vincenzo Angrisani" -

Transcription:

Software Architecture for an Exploration Robot based on Urbi David Filliat Akim Demaille Jean-Christophe Baillie Guillaume Duceux David Filliat Quentin Hocquet Matthieu Nottale Ensta-ParisTech, Gostai S.A.S. Control Architectures of Robots 2011 May 25th, 2011 D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 1 / 24

Motivations: project PACOM Participate to the CAROTTE competition organized by the DGA and the ANR D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 2 / 24

Architecture for a Robot Handling a large set of software components Dealing with events, data-flow, and failure Based on the Urbi framework D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 3 / 24

1 System Overview 2 Urbi as a middleware 3 Practical Implementation 4 Conclusion and Future Work D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 4 / 24

System Overview System Overview 1 System Overview 2 Urbi as a middleware 3 Practical Implementation 4 Conclusion and Future Work D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 5 / 24

Hardware architecture System Overview Hardware Access 3 on-board computers Hokuyo UTM 30 LX Pan-Tilt-Zoom camera SICK LMS 200 Sonar sensors Pionner 3 dx D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 6 / 24

System Overview Software components Software components SLAM Path planning Exploration Semantic mapping Robot Servoing Object recognition Windows detector D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 7 / 24

System Overview Handling different situations Handling different situations Normal ongoing mission Find a target Find a path to the target Avoid Obstacles Reach the target While detecting Objects At the end generate the semantic map Situations to handle Target unreachable Emergency stop Robot blocked Component failure D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 8 / 24

System Overview Handling different situations Handling different situations Normal ongoing mission Find a target Find a path to the target Avoid Obstacles Reach the target While detecting Objects At the end generate the semantic map Situations to handle Target unreachable Emergency stop Robot blocked Component failure D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 8 / 24

Urbi as a middleware Urbi as a middleware 1 System Overview 2 Urbi as a middleware 3 Practical Implementation 4 Conclusion and Future Work D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 9 / 24

Urbi as a middleware Architecture Software platform for robotic applications distributed component architecture urbiscript Flexible Facilitate integration and development D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 10 / 24

Urbi as a middleware Architecture Software platform for robotic applications distributed component architecture urbiscript Flexible Facilitate integration and development D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 10 / 24

Urbi as a middleware UObjects: drivers and software components UObjects: drivers and software components UObjects Written in C++ or Java API Plugged UObjects Shared-memory at the expense of responsiveness Possibility to run in separate thread Remote UObjects Used seamlessly Parallelism but no shared-memory General failure protection D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 11 / 24

Urbi as a middleware UObjects: drivers and software components UObjects: drivers and software components UObjects Written in C++ or Java API Plugged UObjects Shared-memory at the expense of responsiveness Possibility to run in separate thread Remote UObjects Used seamlessly Parallelism but no shared-memory General failure protection D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 11 / 24

Urbi as a middleware UObjects: drivers and software components UObjects: drivers and software components UObjects Written in C++ or Java API Plugged UObjects Shared-memory at the expense of responsiveness Possibility to run in separate thread Remote UObjects Used seamlessly Parallelism but no shared-memory General failure protection D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 11 / 24

Urbi as a middleware UVar: data-flow control features UVar: data-flow control features Incoming/outgoing interface between components and Urbi Transparent serialization of integer, float, list, array, etc... Event support: notification of change or access D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 12 / 24

urbiscript Urbi as a middleware urbiscript Direct interface with the robot Scripting the behavior of the robot Orchestrate and define robot behavior whenever ( ball.visible ) { headyaw.val += camera.xfov * ball.x & headpitch.val += camera.yfov * ball.y }, D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 13 / 24

Practical Implementation Practical Implementation 1 System Overview 2 Urbi as a middleware 3 Practical Implementation 4 Conclusion and Future Work D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 14 / 24

Practical Implementation Hardware Hardware architecture Hokuyo Laser PTZ Camera SICK Laser Laptop 02 Exploration Laptop 01 Recognition Embedded PC Mapper ( 2DSLAM ) Path planner Guidance Linux Data Logger WIFI Semantic mapper urbiscript Urbi Hardware D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 15 / 24

Data-flow control Practical Implementation Data-flow Position Robot Laser SLAM Speed Sensors Servoing Path Path Planner Obstacles Obstacles Detectors D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 16 / 24

Data-flow control Practical Implementation Data-flow notification of UVar change servoing.&speeddeltacompute.notifychange( closure() { robot.speeddelta = servoing.speeddeltacompute } ); InputPort var connection = slam.&intputlaser << robot.&laserreadings D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 17 / 24

Event-driven mission Practical Implementation Events Loop Mission Update Exploration Map Find target Go To Target Events Events (Watchdog) Target unreachable: - stop the robot - update obstacles map - try another time Or - continue mission elsewhere Robot blocked : - update obstacles map - move out of the area Emergency stop: - stop the robot - emit robot blocked D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 18 / 24

Practical Implementation Events Urbi Events for handling situation creation and caption of events var Global.targetUnreachable = Event.new(); at (targetunreachable?()) { echo("target unreachable!"); driveauto.freeze; explorer.findtargets(); robot.goto(explorer.targets.removefront); }; emitting events targetunreachable!(); D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 19 / 24

Practical Implementation Background processing Parallelism Handling delay for slow processing var buffer = []; var imagerecord = Tag.new(); imagerecord : every(100ms) { buffer.insertfront([camera.val,robot.position]); // In case of congestion, keep only the most recent images. if (buffer.size > 15) buffer.removeback(); }, whenever (!buffer.empty()) { objreco.process(buffer.removeback()); }, D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 20 / 24

Failure protection Practical Implementation Failure protection in urbiscript: checking state of UObject var objreco = nil; every(1s) { if (uobjects.hasslot("objreco") && Global.objReco.protos[0]!= uobjects.objreco) Global.objReco = uobjects.objreco.new(); }, (re)starting shell #! /bin/sh while true do urbi-launch --remote ObjReco.so --host robot done D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 21 / 24

Failure protection Practical Implementation Failure protection in urbiscript: checking state of UObject var objreco = nil; every(1s) { if (uobjects.hasslot("objreco") && Global.objReco.protos[0]!= uobjects.objreco) Global.objReco = uobjects.objreco.new(); }, (re)starting shell #! /bin/sh while true do urbi-launch --remote ObjReco.so --host robot done D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 21 / 24

Conclusion and Future Work Conclusion and Future Work 1 System Overview 2 Urbi as a middleware 3 Practical Implementation 4 Conclusion and Future Work D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 22 / 24

Conclusion and Future Work Conclusion and Future Work Conclusion Control Architectures: Handles data-flow between many modules Deals with different situations Urbi Flexible behavior Facilitate integration and development Facilitate cooperative work Future Work Integrate new components Change the behavior accordingly Take advantage of new Urbi features D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 23 / 24

Conclusion and Future Work Conclusion and Future Work Conclusion Control Architectures: Handles data-flow between many modules Deals with different situations Urbi Flexible behavior Facilitate integration and development Facilitate cooperative work Future Work Integrate new components Change the behavior accordingly Take advantage of new Urbi features D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 23 / 24

End Thank you for your attention! Questions? D. Filliat et al. (Ensta-ParisTech) Exploration Robot Architecture CAR 11 24 / 24