Mixed Reality Server under Robot Operating System

Slides:



Advertisements
Similar presentations
UI_PRI Communication Concept Service Robotics Group Institute of System Engineering and Robotics Bulgarian Academy of Sciences.
Advertisements

TCP Monitor and Auto Tuner. Need Analysis Enable monitoring of TCP Connections Enable maximum bandwidth utilization No such utility available in MONALISA.
Richard Yu.  Present view of the world that is: Enhanced by computers Mix real and virtual sensory input  Most common AR is visual Mixed reality virtual.
Security and Digital Recording System Students: Gadi Marcu, Tomer Alon Number:D1123 Supervisor: Erez Zilber Semester:Spring 2004 Mid Semester Presentation.
SaaS Software Container By Brian Moore Paul Kopacz.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Video Surveillance Capturing, Management and Analysis of Security Videos. -Abhinav Goel -Varun Varshney.
Chapter 10 Publishing and Maintaining Your Web Site.
Application for Internet Radio Directory 19/06/2012 Industrial Project (234313) Kickoff Meeting Supervisors : Oren Somekh, Nadav Golbandi Students : Moran.
SOFTWARE.
Augmented Reality and 3D modelling Done by Stafford Joemat Supervised by Mr James Connan and Mr Mehrdad Ghaziasgar.
Chapter 5 Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization.
M1G Introduction to Database Development 6. Building Applications.
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Web Controlled of Robot Georgi Chakarov Ivelin Stoyanov.
Internet Real-Time Laboratory Arezu Moghadam and Suman Srinivasan Columbia University in the city of New York 7DS System Design 7DS system is an architecture.
Augmented Reality and 3D modelling By Stafford Joemat Supervised by Mr James Connan.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
X-WindowsP.K.K.Thambi The X Window System Module 5.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Object storage and object interoperability
Augmented Reality and 3D modelling Done by Stafford Joemat Supervised by Mr James Connan.
1 Perception and VR MONT 104S, Fall 2008 Lecture 20 Computer Graphics and VR.
Virtual Pointing Device Using Stereo Camera The 6th International Conference on Applications and Principles of Information Science Jan , 2007, Kuala.
CS223: Software Engineering Lecture 13: Software Architecture.
Virtual File System for Streaming Video Developers: – Uri Goldenberg – Henry Abravanel
  Computer vision is a field that includes methods for acquiring,prcessing, analyzing, and understanding images and, in general, high-dimensional data.
R Some of these slides are from Prof Frank Lin SJSU. r Minor modifications are made. 1.
General Architecture of Retrieval Systems 1Adrienn Skrop.
Discovering Computers 2009 Chapter 1 Introduction to Computers.
Mary Ganesan and Lora Strother Campus Tours Using a Mobile Device.
What is BizTalk ?
REAL-TIME DETECTOR FOR UNUSUAL BEHAVIOR
Databases and Database Users
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
SIXTH SENSE TECHNOLOGY
Working in the Forms Developer Environment
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
Implementing Localization
Peer-to-peer networking
Chapter 18 MobileApp Design
CHAPTER 3 Architectures for Distributed Systems
What is ROS? ROS is an open-source robot operating system
PHP / MySQL Introduction
Datamining : Refers to extracting or mining knowledge from large amounts of data Applications : Market Analysis Fraud Detection Customer Retention Production.
University of Technology
Linternals SysInternals for Linux
#01 Client/Server Computing
Databases.
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Application layer Lecture 7.
Wavestore Integrates…
Web Design & Development
Mobile Agents.
Higher School of Economics , Moscow, 2016
Lecture 2: Overview of TCP/IP protocol
Interpret the execution mode of SQL query in F1 Query paper
Teaching slides Chapter 6.
Quick Introduction to ROS
Robotics and Perception
Performance and Scalability Issues of Multimedia Digital Library
Digital Literacy 1.00 Computer Basics
Database System Architectures
Snippet Engine as a Database Server
Higher School of Economics , Moscow, 2016
#01 Client/Server Computing
Presentation transcript:

Mixed Reality Server under Robot Operating System Service Robotics Group Institute of System Engineering and Robotics Bulgarian Academy of Sciences

Robot Operating System (ROS) ROS is a meta-operating system that aims to provide a uniform software solution for different types of robots. The basic structural and functional unit of the ROS is the node. Every node performs at least one function and can listen to or publish messages on one or many topics.

Requirements for the MRS The MRS has to perform a collection of tasks that are relatively trivial, but combined together they form a complex software module. That demands for detailed requirements analysis and careful design of the system.

Functional Requirements Retrieve video frames from the cameras on the robot. Fetch information from the objects database. Draw the contours of the detected objects on the video frames. Encode and stream the resulting video. Identify virtual objects in the video frame. Retrieve the map of the environment. Augment the map with the detected objects. Allow multiple users to access the MRS simultaneously.

Non-functional Requirements Portability Reliability Security Real-Time operation

General Design

Streaming Augmented Video Only a single HTTP request is needed to the MRS in order to get the resulting video MJPEG stream or just a single snapshot of it. http://serveraddress:port/stream?topic=/camera_topic? width=640?height=480?quality=90?invert=none http://serveraddress:port/snapshot?topic=/camera_topic? width=640?height=480?quality=90?invert=none

Augmenting the video with virtual objects Retrieving frames from the camera relies on the Image Transport stack in ROS. From image messages used by the Image Transport stack the frames are converted to IplImage structures which is the native image structure of OpenCV. Information for the objects that has to be drawn on the video is fetched from the database. The database stores information about the position, orientation and the contour of the object. Using functions provided by OpenCV the objects’ contours and labels are drawn on every frame of the video stream.

Augmenting the video with virtual objects (continued) The Mixed Reality Server is capable of augmenting the map of the environment of the robot with objects of interest. It can also note the position of the robot on the map. If the position of the robot is to be noted, then the Mixed Reality Server calculates what is the position of the robot in pixels using the “/tf” node in ROS. The “/tf” node supports transformations of coordinates between different frames of the robot. Thus the position of the robot is transformed with respect to the frame of the map and then scaled according to the resolution of the digital map.

Identifying manipulated objects Just highlighting the objects of interest on the video stream would increase the quality of the experience of the user, but does not improve the human-robot interaction. When the user clicks anywhere on the displayed video relative coordinates of the mouse click are sent to the MRS through the ROS Bridge.

Identifying manipulated objects (continued) The ROS Bridge listens to web messages and retranslates them as ROS messages on the specified topic. The Mixed Reality Server is subscribed to the topic and receives the message. The MRS performs a hit test on every drawn virtual object. If the mouse click is inside an object its ID is sent back to the client. The interface then displays suitable actions for that object.

Implementation The Mixed Reality Server is implemented entirely in C++ and in total it consists of several nodes combined in two binaries encapsulated in a single stack. The first executable binary is called “ControlMRS” which communicates with the database and sends appropriate messages to the drawing module called “MRS”. For every user that connects to the server a thread is started by each of the binaries that are responsible for augmenting and streaming the video.

Results The system has only been tested using a simulation tool called Gazebo. The achieved results in the simulation were satisfactory and multiple types of user interfaces running on different platforms (e.g. iOS, Linux, web based) were able to connect to the Mixed Reality Server.

Results (continued)

Results (continued)

Results (continued)

Future Work Perform object recognition on the video frames and automatically find objects thus reducing the number of database queries. Visualize 3D objects and reconstruct the scene in 3D, which would allow the user to navigate in the 3D environment of the robot.

Presented by Svetlin Penkov Thank you! Presented by Svetlin Penkov